判断用户是否存在的接口

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); 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; package com.cool.store.mapper;
import com.cool.store.entity.LineInfoDO; import com.cool.store.entity.LineInfoDO;
import org.apache.ibatis.annotations.Param;
import tk.mybatis.mapper.common.Mapper; import tk.mybatis.mapper.common.Mapper;
public interface LineInfoMapper extends Mapper<LineInfoDO> { 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="update_user_id" jdbcType="VARCHAR" property="updateUserId" />
<result column="deleted" jdbcType="BIT" property="deleted" /> <result column="deleted" jdbcType="BIT" property="deleted" />
</resultMap> </resultMap>
<select id="getByPartnerId" resultMap="BaseResultMap">
select * from xfsg_line_info where partner_id = #{partnerId} and deleted = 0
</select>
</mapper> </mapper>

View File

@@ -15,6 +15,8 @@ public interface WechatMiniAppService {
PartnerUserInfoVO miniProgramLogin(MiniProgramLoginDTO param); PartnerUserInfoVO miniProgramLogin(MiniProgramLoginDTO param);
PartnerUserInfoVO getUserInfoByJsCode(String jsCode);
String getUserPhoneNumber(String mobileCode); String getUserPhoneNumber(String mobileCode);
String updateUserPhoneNumber(MobileUpdateRequest request, PartnerUserInfoVO userInfoVO); String updateUserPhoneNumber(MobileUpdateRequest request, PartnerUserInfoVO userInfoVO);

View File

@@ -130,17 +130,42 @@ public class WechatMiniAppServiceImpl implements WechatMiniAppService {
} }
} }
BeanUtil.copyProperties(hyPartnerUserInfoDO, userInfoVO); BeanUtil.copyProperties(hyPartnerUserInfoDO, userInfoVO);
/*LineInfoDO lineInfoDO = lineInfoDAO.getByPartnerId(hyPartnerUserInfoDO.getPartnerId()); LineInfoDO lineInfoDO = lineInfoDAO.getByPartnerId(hyPartnerUserInfoDO.getPartnerId());
if (lineInfoDO != null){ if (lineInfoDO != null){
userInfoVO.setPartnerLineId(lineInfoDO.getId()); userInfoVO.setPartnerLineId(lineInfoDO.getId());
userInfoVO.setLineStatus(lineInfoDO.getLineStatus()); userInfoVO.setLineStatus(lineInfoDO.getLineStatus());
}*/ }
} }
userInfoVO.setOpenid(openid); userInfoVO.setOpenid(openid);
userInfoVO.setUnionId(unionId); userInfoVO.setUnionId(unionId);
return userInfoVO; 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 @Override
public String getUserPhoneNumber(String mobileCode) { public String getUserPhoneNumber(String mobileCode) {

View File

@@ -27,6 +27,12 @@ public class MiniProgramAppController {
@Resource @Resource
private WechatMiniAppService wechatMiniAppService; private WechatMiniAppService wechatMiniAppService;
@ApiOperation("判断用户是否存在的接口")
@GetMapping("/getUserInfoByJsCode")
public ResponseResult<PartnerUserInfoVO> getUserInfoByJsCode(@RequestParam(value = "jsCode",required = true)String jsCode) {
return ResponseResult.success(wechatMiniAppService.getUserInfoByJsCode(jsCode));
}
@ApiOperation("小程序登录") @ApiOperation("小程序登录")
@PostMapping("/login") @PostMapping("/login")
public ResponseResult<PartnerUserInfoVO> login(@RequestBody @Valid MiniProgramLoginDTO param) { public ResponseResult<PartnerUserInfoVO> login(@RequestBody @Valid MiniProgramLoginDTO param) {