Memory_LG 3 weeks ago
parent
commit
c6cb0b647c

+ 14 - 10
qmjszx-admin/src/main/java/beilv/web/controller/carinformation/CardAppController.java

@@ -23,6 +23,7 @@ import beilv.vipCardAmountLog.domain.VipCardAmountLog;
 import beilv.vipCardAmountLog.service.IVipCardAmountLogService;
 import beilv.vipCardLog.domain.VipCardLog;
 import beilv.vipCardLog.service.IVipCardLogService;
+import lombok.extern.slf4j.Slf4j;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -33,6 +34,7 @@ import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.ResponseBody;
 
+import java.math.BigDecimal;
 import java.math.RoundingMode;
 import java.time.LocalDateTime;
 import java.time.ZoneId;
@@ -41,11 +43,10 @@ import java.time.temporal.ChronoUnit;
 import static beilv.competition.domain.Constant.ORDER_QUEUE;
 
 @Controller
+@Slf4j
 @RequestMapping("/app-api/cardApp")
 public class CardAppController extends BaseController {
 
-    private static final Logger logger = LoggerFactory.getLogger(CardAppController.class);
-
     @Autowired
     private ICarInformationService carInformationService;
 
@@ -116,8 +117,10 @@ public class CardAppController extends BaseController {
         if (!validateOrder(vipCardLog)) {
             return AjaxResult.error("订单验证失败");
         }
-        //开启订单的定时任务, 超过设定的时间则设置为取消订单.
-        createOrderTaskQueue(uuid, vipCardLog.getOrderType(), vipCardLog.getBusId());
+        if("weChart".equals(vipCardLog.getPaymentType())){
+            //开启订单的定时任务, 超过设定的时间则设置为取消订单.
+            createOrderTaskQueue(uuid, vipCardLog.getOrderType(), vipCardLog.getBusId());
+        }
         //写入订单表
         return insertVipCardLog(vipCardLog, uuid);
     }
@@ -247,7 +250,7 @@ public class CardAppController extends BaseController {
                 //如果是次卡支付, 则验证次卡信息并减少次数.
                 return validateNumCardPayment(vipCardLog);
             } else {
-                logger.error("未知支付类型: {}", paymentType);
+                log.error("未知支付类型: {}", paymentType);
                 return false;
             }
         }
@@ -285,24 +288,25 @@ public class CardAppController extends BaseController {
     private boolean validateVipCardPayment(VipCardLog vipCardLog) {
         VipCard vipCard = vipCardService.selectVipCardById(vipCardLog.getPaymentId());
         if (vipCard == null) {
-            logger.error("会员卡不存在: {}", vipCardLog.getPaymentId());
+            log.error("会员卡不存在: {}", vipCardLog.getPaymentId());
             return false;
         }
-        vipCard.setBalance(vipCard.getBalance().subtract(vipCardLog.getPracticalMoney()).setScale(2, RoundingMode.HALF_UP));
+        VipCardAmountLog vipCardAmountLog = new VipCardAmountLog(vipCardLog.getUserId(), vipCardLog.getPaymentId(), vipCardLog.getId(), vipCard.getBalance(), vipCardLog.getPracticalMoney().negate(), "1");
+        vipCard.setBalance(vipCardAmountLog.getRemainingAmount());
         vipCardService.updateVipCard(vipCard);
         //写入会员卡流水
-        vipCardLogService.insertAmountLog(new VipCardAmountLog(vipCardLog.getUserId(), vipCardLog.getPaymentId(), vipCardLog.getId(), vipCard.getBalance(), vipCardLog.getPracticalMoney().negate()));
+        vipCardLogService.insertAmountLog(vipCardAmountLog);
         return true;
     }
 
     private boolean validateNumCardPayment(VipCardLog vipCardLog) {
         UserMembershipCard userMembershipCard = userMembershipCardService.selectUserMembershipCardById(Long.valueOf(vipCardLog.getPaymentId()));
         if (userMembershipCard == null) {
-            logger.error("次卡不存在: {}", vipCardLog.getPaymentId());
+            log.error("次卡不存在: {}", vipCardLog.getPaymentId());
             return false;
         }
         if (userMembershipCard.getRemainingNumber() == 0) {
-            logger.error("次卡次数不足: {}", vipCardLog.getPaymentId());
+            log.error("次卡次数不足: {}", vipCardLog.getPaymentId());
             return false;
         }
         userMembershipCard.setRemainingNumber(userMembershipCard.getRemainingNumber() - 1);

+ 1 - 1
qmjszx-admin/src/main/resources/static/ruoyi/js/ry-ui.js

@@ -1112,7 +1112,7 @@ var table = {
                     if (table.options.type == table_type.bootstrapTreeTable) {
                         $.operate.get(url);
                     } else {
-                        var data = { "id": id };
+                        var data = { "ids": id };
                         $.operate.submit(url, "post", "json", data);
                     }
                 });

+ 4 - 0
qmjszx-business/src/main/java/beilv/applogin/domain/vo/AppAuthLoginRespVO.java

@@ -1,6 +1,7 @@
 package beilv.applogin.domain.vo;
 
 import beilv.system.domain.SysMember;
+import beilv.vipCard.domain.VipCard;
 import lombok.AllArgsConstructor;
 import lombok.Builder;
 import lombok.Data;
@@ -31,4 +32,7 @@ public class AppAuthLoginRespVO {
     private SysMember sysMember;
 
 
+    private VipCard vipCard;
+
+
 }

+ 4 - 0
qmjszx-business/src/main/java/beilv/applogin/service/impl/AppAuthServiceImpl.java

@@ -7,6 +7,7 @@ import beilv.common.enums.LoginTypeEnum;
 import beilv.common.utils.rsa.RsaUtil;
 import beilv.system.domain.SysMember;
 import beilv.system.mapper.SysMemberMapper;
+import beilv.vipCard.mapper.VipCardMapper;
 import cn.binarywang.wx.miniapp.api.WxMaService;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
@@ -45,6 +46,8 @@ public class AppAuthServiceImpl implements IAppAuthService {
     @Value("${wx.pay.appSecret}")
     private String appSecret;
 
+    @Resource
+    private VipCardMapper vipCardMapper;
     @Override
     public AppAuthLoginRespVO weixinMiniAppLogin(AppAuthWeixinMiniAppLoginReqVO reqVO) throws Exception {
         SysMember memberUserDO;
@@ -67,6 +70,7 @@ public class AppAuthServiceImpl implements IAppAuthService {
         userInfo.setOpenId(openId);
         userInfo.setSessionKey(sessionKey);
         userInfo.setSysMember(memberUserDO);
+        userInfo.setVipCard(vipCardMapper.selectVipCardByUserId(String.valueOf(memberUserDO.getId())));
         return userInfo;
     }
 

+ 6 - 2
qmjszx-business/src/main/java/beilv/vipCardAmountLog/domain/VipCardAmountLog.java

@@ -9,6 +9,7 @@ import org.apache.commons.lang3.builder.ToStringBuilder;
 import org.apache.commons.lang3.builder.ToStringStyle;
 
 import java.math.BigDecimal;
+import java.math.RoundingMode;
 
 /**
  * 会员卡金额流水对象 beilv_vip_card_amount_log
@@ -70,7 +71,9 @@ public class VipCardAmountLog extends BaseEntity {
     @Excel(name = "剩余金额")
     private BigDecimal remainingAmount;
 
-    public VipCardAmountLog(String userId, String vipCardId, String orderId, BigDecimal currentAmount, BigDecimal operationAmount) {
+    private String amountType;
+
+    public VipCardAmountLog(String userId, String vipCardId, String orderId, BigDecimal currentAmount, BigDecimal operationAmount, String amountType) {
         this.id = IdUtils.fastSimpleUUID();
         this.userId = userId;
         this.vipCardId = vipCardId;
@@ -78,6 +81,7 @@ public class VipCardAmountLog extends BaseEntity {
         this.currentAmount = currentAmount;
         this.operationAmount = operationAmount;
         this.setCreateTime(DateUtils.getNowDate());
-        this.remainingAmount = currentAmount.add(operationAmount);
+        this.remainingAmount = currentAmount.add(operationAmount).setScale(2, RoundingMode.HALF_UP);
+        this.amountType = amountType;
     }
 }

+ 5 - 2
qmjszx-business/src/main/java/beilv/vipCardLog/service/impl/VipCardLogServiceImpl.java

@@ -179,7 +179,10 @@ public class VipCardLogServiceImpl implements IVipCardLogService {
             //设定支付时间
             vipCardLog.setPaymentTime(DateUtils.getNowDate());
             //写入会员卡流水
-            insertAmountLog(new VipCardAmountLog(orderInfo.getUserId(), vipCardId, orderInfo.getId(), balance, orderInfo.getPracticalMoney()));
+            insertAmountLog(new VipCardAmountLog(orderInfo.getUserId(), vipCardId, orderInfo.getId(), balance, orderInfo.getPracticalMoney(),"1"));
+
+            //支付成功移除定时任务
+
         } else if ("payment_status_cancelled".equals(vipCardLog.getPaymentStatus())) {
             //如果是取消, 设置支付状态为取消支付
             vipCardLog.setCancellationTime(DateUtils.getNowDate());
@@ -345,7 +348,7 @@ public class VipCardLogServiceImpl implements IVipCardLogService {
             vipCard.setBalance(vipCard.getBalance().add(refundPrice));
             vipCardService.updateVipCard(vipCard);
             //写入会员卡流水
-            amountLogMapper.insertVipCardAmountLog(new VipCardAmountLog(orderInfo.getUserId(), orderInfo.getPaymentId(), orderInfo.getId(), vipCard.getBalance(), refundPrice));
+            amountLogMapper.insertVipCardAmountLog(new VipCardAmountLog(orderInfo.getUserId(), orderInfo.getPaymentId(), orderInfo.getId(), vipCard.getBalance(), refundPrice,"1"));
 
         } else if ("weChart".equals(orderInfo.getPaymentType())) {
             //微信支付, 退款到微信

+ 7 - 2
qmjszx-business/src/main/resources/mapper/vipCardAmountLog/VipCardAmountLogMapper.xml

@@ -2,7 +2,7 @@
 <!DOCTYPE mapper
         PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="beilv.system.mapper.VipCardAmountLogMapper">
+<mapper namespace="beilv.vipCardAmountLog.mapper.VipCardAmountLogMapper">
 
     <resultMap type="VipCardAmountLog" id="VipCardAmountLogResult">
         <result property="id" column="id"/>
@@ -14,6 +14,7 @@
         <result property="currentAmount" column="current_amount"/>
         <result property="operationAmount" column="operation_amount"/>
         <result property="remainingAmount" column="remaining_amount"/>
+        <result property="amountType" column="amount_type"/>
     </resultMap>
 
     <sql id="selectVipCardAmountLogVo">
@@ -25,7 +26,8 @@
                create_time,
                current_amount,
                operation_amount,
-               remaining_amount
+               remaining_amount,
+               amount_type
         from beilv_vip_card_amount_log
     </sql>
 
@@ -54,6 +56,7 @@
             <if test="currentAmount != null">current_amount,</if>
             <if test="operationAmount != null">operation_amount,</if>
             <if test="remainingAmount != null">remaining_amount,</if>
+            <if test="amountType != null">amount_type,</if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="id != null">#{id},</if>
@@ -65,6 +68,7 @@
             <if test="currentAmount != null">#{currentAmount},</if>
             <if test="operationAmount != null">#{operationAmount},</if>
             <if test="remainingAmount != null">#{remainingAmount},</if>
+            <if test="amountType != null">#{amountType},</if>
         </trim>
     </insert>
 
@@ -79,6 +83,7 @@
             <if test="currentAmount != null">current_amount = #{currentAmount},</if>
             <if test="operationAmount != null">operation_amount = #{operationAmount},</if>
             <if test="remainingAmount != null">remaining_amount = #{remainingAmount},</if>
+            <if test="amountType != null">amount_type = #{amountType},</if>
         </trim>
         where id = #{id}
     </update>