From e345c409dd18cce30fbd2d40a7335ef831d2b9f5 Mon Sep 17 00:00:00 2001 From: wangw <1594593906@qq.com> Date: Fri, 5 Dec 2025 13:50:46 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E5=8F=91=E6=94=BE=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/market/service/impl/ChatCouponServiceImpl.java | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/ChatCouponServiceImpl.java b/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/ChatCouponServiceImpl.java index 992e1d57c..1a472f880 100644 --- a/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/ChatCouponServiceImpl.java +++ b/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/ChatCouponServiceImpl.java @@ -95,10 +95,7 @@ public class ChatCouponServiceImpl extends ServiceImpl Date: Fri, 5 Dec 2025 14:09:33 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E5=8F=91=E6=94=BE=E4=BC=A0=E5=8F=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../user/UChatCouponController.java | 2 +- .../czg/account/service/ShopUserService.java | 5 ++++ .../czg/market/dto/ChatCouponGrantDTO.java | 4 ++++ .../czg/market/service/ChatCouponService.java | 2 +- .../service/impl/ShopUserServiceImpl.java | 14 ++++++----- .../service/impl/ChatCouponServiceImpl.java | 24 +++++++++++++------ 6 files changed, 36 insertions(+), 15 deletions(-) diff --git a/cash-api/market-server/src/main/java/com/czg/controller/user/UChatCouponController.java b/cash-api/market-server/src/main/java/com/czg/controller/user/UChatCouponController.java index d6f754e06..c416060f7 100644 --- a/cash-api/market-server/src/main/java/com/czg/controller/user/UChatCouponController.java +++ b/cash-api/market-server/src/main/java/com/czg/controller/user/UChatCouponController.java @@ -24,7 +24,7 @@ public class UChatCouponController { */ @PostMapping("/grant") public CzgResult grantChatCoupon(@RequestBody ChatCouponGrantDTO chatCouponGrant) { - chatCouponService.grantChatCoupon(chatCouponGrant.getId(), chatCouponGrant.getShopUserId(), chatCouponGrant.getUserId()); + chatCouponService.grantChatCoupon(chatCouponGrant.getId(), chatCouponGrant.getShopId(), chatCouponGrant.getUserId()); return CzgResult.success(true); } } diff --git a/cash-common/cash-common-service/src/main/java/com/czg/account/service/ShopUserService.java b/cash-common/cash-common-service/src/main/java/com/czg/account/service/ShopUserService.java index 245e1e448..aab84975a 100644 --- a/cash-common/cash-common-service/src/main/java/com/czg/account/service/ShopUserService.java +++ b/cash-common/cash-common-service/src/main/java/com/czg/account/service/ShopUserService.java @@ -31,6 +31,11 @@ public interface ShopUserService extends IService { */ Page getInviteUser(Long getDistributionUserId, Long shopId, Long shopUserId, Long distributionLevelId, Integer page, Integer size); + /** + * 会自动获取到用户的主店铺id 然后获取用户信息 + * 获取用户信息 + */ + ShopUser getUserInfo(Long shopId, Long userId); boolean updateInfo(ShopUser shopUser); diff --git a/cash-common/cash-common-service/src/main/java/com/czg/market/dto/ChatCouponGrantDTO.java b/cash-common/cash-common-service/src/main/java/com/czg/market/dto/ChatCouponGrantDTO.java index e64a8d758..ac20baf59 100644 --- a/cash-common/cash-common-service/src/main/java/com/czg/market/dto/ChatCouponGrantDTO.java +++ b/cash-common/cash-common-service/src/main/java/com/czg/market/dto/ChatCouponGrantDTO.java @@ -17,6 +17,10 @@ public class ChatCouponGrantDTO { * 店铺用户ID */ private Long shopUserId; + /** + * 店铺ID + */ + private Long shopId; /** * 用户ID */ diff --git a/cash-common/cash-common-service/src/main/java/com/czg/market/service/ChatCouponService.java b/cash-common/cash-common-service/src/main/java/com/czg/market/service/ChatCouponService.java index 7cdf960a5..9a6e27b36 100644 --- a/cash-common/cash-common-service/src/main/java/com/czg/market/service/ChatCouponService.java +++ b/cash-common/cash-common-service/src/main/java/com/czg/market/service/ChatCouponService.java @@ -33,7 +33,7 @@ public interface ChatCouponService extends IService { /** * 发放优惠券 */ - void grantChatCoupon(Long id, Long shopUserId, Long userId); + void grantChatCoupon(Long id, Long shopId, Long userId); /** * 分页查询优惠券发放记录 diff --git a/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/ShopUserServiceImpl.java b/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/ShopUserServiceImpl.java index 51ff8b6ed..1ec59a280 100644 --- a/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/ShopUserServiceImpl.java +++ b/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/ShopUserServiceImpl.java @@ -63,6 +63,12 @@ public class ShopUserServiceImpl extends ServiceImpl i return shopUser; } + @Override + public ShopUser getUserInfo(Long shopId, Long userId) { + Long mainShopId = shopInfoService.getMainIdByShopId(shopId); + return getOne(QueryWrapper.create().eq(ShopUser::getUserId, userId).eq(ShopUser::getMainShopId, mainShopId)); + } + @Override public boolean updateInfo(ShopUser shopUser) { return super.updateById(shopUser); @@ -71,13 +77,9 @@ public class ShopUserServiceImpl extends ServiceImpl i @Override public ShopUser getShopUserInfo(Long shopId, long userId) { - Long mainShopId = shopInfoService.getMainIdByShopId(shopId); - ShopUser shopUser = queryChain().eq(ShopUser::getUserId, userId).and(q -> { - q.eq(ShopUser::getMainShopId, mainShopId).or(q1 -> { - q1.eq(ShopUser::getSourceShopId, shopId); - }); - }).one(); + ShopUser shopUser = getUserInfo(shopId, userId); if (shopUser == null) { + Long mainShopId = shopInfoService.getMainIdByShopId(shopId); shopUser = new ShopUser(); UserInfo userInfo = userInfoService.getById(userId); BeanUtil.copyProperties(userInfo, shopUser); diff --git a/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/ChatCouponServiceImpl.java b/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/ChatCouponServiceImpl.java index 1a472f880..a8b2a1ce6 100644 --- a/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/ChatCouponServiceImpl.java +++ b/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/ChatCouponServiceImpl.java @@ -1,6 +1,8 @@ package com.czg.service.market.service.impl; import com.alibaba.fastjson2.JSONObject; +import com.czg.account.entity.ShopUser; +import com.czg.account.service.ShopUserService; import com.czg.exception.CzgException; import com.czg.market.dto.ChatCouponDTO; import com.czg.market.dto.MkShopCouponGiftDTO; @@ -17,6 +19,7 @@ import com.czg.market.service.ChatCouponService; import com.czg.service.market.mapper.ChatCouponMapper; import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; +import org.apache.dubbo.config.annotation.DubboReference; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -33,6 +36,9 @@ public class ChatCouponServiceImpl extends ServiceImpl Date: Fri, 5 Dec 2025 14:31:59 +0800 Subject: [PATCH 3/4] =?UTF-8?q?shopUserService=E9=A2=9D=E5=A4=96=E5=A4=84?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../czg/account/service/AShopUserService.java | 1 - .../czg/account/service/ShopUserService.java | 22 ++-- .../service/impl/AShopUserServiceImpl.java | 24 ++-- .../service/impl/ShopUserServiceImpl.java | 104 +++++++++++++++++ .../service/impl/UShopUserServiceImpl.java | 107 ++---------------- .../service/impl/MemberOrderServiceImpl.java | 27 ++--- .../impl/MkShopCouponRecordServiceImpl.java | 7 +- 7 files changed, 147 insertions(+), 145 deletions(-) diff --git a/cash-common/cash-common-service/src/main/java/com/czg/account/service/AShopUserService.java b/cash-common/cash-common-service/src/main/java/com/czg/account/service/AShopUserService.java index cc0324957..fedebbd0c 100644 --- a/cash-common/cash-common-service/src/main/java/com/czg/account/service/AShopUserService.java +++ b/cash-common/cash-common-service/src/main/java/com/czg/account/service/AShopUserService.java @@ -22,7 +22,6 @@ public interface AShopUserService { Page getPushEventUser(SmsPushEventUser smsPushEventUser); Page getAcPushEventUser(SmsPushEventUser smsPushEventUser); - List getPushEventUserList(SmsPushEventUser smsPushEventUser); Boolean add(Long shopId, ShopUserAddDTO shopUserAddDTO); diff --git a/cash-common/cash-common-service/src/main/java/com/czg/account/service/ShopUserService.java b/cash-common/cash-common-service/src/main/java/com/czg/account/service/ShopUserService.java index aab84975a..2371a23b7 100644 --- a/cash-common/cash-common-service/src/main/java/com/czg/account/service/ShopUserService.java +++ b/cash-common/cash-common-service/src/main/java/com/czg/account/service/ShopUserService.java @@ -1,7 +1,9 @@ package com.czg.account.service; +import com.czg.account.dto.shopuser.ShopUserAddDTO; import com.czg.account.dto.shopuser.ShopUserMoneyEditDTO; import com.czg.account.entity.ShopUser; +import com.czg.market.entity.SmsPushEventUser; import com.czg.market.vo.InviteUserVO; import com.mybatisflex.core.paginate.Page; import com.mybatisflex.core.service.IService; @@ -22,8 +24,16 @@ public interface ShopUserService extends IService { * 返回流水Id */ Long updateMoney(ShopUserMoneyEditDTO shopUserEditDTO); + /** + * 会自动获取到用户的主店铺id 然后获取用户信息 + * 获取用户信息 + */ + ShopUser getUserInfo(Long shopId, Long userId); - + /** + * 获取店铺用户信息 + * 包含会员折扣等信息 + */ ShopUser getShopUserInfo(Long shopId, long userId); /** @@ -31,15 +41,13 @@ public interface ShopUserService extends IService { */ Page getInviteUser(Long getDistributionUserId, Long shopId, Long shopUserId, Long distributionLevelId, Integer page, Integer size); - /** - * 会自动获取到用户的主店铺id 然后获取用户信息 - * 获取用户信息 - */ - ShopUser getUserInfo(Long shopId, Long userId); - boolean updateInfo(ShopUser shopUser); List selectBirthdayUser(LocalDate current, Long mainShopId, String userType); void updateOneOrTwoAmount(Long shopUserId, Long shopId, BigDecimal bigDecimal, Integer isOne); + + List getPushEventUserList(SmsPushEventUser smsPushEventUser); + + boolean join(Long shopId, Long userId, ShopUserAddDTO shopUserAddDTO); } diff --git a/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/AShopUserServiceImpl.java b/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/AShopUserServiceImpl.java index 7e68b3c09..b4a484e92 100644 --- a/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/AShopUserServiceImpl.java +++ b/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/AShopUserServiceImpl.java @@ -35,6 +35,7 @@ import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; import org.apache.dubbo.config.annotation.DubboReference; import org.apache.dubbo.config.annotation.DubboService; +import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; @@ -48,28 +49,28 @@ import java.util.List; * @since 2025-02-08 */ @Slf4j -@DubboService +@Service public class AShopUserServiceImpl implements AShopUserService { @Resource private ShopUserService shopUserService; @Resource private ShopUserMapper shopUserMapper; + @Resource + private ShopInfoService shopInfoService; + @Resource + private UserInfoService userInfoService; @DubboReference private SysParamsService sysParamsService; @DubboReference private OrderInfoService orderInfoService; - @Resource - private UserInfoService userInfoService; @DubboReference private MkShopCouponRecordService couponRecordService; - @Resource - private ShopInfoService shopInfoService; @DubboReference private MemberLevelConfigService memberLevelConfigService; @DubboReference private TbMemberConfigService memberConfigService; - @DubboReference - private MkShopConsumeDiscountRecordService consumeDiscountService; +// @DubboReference +// private MkShopConsumeDiscountRecordService consumeDiscountService; private ShopUser getUserInfo(Long shopUserId) { ShopUser shopUser = shopUserService.queryChain().eq(ShopUser::getId, shopUserId).one(); @@ -136,15 +137,6 @@ public class AShopUserServiceImpl implements AShopUserService { } } - @Override - public List getPushEventUserList(SmsPushEventUser smsPushEventUser) { - Long mainShopId = shopInfoService.getMainIdByShopId(smsPushEventUser.getShopId()); - smsPushEventUser.checkIsAll(); - // 调用Mapper层查询 - List shopUsers = shopUserMapper.selectPushEventUser(mainShopId, - smsPushEventUser.getShopId(), smsPushEventUser); - return shopUsers; - } @Override public Boolean updateInfo(Long shopId, ShopUserEditDTO shopUserEditDTO) { diff --git a/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/ShopUserServiceImpl.java b/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/ShopUserServiceImpl.java index 1ec59a280..821498f38 100644 --- a/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/ShopUserServiceImpl.java +++ b/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/ShopUserServiceImpl.java @@ -2,6 +2,8 @@ package com.czg.service.account.service.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.RandomUtil; +import com.czg.account.dto.shopuser.ShopUserAddDTO; import com.czg.account.dto.shopuser.ShopUserMoneyEditDTO; import com.czg.account.entity.ShopUser; import com.czg.account.entity.ShopUserFlow; @@ -13,11 +15,16 @@ import com.czg.account.service.UserInfoService; import com.czg.enums.ShopUserFlowBizEnum; import com.czg.exception.CzgException; import com.czg.market.entity.MemberLevelConfig; +import com.czg.market.entity.SmsPushEventUser; import com.czg.market.service.MemberLevelConfigService; +import com.czg.market.service.OrderInfoService; import com.czg.market.service.TbMemberConfigService; import com.czg.market.vo.InviteUserVO; import com.czg.market.vo.MemberConfigVO; +import com.czg.order.entity.OrderInfo; import com.czg.service.account.mapper.ShopUserMapper; +import com.czg.system.entity.SysParams; +import com.czg.system.service.SysParamsService; import com.czg.utils.PageUtil; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; @@ -51,9 +58,13 @@ public class ShopUserServiceImpl extends ServiceImpl i @Resource private ShopInfoService shopInfoService; @DubboReference + private OrderInfoService orderInfoService; + @DubboReference private MemberLevelConfigService memberLevelConfigService; @DubboReference private TbMemberConfigService memberConfigService; + @DubboReference + private SysParamsService sysParamsService; private ShopUser getUserInfo(Long shopUserId) { ShopUser shopUser = queryChain().eq(ShopUser::getId, shopUserId).one(); @@ -181,4 +192,97 @@ public class ShopUserServiceImpl extends ServiceImpl i public void updateOneOrTwoAmount(Long shopUserId, Long shopId, BigDecimal bigDecimal, Integer isOne) { mapper.updateOneOrTwoAmount(shopUserId, shopId, bigDecimal, isOne); } + + + @Override + public List getPushEventUserList(SmsPushEventUser smsPushEventUser) { + Long mainShopId = shopInfoService.getMainIdByShopId(smsPushEventUser.getShopId()); + smsPushEventUser.checkIsAll(); + // 调用Mapper层查询 + List shopUsers = mapper.selectPushEventUser(mainShopId, + smsPushEventUser.getShopId(), smsPushEventUser); + return shopUsers; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public boolean join(Long shopId, Long userId, ShopUserAddDTO shopUserAddDTO) { + Long mainId = shopInfoService.getMainIdByShopId(shopId); + // 当前用户信息 + UserInfo userInfo = userInfoService.getById(userId); + ShopUser shopUser = getShopUserInfo(shopId, userId); + + // 查询系统添加的会员 + UserInfo oriInfo = userInfoService.getOne(new QueryWrapper().eq(UserInfo::getPhone, shopUserAddDTO.getPhone())); + if (oriInfo != null && !oriInfo.getId().equals(userId)) { + // 迁移订单 + OrderInfo orderInfo = new OrderInfo(); + orderInfo.setUserId(userId); + orderInfoService.update(orderInfo, new QueryWrapper().eq(OrderInfo::getUserId, oriInfo.getId())); + // 删除多余用户信息 + userInfoService.removeById(oriInfo.getId()); + BeanUtil.copyProperties(oriInfo, userInfo, "id", "alipayOpenId", "wechatOpenId"); + + ShopUser oldUserInfo = getOne(new QueryWrapper().eq(ShopUser::getMainShopId, mainId).eq(ShopUser::getUserId, oriInfo.getId())); + if (oldUserInfo != null) { + removeById(oldUserInfo.getId()); + BeanUtil.copyProperties(oldUserInfo, shopUser, "id", "userId"); + } + } + + BeanUtil.copyProperties(shopUserAddDTO, shopUser, "accountPoints", "amount"); + BeanUtil.copyProperties(shopUserAddDTO, userInfo); + userInfoService.updateById(userInfo); + if (cn.hutool.core.util.StrUtil.isBlank(shopUser.getCode())) { + shopUser.setCode(generateCode(shopId)); + } + if (cn.hutool.core.util.StrUtil.isBlank(shopUser.getBirthDay())) { + shopUser.setBirthDay(null); + } + shopUser.setJoinTime(shopUser.getJoinTime() == null ? DateUtil.date().toLocalDateTime() : shopUser.getJoinTime()); + + + return saveOrUpdate(shopUser); + } + + + public String generateCode(long shopId) { + String code = "shop_user_code_val%d".formatted(shopId); + SysParams sysParam = sysParamsService.getOne(new QueryWrapper().eq(SysParams::getParamCode, code)); + + if (sysParam == null) { + SysParams sysParams = new SysParams() + .setParamValue("1") + .setParamType(1) + .setCreateTime(DateUtil.date().toLocalDateTime()) + .setParamCode(code); + sysParamsService.save(sysParams); + return generateRandomCode(1); + } + + long parseLong = Long.parseLong(sysParam.getParamValue()); + long l = ++parseLong; + sysParam.setParamValue(String.valueOf(l)); + sysParamsService.updateById(sysParam); + + return generateRandomCode(l); + } + + // 使用Hutool生成十六进制代码并随机填充字母 + private String generateRandomCode(long value) { + // 生成十六进制代码,确保为10位 + String hexCode = String.format("%010X", value); + + // 计算需要补充的字母数量 + int missingLength = 10 - hexCode.length(); + StringBuilder codeBuilder = new StringBuilder(hexCode); + + for (int i = 0; i < missingLength; i++) { + // 生成随机字母 + char randomChar = RandomUtil.randomChar("ABCDEFGHIJKLMNOPQRSTUVWXYZ"); + codeBuilder.append(randomChar); + } + + return codeBuilder.toString(); + } } diff --git a/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/UShopUserServiceImpl.java b/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/UShopUserServiceImpl.java index 4315192d1..8e80c96b5 100644 --- a/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/UShopUserServiceImpl.java +++ b/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/UShopUserServiceImpl.java @@ -1,9 +1,7 @@ package com.czg.service.account.service.impl; import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.RandomUtil; -import cn.hutool.core.util.StrUtil; import com.czg.account.dto.shopuser.ShopUserAddDTO; import com.czg.account.dto.shopuser.ShopUserDetailDTO; import com.czg.account.dto.shopuser.ShopUserMoneyEditDTO; @@ -14,14 +12,9 @@ import com.czg.config.RedisCst; import com.czg.exception.CzgException; import com.czg.market.entity.MkShopCouponRecord; import com.czg.market.service.MkShopCouponRecordService; -import com.czg.market.service.TbMemberConfigService; -import com.czg.order.entity.OrderInfo; -import com.czg.market.service.OrderInfoService; import com.czg.resp.CzgResult; import com.czg.service.RedisService; import com.czg.service.account.mapper.ShopConfigMapper; -import com.czg.system.entity.SysParams; -import com.czg.system.service.SysParamsService; import com.czg.utils.AssertUtil; import com.czg.utils.JoinQueryWrapper; import com.czg.utils.PageUtil; @@ -29,8 +22,7 @@ import com.mybatisflex.core.paginate.Page; import com.mybatisflex.core.query.QueryWrapper; import jakarta.annotation.Resource; import org.apache.dubbo.config.annotation.DubboReference; -import org.apache.dubbo.config.annotation.DubboService; -import org.springframework.transaction.annotation.Transactional; +import org.springframework.stereotype.Service; import java.util.List; @@ -41,20 +33,14 @@ import java.util.List; * @author Administrator * @since 2025-02-08 */ -@DubboService +@Service public class UShopUserServiceImpl implements UShopUserService { @Resource private ShopUserService shopUserService; - @DubboReference - private SysParamsService sysParamsService; - @DubboReference - private OrderInfoService orderInfoService; @Resource private UserInfoService userInfoService; @Resource private RedisService redisService; - @DubboReference - private MkShopCouponRecordService couponRecordService; @Resource private ShopInfoService shopInfoService; @Resource @@ -64,7 +50,7 @@ public class UShopUserServiceImpl implements UShopUserService { @Resource private ShopConfigMapper shopConfigMapper; @DubboReference - private TbMemberConfigService memberConfigService; + private MkShopCouponRecordService couponRecordService; @Override public ShopUser getShopUserInfo(Long shopId, long userId) { @@ -89,6 +75,11 @@ public class UShopUserServiceImpl implements UShopUserService { return CzgResult.success(dynamicCode); } + @Override + public boolean join(Long shopId, Long userId, ShopUserAddDTO shopUserAddDTO) { + return shopUserService.join(shopId, userId, shopUserAddDTO); + } + public String generatePaymentCode(String shopId, String platformNumber) { // 获取当前毫秒时间戳的后四位 String date = String.format("%04d", System.currentTimeMillis() % 10000); @@ -104,88 +95,6 @@ public class UShopUserServiceImpl implements UShopUserService { return date + platformNumber + shopIdLastTwoDigits + randomPart; } - public String generateCode(long shopId) { - String code = "shop_user_code_val%d".formatted(shopId); - SysParams sysParam = sysParamsService.getOne(new QueryWrapper().eq(SysParams::getParamCode, code)); - - if (sysParam == null) { - SysParams sysParams = new SysParams() - .setParamValue("1") - .setParamType(1) - .setCreateTime(DateUtil.date().toLocalDateTime()) - .setParamCode(code); - sysParamsService.save(sysParams); - return generateRandomCode(1); - } - - long parseLong = Long.parseLong(sysParam.getParamValue()); - long l = ++parseLong; - sysParam.setParamValue(String.valueOf(l)); - sysParamsService.updateById(sysParam); - - return generateRandomCode(l); - } - - // 使用Hutool生成十六进制代码并随机填充字母 - private String generateRandomCode(long value) { - // 生成十六进制代码,确保为10位 - String hexCode = String.format("%010X", value); - - // 计算需要补充的字母数量 - int missingLength = 10 - hexCode.length(); - StringBuilder codeBuilder = new StringBuilder(hexCode); - - for (int i = 0; i < missingLength; i++) { - // 生成随机字母 - char randomChar = RandomUtil.randomChar("ABCDEFGHIJKLMNOPQRSTUVWXYZ"); - codeBuilder.append(randomChar); - } - - return codeBuilder.toString(); - } - - - @Override - @Transactional(rollbackFor = Exception.class) - public boolean join(Long shopId, Long userId, ShopUserAddDTO shopUserAddDTO) { - Long mainId = shopInfoService.getMainIdByShopId(shopId); - // 当前用户信息 - UserInfo userInfo = userInfoService.getById(userId); - ShopUser shopUser = shopUserService.getShopUserInfo(shopId, userId); - - // 查询系统添加的会员 - UserInfo oriInfo = userInfoService.getOne(new QueryWrapper().eq(UserInfo::getPhone, shopUserAddDTO.getPhone())); - if (oriInfo != null && !oriInfo.getId().equals(userId)) { - // 迁移订单 - OrderInfo orderInfo = new OrderInfo(); - orderInfo.setUserId(userId); - orderInfoService.update(orderInfo, new QueryWrapper().eq(OrderInfo::getUserId, oriInfo.getId())); - // 删除多余用户信息 - userInfoService.removeById(oriInfo.getId()); - BeanUtil.copyProperties(oriInfo, userInfo, "id", "alipayOpenId", "wechatOpenId"); - - ShopUser oldUserInfo = shopUserService.getOne(new QueryWrapper().eq(ShopUser::getMainShopId, mainId).eq(ShopUser::getUserId, oriInfo.getId())); - if (oldUserInfo != null) { - shopUserService.removeById(oldUserInfo.getId()); - BeanUtil.copyProperties(oldUserInfo, shopUser, "id", "userId"); - } - } - - BeanUtil.copyProperties(shopUserAddDTO, shopUser, "accountPoints", "amount"); - BeanUtil.copyProperties(shopUserAddDTO, userInfo); - userInfoService.updateById(userInfo); - if (StrUtil.isBlank(shopUser.getCode())) { - shopUser.setCode(generateCode(shopId)); - } - if (StrUtil.isBlank(shopUser.getBirthDay())) { - shopUser.setBirthDay(null); - } - shopUser.setJoinTime(shopUser.getJoinTime() == null ? DateUtil.date().toLocalDateTime() : shopUser.getJoinTime()); - - - return shopUserService.saveOrUpdate(shopUser); - } - @Override public ShopUserDetailDTO getInfo(Long shopId, long userId) { Long mainId = shopInfoService.getMainIdByShopId(shopId); diff --git a/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/MemberOrderServiceImpl.java b/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/MemberOrderServiceImpl.java index 80f543161..e43490118 100644 --- a/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/MemberOrderServiceImpl.java +++ b/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/MemberOrderServiceImpl.java @@ -6,21 +6,23 @@ import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson2.JSONObject; import com.czg.account.dto.shopuser.ShopUserAddDTO; +import com.czg.account.entity.ShopInfo; import com.czg.account.entity.ShopUser; +import com.czg.account.entity.UserInfo; import com.czg.account.entity.table.ShopUserTableDef; import com.czg.account.entity.table.UserInfoTableDef; -import com.czg.account.service.*; +import com.czg.account.service.ShopInfoService; +import com.czg.account.service.ShopUserService; +import com.czg.account.service.UserInfoService; +import com.czg.exception.CzgException; import com.czg.market.dto.MemberConfigDTO; -import com.czg.account.entity.ShopInfo; -import com.czg.account.entity.UserInfo; +import com.czg.market.dto.MemberOrderDTO; +import com.czg.market.entity.MemberOrder; import com.czg.market.entity.table.MemberOrderTableDef; -import com.czg.market.service.OrderInfoService; +import com.czg.market.service.MemberOrderService; import com.czg.market.service.TbMemberConfigService; import com.czg.market.vo.MemberConfigVO; -import com.czg.exception.CzgException; -import com.czg.market.dto.MemberOrderDTO; import com.czg.market.vo.MmberOrderVO; -import com.czg.order.service.OrderPaymentService; import com.czg.sa.StpKit; import com.czg.service.market.enums.OrderStatusEnums; import com.czg.service.market.mapper.MemberOrderMapper; @@ -28,9 +30,6 @@ import com.czg.utils.AssertUtil; import com.czg.utils.PageUtil; import com.mybatisflex.core.query.QueryWrapper; import com.mybatisflex.spring.service.impl.ServiceImpl; -import com.czg.market.entity.MemberOrder; -import com.czg.market.service.MemberOrderService; -import jakarta.annotation.Resource; import org.apache.dubbo.config.annotation.DubboReference; import org.apache.dubbo.config.annotation.DubboService; @@ -51,15 +50,9 @@ public class MemberOrderServiceImpl extends ServiceImpl pageInfo(String startTime, String endTime, String key) { @@ -128,7 +121,7 @@ public class MemberOrderServiceImpl extends ServiceImpl Date: Fri, 5 Dec 2025 14:35:01 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E9=9D=9E=E5=BF=85=E5=A1=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/czg/market/dto/ChatCouponDTO.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cash-common/cash-common-service/src/main/java/com/czg/market/dto/ChatCouponDTO.java b/cash-common/cash-common-service/src/main/java/com/czg/market/dto/ChatCouponDTO.java index 0778b8b0f..589d302a2 100644 --- a/cash-common/cash-common-service/src/main/java/com/czg/market/dto/ChatCouponDTO.java +++ b/cash-common/cash-common-service/src/main/java/com/czg/market/dto/ChatCouponDTO.java @@ -29,7 +29,7 @@ public class ChatCouponDTO implements Serializable { /** * 自定义文案 */ - @NotBlank(message = "自定义文案不能为空") +// @NotBlank(message = "自定义文案不能为空") private String title; /**