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>
<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>
</mapper>

View File

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