判断用户是否存在的接口
This commit is contained in:
@@ -37,4 +37,12 @@ public class LineInfoDAO {
|
||||
}
|
||||
return lineInfoMapper.updateByPrimaryKeySelective(param);
|
||||
}
|
||||
|
||||
public LineInfoDO getByPartnerId(String partnerId) {
|
||||
LineInfoDO lineInfo = lineInfoMapper.getByPartnerId(partnerId);
|
||||
if(Objects.nonNull(lineInfo) && !lineInfo.getDeleted()){
|
||||
return lineInfo;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
package com.cool.store.mapper;
|
||||
|
||||
import com.cool.store.entity.LineInfoDO;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import tk.mybatis.mapper.common.Mapper;
|
||||
|
||||
public interface LineInfoMapper extends Mapper<LineInfoDO> {
|
||||
LineInfoDO getByPartnerId(@Param("partnerId") String partnerId);
|
||||
}
|
||||
@@ -30,4 +30,9 @@
|
||||
<result column="update_user_id" jdbcType="VARCHAR" property="updateUserId" />
|
||||
<result column="deleted" jdbcType="BIT" property="deleted" />
|
||||
</resultMap>
|
||||
|
||||
<select id="getByPartnerId" resultMap="BaseResultMap">
|
||||
select * from xfsg_line_info where partner_id = #{partnerId} and deleted = 0
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@@ -15,6 +15,8 @@ public interface WechatMiniAppService {
|
||||
|
||||
PartnerUserInfoVO miniProgramLogin(MiniProgramLoginDTO param);
|
||||
|
||||
PartnerUserInfoVO getUserInfoByJsCode(String jsCode);
|
||||
|
||||
String getUserPhoneNumber(String mobileCode);
|
||||
|
||||
String updateUserPhoneNumber(MobileUpdateRequest request, PartnerUserInfoVO userInfoVO);
|
||||
|
||||
@@ -130,17 +130,42 @@ public class WechatMiniAppServiceImpl implements WechatMiniAppService {
|
||||
}
|
||||
}
|
||||
BeanUtil.copyProperties(hyPartnerUserInfoDO, userInfoVO);
|
||||
/*LineInfoDO lineInfoDO = lineInfoDAO.getByPartnerId(hyPartnerUserInfoDO.getPartnerId());
|
||||
LineInfoDO lineInfoDO = lineInfoDAO.getByPartnerId(hyPartnerUserInfoDO.getPartnerId());
|
||||
if (lineInfoDO != null){
|
||||
userInfoVO.setPartnerLineId(lineInfoDO.getId());
|
||||
userInfoVO.setLineStatus(lineInfoDO.getLineStatus());
|
||||
}*/
|
||||
}
|
||||
}
|
||||
userInfoVO.setOpenid(openid);
|
||||
userInfoVO.setUnionId(unionId);
|
||||
return userInfoVO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public PartnerUserInfoVO getUserInfoByJsCode(String jsCode) {
|
||||
PartnerUserInfoVO userInfoVO = null;
|
||||
String lockKey = "codeSession:" + wxAppId + CommonConstants.MOSAICS + jsCode;
|
||||
boolean lock = redisUtilPool.lock(lockKey);
|
||||
if (!lock) {
|
||||
throw new ServiceException(ErrorCodeEnum.OPERATION_OVER_TIME);
|
||||
}
|
||||
CodeSessionDTO codeSession = wechatRest.miniProgramJsCodeSession(wxAppId, wxAppSecret, jsCode);
|
||||
String openid = codeSession.getOpenid();
|
||||
String sessionCacheKey = MessageFormat.format(CommonConstants.MINI_PROGRAM_SESSION_KEY, wxAppId, openid);
|
||||
redisUtilPool.setString(sessionCacheKey, codeSession.getSessionKey(), CommonConstants.THREE_DAY_SECONDS);
|
||||
HyPartnerUserInfoDO hyPartnerUserInfoDO = hyPartnerUserInfoDAO.selectByOpenid(openid);
|
||||
if(hyPartnerUserInfoDO != null){
|
||||
userInfoVO = new PartnerUserInfoVO();
|
||||
BeanUtil.copyProperties(hyPartnerUserInfoDO, userInfoVO);
|
||||
LineInfoDO lineInfoDO = lineInfoDAO.getByPartnerId(hyPartnerUserInfoDO.getPartnerId());
|
||||
if (lineInfoDO != null){
|
||||
userInfoVO.setPartnerLineId(lineInfoDO.getId());
|
||||
userInfoVO.setLineStatus(lineInfoDO.getLineStatus());
|
||||
}
|
||||
}
|
||||
return userInfoVO;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public String getUserPhoneNumber(String mobileCode) {
|
||||
|
||||
@@ -27,6 +27,12 @@ public class MiniProgramAppController {
|
||||
@Resource
|
||||
private WechatMiniAppService wechatMiniAppService;
|
||||
|
||||
@ApiOperation("判断用户是否存在的接口")
|
||||
@GetMapping("/getUserInfoByJsCode")
|
||||
public ResponseResult<PartnerUserInfoVO> getUserInfoByJsCode(@RequestParam(value = "jsCode",required = true)String jsCode) {
|
||||
return ResponseResult.success(wechatMiniAppService.getUserInfoByJsCode(jsCode));
|
||||
}
|
||||
|
||||
@ApiOperation("小程序登录")
|
||||
@PostMapping("/login")
|
||||
public ResponseResult<PartnerUserInfoVO> login(@RequestBody @Valid MiniProgramLoginDTO param) {
|
||||
|
||||
Reference in New Issue
Block a user