From 2c514a177d063f63f157166fd43c6afa461a7b8c Mon Sep 17 00:00:00 2001 From: sxu <602087911@qq.com> Date: Fri, 14 Feb 2025 15:44:52 +0800 Subject: [PATCH] add openid --- .../main/java/com/bonus/domain/CustInfo.java | 10 +++++ .../controller/CustInfoController.java | 5 +-- .../core/customer/mapper/CustInfoMapper.java | 8 +++- .../service/impl/CustInfoServiceImpl.java | 38 ++++++++++++++++++- .../mapper/customer/CustInfoMapper.xml | 18 ++++++++- 5 files changed, 72 insertions(+), 7 deletions(-) diff --git a/bonus-common-biz/src/main/java/com/bonus/domain/CustInfo.java b/bonus-common-biz/src/main/java/com/bonus/domain/CustInfo.java index 26d9f937..6d74a1f6 100644 --- a/bonus-common-biz/src/main/java/com/bonus/domain/CustInfo.java +++ b/bonus-common-biz/src/main/java/com/bonus/domain/CustInfo.java @@ -142,6 +142,8 @@ public class CustInfo { private String extendStr2; @ApiModelProperty("婚姻状态 0-保密 1-未婚 2-已婚") private Integer maritalStatus; + @ApiModelProperty("来源类型,参考SourceTypeEnum") + private Integer sourceType; // public CustInfo setCustPhotoUrl(String custPhotoUrl) { @@ -414,6 +416,14 @@ public class CustInfo { return this.maritalStatus; } + public Integer getSourceType() { + return sourceType; + } + + public void setSourceType(Integer sourceType) { + this.sourceType = sourceType; + } + public CustInfo setId(final Long id) { this.id = id; return this; diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/core/customer/controller/CustInfoController.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/core/customer/controller/CustInfoController.java index 6f5780a0..6fa79752 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/core/customer/controller/CustInfoController.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/core/customer/controller/CustInfoController.java @@ -63,12 +63,11 @@ public class CustInfoController extends BaseController { @ApiOperation("小程序查询人员详细资料") @PostMapping({"/queryCustInfoDetailForApp"}) - public AjaxResult queryCustInfoDetailForApp(@RequestHeader Map headers,@RequestBody CustInfo custInfo) { + public AjaxResult queryCustInfoDetailForApp(@RequestHeader Map headers, @RequestBody CustInfo custInfo) { log.info("[人员资料]小程序查询人员详细资料_开始"); AjaxResult ar = new AjaxResult(); CustInfoVo result = this.custInfoService.queryCustInfoDetail(custInfo); - - System.out.println(sm4Decrypt("29G1AUHDmLvPe1tt0t12Dw==##encrypted")); + //System.out.println(sm4Decrypt("29G1AUHDmLvPe1tt0t12Dw==##encrypted")); result.setMobile(sm4Decrypt(result.getMobile())); result.setCustName(sm4Decrypt(result.getCustName())); ar.put("data", result); diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/core/customer/mapper/CustInfoMapper.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/core/customer/mapper/CustInfoMapper.java index 19fa5f7e..eac7c6b4 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/core/customer/mapper/CustInfoMapper.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/core/customer/mapper/CustInfoMapper.java @@ -8,6 +8,7 @@ import com.bonus.core.customer.dto.CustPayDTO; import com.bonus.core.customer.vo.CustInfoVo; import com.bonus.core.order.vo.MacOrdCurrWriteOffVO; import com.bonus.core.customer.vo.CustPayVO; +import com.bonus.domain.CustCasual; import com.bonus.domain.CustInfo; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -51,6 +52,11 @@ public interface CustInfoMapper extends BaseMapper { Long getOrgManagerCustIdByCustId(@Param("custId") Long custId); - List getCustPayVO(@Param("custPayDTO") CustPayDTO custPayDTO); + + public CustCasual selectCustCasualByCustId(@Param("custId") Long custId, @Param("sourceType") Integer sourceType, @Param("ifDel") Integer ifDel); + + int addCustCasual(CustCasual custCasual); + + int updateCustCasual(CustCasual custCasual); } diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/core/customer/service/impl/CustInfoServiceImpl.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/core/customer/service/impl/CustInfoServiceImpl.java index 5bf401f5..b48f5834 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/core/customer/service/impl/CustInfoServiceImpl.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/core/customer/service/impl/CustInfoServiceImpl.java @@ -6,6 +6,7 @@ import cn.hutool.core.date.DateUtil; import cn.hutool.core.text.CharSequenceUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.text.CharSequenceUtil; +import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.json.JSONUtil; import com.alibaba.fastjson.JSON; @@ -52,12 +53,15 @@ import com.bonus.core.customer.vo.OrgBasicInfoVO; import com.bonus.core.device.door.api.DcPushUserDataServiceApi; import com.bonus.core.customer.vo.CustPayVO; import com.bonus.core.order.mq.MqUtil; +import com.bonus.domain.CustCasual; +import com.bonus.domain.CustInfoAppIdLoginVO; import com.bonus.domain.SmsCodeVerifyDTO; import com.bonus.domain.CustInfo; import com.bonus.i18n.I18n; import com.bonus.utils.AesEncryptUtil; import com.bonus.utils.LeBeanUtil; import com.bonus.core.common.encrypt.SM4EncryptUtils; +import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -164,10 +168,40 @@ public class CustInfoServiceImpl extends ServiceImpl i } protected CustInfoVo getNormalCustInfoDetail(CustInfo custInfo) { - custInfo.setCustState(PersonalStatusEnum.NORMAL.getKey()); - return custInfoMapper.queryCustInfoDetail(custInfo); + Integer sourceType = custInfo.getSourceType(); + custInfo.setCustState(PersonalStatusEnum.NORMAL.getKey()); + CustInfoVo custInfoVo = custInfoMapper.queryCustInfoDetail(custInfo); + return addOrUpdateCustCasual(custInfoVo, sourceType); } + public CustInfoVo addOrUpdateCustCasual(CustInfoVo custInfoVo, Integer sourceType) { + Long custId = custInfoVo.getCustId(); + CustCasual custCasual = this.custInfoMapper.selectCustCasualByCustId(custId, sourceType, DelFlagEnum.DEL_FALSE.key()); + String openid; + if (Objects.isNull(custCasual)) { + CustCasual insertCasual = new CustCasual(); + openid = IdUtil.simpleUUID(); + insertCasual.setCasualId(Id.next()); + insertCasual.setCasualName(SM4EncryptUtils.sm4Decrypt(custInfoVo.getCustName())); + insertCasual.setCustId(custInfoVo.getCustId()); + insertCasual.setMobile(SM4EncryptUtils.sm4Decrypt(custInfoVo.getMobile())); + insertCasual.setOpenid(openid); + insertCasual.setSourceType(sourceType); + this.custInfoMapper.addCustCasual(insertCasual); + } else { + openid = custCasual.getOpenid(); + if (StringUtils.isBlank(openid)) { + openid = IdUtil.simpleUUID(); + this.custInfoMapper.updateCustCasual(custCasual); + } + } + + custInfoVo.setOpenid(openid); + custInfoVo.setCustName(SM4EncryptUtils.sm4Decrypt(custInfoVo.getCustName())); + custInfoVo.setMobile(SM4EncryptUtils.sm4Decrypt(custInfoVo.getMobile())); + return custInfoVo; + } + @Override diff --git a/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/customer/CustInfoMapper.xml b/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/customer/CustInfoMapper.xml index 52179a6e..a05e04c4 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/customer/CustInfoMapper.xml +++ b/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/customer/CustInfoMapper.xml @@ -95,12 +95,14 @@ ci.extend_date, ci.extend_date_time, ci.extend_str1, - ci.extend_str2 + ci.extend_str2, + cc.openid from cust_info ci left join cust_diet_like cd on ci.cust_id = cd.cust_id and cd.if_del = 2 left join acc_info ai on ci.cust_id = ai.cust_id LEFT JOIN cust_place place ON ci.place_id = place.place_id LEFT JOIN cust_cost_center A ON A.cost_center_id = ci.cost_center_id + LEFT JOIN cust_casual cc on ci.cust_id = cc.cust_id where ci.cust_id = #{info.custId} and ci.cust_state = #{info.custState} @@ -229,6 +231,20 @@ + + + + insert into cust_casual (casual_id, casual_name, cust_id, mobile, openid, source_type) + values (#{casualId}, #{casualName}, #{custId}, #{mobile}, #{openid}, #{sourceType}) + + + + update cust_casual + set openid = #{openId} + where casual_id = #{casualId} +