From cab0b90e38f367ab61ee3cdcab410df946071bce Mon Sep 17 00:00:00 2001 From: wangxiaopeng <807933401@qq.com> Date: Wed, 20 Mar 2024 20:47:11 +0800 Subject: [PATCH] =?UTF-8?q?c=E7=AB=AF=E7=94=A8=E6=88=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../store/dao/HyPartnerUserChannelDAO.java | 37 ++++++ .../mapper/HyPartnerUserChannelMapper.java | 34 ++++++ .../mapper/HyPartnerUserChannelMapper.xml | 114 ++++++++++++++++++ .../mapper/HyPartnerUserInfoMapper.xml | 20 +-- .../store/entity/HyPartnerUserChannelDO.java | 40 ++++++ .../store/entity/HyPartnerUserInfoDO.java | 2 +- .../com/cool/store/vo/PartnerUserInfoVO.java | 2 +- .../impl/WechatMiniAppServiceImpl.java | 18 +++ 8 files changed, 255 insertions(+), 12 deletions(-) create mode 100644 coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerUserChannelDAO.java create mode 100644 coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerUserChannelMapper.java create mode 100644 coolstore-partner-dao/src/main/resources/mapper/HyPartnerUserChannelMapper.xml create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/entity/HyPartnerUserChannelDO.java diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerUserChannelDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerUserChannelDAO.java new file mode 100644 index 000000000..5b33e6c7e --- /dev/null +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerUserChannelDAO.java @@ -0,0 +1,37 @@ +package com.cool.store.dao; + +import com.cool.store.entity.HyPartnerUserChannelDO; +import com.cool.store.mapper.HyPartnerUserChannelMapper; +import org.apache.commons.collections4.CollectionUtils; +import org.springframework.stereotype.Repository; + +import javax.annotation.Resource; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * @Author suzhuhong + * @Date 2023/8/21 11:38 + * @Version 1.0 + */ +@Repository +public class HyPartnerUserChannelDAO { + + @Resource + HyPartnerUserChannelMapper hyPartnerUserChannelMapper; + + public Map getChannelMapByIds(List userChannelIds){ + if (CollectionUtils.isEmpty(userChannelIds)){ + return new HashMap<>(1); + } + List userChannelList = hyPartnerUserChannelMapper.getUserChannelByIds(userChannelIds); + Map channelMap = userChannelList.stream().filter(date->date.getChannelId()!=null).collect(Collectors.toMap(x->x.getChannelId().intValue(), HyPartnerUserChannelDO::getChannelName)); + return channelMap; + } + + + + +} diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerUserChannelMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerUserChannelMapper.java new file mode 100644 index 000000000..7670ff35e --- /dev/null +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerUserChannelMapper.java @@ -0,0 +1,34 @@ +package com.cool.store.mapper; + +import com.cool.store.entity.HyPartnerUserChannelDO; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + + +@Mapper +public interface HyPartnerUserChannelMapper { + int deleteByPrimaryKey(Long id); + + int insert(HyPartnerUserChannelDO record); + + int insertSelective(HyPartnerUserChannelDO record); + + HyPartnerUserChannelDO selectByPrimaryKey(Long id); + + int updateByPrimaryKeySelective(HyPartnerUserChannelDO record); + + int updateByPrimaryKey(HyPartnerUserChannelDO record); + + HyPartnerUserChannelDO selectByChannelId(@Param("channelId") Long id); + + HyPartnerUserChannelDO selectByChannelName(@Param("channelName") String channelName); + + List getAllUserChannel(); + + List getUserChannelByIds(List userChannelIds); + + HyPartnerUserChannelDO selectByChannel(@Param("channelId") Long channelId,@Param("channelName") String channelName); + +} \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/resources/mapper/HyPartnerUserChannelMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerUserChannelMapper.xml new file mode 100644 index 000000000..719bdf080 --- /dev/null +++ b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerUserChannelMapper.xml @@ -0,0 +1,114 @@ + + + + + + + + + + + + id, channel_id, channel_name, create_time, update_time + + + + + + delete from xfsg_partner_user_channel + where id = #{id,jdbcType=BIGINT} + + + insert into xfsg_partner_user_channel (channel_id, channel_name, create_time, + update_time) + values (#{channelId,jdbcType=BIGINT}, #{channelName,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, + #{updateTime,jdbcType=TIMESTAMP}) + + + insert into xfsg_partner_user_channel + + + channel_id, + + + channel_name, + + + create_time, + + + + + #{channelId,jdbcType=BIGINT}, + + + #{channelName,jdbcType=VARCHAR}, + + + #{createTime,jdbcType=TIMESTAMP}, + + + + + update xfsg_partner_user_channel + + + channel_id = #{channelId,jdbcType=BIGINT}, + + + channel_name = #{channelName,jdbcType=VARCHAR}, + + + create_time = #{createTime,jdbcType=TIMESTAMP}, + + + update_time = #{updateTime,jdbcType=TIMESTAMP}, + + + where id = #{id,jdbcType=BIGINT} + + + update xfsg_partner_user_channel + set channel_id = #{channelId,jdbcType=BIGINT}, + channel_name = #{channelName,jdbcType=VARCHAR}, + create_time = #{createTime,jdbcType=TIMESTAMP}, + update_time = #{updateTime,jdbcType=TIMESTAMP} + where id = #{id,jdbcType=BIGINT} + + + + + + + \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/resources/mapper/HyPartnerUserInfoMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerUserInfoMapper.xml index 6cb29e474..ea2783282 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/HyPartnerUserInfoMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerUserInfoMapper.xml @@ -31,28 +31,28 @@ - insert into hy_partner_user_info + insert into xfsg_partner_user_info partner_id, @@ -219,7 +219,7 @@ - update hy_partner_user_info + update xfsg_partner_user_info partner_id = #{record.partnerId}, @@ -280,13 +280,13 @@ - update hy_partner_user_info + update xfsg_partner_user_info set `is_write_partner_know`=#{isWritePartnerKnow,jdbcType=INTEGER} where id=#{id,jdbcType=BIGINT} - update hy_partner_user_info + update xfsg_partner_user_info mobile = #{record.mobile}, diff --git a/coolstore-partner-model/src/main/java/com/cool/store/entity/HyPartnerUserChannelDO.java b/coolstore-partner-model/src/main/java/com/cool/store/entity/HyPartnerUserChannelDO.java new file mode 100644 index 000000000..9fae61ace --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/entity/HyPartnerUserChannelDO.java @@ -0,0 +1,40 @@ +package com.cool.store.entity; + +import lombok.Data; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.util.Date; + +/** + * hy_partner_user_channel + * @author + */ +@Data +@Accessors(chain = true) +public class HyPartnerUserChannelDO implements Serializable { + + private Long id; + + /** + * 来源id + */ + private Long channelId; + + /** + * 来源名称 + */ + private String channelName; + + /** + * 创建时间 + */ + private Date createTime; + + /** + * 更新时间 + */ + private Date updateTime; + + private static final long serialVersionUID = 1L; +} \ No newline at end of file diff --git a/coolstore-partner-model/src/main/java/com/cool/store/entity/HyPartnerUserInfoDO.java b/coolstore-partner-model/src/main/java/com/cool/store/entity/HyPartnerUserInfoDO.java index bd449fd72..6c7a6213e 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/entity/HyPartnerUserInfoDO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/entity/HyPartnerUserInfoDO.java @@ -24,7 +24,7 @@ public class HyPartnerUserInfoDO implements Serializable { @ApiModelProperty("") private Long id; - @ApiModelProperty("hy_partner_user_info.partner_id") + @ApiModelProperty("xfsg_partner_user_info.partner_id") private String partnerId; @ApiModelProperty("手机号") diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/PartnerUserInfoVO.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/PartnerUserInfoVO.java index 5a777edfb..584df7d2f 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/vo/PartnerUserInfoVO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/PartnerUserInfoVO.java @@ -20,7 +20,7 @@ public class PartnerUserInfoVO { @ApiModelProperty("ID") private Long id; - @ApiModelProperty("hy_partner_user_info.partner_id") + @ApiModelProperty("xfsg_partner_user_info.partner_id") private String partnerId; @ApiModelProperty("手机号") diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/WechatMiniAppServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/WechatMiniAppServiceImpl.java index 166a1f829..ec7144231 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/WechatMiniAppServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/WechatMiniAppServiceImpl.java @@ -10,6 +10,7 @@ import com.cool.store.enums.ErrorCodeEnum; import com.cool.store.enums.UserChannelEnum; import com.cool.store.exception.ServiceException; import com.cool.store.http.WechatRest; +import com.cool.store.mapper.HyPartnerUserChannelMapper; import com.cool.store.request.MobileUpdateRequest; import com.cool.store.service.WechatMiniAppService; import com.cool.store.utils.RedisUtilPool; @@ -17,11 +18,13 @@ import com.cool.store.utils.UUIDUtils; import com.cool.store.vo.PartnerUserInfoVO; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.text.MessageFormat; +import java.util.Objects; /** * @author zhangchenbiao @@ -39,6 +42,10 @@ public class WechatMiniAppServiceImpl implements WechatMiniAppService { private WechatRest wechatRest; @Resource private HyPartnerUserInfoDAO hyPartnerUserInfoDAO; + @Autowired + private HyPartnerUserChannelMapper hyPartnerUserChannelMapper; + @Resource + private LineInfoDAO lineInfoDAO; @Resource HyOpenAreaInfoDAO hyOpenAreaInfoDAO; @Value("${weixin.appId}") @@ -106,6 +113,12 @@ public class WechatMiniAppServiceImpl implements WechatMiniAppService { }else { if (StringUtils.isNumeric(userChannel)) { channelId = Integer.valueOf(userChannel); + HyPartnerUserChannelDO hyPartnerUserChannelDO = hyPartnerUserChannelMapper.selectByChannelId(Long.valueOf(channelId)); + if (Objects.isNull(hyPartnerUserChannelDO)|| hyPartnerUserChannelDO.getChannelId() == null ) { + //用户渠道不存在 + throw new ServiceException(ErrorCodeEnum.USER_CHANNEL_NOT_EXISTS); + } + } } } @@ -117,6 +130,11 @@ public class WechatMiniAppServiceImpl implements WechatMiniAppService { } } BeanUtil.copyProperties(hyPartnerUserInfoDO, userInfoVO); + /*LineInfoDO lineInfoDO = lineInfoDAO.getByPartnerId(hyPartnerUserInfoDO.getPartnerId()); + if (lineInfoDO != null){ + userInfoVO.setPartnerLineId(lineInfoDO.getId()); + userInfoVO.setLineStatus(lineInfoDO.getLineStatus()); + }*/ } userInfoVO.setOpenid(openid); userInfoVO.setUnionId(unionId);