发放标识

This commit is contained in:
2025-12-04 15:57:09 +08:00
parent cc21e1edcd
commit 1570dadbeb
5 changed files with 157 additions and 3 deletions

View File

@@ -0,0 +1,14 @@
package com.czg.service.market.mapper;
import com.mybatisflex.core.BaseMapper;
import com.czg.market.entity.ChatMessage;
/**
* 聊天消息表 映射层。
*
* @author ww
* @since 2025-12-04
*/
public interface ChatMessageMapper extends BaseMapper<ChatMessage> {
}

View File

@@ -19,12 +19,14 @@ import com.czg.account.vo.CouponReceiveVo;
import com.czg.account.vo.UserCouponVo;
import com.czg.exception.CzgException;
import com.czg.market.dto.*;
import com.czg.market.entity.ChatMessage;
import com.czg.market.entity.MkShopCouponRecord;
import com.czg.market.entity.ShopCoupon;
import com.czg.market.entity.SmsPushEventUser;
import com.czg.market.service.MkShopCouponRecordService;
import com.czg.market.vo.CouponRecordCountVO;
import com.czg.market.vo.UserCouponVO;
import com.czg.service.market.mapper.ChatMessageMapper;
import com.czg.service.market.mapper.MkShopCouponRecordMapper;
import com.czg.service.market.mapper.ShopCouponMapper;
import com.czg.utils.AssertUtil;
@@ -37,6 +39,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.transaction.annotation.Transactional;
import java.time.LocalDateTime;
import java.time.LocalTime;
@@ -66,6 +69,8 @@ public class MkShopCouponRecordServiceImpl extends ServiceImpl<MkShopCouponRecor
private AShopUserService aShopUserService;
@Resource
private ShopCouponMapper couponService;
@Resource
private ChatMessageMapper chatMessageMapper;
private static final List<String> TARGET_KEY = Arrays.asList("消费赠券", "充值赠券", "管理员赠送", "兑换码兑换", "群聊发放", "生日赠券", "购买会员赠券", "短信发放", "公众号发放", "用户弹窗领取");
@@ -544,6 +549,7 @@ public class MkShopCouponRecordServiceImpl extends ServiceImpl<MkShopCouponRecor
}
@Override
@Transactional
public void grantChatCoupon(MkShopCouponRecord record, Integer number) {
ShopCoupon coupon = couponService.selectOneById(record.getCouponId());
AssertUtil.isNull(coupon, "优惠券不存在");
@@ -557,7 +563,7 @@ public class MkShopCouponRecordServiceImpl extends ServiceImpl<MkShopCouponRecor
if (coupon.getStatus() != 1) {
return;
}
coupon.setGiftNum(coupon.getGiftNum() + number);
//组装 发放优惠券
if ("fixed".equals(record.getValidType())) {
LocalDateTime start = LocalDateTime.now().with(LocalTime.MIN);
//固定时间
@@ -573,9 +579,20 @@ public class MkShopCouponRecordServiceImpl extends ServiceImpl<MkShopCouponRecor
}
mapper.insertBatchSelective(recordList, 10);
//聊天记录 领取标识
chatMessageMapper.updateByQuery(
new ChatMessage().setCouponClaim(1),
QueryWrapper.create()
.eq(ChatMessage::getShopId, coupon.getShopId())
.eq(ChatMessage::getChatCouponId, record.getSourceId())
.eq(ChatMessage::getMsgType, 4)
.eq(ChatMessage::getToId, record.getUserId())
);
QueryWrapper queryWrapper = new QueryWrapper();
ShopCoupon newCoupon = new ShopCoupon();
newCoupon.setGiftNum(coupon.getGiftNum());
newCoupon.setGiftNum(coupon.getGiftNum() + number);
if (coupon.getSyncId() != null) {
queryWrapper.and(q -> {
q.eq(ShopCoupon::getId, coupon.getSyncId()).or(q1 -> {

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.czg.service.market.mapper.ChatMessageMapper">
</mapper>