Browse Source

完善注释, 并开启会员卡流水日志

Memory_LG 3 weeks ago
parent
commit
e09fad48d2

+ 29 - 0
qmjszx-admin/src/main/java/beilv/web/controller/carinformation/CardAppController.java

@@ -19,6 +19,8 @@ import beilv.usermembershipcard.domain.UserMembershipCard;
 import beilv.usermembershipcard.service.IUserMembershipCardService;
 import beilv.vipCard.domain.VipCard;
 import beilv.vipCard.service.IVipCardService;
+import beilv.vipCardAmountLog.domain.VipCardAmountLog;
+import beilv.vipCardAmountLog.service.IVipCardAmountLogService;
 import beilv.vipCardLog.domain.VipCardLog;
 import beilv.vipCardLog.service.IVipCardLogService;
 import org.slf4j.Logger;
@@ -71,6 +73,9 @@ public class CardAppController extends BaseController {
     @Autowired
     private StringRedisTemplate redisTemplate;
 
+    @Autowired
+    private IVipCardAmountLogService amountLogService;
+
     /**
      * 新增充值记录
      */
@@ -78,13 +83,21 @@ public class CardAppController extends BaseController {
     @ResponseBody
     public AjaxResult addSave(@RequestBody VipCardLog vipCardLog) {
         String uuid = IdUtils.fastSimpleUUID();
+        //设置订单编号
         vipCardLog.setId(uuid);
+        //设置业务id
         vipCardLog.setBusId(IdUtils.fastSimpleUUID());
+        //设置订单类型
         vipCardLog.setOrderType("chongzhi");
+        //设置支付状态为待支付
         vipCardLog.setPaymentStatus("payment_status_to_be_paid");
+        //设置下单时间
         vipCardLog.setCreateTime(DateUtils.getNowDate());
+        //设置支付方式
         vipCardLog.setPaymentType("weChart");
+        //开启订单定时任务
         createOrderTaskQueue(uuid, "chongzhi", "");
+        //写入订单信息
         return insertVipCardLog(vipCardLog, uuid);
     }
 
@@ -95,12 +108,17 @@ public class CardAppController extends BaseController {
     @ResponseBody
     public AjaxResult addOrderLog(@RequestBody VipCardLog vipCardLog) {
         String uuid = IdUtils.fastSimpleUUID();
+        //设置订单编号
         vipCardLog.setId(uuid);
+        //设置下单时间
         vipCardLog.setCreateTime(DateUtils.getNowDate());
+        //订单信息验证
         if (!validateOrder(vipCardLog)) {
             return AjaxResult.error("订单验证失败");
         }
+        //开启订单的定时任务, 超过设定的时间则设置为取消订单.
         createOrderTaskQueue(uuid, vipCardLog.getOrderType(), vipCardLog.getBusId());
+        //写入订单表
         return insertVipCardLog(vipCardLog, uuid);
     }
 
@@ -205,20 +223,28 @@ public class CardAppController extends BaseController {
         String orderType = vipCardLog.getOrderType();
         String paymentType = vipCardLog.getPaymentType();
 
+        //约球和参赛订单需要验证, 购卡和门票订单无需验证
         if ("yueqiu".equals(orderType)) {
+            //约球, 验证场次信息
             return validateYueQiuOrder(vipCardLog);
         } else if ("cansai".equals(orderType)) {
+            //参赛验证赛事状态和人数
             return validateCanSaiOrder(vipCardLog);
         }
 
+
         if ("weChart".equals(paymentType)) {
+            //如果是微信支付, 订单状态为待支付
             vipCardLog.setPaymentStatus("payment_status_to_be_paid");
         } else {
+            //如果是会员卡或次卡, 订单状态为已支付. 支付时间为下单时间
             vipCardLog.setPaymentStatus("payment_status_have_paid");
             vipCardLog.setPaymentTime(vipCardLog.getCreateTime());
             if ("vipCard".equals(paymentType)) {
+                //如果是会员卡支付, 验证会员卡信息并扣费. 以及写入记录流水
                 return validateVipCardPayment(vipCardLog);
             } else if ("numCard".equals(paymentType)) {
+                //如果是次卡支付, 则验证次卡信息并减少次数.
                 return validateNumCardPayment(vipCardLog);
             } else {
                 logger.error("未知支付类型: {}", paymentType);
@@ -241,6 +267,7 @@ public class CardAppController extends BaseController {
     }
 
     private boolean validateCanSaiOrder(VipCardLog vipCardLog) {
+        //拉去赛事信息
         Competition competition = competitionService.selectCompetitionById(Integer.valueOf(vipCardLog.getBusId()));
         String competitionState = competition.getCompetitionState();
         if ("competiton_state_3".equals(competitionState)) {
@@ -263,6 +290,8 @@ public class CardAppController extends BaseController {
         }
         vipCard.setBalance(vipCard.getBalance().subtract(vipCardLog.getPracticalMoney()).setScale(2, RoundingMode.HALF_UP));
         vipCardService.updateVipCard(vipCard);
+        //写入会员卡流水
+        vipCardLogService.insertAmountLog(new VipCardAmountLog(vipCardLog.getUserId(), vipCardLog.getPaymentId(), vipCardLog.getId(), vipCard.getBalance(), vipCardLog.getPracticalMoney().negate()));
         return true;
     }
 

+ 1 - 1
qmjszx-admin/src/main/java/beilv/web/controller/vipCard/VipCardController.java

@@ -78,7 +78,7 @@ public class VipCardController extends BaseController {
     @PostMapping("/add")
     @ResponseBody
     public AjaxResult addSave(VipCard vipCard) {
-        return toAjax(vipCardService.insertVipCard(vipCard));
+        return toAjax(vipCardService.insertVipCard(vipCard).isEmpty());
     }
 
     /**

+ 1 - 1
qmjszx-business/src/main/java/beilv/vipCard/service/IVipCardService.java

@@ -33,7 +33,7 @@ public interface IVipCardService {
      * @param vipCard 储值会员卡
      * @return 结果
      */
-    public int insertVipCard(VipCard vipCard);
+    public String insertVipCard(VipCard vipCard);
 
     /**
      * 修改储值会员卡

+ 3 - 2
qmjszx-business/src/main/java/beilv/vipCard/service/impl/VipCardServiceImpl.java

@@ -52,12 +52,13 @@ public class VipCardServiceImpl implements IVipCardService {
      * @return 结果
      */
     @Override
-    public int insertVipCard(VipCard vipCard) {
+    public String insertVipCard(VipCard vipCard) {
+        String vipCardId = UuidUtils.getVipCardId();
         vipCard.setId(UuidUtils.getVipCardId());
         vipCard.setCreateTime(DateUtils.getNowDate());
         vipCard.setCardState("vip_card_state_open");
         vipCard.setVipLevel("普通会员");
-        return vipCardMapper.insertVipCard(vipCard);
+        return vipCardMapper.insertVipCard(vipCard) > 0 ? vipCardId : null;
     }
 
     /**

+ 83 - 0
qmjszx-business/src/main/java/beilv/vipCardAmountLog/domain/VipCardAmountLog.java

@@ -0,0 +1,83 @@
+package beilv.vipCardAmountLog.domain;
+
+import beilv.common.annotation.Excel;
+import beilv.common.core.domain.BaseEntity;
+import beilv.common.utils.DateUtils;
+import beilv.common.utils.uuid.IdUtils;
+import lombok.*;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+
+import java.math.BigDecimal;
+
+/**
+ * 会员卡金额流水对象 beilv_vip_card_amount_log
+ *
+ * @author LG
+ * @date 2025-11-18
+ */
+@Setter
+@Getter
+@AllArgsConstructor
+@NoArgsConstructor
+@ToString
+public class VipCardAmountLog extends BaseEntity {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 流水编号
+     */
+    private String id;
+
+    /**
+     * 用户id
+     */
+    private String userId;
+
+    /**
+     * 用户名
+     */
+    @Excel(name = "用户名")
+    private String userName;
+
+    /**
+     * 会员卡号
+     */
+    @Excel(name = "会员卡号")
+    private String vipCardId;
+
+    /**
+     * 订单编号
+     */
+    @Excel(name = "订单编号")
+    private String orderId;
+
+    /**
+     * 当前金额
+     */
+    @Excel(name = "当前金额")
+    private BigDecimal currentAmount;
+
+    /**
+     * 操作金额
+     */
+    @Excel(name = "操作金额")
+    private BigDecimal operationAmount;
+
+    /**
+     * 剩余金额
+     */
+    @Excel(name = "剩余金额")
+    private BigDecimal remainingAmount;
+
+    public VipCardAmountLog(String userId, String vipCardId, String orderId, BigDecimal currentAmount, BigDecimal operationAmount) {
+        this.id = IdUtils.fastSimpleUUID();
+        this.userId = userId;
+        this.vipCardId = vipCardId;
+        this.orderId = orderId;
+        this.currentAmount = currentAmount;
+        this.operationAmount = operationAmount;
+        this.setCreateTime(DateUtils.getNowDate());
+        this.remainingAmount = currentAmount.add(operationAmount);
+    }
+}

+ 61 - 0
qmjszx-business/src/main/java/beilv/vipCardAmountLog/mapper/VipCardAmountLogMapper.java

@@ -0,0 +1,61 @@
+package beilv.vipCardAmountLog.mapper;
+
+import beilv.vipCardAmountLog.domain.VipCardAmountLog;
+
+import java.util.List;
+
+/**
+ * 会员卡金额流水Mapper接口
+ *
+ * @author LG
+ * @date 2025-11-18
+ */
+public interface VipCardAmountLogMapper {
+    /**
+     * 查询会员卡金额流水
+     *
+     * @param id 会员卡金额流水主键
+     * @return 会员卡金额流水
+     */
+    public VipCardAmountLog selectVipCardAmountLogById(String id);
+
+    /**
+     * 查询会员卡金额流水列表
+     *
+     * @param vipCardAmountLog 会员卡金额流水
+     * @return 会员卡金额流水集合
+     */
+    public List<VipCardAmountLog> selectVipCardAmountLogList(VipCardAmountLog vipCardAmountLog);
+
+    /**
+     * 新增会员卡金额流水
+     *
+     * @param vipCardAmountLog 会员卡金额流水
+     * @return 结果
+     */
+    public int insertVipCardAmountLog(VipCardAmountLog vipCardAmountLog);
+
+    /**
+     * 修改会员卡金额流水
+     *
+     * @param vipCardAmountLog 会员卡金额流水
+     * @return 结果
+     */
+    public int updateVipCardAmountLog(VipCardAmountLog vipCardAmountLog);
+
+    /**
+     * 删除会员卡金额流水
+     *
+     * @param id 会员卡金额流水主键
+     * @return 结果
+     */
+    public int deleteVipCardAmountLogById(String id);
+
+    /**
+     * 批量删除会员卡金额流水
+     *
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteVipCardAmountLogByIds(String[] ids);
+}

+ 61 - 0
qmjszx-business/src/main/java/beilv/vipCardAmountLog/service/IVipCardAmountLogService.java

@@ -0,0 +1,61 @@
+package beilv.vipCardAmountLog.service;
+
+import beilv.vipCardAmountLog.domain.VipCardAmountLog;
+
+import java.util.List;
+
+/**
+ * 会员卡金额流水Service接口
+ *
+ * @author LG
+ * @date 2025-11-18
+ */
+public interface IVipCardAmountLogService {
+    /**
+     * 查询会员卡金额流水
+     *
+     * @param id 会员卡金额流水主键
+     * @return 会员卡金额流水
+     */
+    public VipCardAmountLog selectVipCardAmountLogById(String id);
+
+    /**
+     * 查询会员卡金额流水列表
+     *
+     * @param vipCardAmountLog 会员卡金额流水
+     * @return 会员卡金额流水集合
+     */
+    public List<VipCardAmountLog> selectVipCardAmountLogList(VipCardAmountLog vipCardAmountLog);
+
+    /**
+     * 新增会员卡金额流水
+     *
+     * @param vipCardAmountLog 会员卡金额流水
+     * @return 结果
+     */
+    public int insertVipCardAmountLog(VipCardAmountLog vipCardAmountLog);
+
+    /**
+     * 修改会员卡金额流水
+     *
+     * @param vipCardAmountLog 会员卡金额流水
+     * @return 结果
+     */
+    public int updateVipCardAmountLog(VipCardAmountLog vipCardAmountLog);
+
+    /**
+     * 批量删除会员卡金额流水
+     *
+     * @param ids 需要删除的会员卡金额流水主键集合
+     * @return 结果
+     */
+    public int deleteVipCardAmountLogByIds(String ids);
+
+    /**
+     * 删除会员卡金额流水信息
+     *
+     * @param id 会员卡金额流水主键
+     * @return 结果
+     */
+    public int deleteVipCardAmountLogById(String id);
+}

+ 91 - 0
qmjszx-business/src/main/java/beilv/vipCardAmountLog/service/impl/VipCardAmountLogServiceImpl.java

@@ -0,0 +1,91 @@
+package beilv.vipCardAmountLog.service.impl;
+
+import beilv.common.core.text.Convert;
+import beilv.common.utils.DateUtils;
+import beilv.vipCardAmountLog.domain.VipCardAmountLog;
+import beilv.vipCardAmountLog.mapper.VipCardAmountLogMapper;
+import beilv.vipCardAmountLog.service.IVipCardAmountLogService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * 会员卡金额流水Service业务层处理
+ *
+ * @author LG
+ * @date 2025-11-18
+ */
+@Service
+public class VipCardAmountLogServiceImpl implements IVipCardAmountLogService {
+
+    @Resource
+    private VipCardAmountLogMapper vipCardAmountLogMapper;
+
+    /**
+     * 查询会员卡金额流水
+     *
+     * @param id 会员卡金额流水主键
+     * @return 会员卡金额流水
+     */
+    @Override
+    public VipCardAmountLog selectVipCardAmountLogById(String id) {
+        return vipCardAmountLogMapper.selectVipCardAmountLogById(id);
+    }
+
+    /**
+     * 查询会员卡金额流水列表
+     *
+     * @param vipCardAmountLog 会员卡金额流水
+     * @return 会员卡金额流水
+     */
+    @Override
+    public List<VipCardAmountLog> selectVipCardAmountLogList(VipCardAmountLog vipCardAmountLog) {
+        return vipCardAmountLogMapper.selectVipCardAmountLogList(vipCardAmountLog);
+    }
+
+    /**
+     * 新增会员卡金额流水
+     *
+     * @param vipCardAmountLog 会员卡金额流水
+     * @return 结果
+     */
+    @Override
+    public int insertVipCardAmountLog(VipCardAmountLog vipCardAmountLog) {
+        vipCardAmountLog.setCreateTime(DateUtils.getNowDate());
+        return vipCardAmountLogMapper.insertVipCardAmountLog(vipCardAmountLog);
+    }
+
+    /**
+     * 修改会员卡金额流水
+     *
+     * @param vipCardAmountLog 会员卡金额流水
+     * @return 结果
+     */
+    @Override
+    public int updateVipCardAmountLog(VipCardAmountLog vipCardAmountLog) {
+        return vipCardAmountLogMapper.updateVipCardAmountLog(vipCardAmountLog);
+    }
+
+    /**
+     * 批量删除会员卡金额流水
+     *
+     * @param ids 需要删除的会员卡金额流水主键
+     * @return 结果
+     */
+    @Override
+    public int deleteVipCardAmountLogByIds(String ids) {
+        return vipCardAmountLogMapper.deleteVipCardAmountLogByIds(Convert.toStrArray(ids));
+    }
+
+    /**
+     * 删除会员卡金额流水信息
+     *
+     * @param id 会员卡金额流水主键
+     * @return 结果
+     */
+    @Override
+    public int deleteVipCardAmountLogById(String id) {
+        return vipCardAmountLogMapper.deleteVipCardAmountLogById(id);
+    }
+}

+ 3 - 0
qmjszx-business/src/main/java/beilv/vipCardLog/service/IVipCardLogService.java

@@ -4,6 +4,7 @@ package beilv.vipCardLog.service;
 import beilv.common.core.domain.AjaxResult;
 import beilv.stadium.domain.Stadium;
 import beilv.vipCard.domain.VipCard;
+import beilv.vipCardAmountLog.domain.VipCardAmountLog;
 import beilv.vipCardLog.domain.VipCardLog;
 
 import java.util.List;
@@ -74,4 +75,6 @@ public interface IVipCardLogService {
 
     List<Map<String, Object>> selectCanSaiList(VipCardLog vipCardLog);
 
+    void insertAmountLog(VipCardAmountLog vipCardAmountLog);
+
 }

+ 45 - 10
qmjszx-business/src/main/java/beilv/vipCardLog/service/impl/VipCardLogServiceImpl.java

@@ -9,6 +9,7 @@ import beilv.common.core.domain.AjaxResult;
 import beilv.common.core.text.Convert;
 import beilv.common.utils.DateUtils;
 import beilv.common.utils.StringUtils;
+import beilv.common.utils.uuid.IdUtils;
 import beilv.competition.domain.Competition;
 import beilv.competition.service.ICompetitionService;
 import beilv.system.service.ISysConfigService;
@@ -16,12 +17,15 @@ import beilv.usermembershipcard.domain.UserMembershipCard;
 import beilv.usermembershipcard.service.IUserMembershipCardService;
 import beilv.vipCard.domain.VipCard;
 import beilv.vipCard.service.IVipCardService;
+import beilv.vipCardAmountLog.domain.VipCardAmountLog;
+import beilv.vipCardAmountLog.mapper.VipCardAmountLogMapper;
 import beilv.vipCardLog.domain.VipCardLog;
 import beilv.vipCardLog.mapper.VipCardLogMapper;
 import beilv.vipCardLog.service.IVipCardLogService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
 import java.math.BigDecimal;
 import java.math.RoundingMode;
 import java.time.LocalDateTime;
@@ -59,6 +63,8 @@ public class VipCardLogServiceImpl implements IVipCardLogService {
     @Autowired
     private ISysConfigService configService;
 
+    @Resource
+    private VipCardAmountLogMapper amountLogMapper;
 
     /**
      * 查询充值记录
@@ -129,39 +135,53 @@ public class VipCardLogServiceImpl implements IVipCardLogService {
 
     @Override
     public int updateVipCardLogByOrderId(VipCardLog vipCardLog) {
+        //验证订单编号是否为空
         if (StringUtils.isEmpty(vipCardLog.getId())) {
             return 0;
         }
-        VipCardLog cardLog = vipCardLogMapper.selectVipCardLogById(vipCardLog.getId());
-        if ("chongzhi".equals(cardLog.getOrderType())) {
-            charging(vipCardLog);
+        //拉去订单信息
+        VipCardLog orderInfo = vipCardLogMapper.selectVipCardLogById(vipCardLog.getId());
+        //充值订单和其他订单处理方式不同
+        if ("chongzhi".equals(orderInfo.getOrderType())) {
+            charging(vipCardLog, orderInfo);
         } else {
-            other(vipCardLog);
+            other(vipCardLog, orderInfo);
         }
+        //更新订单状态
         return vipCardLogMapper.updateVipCardLog(vipCardLog);
     }
 
     /**
      * 充值回调
      *
-     * @param vipCardLog
+     * @param vipCardLog 订单请求信息
+     * @param orderInfo 原订单信息
      * @return
      */
-    private void charging(VipCardLog vipCardLog) {
+    private void charging(VipCardLog vipCardLog, VipCardLog orderInfo) {
         if ("payment_status_have_paid".equals(vipCardLog.getPaymentStatus())) {
             //拉取订单信息
-            VipCardLog orderInfo = vipCardLogMapper.selectVipCardLogById(vipCardLog.getId());
+//            VipCardLog orderInfo = vipCardLogMapper.selectVipCardLogById(vipCardLog.getId());
             //获取会员卡信息
             VipCard vipCard = vipCardService.selectVipCardByUserId(orderInfo.getUserId());
+            //获取当前余额
+            BigDecimal balance = BigDecimal.ZERO;
+            String vipCardId;
             if (null == vipCard) {
                 //true 没有会员卡; 新增会员卡, 并且设置本次充值金额
-                vipCardService.insertVipCard(new VipCard(Long.parseLong(orderInfo.getUserId()), orderInfo.getPracticalMoney()));
+                vipCardId = vipCardService.insertVipCard(new VipCard(Long.parseLong(orderInfo.getUserId()), orderInfo.getPracticalMoney()));
             } else {
+                balance = vipCard.getBalance();
+                vipCardId = vipCard.getId();
                 //false 有会员卡,
                 vipCardService.updateVipCard(new VipCard(Long.parseLong(orderInfo.getUserId()), orderInfo.getPracticalMoney().add(vipCard.getBalance()).setScale(2, RoundingMode.HALF_UP)));
             }
+            //设定支付时间
             vipCardLog.setPaymentTime(DateUtils.getNowDate());
+            //写入会员卡流水
+            insertAmountLog(new VipCardAmountLog(orderInfo.getUserId(), vipCardId, orderInfo.getId(), balance, orderInfo.getPracticalMoney()));
         } else if ("payment_status_cancelled".equals(vipCardLog.getPaymentStatus())) {
+            //如果是取消, 设置支付状态为取消支付
             vipCardLog.setCancellationTime(DateUtils.getNowDate());
         }
     }
@@ -172,26 +192,34 @@ public class VipCardLogServiceImpl implements IVipCardLogService {
      * @param vipCardLog
      * @return
      */
-    private void other(VipCardLog vipCardLog) {
+    private void other(VipCardLog vipCardLog, VipCardLog orderInfo) {
         //拉取订单信息
-        VipCardLog orderInfo = vipCardLogMapper.selectVipCardLogById(vipCardLog.getId());
+//        VipCardLog orderInfo = vipCardLogMapper.selectVipCardLogById(vipCardLog.getId());
         if ("payment_status_have_paid".equals(vipCardLog.getPaymentStatus())) {
+            //支付成功流程
+            //设置支付时间
             vipCardLog.setPaymentTime(DateUtils.getNowDate());
+            //获取订单类型
             String orderType = orderInfo.getOrderType();
             if ("gouka".equals(orderType)) {
+                //如果是购买次卡订单, 拉去卡种信息
                 CarInformation carInformation = carInformationService.selectCarInformationById(Long.valueOf(orderInfo.getBusId()));
                 //购卡订单, 支付成功, 生成卡片写入到次卡表
                 userMembershipCardService.insertUserMembershipCard(new UserMembershipCard(orderInfo.getUserId(), vipCardLog.getId(), carInformation.getTotalNumber(), "0", "3", DateUtils.getNowDate()));
             }
 
             if("yueqiu".equals(orderType)){
+                //如果是约球订单
                 AdmissionTicket admissionTicket = new AdmissionTicket();
                 admissionTicket.setId(orderInfo.getBusId());
+                //创建场次定时任务, 到时间自动核销
                 ticketService.createTask(admissionTicket);
             }
         } else if ("payment_status_cancelled".equals(vipCardLog.getPaymentStatus())) {
+            //如果是取消订单,设置支付状态为取消支付
             vipCardLog.setCancellationTime(DateUtils.getNowDate());
             if ("yueqiu".equals(orderInfo.getOrderType())) {
+                //如果是约球订单, 修改球场信息
                 AdmissionTicket admissionTicket = new AdmissionTicket();
                 admissionTicket.setId(orderInfo.getBusId());
                 admissionTicket.setAdmissionTicketStatus("0");
@@ -316,6 +344,9 @@ public class VipCardLogServiceImpl implements IVipCardLogService {
             VipCard vipCard = vipCardService.selectVipCardById(orderInfo.getPaymentId());
             vipCard.setBalance(vipCard.getBalance().add(refundPrice));
             vipCardService.updateVipCard(vipCard);
+            //写入会员卡流水
+            amountLogMapper.insertVipCardAmountLog(new VipCardAmountLog(orderInfo.getUserId(), orderInfo.getPaymentId(), orderInfo.getId(), vipCard.getBalance(), refundPrice));
+
         } else if ("weChart".equals(orderInfo.getPaymentType())) {
             //微信支付, 退款到微信
 
@@ -346,4 +377,8 @@ public class VipCardLogServiceImpl implements IVipCardLogService {
     public List<Map<String, Object>> selectCanSaiList(VipCardLog vipCardLog) {
         return vipCardLogMapper.selectCanSaiList(vipCardLog);
     }
+
+    public void insertAmountLog(VipCardAmountLog vipCardAmountLog){
+        amountLogMapper.insertVipCardAmountLog(vipCardAmountLog);
+    }
 }

+ 99 - 0
qmjszx-business/src/main/resources/mapper/vipCardAmountLog/VipCardAmountLogMapper.xml

@@ -0,0 +1,99 @@
+<?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="beilv.system.mapper.VipCardAmountLogMapper">
+
+    <resultMap type="VipCardAmountLog" id="VipCardAmountLogResult">
+        <result property="id" column="id"/>
+        <result property="userId" column="user_id"/>
+        <result property="userName" column="user_name"/>
+        <result property="vipCardId" column="vip_card_id"/>
+        <result property="orderId" column="order_id"/>
+        <result property="createTime" column="create_time"/>
+        <result property="currentAmount" column="current_amount"/>
+        <result property="operationAmount" column="operation_amount"/>
+        <result property="remainingAmount" column="remaining_amount"/>
+    </resultMap>
+
+    <sql id="selectVipCardAmountLogVo">
+        select id,
+               user_id,
+               user_name,
+               vip_card_id,
+               order_id,
+               create_time,
+               current_amount,
+               operation_amount,
+               remaining_amount
+        from beilv_vip_card_amount_log
+    </sql>
+
+    <select id="selectVipCardAmountLogList" parameterType="VipCardAmountLog" resultMap="VipCardAmountLogResult">
+        <include refid="selectVipCardAmountLogVo"/>
+        <where>
+            <if test="userName != null  and userName != ''">and user_name like concat('%', #{userName}, '%')</if>
+            <if test="vipCardId != null  and vipCardId != ''">and vip_card_id like concat('%', #{vipCardId}, '%')</if>
+        </where>
+    </select>
+
+    <select id="selectVipCardAmountLogById" parameterType="String" resultMap="VipCardAmountLogResult">
+        <include refid="selectVipCardAmountLogVo"/>
+        where id = #{id}
+    </select>
+
+    <insert id="insertVipCardAmountLog" parameterType="VipCardAmountLog">
+        insert into beilv_vip_card_amount_log
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="id != null">id,</if>
+            <if test="userId != null">user_id,</if>
+            <if test="userName != null">user_name,</if>
+            <if test="vipCardId != null">vip_card_id,</if>
+            <if test="orderId != null">order_id,</if>
+            <if test="createTime != null">create_time,</if>
+            <if test="currentAmount != null">current_amount,</if>
+            <if test="operationAmount != null">operation_amount,</if>
+            <if test="remainingAmount != null">remaining_amount,</if>
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="id != null">#{id},</if>
+            <if test="userId != null">#{userId},</if>
+            <if test="userName != null">#{userName},</if>
+            <if test="vipCardId != null">#{vipCardId},</if>
+            <if test="orderId != null">#{orderId},</if>
+            <if test="createTime != null">#{createTime},</if>
+            <if test="currentAmount != null">#{currentAmount},</if>
+            <if test="operationAmount != null">#{operationAmount},</if>
+            <if test="remainingAmount != null">#{remainingAmount},</if>
+        </trim>
+    </insert>
+
+    <update id="updateVipCardAmountLog" parameterType="VipCardAmountLog">
+        update beilv_vip_card_amount_log
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="userId != null">user_id = #{userId},</if>
+            <if test="userName != null">user_name = #{userName},</if>
+            <if test="vipCardId != null">vip_card_id = #{vipCardId},</if>
+            <if test="orderId != null">order_id = #{orderId},</if>
+            <if test="createTime != null">create_time = #{createTime},</if>
+            <if test="currentAmount != null">current_amount = #{currentAmount},</if>
+            <if test="operationAmount != null">operation_amount = #{operationAmount},</if>
+            <if test="remainingAmount != null">remaining_amount = #{remainingAmount},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteVipCardAmountLogById" parameterType="String">
+        delete
+        from beilv_vip_card_amount_log
+        where id = #{id}
+    </delete>
+
+    <delete id="deleteVipCardAmountLogByIds" parameterType="String">
+        delete from beilv_vip_card_amount_log where id in
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+
+</mapper>