Commit e9db5efe by 黄森林

微信公众号个人中心

parent 3885579a
......@@ -6,13 +6,11 @@ import com.winsun.auth.core.annotion.Permission;
import com.winsun.auth.core.base.controller.BaseController;
import com.winsun.auth.core.common.model.ResponseData;
import com.winsun.auth.core.shiro.ShiroUser;
import com.winsun.auth.core.util.DateUtil;
import com.winsun.auth.core.util.ResponseEntity;
import com.winsun.auth.model.user.User;
import com.winsun.bean.HhrUser;
import com.winsun.bean.SysUser;
import com.winsun.mapper.AppMapper;
import com.winsun.mapper.HhrUserMapper;
import com.winsun.mapper.SchoolMapper;
import com.winsun.mapper.SysUserMapper;
import com.winsun.smsUtils.SendSmsAndMail;
import com.winsun.utils.MyBatisPlusUpdateUtils;
......@@ -20,15 +18,12 @@ import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.TimeUnit;
......@@ -39,7 +34,7 @@ import java.util.concurrent.TimeUnit;
@RequestMapping("PersonalCenter")
@RestController
@Slf4j
public class PersonalCenter extends BaseController {
public class PersonalCenterController extends BaseController {
private static HhrUserMapper hhrUserMapper;
......@@ -49,41 +44,82 @@ public class PersonalCenter extends BaseController {
private static StringRedisTemplate stringRedisTemplate;
private static SchoolMapper schoolMapper;
private static long CODETIME = 1000 * 60 * 5;
private String EDITPHONE = "EditPhone";
private String EDITPWD = "EditPwd";
@Autowired
public PersonalCenter(SysUserMapper sysUserMapper, HhrUserMapper hhrUserMapper, AppMapper appMapper,StringRedisTemplate stringRedisTemplate) {
PersonalCenter.sysUserMapper = sysUserMapper;
PersonalCenter.hhrUserMapper = hhrUserMapper;
PersonalCenter.appMapper = appMapper;
PersonalCenter.stringRedisTemplate = stringRedisTemplate;
public PersonalCenterController(SysUserMapper sysUserMapper, HhrUserMapper hhrUserMapper, AppMapper appMapper,
StringRedisTemplate stringRedisTemplate, SchoolMapper schoolMapper) {
PersonalCenterController.sysUserMapper = sysUserMapper;
PersonalCenterController.hhrUserMapper = hhrUserMapper;
PersonalCenterController.appMapper = appMapper;
PersonalCenterController.stringRedisTemplate = stringRedisTemplate;
PersonalCenterController.schoolMapper = schoolMapper;
}
@Permission(menuname = "修改用户信息", value = "editPartnerInfo", method = RequestMethod.POST)
public ResponseData<String> editPartnerInfo(String partner, String userName, String sex, String grade,
String position, String idCard, String substName, String school) {
if (StringUtils.isBlank(partner) || StringUtils.isBlank(userName) || StringUtils.isBlank(sex) ||
StringUtils.isBlank(grade) || StringUtils.isBlank(position) || StringUtils.isBlank(idCard) ||
StringUtils.isBlank(substName) || StringUtils.isBlank(school)) {
return ResponseData.error("用户详情未提交完整!");
}
ShiroUser user = getShiroUser();
if (!partner.equals(String.valueOf(user.getId()))) {
return ResponseData.error("当前登录账户和修改账号冲突!");
}
Wrapper<SysUser> wrapper = new EntityWrapper<>();
wrapper.eq("id", user.getId());
Map<String, Object> dataMap = new HashMap<>();
dataMap.put("name", userName);
dataMap.put("sex", sex);
dataMap.put("substName", substName);
dataMap.put("updateTime", new Date());
Integer integer = sysUserMapper.updateForSet(MyBatisPlusUpdateUtils.toUpdateSet(dataMap), wrapper);
Wrapper<HhrUser> wrapper1 = new EntityWrapper<>();
wrapper1.eq("id", user.getId());
Map<String, Object> dataMap1 = new HashMap<>();
dataMap1.put("grade", grade);
dataMap1.put("position", position);
dataMap1.put("idCard", idCard);
integer += hhrUserMapper.updateForSet(MyBatisPlusUpdateUtils.toUpdateSet(dataMap1), wrapper1);
integer += schoolMapper.updateUserSchool(String.valueOf(user.getId()), school);
if(integer != 3){
return ResponseData.error("修改异常,请重新修改!");
}
return ResponseData.success("修改成功!");
}
@Permission(menuname = "修改手机号", value = "editPhone", method = RequestMethod.POST)
public ResponseData<String> editPhone(String partner,String phone,String verificationCode) {
public ResponseData<String> editPhone(String partner, String phone, String verificationCode) {
ShiroUser user = getShiroUser();
if(!partner.equals(String.valueOf(user.getId()))){
if (!partner.equals(String.valueOf(user.getId()))) {
return ResponseData.error("当前登录账户和修改账号冲突!");
}
String key = user.getAccount() + EDITPHONE;
String code = stringRedisTemplate.opsForValue().get(key);
if(!verificationCode.equals(code)){
if (!verificationCode.equals(code)) {
return ResponseData.error("验证码错误,请重新输入!");
}
if(phone.length() != 11){
if (phone.length() != 11) {
return ResponseData.error("手机号码,请重新输入!");
}
Wrapper<SysUser> wrapper = new EntityWrapper<>();
wrapper.eq("id",user.getId());
wrapper.eq("id", user.getId());
Map<String, Object> dataMap = new HashMap<>();
dataMap.put("phone",phone);
dataMap.put("updateTime",new Date());
dataMap.put("phone", phone);
dataMap.put("updateTime", new Date());
Integer integer = sysUserMapper.updateForSet(MyBatisPlusUpdateUtils.toUpdateSet(dataMap), wrapper);
if(integer == 1){
if (integer == 1) {
return ResponseData.success("修改成功!");
}else {
} else {
return ResponseData.error("修改失败!");
}
}
......@@ -91,16 +127,26 @@ public class PersonalCenter extends BaseController {
@Permission(menuname = "修改手机号发送短信", value = "sentEditPhone", method = RequestMethod.POST)
public ResponseData<String> sentEditPhone(String partner) {
ShiroUser user = getShiroUser();
if(!partner.equals(String.valueOf(user.getId()))){
if (!partner.equals(String.valueOf(user.getId()))) {
return ResponseData.error("当前登录账户和修改账号冲突!");
}
String id = String.valueOf(user.getId());
return phoneCode(id, EDITPHONE);
}
@Permission(menuname = "修改密码发送短信", value = "sentEditPwd", method = RequestMethod.POST)
public ResponseData<String> sentEditPwd(String partner) {
ShiroUser user = getShiroUser();
if (!partner.equals(String.valueOf(user.getId()))) {
return ResponseData.error("当前登录账户和修改账号冲突!");
}
String id = String.valueOf(user.getId());
return phoneCode(id,EDITPHONE);
return phoneCode(id, EDITPWD);
}
public static ResponseData<String> phoneCode(String id,String type) {
public static ResponseData<String> phoneCode(String id, String type) {
SysUser sysUser = sysUserMapper.selectById(id);
if(sysUser==null){
if (sysUser == null) {
return ResponseData.error("当前登录账户异常!");
}
//5分钟内有效
......@@ -120,7 +166,7 @@ public class PersonalCenter extends BaseController {
return ResponseData.error("当前用户手机号码不合法!");
}
} catch (Exception e) {
log.info("错误信息:{}"+ e.getMessage(),e);
log.info("错误信息:{}" + e.getMessage(), e);
return ResponseData.error("手机短信发送失败!");
}
}
......@@ -128,11 +174,11 @@ public class PersonalCenter extends BaseController {
@Permission(menuname = "个人中心用户详情", value = "partnerInfo", method = RequestMethod.POST)
public ResponseData<Map<String, Object>> selectPartnerInfo(String partner) {
SysUser sysUser = sysUserMapper.selectById(partner);
if (sysUser==null) {
if (sysUser == null) {
return ResponseData.error("当前用户不存在!");
}
HhrUser hhrUser = hhrUserMapper.selectById(partner);
if (hhrUser==null) {
if (hhrUser == null) {
return ResponseData.error("当前用户异常!");
}
Map<String, Object> hashMap = new HashMap<>();
......@@ -149,7 +195,7 @@ public class PersonalCenter extends BaseController {
hashMap.put("position", hhrUser.getPosition());
hashMap.put("createtime", sysUser.getCreatetime());
hashMap.put("wxNickName", hhrUser.getWxNickName());
hashMap.put("wxHeadImgUrl",hhrUser.getWxHeadImgUrl());
hashMap.put("wxHeadImgUrl", hhrUser.getWxHeadImgUrl());
return ResponseData.success(hashMap);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment