Merge remote-tracking branch 'origin/test' into test
This commit is contained in:
@@ -24,7 +24,7 @@ public class UChatCouponController {
|
||||
*/
|
||||
@PostMapping("/grant")
|
||||
public CzgResult<Boolean> grantChatCoupon(@RequestBody ChatCouponGrantDTO chatCouponGrant) {
|
||||
chatCouponService.grantChatCoupon(chatCouponGrant.getId(), chatCouponGrant.getShopUserId(), chatCouponGrant.getUserId());
|
||||
chatCouponService.grantChatCoupon(chatCouponGrant.getId(), chatCouponGrant.getShopId(), chatCouponGrant.getUserId());
|
||||
return CzgResult.success(true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,7 +22,6 @@ public interface AShopUserService {
|
||||
Page<ShopUser> getPushEventUser(SmsPushEventUser smsPushEventUser);
|
||||
Page<ShopUser> getAcPushEventUser(SmsPushEventUser smsPushEventUser);
|
||||
|
||||
List<ShopUser> getPushEventUserList(SmsPushEventUser smsPushEventUser);
|
||||
|
||||
Boolean add(Long shopId, ShopUserAddDTO shopUserAddDTO);
|
||||
|
||||
|
||||
@@ -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<ShopUser> {
|
||||
* 返回流水Id
|
||||
*/
|
||||
Long updateMoney(ShopUserMoneyEditDTO shopUserEditDTO);
|
||||
/**
|
||||
* 会自动获取到用户的主店铺id 然后获取用户信息
|
||||
* 获取用户信息
|
||||
*/
|
||||
ShopUser getUserInfo(Long shopId, Long userId);
|
||||
|
||||
|
||||
/**
|
||||
* 获取店铺用户信息
|
||||
* 包含会员折扣等信息
|
||||
*/
|
||||
ShopUser getShopUserInfo(Long shopId, long userId);
|
||||
|
||||
/**
|
||||
@@ -31,10 +41,13 @@ public interface ShopUserService extends IService<ShopUser> {
|
||||
*/
|
||||
Page<InviteUserVO> getInviteUser(Long getDistributionUserId, Long shopId, Long shopUserId, Long distributionLevelId, Integer page, Integer size);
|
||||
|
||||
|
||||
boolean updateInfo(ShopUser shopUser);
|
||||
|
||||
List<ShopUser> selectBirthdayUser(LocalDate current, Long mainShopId, String userType);
|
||||
|
||||
void updateOneOrTwoAmount(Long shopUserId, Long shopId, BigDecimal bigDecimal, Integer isOne);
|
||||
|
||||
List<ShopUser> getPushEventUserList(SmsPushEventUser smsPushEventUser);
|
||||
|
||||
boolean join(Long shopId, Long userId, ShopUserAddDTO shopUserAddDTO);
|
||||
}
|
||||
|
||||
@@ -29,7 +29,7 @@ public class ChatCouponDTO implements Serializable {
|
||||
/**
|
||||
* 自定义文案
|
||||
*/
|
||||
@NotBlank(message = "自定义文案不能为空")
|
||||
// @NotBlank(message = "自定义文案不能为空")
|
||||
private String title;
|
||||
|
||||
/**
|
||||
|
||||
@@ -17,6 +17,10 @@ public class ChatCouponGrantDTO {
|
||||
* 店铺用户ID
|
||||
*/
|
||||
private Long shopUserId;
|
||||
/**
|
||||
* 店铺ID
|
||||
*/
|
||||
private Long shopId;
|
||||
/**
|
||||
* 用户ID
|
||||
*/
|
||||
|
||||
@@ -33,7 +33,7 @@ public interface ChatCouponService extends IService<ChatCoupon> {
|
||||
/**
|
||||
* 发放优惠券
|
||||
*/
|
||||
void grantChatCoupon(Long id, Long shopUserId, Long userId);
|
||||
void grantChatCoupon(Long id, Long shopId, Long userId);
|
||||
|
||||
/**
|
||||
* 分页查询优惠券发放记录
|
||||
|
||||
@@ -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<ShopUser> getPushEventUserList(SmsPushEventUser smsPushEventUser) {
|
||||
Long mainShopId = shopInfoService.getMainIdByShopId(smsPushEventUser.getShopId());
|
||||
smsPushEventUser.checkIsAll();
|
||||
// 调用Mapper层查询
|
||||
List<ShopUser> shopUsers = shopUserMapper.selectPushEventUser(mainShopId,
|
||||
smsPushEventUser.getShopId(), smsPushEventUser);
|
||||
return shopUsers;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean updateInfo(Long shopId, ShopUserEditDTO shopUserEditDTO) {
|
||||
|
||||
@@ -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<ShopUserMapper, ShopUser> 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();
|
||||
@@ -63,6 +74,12 @@ public class ShopUserServiceImpl extends ServiceImpl<ShopUserMapper, ShopUser> 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 +88,9 @@ public class ShopUserServiceImpl extends ServiceImpl<ShopUserMapper, ShopUser> 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);
|
||||
@@ -179,4 +192,97 @@ public class ShopUserServiceImpl extends ServiceImpl<ShopUserMapper, ShopUser> i
|
||||
public void updateOneOrTwoAmount(Long shopUserId, Long shopId, BigDecimal bigDecimal, Integer isOne) {
|
||||
mapper.updateOneOrTwoAmount(shopUserId, shopId, bigDecimal, isOne);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public List<ShopUser> getPushEventUserList(SmsPushEventUser smsPushEventUser) {
|
||||
Long mainShopId = shopInfoService.getMainIdByShopId(smsPushEventUser.getShopId());
|
||||
smsPushEventUser.checkIsAll();
|
||||
// 调用Mapper层查询
|
||||
List<ShopUser> 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();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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<ChatCouponMapper, ChatCou
|
||||
private ShopCouponService couponService;
|
||||
@Resource
|
||||
private MkShopCouponRecordService recordService;
|
||||
@DubboReference
|
||||
private ShopUserService shopUserService;
|
||||
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
@@ -94,11 +100,8 @@ public class ChatCouponServiceImpl extends ServiceImpl<ChatCouponMapper, ChatCou
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public void grantChatCoupon(Long id, Long shopUserId, Long userId) {
|
||||
ChatCoupon coupon = getOne(QueryWrapper.create()
|
||||
.eq(ChatCoupon::getId, id)
|
||||
.eq(ChatCoupon::getShopId, shopUserId)
|
||||
);
|
||||
public void grantChatCoupon(Long id, Long shopId, Long userId) {
|
||||
ChatCoupon coupon = getById(id);
|
||||
if (coupon == null) {
|
||||
throw new CzgException("活动不存在");
|
||||
}
|
||||
@@ -108,7 +111,7 @@ public class ChatCouponServiceImpl extends ServiceImpl<ChatCouponMapper, ChatCou
|
||||
boolean exists = recordService.exists(QueryWrapper.create()
|
||||
.eq(MkShopCouponRecord::getSource, "群聊发放")
|
||||
.eq(MkShopCouponRecord::getSourceId, coupon.getId())
|
||||
.eq(MkShopCouponRecord::getShopUserId, shopUserId)
|
||||
.eq(MkShopCouponRecord::getShopId, shopId)
|
||||
.eq(MkShopCouponRecord::getUserId, userId)
|
||||
);
|
||||
if (exists) {
|
||||
@@ -125,16 +128,20 @@ public class ChatCouponServiceImpl extends ServiceImpl<ChatCouponMapper, ChatCou
|
||||
coupon.setStatus(3);
|
||||
}
|
||||
updateById(coupon);
|
||||
ShopUser shopUser = shopUserService.getUserInfo(shopId, userId);
|
||||
|
||||
MkShopCouponRecord record = JSONObject.parseObject(coupon.getCouponJson(), MkShopCouponRecord.class);
|
||||
record.setShopUserId(shopUserId);
|
||||
record.setUserId(userId);
|
||||
// MkShopCouponRecord record = JSONObject.parseObject(coupon.getCouponJson(), MkShopCouponRecord.class);
|
||||
// record.setShopUserId(shopUserId);
|
||||
// record.setUserId(userId);
|
||||
// recordService.grantChatCoupon(record, coupon.getGetLimit());
|
||||
if (shopUser == null) {
|
||||
throw new CzgException("用户不存在");
|
||||
}
|
||||
MkShopCouponGiftDTO giftDTO = new MkShopCouponGiftDTO()
|
||||
.setCouponId(coupon.getCouponId())
|
||||
.setShopId(coupon.getShopId())
|
||||
.setShopId(shopId)
|
||||
.setSourceId(coupon.getId())
|
||||
.setShopUserId(shopUserId)
|
||||
.setShopUserId(shopUser.getId())
|
||||
.setSource("群聊发放");
|
||||
recordService.receiveCoupon(giftDTO, coupon.getGetLimit(), false);
|
||||
}
|
||||
|
||||
@@ -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<MemberOrderMapper, Membe
|
||||
@DubboReference
|
||||
private UserInfoService userInfoService;
|
||||
@DubboReference
|
||||
private UShopUserService uShopUserService;
|
||||
@DubboReference
|
||||
private ShopUserService shopUserService;
|
||||
@DubboReference
|
||||
private TbMemberConfigService memberConfigService;
|
||||
@Resource
|
||||
private OrderInfoService orderInfoService;
|
||||
@DubboReference
|
||||
private OrderPaymentService paymentService;
|
||||
|
||||
@Override
|
||||
public Map<String, Object> pageInfo(String startTime, String endTime, String key) {
|
||||
@@ -128,7 +121,7 @@ public class MemberOrderServiceImpl extends ServiceImpl<MemberOrderMapper, Membe
|
||||
userInfo.setBirthDay(orderDTO.getBirthDay());
|
||||
}
|
||||
|
||||
uShopUserService.join(orderDTO.getShopId(), orderDTO.getUserId(), new ShopUserAddDTO()
|
||||
shopUserService.join(orderDTO.getShopId(), orderDTO.getUserId(), new ShopUserAddDTO()
|
||||
.setPhone(userInfo.getPhone())
|
||||
.setSex(userInfo.getSex())
|
||||
.setHeadImg(userInfo.getHeadImg())
|
||||
|
||||
@@ -11,7 +11,6 @@ import com.czg.account.dto.QueryReceiveDto;
|
||||
import com.czg.account.entity.ShopInfo;
|
||||
import com.czg.account.entity.ShopUser;
|
||||
import com.czg.account.entity.UserInfo;
|
||||
import com.czg.account.service.AShopUserService;
|
||||
import com.czg.account.service.ShopInfoService;
|
||||
import com.czg.account.service.ShopUserService;
|
||||
import com.czg.account.service.UserInfoService;
|
||||
@@ -63,8 +62,6 @@ public class MkShopCouponRecordServiceImpl extends ServiceImpl<MkShopCouponRecor
|
||||
private ShopInfoService shopInfoService;
|
||||
@DubboReference
|
||||
private ShopUserService shopUserService;
|
||||
@DubboReference
|
||||
private AShopUserService aShopUserService;
|
||||
@Resource
|
||||
private ShopCouponMapper couponService;
|
||||
|
||||
@@ -248,7 +245,7 @@ public class MkShopCouponRecordServiceImpl extends ServiceImpl<MkShopCouponRecor
|
||||
smsPushEventUser.setShopId(param.getShopId());
|
||||
smsPushEventUser.setIsAll(1);
|
||||
}
|
||||
userList = aShopUserService.getPushEventUserList(smsPushEventUser);
|
||||
userList = shopUserService.getPushEventUserList(smsPushEventUser);
|
||||
// 2. 将JSON字符串解析为JSONArray
|
||||
JSONArray couponArray = JSON.parseArray(param.getCoupon());
|
||||
|
||||
@@ -284,7 +281,7 @@ public class MkShopCouponRecordServiceImpl extends ServiceImpl<MkShopCouponRecor
|
||||
smsPushEventUser.setShopId(param.getShopId());
|
||||
smsPushEventUser.setIsAll(1);
|
||||
}
|
||||
userList = aShopUserService.getPushEventUserList(smsPushEventUser);
|
||||
userList = shopUserService.getPushEventUserList(smsPushEventUser);
|
||||
// 2. 将JSON字符串解析为JSONArray
|
||||
JSONArray couponArray = JSON.parseArray(param.getCoupon());
|
||||
|
||||
|
||||
Reference in New Issue
Block a user