From 8bf63d821d65d1dd8f0570d0c7e021b2b46f38e5 Mon Sep 17 00:00:00 2001 From: wangw <1594593906@qq.com> Date: Fri, 8 Nov 2024 17:25:26 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E5=85=85=E5=80=BC=E6=B4=BB=E5=8A=A8=20?= =?UTF-8?q?=E6=BB=A1=E8=B6=B3=E9=87=91=E9=A2=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/resources/mapper/TbActivateMapper.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/resources/mapper/TbActivateMapper.xml b/src/main/resources/mapper/TbActivateMapper.xml index 8dc9bc7..f1f9a9f 100644 --- a/src/main/resources/mapper/TbActivateMapper.xml +++ b/src/main/resources/mapper/TbActivateMapper.xml @@ -23,8 +23,8 @@ select * from tb_activate where shop_id = #{shopId} - and amount = #{amount} - ORDER BY amount desc + and amount <= #{amount} + order by amount desc limit 1 From 9304543b969de8da0070cd020a643949d310ed11 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B0=AD=E5=87=AF=E5=87=AF?= Date: Sat, 9 Nov 2024 09:55:16 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E5=82=A8=E5=80=BC=E9=80=81=E7=A7=AF?= =?UTF-8?q?=E5=88=86=E6=B4=BB=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cashierservice/dao/TbActivateMapper.java | 7 +++ .../cashierservice/entity/TbActivate.java | 13 ++++- .../cashierservice/service/MemberService.java | 55 ++++++++++++++++++- .../resources/mapper/TbActivateMapper.xml | 39 +++++++++++-- 4 files changed, 107 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/dao/TbActivateMapper.java b/src/main/java/com/chaozhanggui/system/cashierservice/dao/TbActivateMapper.java index 6b4436f..15acf31 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/dao/TbActivateMapper.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/dao/TbActivateMapper.java @@ -6,6 +6,7 @@ import org.springframework.data.domain.Pageable; import java.math.BigDecimal; import java.util.List; +import java.util.Map; /** * (TbActivate)表数据库访问层 @@ -66,5 +67,11 @@ public interface TbActivateMapper { int deleteById(Integer id); TbActivate selectByAmount(@Param("shopId") String shopId, @Param("amount") BigDecimal amount); + + TbActivate selectByAmountScope(@Param("shopId") String shopId,@Param("amount") BigDecimal amount); + + int updateMemberPoints(@Param("memberId") Long memberId,@Param("points") Integer points); + + int insertMemberPointsLog(Map params); } diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/entity/TbActivate.java b/src/main/java/com/chaozhanggui/system/cashierservice/entity/TbActivate.java index ede3af1..410e957 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/entity/TbActivate.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/entity/TbActivate.java @@ -1,7 +1,7 @@ package com.chaozhanggui.system.cashierservice.entity; -import java.util.Date; import java.io.Serializable; +import java.util.Date; /** * (TbActivate)实体类 @@ -23,6 +23,10 @@ public class TbActivate implements Serializable { * 赠送金额 */ private Integer giftAmount; + /** + * 赠送积分 + */ + private Integer giftPoints; /** * 是否使用优惠卷 0否 1是 */ @@ -113,5 +117,12 @@ public class TbActivate implements Serializable { this.updateTime = updateTime; } + public Integer getGiftPoints() { + return giftPoints; + } + + public void setGiftPoints(Integer giftPoints) { + this.giftPoints = giftPoints; + } } diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/service/MemberService.java b/src/main/java/com/chaozhanggui/system/cashierservice/service/MemberService.java index 27cc23a..be4a7a1 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/service/MemberService.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/service/MemberService.java @@ -1,8 +1,10 @@ package com.chaozhanggui.system.cashierservice.service; +import cn.hutool.core.convert.Convert; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.RandomUtil; +import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONObject; import com.chaozhanggui.system.cashierservice.dao.*; import com.chaozhanggui.system.cashierservice.entity.*; @@ -377,6 +379,23 @@ public class MemberService { flow.setIsReturn("0"); tbShopUserFlowMapper.insert(flow); + //充值送积分 + TbActivate activate = tbActivateMapper.selectByAmountScope(shopUser.getShopId(), memberIn.getAmount()); + if (ObjectUtil.isNotNull(activate)) { + tbActivateMapper.updateMemberPoints(Convert.toLong(shopUser.getId()),activate.getGiftAmount()); + Map params = new HashMap<>(); + params.put("shopId", shopInfo.getId()); + params.put("memberId", shopUser.getId()); + params.put("memberName", shopUser.getName()); + params.put("avatarUrl", shopUser.getHeadImg()); + params.put("mobile", shopUser.getTelephone()); + params.put("content", StrUtil.format("充值¥{}送{}积分", amount, activate.getGiftPoints())); + params.put("orderNo", memberIn.getOrderNo()); + params.put("floatType", "add"); + params.put("floatPoints", activate.getGiftPoints()); + tbActivateMapper.insertMemberPointsLog(params); + } + BigDecimal fl = giveActivate(shopUser, amount, flow.getId()); JSONObject jsonObject = new JSONObject(); @@ -587,9 +606,9 @@ public class MemberService { flow.setBalance(shopUser.getAmount()); flow.setIsReturn("0"); flow.setCreateTime(new Date()); + flow.setRemark(memberIn.getOrderNo()); tbShopUserFlowMapper.insert(flow); - TbActivate activate = tbActivateMapper.selectByAmount(shopUser.getId().toString(), memberIn.getAmount()); if (ObjectUtil.isNotEmpty(activate) && ObjectUtil.isNotNull(activate)) { BigDecimal awardAmount = activate.getGiftAmount() == null ? BigDecimal.ZERO : new BigDecimal(activate.getGiftAmount()); @@ -626,6 +645,23 @@ public class MemberService { baObj.put("time", flow.getCreateTime()); producer.balance(baObj.toString()); } + + //充值送积分 + activate = tbActivateMapper.selectByAmountScope(shopUser.getShopId(), memberIn.getAmount()); + if (ObjectUtil.isNotNull(activate)) { + tbActivateMapper.updateMemberPoints(Convert.toLong(shopUser.getId()),activate.getGiftAmount()); + Map params = new HashMap<>(); + params.put("shopId", shopUser.getShopId()); + params.put("memberId", shopUser.getId()); + params.put("memberName", shopUser.getName()); + params.put("avatarUrl", shopUser.getHeadImg()); + params.put("mobile", shopUser.getTelephone()); + params.put("content", StrUtil.format("充值¥{}送{}积分", memberIn.getAmount(), activate.getGiftPoints())); + params.put("orderNo", memberIn.getOrderNo()); + params.put("floatType", "add"); + params.put("floatPoints", activate.getGiftPoints()); + tbActivateMapper.insertMemberPointsLog(params); + } return Result.success(CodeEnum.SUCCESS, memberIn); } @@ -728,6 +764,23 @@ public class MemberService { flow.get().setIsReturn("0"); tbShopUserFlowMapper.insert(flow.get()); fl.set(giveActivate(shopUser, amount, flow.get().getId())); + + //充值送积分 + TbActivate activate = tbActivateMapper.selectByAmountScope(shopUser.getShopId(), memberIn.getAmount()); + if (ObjectUtil.isNotNull(activate)) { + tbActivateMapper.updateMemberPoints(Convert.toLong(shopUser.getId()),activate.getGiftAmount()); + Map params = new HashMap<>(); + params.put("shopId", shopInfo.getId()); + params.put("memberId", shopUser.getId()); + params.put("memberName", shopUser.getName()); + params.put("avatarUrl", shopUser.getHeadImg()); + params.put("mobile", shopUser.getTelephone()); + params.put("content", StrUtil.format("充值¥{}送{}积分", amount, activate.getGiftPoints())); + params.put("orderNo", memberIn.getOrderNo()); + params.put("floatType", "add"); + params.put("floatPoints", activate.getGiftPoints()); + tbActivateMapper.insertMemberPointsLog(params); + } return null; }); diff --git a/src/main/resources/mapper/TbActivateMapper.xml b/src/main/resources/mapper/TbActivateMapper.xml index f1f9a9f..4d10b4a 100644 --- a/src/main/resources/mapper/TbActivateMapper.xml +++ b/src/main/resources/mapper/TbActivateMapper.xml @@ -7,6 +7,7 @@ + @@ -16,7 +17,7 @@ id - , shop_id, amount, gift_amount, is_use_coupon, coupon_id, num, create_time, update_time + , shop_id, amount, gift_amount, gift_points, is_use_coupon, coupon_id, num, create_time, update_time + + + + + + insert into tb_member_points_log(shop_id, member_id, member_name, avatar_url, content, order_no, mobile, float_type, float_points, create_time) + values (#{shopId}, #{memberId}, #{memberName}, #{avatarUrl}, #{content}, #{orderNo}, #{mobile}, #{floatType}, #{floatPoints}, now()) + +