判断用户是否存在的接口

This commit is contained in:
wangxiaopeng
2024-03-21 15:25:48 +08:00
parent 9a0b6df295
commit b35836ae2d
6 changed files with 50 additions and 2 deletions

View File

@@ -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;
}
}

View File

@@ -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);
}

View File

@@ -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>

View File

@@ -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);

View File

@@ -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) {

View File

@@ -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) {