Merge remote-tracking branch 'origin/cc_20230520_partner' into cc_20230520_partner

This commit is contained in:
pserimal
2023-06-26 14:49:04 +08:00
2 changed files with 34 additions and 30 deletions

View File

@@ -206,6 +206,6 @@
</update> </update>
<select id="getSubRegionIds" resultType="string"> <select id="getSubRegionIds" resultType="string">
select region_id from region where deleted = 0 and <foreach collection="regionPathList" item="regionPath" open="(" close=")" separator="or"> region_path like concat(#{regionPath, '%'})</foreach> select region_id from region where deleted = 0 and <foreach collection="regionPathList" item="regionPath" open="(" close=")" separator="or"> region_path like concat(#{regionPath}, '%')</foreach>
</select> </select>
</mapper> </mapper>

View File

@@ -4,10 +4,7 @@ import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.aliyun.openservices.shade.org.apache.commons.lang3.StringUtils; import com.aliyun.openservices.shade.org.apache.commons.lang3.StringUtils;
import com.cool.store.constants.CommonConstants; import com.cool.store.constants.CommonConstants;
import com.cool.store.dao.HyOpenAreaInfoDAO; import com.cool.store.dao.*;
import com.cool.store.dao.HyPartnerLineInfoDAO;
import com.cool.store.dao.HyPartnerUserInfoDAO;
import com.cool.store.dao.HyPartnerUserPlatformBindDAO;
import com.cool.store.dto.wx.CodeSessionDTO; import com.cool.store.dto.wx.CodeSessionDTO;
import com.cool.store.dto.wx.MiniProgramLoginDTO; import com.cool.store.dto.wx.MiniProgramLoginDTO;
import com.cool.store.dto.wx.PhoneInfoDTO; import com.cool.store.dto.wx.PhoneInfoDTO;
@@ -56,6 +53,8 @@ public class WechatMiniAppServiceImpl implements WechatMiniAppService {
private HyPartnerLineInfoDAO hyPartnerLineInfoDAO; private HyPartnerLineInfoDAO hyPartnerLineInfoDAO;
@Resource @Resource
HyOpenAreaInfoDAO hyOpenAreaInfoDAO; HyOpenAreaInfoDAO hyOpenAreaInfoDAO;
@Resource
HyPartnerBaseInfoDAO hyPartnerBaseInfoDAO;
@Value("${weixin.appId}") @Value("${weixin.appId}")
private String wxAppId; private String wxAppId;
@@ -91,27 +90,29 @@ public class WechatMiniAppServiceImpl implements WechatMiniAppService {
// 获取手机号码 // 获取手机号码
PhoneInfoDTO phoneInfoDTO = wechatRest.getUserPhoneNumber(param.getMobileCode(), accessToken); PhoneInfoDTO phoneInfoDTO = wechatRest.getUserPhoneNumber(param.getMobileCode(), accessToken);
if(phoneInfoDTO != null && phoneInfoDTO.getPhoneInfo() != null && StringUtils.isNotBlank(phoneInfoDTO.getPhoneInfo().getPhoneNumber())){ if(phoneInfoDTO != null && phoneInfoDTO.getPhoneInfo() != null && StringUtils.isNotBlank(phoneInfoDTO.getPhoneInfo().getPhoneNumber())){
HyPartnerUserInfoDO hyPartnerUserInfoDO = hyPartnerUserInfoDAO.selectByMobile(phoneInfoDTO.getPhoneInfo().getPhoneNumber());
if(hyPartnerUserInfoDO == null){
hyPartnerUserInfoDO = new HyPartnerUserInfoDO();
hyPartnerUserInfoDO.setMobile(phoneInfoDTO.getPhoneInfo().getPhoneNumber());
// hyPartnerUserInfoDO.setUsername(phoneInfoDTO.getPhoneInfo().getPhoneNumber());
hyPartnerUserInfoDO.setPartnerId(UUIDUtils.get32UUID());
hyPartnerUserInfoDO.setAcceptAdjustType(0);
hyPartnerUserInfoDO.setIsWritePartnerKnow(0);
hyPartnerUserInfoDAO.insertSelective(hyPartnerUserInfoDO);
}
HyPartnerUserPlatformBindDO hyPartnerUserPlatformBindDO = hyPartnerUserPlatformBindDAO.getByPlatformTypeAndUserId(UserPlatformTypeEnum.WECHAT.getCode(), openid); HyPartnerUserPlatformBindDO hyPartnerUserPlatformBindDO = hyPartnerUserPlatformBindDAO.getByPlatformTypeAndUserId(UserPlatformTypeEnum.WECHAT.getCode(), openid);
HyPartnerUserInfoDO hyPartnerUserInfoDO = null;
// 微信未授权过
if(hyPartnerUserPlatformBindDO == null){ if(hyPartnerUserPlatformBindDO == null){
hyPartnerUserInfoDO = hyPartnerUserInfoDAO.selectByMobile(phoneInfoDTO.getPhoneInfo().getPhoneNumber());
if(hyPartnerUserInfoDO == null){
hyPartnerUserInfoDO = new HyPartnerUserInfoDO();
hyPartnerUserInfoDO.setMobile(phoneInfoDTO.getPhoneInfo().getPhoneNumber());
// hyPartnerUserInfoDO.setUsername(phoneInfoDTO.getPhoneInfo().getPhoneNumber());
hyPartnerUserInfoDO.setPartnerId(UUIDUtils.get32UUID());
hyPartnerUserInfoDO.setAcceptAdjustType(0);
hyPartnerUserInfoDO.setIsWritePartnerKnow(0);
hyPartnerUserInfoDAO.insertSelective(hyPartnerUserInfoDO);
}
hyPartnerUserPlatformBindDO = new HyPartnerUserPlatformBindDO(); hyPartnerUserPlatformBindDO = new HyPartnerUserPlatformBindDO();
hyPartnerUserPlatformBindDO.setPlatformType(UserPlatformTypeEnum.WECHAT.getCode()); hyPartnerUserPlatformBindDO.setPlatformType(UserPlatformTypeEnum.WECHAT.getCode());
hyPartnerUserPlatformBindDO.setPlatformUserId(openid); hyPartnerUserPlatformBindDO.setPlatformUserId(openid);
hyPartnerUserPlatformBindDO.setBindTime(new Date()); hyPartnerUserPlatformBindDO.setBindTime(new Date());
hyPartnerUserPlatformBindDO.setPartnerId(hyPartnerUserInfoDO.getPartnerId()); hyPartnerUserPlatformBindDO.setPartnerId(hyPartnerUserInfoDO.getPartnerId());
hyPartnerUserPlatformBindDAO.insertSelective(hyPartnerUserPlatformBindDO); hyPartnerUserPlatformBindDAO.insertSelective(hyPartnerUserPlatformBindDO);
}else if(!hyPartnerUserPlatformBindDO.getPartnerId().equals(hyPartnerUserInfoDO.getPartnerId())){ }else {
hyPartnerUserPlatformBindDO.setPartnerId(hyPartnerUserInfoDO.getPartnerId()); hyPartnerUserInfoDO = hyPartnerUserInfoDAO.selectByPartnerId(hyPartnerUserPlatformBindDO.getPartnerId());
hyPartnerUserPlatformBindDAO.updateByPrimaryKeySelective(hyPartnerUserPlatformBindDO);
} }
BeanUtil.copyProperties(hyPartnerUserInfoDO, userInfoVO); BeanUtil.copyProperties(hyPartnerUserInfoDO, userInfoVO);
HyPartnerLineInfoDO lineInfoDO = hyPartnerLineInfoDAO.getByPartnerId(hyPartnerUserInfoDO.getPartnerId()); HyPartnerLineInfoDO lineInfoDO = hyPartnerLineInfoDAO.getByPartnerId(hyPartnerUserInfoDO.getPartnerId());
@@ -158,6 +159,8 @@ public class WechatMiniAppServiceImpl implements WechatMiniAppService {
} }
oldUserInfo.setMobile(newMobile); oldUserInfo.setMobile(newMobile);
hyPartnerUserInfoDAO.updateByPrimaryKeySelective(oldUserInfo); hyPartnerUserInfoDAO.updateByPrimaryKeySelective(oldUserInfo);
//修改意向申请信息中的手机号
hyPartnerBaseInfoDAO.updateByPartnerId(null, newMobile, oldUserInfo.getPartnerId());
} }
return newMobile; return newMobile;
} }
@@ -171,18 +174,19 @@ public class WechatMiniAppServiceImpl implements WechatMiniAppService {
userInfoVO.setPartnerId(""); userInfoVO.setPartnerId("");
return userInfoVO; return userInfoVO;
} }
HyPartnerUserInfoDO hyPartnerUserInfoDO = hyPartnerUserInfoDAO.selectByMobile(mobile); HyPartnerUserPlatformBindDO hyPartnerUserPlatformBindDO = hyPartnerUserPlatformBindDAO.getByPlatformTypeAndUserId(UserPlatformTypeEnum.WECHAT.getCode(), openId);
BeanUtil.copyProperties(hyPartnerUserInfoDO, userInfoVO); if(hyPartnerUserPlatformBindDO != null){
HyPartnerUserPlatformBindDO hyPartnerUserPlatformBindDO = hyPartnerUserPlatformBindDAO.getByPartnerId(hyPartnerUserInfoDO.getPartnerId()); HyPartnerUserInfoDO hyPartnerUserInfoDO = hyPartnerUserInfoDAO.selectByPartnerId(hyPartnerUserPlatformBindDO.getPartnerId());
BeanUtil.copyProperties(hyPartnerUserInfoDO, userInfoVO);
userInfoVO.setOpenid(hyPartnerUserPlatformBindDO != null ? hyPartnerUserPlatformBindDO.getPlatformUserId() : ""); userInfoVO.setOpenid(hyPartnerUserPlatformBindDO.getPlatformUserId());
if(StringUtils.isNotBlank(hyPartnerUserInfoDO.getWantShopArea())){ if(StringUtils.isNotBlank(hyPartnerUserInfoDO.getWantShopArea())){
HyOpenAreaInfoDO hyOpenAreaInfoDO = hyOpenAreaInfoDAO.selectById(Long.valueOf(hyPartnerUserInfoDO.getWantShopArea())); HyOpenAreaInfoDO hyOpenAreaInfoDO = hyOpenAreaInfoDAO.selectById(Long.valueOf(hyPartnerUserInfoDO.getWantShopArea()));
userInfoVO.setWantShopAreaName(hyOpenAreaInfoDO.getAreaPath().replace("/", " ").trim()); userInfoVO.setWantShopAreaName(hyOpenAreaInfoDO.getAreaPath().replace("/", " ").trim());
} }
HyPartnerLineInfoDO lineInfoDO = hyPartnerLineInfoDAO.getByPartnerId(hyPartnerUserInfoDO.getPartnerId()); HyPartnerLineInfoDO lineInfoDO = hyPartnerLineInfoDAO.getByPartnerId(hyPartnerUserInfoDO.getPartnerId());
if (lineInfoDO != null){ if (lineInfoDO != null){
userInfoVO.setPartnerLineId(lineInfoDO.getId()); userInfoVO.setPartnerLineId(lineInfoDO.getId());
}
} }
return userInfoVO; return userInfoVO;
} }