diff --git a/src/main/java/com/qs/serve/common/util/AuthContextUtils.java b/src/main/java/com/qs/serve/common/util/AuthContextUtils.java index 1e1f179c..738326d6 100644 --- a/src/main/java/com/qs/serve/common/util/AuthContextUtils.java +++ b/src/main/java/com/qs/serve/common/util/AuthContextUtils.java @@ -46,7 +46,7 @@ public class AuthContextUtils { * 获取微信用户ID * @return */ - public static String getAppUserId(){ + public static String getWxUserId(){ LoginUser loginUser = getLoginUser(); if(loginUser.getTypeFlag().equals(LoginUserType.APP_USER)){ return loginUser.getUserId(); diff --git a/src/main/java/com/qs/serve/controller/WxSvcLoginApi.java b/src/main/java/com/qs/serve/controller/WxSvcLoginApi.java index 3e5298c9..9ce3b499 100644 --- a/src/main/java/com/qs/serve/controller/WxSvcLoginApi.java +++ b/src/main/java/com/qs/serve/controller/WxSvcLoginApi.java @@ -10,8 +10,6 @@ import com.qs.serve.common.model.enums.BizType; import com.qs.serve.common.model.enums.HttpCode; import com.qs.serve.common.model.enums.InterType; import com.qs.serve.common.util.*; -import com.qs.serve.modules.ums.entity.UmsUser; -import com.qs.serve.modules.ums.service.UmsUserService; import com.qs.serve.modules.wx.entity.WxUser; import com.qs.serve.modules.wx.entity.dto.WxLoginUser; import com.qs.serve.modules.wx.service.WxUserService; @@ -44,8 +42,6 @@ public class WxSvcLoginApi { private final RedisService redisService; - private final UmsUserService umsUserService; - /** * 公众号登录 @@ -68,9 +64,7 @@ public class WxSvcLoginApi { } String token = IdUtil.fastSimpleUUID(); String key = RedisCacheKeys.LOGIN_KEY_WX + token; - String wxUserId = wxUser.getId(); - UmsUser umsUser = umsUserService.getByWxUserId(wxUserId,wxUser); - LoginUser loginUser = new LoginUser(umsUser.getId()+"",umsUser.getName(),"", + LoginUser loginUser = new LoginUser(wxUser.getId(),wxUser.getEmpName(),"", ServletUtils.getIp(request), LoginUserType.SYS_USER,new ArrayList<>(),null,AuthContextUtils.getTenant()); redisService.set(key, JsonUtil.objectToJson(loginUser.loginUserDTO()),2, TimeUnit.DAYS); objectMap.put("token",token); @@ -83,7 +77,7 @@ public class WxSvcLoginApi { @PostMapping("/mptest") public R login(HttpServletRequest request){ Map objectMap = new HashMap<>(); - String token = TokenUtil.desEncrypt("1"); + String token = TokenUtil.desEncrypt(IdUtil.timeStampId()); String key = RedisCacheKeys.LOGIN_KEY_WX + token; LoginUser loginUser = new LoginUser("1","微信测试用户","", ServletUtils.getIp(request), LoginUserType.APP_USER,new ArrayList<>(),null,AuthContextUtils.getTenant()); diff --git a/src/main/java/com/qs/serve/modules/qms/controller/api/QmsDraftApiController.java b/src/main/java/com/qs/serve/modules/qms/controller/api/QmsDraftApiController.java index 9b510e8c..515560dc 100644 --- a/src/main/java/com/qs/serve/modules/qms/controller/api/QmsDraftApiController.java +++ b/src/main/java/com/qs/serve/modules/qms/controller/api/QmsDraftApiController.java @@ -52,7 +52,7 @@ public class QmsDraftApiController { qmsDraft = new QmsDraft(); qmsDraft.setGroupId(param.getGroupId()); qmsDraft.setContext(param.getContext()); - qmsDraft.setUserId(AuthContextUtils.getAppUserId()); + qmsDraft.setUserId(AuthContextUtils.getWxUserId()); qmsDraft.setVersion(param.getVersion()); qmsDraft.setPubFlag("0"); qmsDraftService.save(qmsDraft); diff --git a/src/main/java/com/qs/serve/modules/qms/controller/api/QmsSubmitApiController.java b/src/main/java/com/qs/serve/modules/qms/controller/api/QmsSubmitApiController.java index e79df6f4..cb37f35d 100644 --- a/src/main/java/com/qs/serve/modules/qms/controller/api/QmsSubmitApiController.java +++ b/src/main/java/com/qs/serve/modules/qms/controller/api/QmsSubmitApiController.java @@ -20,6 +20,8 @@ import com.qs.serve.modules.qms.service.QmsGroupService; import com.qs.serve.modules.sys.entity.SysUser; import com.qs.serve.modules.sys.entity.dto.SysUserSimpleVo; import com.qs.serve.modules.sys.service.SysUserService; +import com.qs.serve.modules.wx.entity.WxUser; +import com.qs.serve.modules.wx.service.WxUserService; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.security.access.prepost.PreAuthorize; @@ -44,6 +46,7 @@ public class QmsSubmitApiController { private SysUserService userService; private QmsGroupScopeService qmsGroupScopeService; private QmsGroupService qmsGroupService; + private WxUserService wxUserService; /** * 我的代办、已办列表 @@ -52,7 +55,7 @@ public class QmsSubmitApiController { */ @GetMapping("/myGroupList") public R todoPage(String finished){ - String userId = AuthContextUtils.getAppUserId(); + String userId = wxUserService.getCurrentWxUser().getSysUserId(); PageUtil.startPage(); LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); lqw.in(QmsGroupScope::getScopeType,1,3); @@ -79,9 +82,9 @@ public class QmsSubmitApiController { */ @GetMapping("/page") public R> getPage(QmsFormSubmit param){ - PageUtil.startPage(); LambdaQueryWrapper formSubmitWrapper = new LambdaQueryWrapper<>(param); - formSubmitWrapper.eq(QmsFormSubmit::getUserId, AuthContextUtils.getAppUserId()); + formSubmitWrapper.eq(QmsFormSubmit::getUserId,wxUserService.getCurrentWxUser().getSysUserId()); + PageUtil.startPage(); List list = qmsFormSubmitService.list(formSubmitWrapper); return R.byPageHelperList(list); } @@ -95,7 +98,7 @@ public class QmsSubmitApiController { @SysLog(module = SystemModule.QUESTION, title = "问卷提交记录", biz = BizType.QUERY, inter = InterType.API) public R getById(@PathVariable("id") String id){ QmsFormSubmit qmsFormSubmit = qmsFormSubmitService.getById(id); - if(!qmsFormSubmit.getUserId().equals(AuthContextUtils.getAppUserId())){ + if(!qmsFormSubmit.getUserId().equals(wxUserService.getCurrentWxUser().getSysUserId())){ return R.ok(); } return R.ok(qmsFormSubmit); @@ -111,10 +114,11 @@ public class QmsSubmitApiController { @SysLog(module = SystemModule.QUESTION, title = "问卷提交记录", biz = BizType.QUERY, inter = InterType.API) public R getByFormId(@PathVariable("groupId") String groupId){ LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); + String userId = wxUserService.getCurrentWxUser().getSysUserId(); lqw.eq(QmsFormSubmit::getGroupId,groupId); - lqw.eq(QmsFormSubmit::getUserId,AuthContextUtils.getAppUserId()); + lqw.eq(QmsFormSubmit::getUserId,userId); QmsFormSubmit formSubmit = qmsFormSubmitService.getOne(lqw,false); - if(formSubmit==null || !formSubmit.getUserId().equals(AuthContextUtils.getAppUserId())){ + if(formSubmit==null || !formSubmit.getUserId().equals(userId)){ return R.ok(); } return R.ok(formSubmit); diff --git a/src/main/java/com/qs/serve/modules/qms/service/impl/QmsDraftServiceImpl.java b/src/main/java/com/qs/serve/modules/qms/service/impl/QmsDraftServiceImpl.java index ef97dda6..7b1715b1 100644 --- a/src/main/java/com/qs/serve/modules/qms/service/impl/QmsDraftServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/qms/service/impl/QmsDraftServiceImpl.java @@ -23,7 +23,7 @@ public class QmsDraftServiceImpl extends ServiceImpl im @Override public QmsDraft getUserFormDraft(Long groupId) { LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); - lqw.eq(QmsDraft::getCreateBy, AuthContextUtils.getAppUserId()); + lqw.eq(QmsDraft::getCreateBy, AuthContextUtils.getWxUserId()); lqw.eq(QmsDraft::getGroupId,groupId); lqw.eq(QmsDraft::getPubFlag,0); return this.getOne(lqw,false); diff --git a/src/main/java/com/qs/serve/modules/qms/service/impl/QmsFormSubmitServiceImpl.java b/src/main/java/com/qs/serve/modules/qms/service/impl/QmsFormSubmitServiceImpl.java index 25a23432..8ea24838 100644 --- a/src/main/java/com/qs/serve/modules/qms/service/impl/QmsFormSubmitServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/qms/service/impl/QmsFormSubmitServiceImpl.java @@ -12,6 +12,8 @@ import com.qs.serve.modules.qms.entity.bo.QmsSubmitBo; import com.qs.serve.modules.qms.service.QmsFormService; import com.qs.serve.modules.qms.service.QmsGroupScopeService; import com.qs.serve.modules.qms.service.QmsGroupService; +import com.qs.serve.modules.wx.entity.WxUser; +import com.qs.serve.modules.wx.service.WxUserService; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -35,16 +37,17 @@ public class QmsFormSubmitServiceImpl extends ServiceImpl lqw = new LambdaQueryWrapper<>(); lqw.eq(QmsFormSubmit::getGroupId,param.getGroupId()); - lqw.eq(QmsFormSubmit::getUserId,loginUser.getUserId()); + lqw.eq(QmsFormSubmit::getUserId,wxUser.getSysUserId()); //lqw.eq(QmsFormSubmit::getVersion,param.getVersion()); QmsFormSubmit formSubmit = this.getOne(lqw,false); if(formSubmit==null){ @@ -61,8 +64,8 @@ public class QmsFormSubmitServiceImpl extends ServiceImpl> getPage(UmsUser param){ - PageUtil.startPage(); - LambdaQueryWrapper userWrapper = new LambdaQueryWrapper<>(param); - List list = umsUserService.list(userWrapper); - return R.byPageHelperList(list); - } - - /** - * 根据ID查询 - * @param id - * @return - */ - @GetMapping("/getById/{id}") - @SysLog(module = SystemModule.UMS, title = "手机用户", biz = BizType.QUERY) - @PreAuthorize("hasRole('ums:user:query')") - public R getById(@PathVariable("id") String id){ - UmsUser umsUser = umsUserService.getById(id); - return R.ok(umsUser); - } - - - - /** - * 根据ID更新 - * @param param - * @return - */ - @PostMapping("/updateById") - @SysLog(module = SystemModule.UMS, title = "手机用户", biz = BizType.UPDATE) - @PreAuthorize("hasRole('ums:user:update')") - public R updateById(@RequestBody @Valid UmsUser param){ - boolean result = umsUserService.updateById(param); - return R.isTrue(result); - } - - /** - * 新增手机用户 - * @param param - * @return - */ - @PostMapping("/save") - @SysLog(module = SystemModule.UMS, title = "手机用户", biz = BizType.INSERT) - @PreAuthorize("hasRole('ums:user:insert')") - public R save(@RequestBody @Valid UmsUser param){ - boolean result = umsUserService.save(param); - return R.isTrue(result); - } - - /** - * 删除手机用户 - * @param id - * @return - */ - @DeleteMapping("/deleteById/{id}") - @SysLog(module = SystemModule.UMS, title = "手机用户", biz = BizType.DELETE) - @PreAuthorize("hasRole('ums:user:delete')") - public R deleteById(@PathVariable("id") String id){ - boolean result = umsUserService.removeById(id); - return R.isTrue(result); - } - -} - diff --git a/src/main/java/com/qs/serve/modules/ums/entity/UmsUser.java b/src/main/java/com/qs/serve/modules/ums/entity/UmsUser.java deleted file mode 100644 index 5c51e656..00000000 --- a/src/main/java/com/qs/serve/modules/ums/entity/UmsUser.java +++ /dev/null @@ -1,76 +0,0 @@ -package com.qs.serve.modules.ums.entity; - -import java.time.LocalDateTime; -import java.io.Serializable; - -import com.baomidou.mybatisplus.annotation.*; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.annotation.JsonIgnore; -import com.fasterxml.jackson.annotation.JsonProperty; -import lombok.Data; -import org.hibernate.validator.constraints.Length; -import org.springframework.format.annotation.DateTimeFormat; - -import javax.validation.constraints.NotNull; -import javax.validation.constraints.NotBlank; - -/** - * 手机用户 实体类 - * @author YenHex - * @since 2022-09-13 - */ -@Data -@TableName("ums_user") -public class UmsUser implements Serializable { - - private static final long serialVersionUID = 1L; - - /** id */ - @TableId(type = IdType.AUTO) - private Long id; - - /** 名称 */ - @NotBlank(message = "名称不能为空") - @Length(max = 20,message = "名称长度不能超过20字") - private String name; - - /** 手机号 */ - @Length(max = 12,message = "手机号长度不能超过12字") - private String mobile; - - /** 头像 */ - @Length(max = 255,message = "头像长度不能超过255字") - private String avatar; - - /** 创建时间 */ - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") - @TableField(fill = FieldFill.INSERT) - private LocalDateTime createTime; - - /** 创建人 */ - @TableField(fill = FieldFill.INSERT) - private String createBy; - - /** 更新时间 */ - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") - @TableField(fill = FieldFill.UPDATE) - private LocalDateTime updateTime; - - /** 更新人 */ - @TableField(fill = FieldFill.UPDATE) - private String updateBy; - - /** 租户id */ - @JsonIgnore - @JsonProperty - private String tenantId; - - /** 删除标识 */ - @JsonIgnore - @JsonProperty - private Boolean delFlag; - -} - diff --git a/src/main/java/com/qs/serve/modules/ums/entity/UmsWxRelate.java b/src/main/java/com/qs/serve/modules/ums/entity/UmsWxRelate.java deleted file mode 100644 index a6ad2529..00000000 --- a/src/main/java/com/qs/serve/modules/ums/entity/UmsWxRelate.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.qs.serve.modules.ums.entity; - -import java.time.LocalDateTime; -import java.io.Serializable; - -import com.baomidou.mybatisplus.annotation.*; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.annotation.JsonIgnore; -import com.fasterxml.jackson.annotation.JsonProperty; -import lombok.Data; -import org.hibernate.validator.constraints.Length; -import org.springframework.format.annotation.DateTimeFormat; - -import javax.validation.constraints.NotNull; -import javax.validation.constraints.NotBlank; - -/** - * 微信用户关联 实体类 - * @author YenHex - * @since 2022-09-13 - */ -@Data -@TableName("ums_wx_relate") -public class UmsWxRelate implements Serializable { - - private static final long serialVersionUID = 1L; - - /** */ - @TableId(type = IdType.AUTO) - private Long id; - - /** */ - @NotBlank(message = "不能为空") - @Length(max = 32,message = "长度不能超过32字") - private String wxUserId; - - /** */ - @NotNull(message = "不能为空") - private Long appUserId; - -} - diff --git a/src/main/java/com/qs/serve/modules/ums/mapper/UmsUserMapper.java b/src/main/java/com/qs/serve/modules/ums/mapper/UmsUserMapper.java deleted file mode 100644 index 5aca620a..00000000 --- a/src/main/java/com/qs/serve/modules/ums/mapper/UmsUserMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.qs.serve.modules.ums.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.qs.serve.modules.ums.entity.UmsUser; - -/** - * 手机用户 Mapper - * @author YenHex - * @date 2022-09-13 - */ -public interface UmsUserMapper extends BaseMapper { - -} - diff --git a/src/main/java/com/qs/serve/modules/ums/mapper/UmsWxRelateMapper.java b/src/main/java/com/qs/serve/modules/ums/mapper/UmsWxRelateMapper.java deleted file mode 100644 index c9cd1c9a..00000000 --- a/src/main/java/com/qs/serve/modules/ums/mapper/UmsWxRelateMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.qs.serve.modules.ums.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.qs.serve.modules.ums.entity.UmsWxRelate; - -/** - * 微信用户关联 Mapper - * @author YenHex - * @date 2022-09-13 - */ -public interface UmsWxRelateMapper extends BaseMapper { - -} - diff --git a/src/main/java/com/qs/serve/modules/ums/service/UmsUserService.java b/src/main/java/com/qs/serve/modules/ums/service/UmsUserService.java deleted file mode 100644 index 458fd664..00000000 --- a/src/main/java/com/qs/serve/modules/ums/service/UmsUserService.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.qs.serve.modules.ums.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.qs.serve.modules.ums.entity.UmsUser; -import com.qs.serve.modules.wx.entity.WxUser; - -/** - * 手机用户 服务接口 - * @author YenHex - * @date 2022-09-13 - */ -public interface UmsUserService extends IService { - - /** - * 通过微信用户获取App用户 - * @param wxUserId - * @param wxUser - * @return - */ - UmsUser getByWxUserId(String wxUserId,WxUser wxUser); - - /** - * 获取当前app用户 - * @return - */ - UmsUser getCurrentAppUser(); - - /** - * 创建用户 - * @param wxUser - * @return - */ - UmsUser createByWxUser(WxUser wxUser); - -} - diff --git a/src/main/java/com/qs/serve/modules/ums/service/UmsWxRelateService.java b/src/main/java/com/qs/serve/modules/ums/service/UmsWxRelateService.java deleted file mode 100644 index e2212563..00000000 --- a/src/main/java/com/qs/serve/modules/ums/service/UmsWxRelateService.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.qs.serve.modules.ums.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.qs.serve.modules.ums.entity.UmsWxRelate; - -/** - * 微信用户关联 服务接口 - * @author YenHex - * @date 2022-09-13 - */ -public interface UmsWxRelateService extends IService { - -} - diff --git a/src/main/java/com/qs/serve/modules/ums/service/impl/UmsUserServiceImpl.java b/src/main/java/com/qs/serve/modules/ums/service/impl/UmsUserServiceImpl.java deleted file mode 100644 index 64ebab32..00000000 --- a/src/main/java/com/qs/serve/modules/ums/service/impl/UmsUserServiceImpl.java +++ /dev/null @@ -1,61 +0,0 @@ -package com.qs.serve.modules.ums.service.impl; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.qs.serve.common.util.AuthContextUtils; -import com.qs.serve.modules.ums.entity.UmsWxRelate; -import com.qs.serve.modules.ums.mapper.UmsWxRelateMapper; -import com.qs.serve.modules.ums.service.UmsWxRelateService; -import com.qs.serve.modules.wx.entity.WxUser; -import lombok.AllArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import com.qs.serve.modules.ums.entity.UmsUser; -import com.qs.serve.modules.ums.service.UmsUserService; -import com.qs.serve.modules.ums.mapper.UmsUserMapper; - -/** - * 手机用户 服务实现类 - * @author YenHex - * @since 2022-09-13 - */ -@Slf4j -@Service -@AllArgsConstructor -public class UmsUserServiceImpl extends ServiceImpl implements UmsUserService { - - private final UmsWxRelateService umsWxRelateService; - - @Override - public UmsUser getByWxUserId(String wxUserId,WxUser wxUser) { - LambdaQueryWrapper lqwRelate = new LambdaQueryWrapper<>(); - lqwRelate.eq(UmsWxRelate::getWxUserId,wxUserId); - UmsWxRelate wxRelate = umsWxRelateService.getOne(lqwRelate,false); - if(wxRelate!=null){ - return this.getById(wxRelate.getAppUserId()); - }else { - UmsUser umsUser = this.createByWxUser(wxUser); - wxRelate = new UmsWxRelate(); - wxRelate.setAppUserId(umsUser.getId()); - wxRelate.setWxUserId(wxUser.getId()); - umsWxRelateService.save(wxRelate); - } - return null; - } - - @Override - public UmsUser getCurrentAppUser() { - return this.getById(AuthContextUtils.getAppUserId()); - } - - @Override - public UmsUser createByWxUser(WxUser wxUser) { - UmsUser umsUser = new UmsUser(); - umsUser.setName(wxUser.getNickName()); - umsUser.setAvatar(wxUser.getHeadimgUrl()); - umsUser.setMobile(wxUser.getPhone()); - this.save(umsUser); - return umsUser; - } -} - diff --git a/src/main/java/com/qs/serve/modules/ums/service/impl/UmsWxRelateServiceImpl.java b/src/main/java/com/qs/serve/modules/ums/service/impl/UmsWxRelateServiceImpl.java deleted file mode 100644 index 98cb654a..00000000 --- a/src/main/java/com/qs/serve/modules/ums/service/impl/UmsWxRelateServiceImpl.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.qs.serve.modules.ums.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import lombok.AllArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import com.qs.serve.modules.ums.entity.UmsWxRelate; -import com.qs.serve.modules.ums.service.UmsWxRelateService; -import com.qs.serve.modules.ums.mapper.UmsWxRelateMapper; - -/** - * 微信用户关联 服务实现类 - * @author YenHex - * @since 2022-09-13 - */ -@Slf4j -@Service -@AllArgsConstructor -public class UmsWxRelateServiceImpl extends ServiceImpl implements UmsWxRelateService { - -} - diff --git a/src/main/java/com/qs/serve/modules/wx/api/WxSvcUserApi.java b/src/main/java/com/qs/serve/modules/wx/api/WxSvcUserApi.java index abe54618..61622f22 100644 --- a/src/main/java/com/qs/serve/modules/wx/api/WxSvcUserApi.java +++ b/src/main/java/com/qs/serve/modules/wx/api/WxSvcUserApi.java @@ -1,5 +1,6 @@ package com.qs.serve.modules.wx.api; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.qs.serve.common.framework.redis.RedisService; import com.qs.serve.common.model.annotation.LimitSubmit; import com.qs.serve.common.model.annotation.SysLog; @@ -9,8 +10,8 @@ import com.qs.serve.common.model.enums.BizType; import com.qs.serve.common.model.enums.InterType; import com.qs.serve.common.util.AuthContextUtils; import com.qs.serve.common.util.IdUtil; -import com.qs.serve.modules.ums.entity.UmsUser; -import com.qs.serve.modules.ums.service.UmsUserService; +import com.qs.serve.modules.sys.entity.SysUser; +import com.qs.serve.modules.sys.service.SysUserService; import com.qs.serve.modules.wx.entity.WxUser; import com.qs.serve.modules.wx.entity.dto.WxPhoneBindParam; import com.qs.serve.modules.wx.service.WxUserService; @@ -34,28 +35,36 @@ public class WxSvcUserApi { private WxUserService wxUserService; private RedisService redisService; - private UmsUserService umsUserService; + private SysUserService sysUserService; /** * 用户信息 */ @GetMapping("/info") public R info(){ - return R.ok(umsUserService.getCurrentAppUser()); + WxUser wxUser = wxUserService.getCurrentWxUser(); + return R.ok(wxUser); } /** * 获取手机绑定验证码 */ - @LimitSubmit(interval = 60000,message = "短信已发送,请60秒后尝试") + @LimitSubmit(interval = 10000) @SysLog(title = "手机绑定验证码",inter = InterType.API) @GetMapping("/phoneCode/{phone}") public R phoneCode(@PathVariable("phone") String phone){ + //拦截未注册的手机号 + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); + lqw.eq(SysUser::getMobile,phone); + int count = sysUserService.count(lqw); + if(count<1){ + return R.error("手机号未被收录"); + } String key = RedisCacheKeys.PHONE_KEY+phone; String code = redisService.getString(key); if(code==null){ code = IdUtil.genCode(6); } - log.debug("手机验证码:{}",code); + log.debug("手机'{}'验证码:{}",phone,code); redisService.set(key,code,10, TimeUnit.MINUTES); //TODO send msg return R.ok(); @@ -74,13 +83,16 @@ public class WxSvcUserApi { if(!param.getCode().equals(code)){ return R.error("验证码无效或过期"); } -// UmsUser wxUser = wxUserService.getCurrentWxUser(); -// wxUser.setPhone(param.getPhone()); -// wxUserService.updateById(wxUser); - //TODO 修改用户相关信息 - UmsUser wxUser = umsUserService.getCurrentAppUser(); - wxUser.setMobile(param.getPhone()); - umsUserService.updateById(wxUser); + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); + lqw.eq(SysUser::getMobile,param.getPhone()); + SysUser sysUser = sysUserService.getOne(lqw,false); + + WxUser wxUser = wxUserService.getCurrentWxUser(); + wxUser.setPhone(param.getPhone()); + wxUser.setEmpName(sysUser.getEmerName()); + wxUser.setSysUserId(sysUser.getId()); + wxUserService.updateById(wxUser); + return R.ok(); } diff --git a/src/main/java/com/qs/serve/modules/wx/entity/WxUser.java b/src/main/java/com/qs/serve/modules/wx/entity/WxUser.java index b5f12800..b1e29934 100644 --- a/src/main/java/com/qs/serve/modules/wx/entity/WxUser.java +++ b/src/main/java/com/qs/serve/modules/wx/entity/WxUser.java @@ -30,6 +30,8 @@ public class WxUser implements Serializable { @NotNull(message = "公众号配置ID、小程序AppID不能为空") private String appId; + private String sysUserId; + /** 应用类型【1->小程序;2->公众号】 */ private Integer appType; @@ -56,9 +58,12 @@ public class WxUser implements Serializable { @NotNull(message = "用户标识不能为空") private String openId; - /** 昵称 */ + /** wx昵称 */ private String nickName; + /** 员工昵称 */ + private String empName; + /** 性别(1:男,2:女,0:未知) */ private String sex; diff --git a/src/main/java/com/qs/serve/modules/wx/service/WxUserService.java b/src/main/java/com/qs/serve/modules/wx/service/WxUserService.java index c1a0eff6..aa99d979 100644 --- a/src/main/java/com/qs/serve/modules/wx/service/WxUserService.java +++ b/src/main/java/com/qs/serve/modules/wx/service/WxUserService.java @@ -17,6 +17,7 @@ public interface WxUserService extends IService { */ WxUser getCurrentWxUser(); + /** * 用户登录 * @param wxLoginUser diff --git a/src/main/java/com/qs/serve/modules/wx/service/impl/WxUserServiceImpl.java b/src/main/java/com/qs/serve/modules/wx/service/impl/WxUserServiceImpl.java index 667d2108..993c3f22 100644 --- a/src/main/java/com/qs/serve/modules/wx/service/impl/WxUserServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/wx/service/impl/WxUserServiceImpl.java @@ -80,21 +80,21 @@ public class WxUserServiceImpl extends ServiceImpl impleme try { WxOAuth2AccessToken auth2AccessToken = auth2Service.getAccessToken(code); WxOAuth2UserInfo auth2UserInfo = auth2Service.getUserInfo(auth2AccessToken, GySysConst.LANG_ZH_CN); + WxMpUser wxMpUser = wxMpService.getUserService().userInfo(auth2UserInfo.getOpenid(), GySysConst.LANG_ZH_CN); wxUser = this.getByOpenId(auth2UserInfo.getOpenid()); if(wxUser == null){ wxUser = new WxUser(); wxUser.setAppId(wxApp.getId()); wxUser.setAppType(wxApp.getAppType()); wxUser.setNickName(auth2UserInfo.getNickname()); + wxUser.setEmpName(auth2UserInfo.getNickname()); wxUser.setUnionId(auth2UserInfo.getUnionId()); wxUser.setHeadimgUrl(auth2UserInfo.getHeadImgUrl()); wxUser.setOpenId(auth2UserInfo.getOpenid()); } - /*wxUser.setSubscribe(wxMpUser.getSubscribe()?1:0); + wxUser.setSubscribe(wxMpUser.getSubscribe()?1:0); wxUser.setSubscribeScene(wxMpUser.getSubscribeScene()); - wxUser.setTagidList(JsonUtil.objectToJson(wxMpUser.getTagIds()));*/ - //wxUser.setSubscribeTime(wxMpUser.getSubscribeTime()); - //wxUser.setGroupId(wxMpUser.getGroupId()); + wxUser.setTagidList(JsonUtil.objectToJson(wxMpUser.getTagIds())); if(wxUser.getId()==null){ save(wxUser); }else {