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/entity/TbActivateInRecord.java b/src/main/java/com/chaozhanggui/system/cashierservice/entity/TbActivateInRecord.java index 644c179..cfb3b12 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/entity/TbActivateInRecord.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/entity/TbActivateInRecord.java @@ -1,5 +1,6 @@ package com.chaozhanggui.system.cashierservice.entity; +import java.math.BigDecimal; import java.util.Date; import java.io.Serializable; @@ -36,11 +37,11 @@ public class TbActivateInRecord implements Serializable { /** * 满多少金额 */ - private Integer fullAmount; + private BigDecimal fullAmount; /** * 减多少金额 */ - private Integer discountAmount; + private BigDecimal discountAmount; /** * 赠送数量 */ @@ -123,19 +124,19 @@ public class TbActivateInRecord implements Serializable { this.proId = proId; } - public Integer getFullAmount() { + public BigDecimal getFullAmount() { return fullAmount; } - public void setFullAmount(Integer fullAmount) { + public void setFullAmount(BigDecimal fullAmount) { this.fullAmount = fullAmount; } - public Integer getDiscountAmount() { + public BigDecimal getDiscountAmount() { return discountAmount; } - public void setDiscountAmount(Integer discountAmount) { + public void setDiscountAmount(BigDecimal discountAmount) { this.discountAmount = discountAmount; } diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/entity/TbShopCoupon.java b/src/main/java/com/chaozhanggui/system/cashierservice/entity/TbShopCoupon.java index d95c872..c3797c7 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/entity/TbShopCoupon.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/entity/TbShopCoupon.java @@ -1,5 +1,6 @@ package com.chaozhanggui.system.cashierservice.entity; +import java.math.BigDecimal; import java.time.LocalTime; import java.util.Date; import java.io.Serializable; @@ -29,11 +30,11 @@ public class TbShopCoupon implements Serializable { /** * 满多少金额 */ - private Integer fullAmount; + private BigDecimal fullAmount; /** * 减多少金额 */ - private Integer discountAmount; + private BigDecimal discountAmount; /** * 描述 */ @@ -132,19 +133,19 @@ public class TbShopCoupon implements Serializable { this.type = type; } - public Integer getFullAmount() { + public BigDecimal getFullAmount() { return fullAmount; } - public void setFullAmount(Integer fullAmount) { + public void setFullAmount(BigDecimal fullAmount) { this.fullAmount = fullAmount; } - public Integer getDiscountAmount() { + public BigDecimal getDiscountAmount() { return discountAmount; } - public void setDiscountAmount(Integer discountAmount) { + public void setDiscountAmount(BigDecimal discountAmount) { this.discountAmount = discountAmount; } 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/TbActivateInRecordMapper.xml b/src/main/resources/mapper/TbActivateInRecordMapper.xml index 04c85c0..2f66bf6 100644 --- a/src/main/resources/mapper/TbActivateInRecordMapper.xml +++ b/src/main/resources/mapper/TbActivateInRecordMapper.xml @@ -9,8 +9,8 @@ - - + + diff --git a/src/main/resources/mapper/TbActivateMapper.xml b/src/main/resources/mapper/TbActivateMapper.xml index 8dc9bc7..4d10b4a 100644 --- a/src/main/resources/mapper/TbActivateMapper.xml +++ b/src/main/resources/mapper/TbActivateMapper.xml @@ -7,6 +7,7 @@ + @@ -16,18 +17,40 @@ 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()) + +