hanfucheng преди 4 месеца
родител
ревизия
e92bc441cc

+ 1 - 1
qmjszx-admin/src/main/java/beilv/web/controller/cardpurchaserecord/CardPurchaseRecordController.java

@@ -78,7 +78,7 @@ public class CardPurchaseRecordController extends BaseController {
     @PostMapping("/add")
     @ResponseBody
     public AjaxResult addSave(CardPurchaseRecord cardPurchaseRecord) {
-        return toAjax(cardPurchaseRecordService.insertCardPurchaseRecord(cardPurchaseRecord));
+        return AjaxResult.success(cardPurchaseRecordService.insertCardPurchaseRecord(cardPurchaseRecord));
     }
 
     /**

+ 23 - 6
qmjszx-admin/src/main/java/beilv/web/controller/carinformation/cardAppController.java

@@ -6,7 +6,6 @@ import beilv.carinformation.domain.CarInformation;
 import beilv.carinformation.service.ICarInformationService;
 import beilv.common.core.controller.BaseController;
 import beilv.common.core.domain.AjaxResult;
-import beilv.system.service.ISysMemberService;
 import beilv.usermembershipcard.domain.UserMembershipCard;
 import beilv.usermembershipcard.service.IUserMembershipCardService;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -16,6 +15,8 @@ import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.ResponseBody;
 
+import java.util.List;
+
 /**
  * 会员卡AppController
  *
@@ -34,9 +35,6 @@ public class cardAppController extends BaseController {
 
     @Autowired
     private IUserMembershipCardService userMembershipCardService;
-
-    @Autowired
-    private ISysMemberService iSysMemberService;
     /**
      * 查询卡种信息列表
      */
@@ -47,12 +45,31 @@ public class cardAppController extends BaseController {
     }
 
     /**
-     * 新增保存购卡记录
+     * 购卡生成订单
      */
     @PostMapping("/addCard")
     @ResponseBody
     public AjaxResult addCard(@RequestBody CardPurchaseRecord cardPurchaseRecord) {
-        return toAjax(cardPurchaseRecordService.insertCardPurchaseRecord(cardPurchaseRecord));
+        return AjaxResult.success(cardPurchaseRecordService.insertCardPurchaseRecord(cardPurchaseRecord));
+    }
+
+    /**
+     * 查询购卡记录列表
+     */
+    @PostMapping("/getRecordlist")
+    @ResponseBody
+    public AjaxResult list(@RequestBody CardPurchaseRecord cardPurchaseRecord) {
+        List<CardPurchaseRecord> list = cardPurchaseRecordService.selectCardPurchaseRecordList(cardPurchaseRecord);
+        return AjaxResult.success(list);
+    }
+
+    /**
+     * 购卡回调
+     */
+    @PostMapping("/addCardCallback")
+    @ResponseBody
+    public AjaxResult addCardCallback(@RequestBody CardPurchaseRecord cardPurchaseRecord) {
+        return toAjax(cardPurchaseRecordService.addCardCallback(cardPurchaseRecord));
     }
 
     /**

+ 4 - 4
qmjszx-admin/src/main/resources/templates/record/record.html

@@ -20,7 +20,7 @@
                         </li>
                         <li>
                             <label>状态:</label>
-                            <select name="state" th:with="state=${@dict.getType('card_status')}">
+                            <select name="state" th:with="state=${@dict.getType('payment_status')}">
                                 <option value="">所有</option>
                                 <option th:each="dict : ${state}" th:text="${dict.dictLabel}"
                                         th:value="${dict.dictValue}"></option>
@@ -38,9 +38,9 @@
         </div>
 
         <div class="btn-group-sm" id="toolbar" role="group">
-            <a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="system:record:add">
-                <i class="fa fa-plus"></i> 添加
-            </a>
+<!--            <a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="system:record:add">-->
+<!--                <i class="fa fa-plus"></i> 添加-->
+<!--            </a>-->
 <!--            <a class="btn btn-primary single disabled" onclick="$.operate.edit()"-->
 <!--               shiro:hasPermission="system:record:edit">-->
 <!--                <i class="fa fa-edit"></i> 修改-->

+ 12 - 2
qmjszx-business/src/main/java/beilv/cardpurchaserecord/domain/CardPurchaseRecord.java

@@ -66,8 +66,7 @@ public class CardPurchaseRecord extends BaseEntity
     @Excel(name = "支付方式")
     private String paymentWay;
 
-    /** 状态(1:购卡:退卡) */
-//    @Excel(name = "状态", readConverterExp = "待=使用、已使用、已退款")
+    /** 状态(待支付:payment_status_to_be_paid、已支付:payment_status_have_paid、已取消:payment_status_cancelled、已退款:payment_status_refunded) */
     private String type;
 
     @Excel(name = "状态")
@@ -81,6 +80,17 @@ public class CardPurchaseRecord extends BaseEntity
 //    @Excel(name = "版本")
     private String version;
 
+    //订单号
+    private String orderId;
+
+    public String getOrderId() {
+        return orderId;
+    }
+
+    public void setOrderId(String orderId) {
+        this.orderId = orderId;
+    }
+
     public String getCardTypeLabel() {
         return cardTypeLabel;
     }

+ 8 - 0
qmjszx-business/src/main/java/beilv/cardpurchaserecord/mapper/CardPurchaseRecordMapper.java

@@ -59,4 +59,12 @@ public interface CardPurchaseRecordMapper {
      * @return 结果
      */
     public int deleteCardPurchaseRecordByIds(String[] ids);
+
+    /*
+    * 按订单号修改
+    *
+    * @author 韩福成
+    * @date 2025/1/16 下午2:39
+    */
+    public int updateRecord(CardPurchaseRecord cardPurchaseRecord);
 }

+ 10 - 2
qmjszx-business/src/main/java/beilv/cardpurchaserecord/service/ICardPurchaseRecordService.java

@@ -28,12 +28,20 @@ public interface ICardPurchaseRecordService {
     public List<CardPurchaseRecord> selectCardPurchaseRecordList(CardPurchaseRecord cardPurchaseRecord);
 
     /**
-     * 新增购卡记录
+     * 购卡生成订单
      *
      * @param cardPurchaseRecord 购卡记录
      * @return 结果
      */
-    public int insertCardPurchaseRecord(CardPurchaseRecord cardPurchaseRecord);
+    public String insertCardPurchaseRecord(CardPurchaseRecord cardPurchaseRecord);
+
+    /*
+    * 购卡回调
+    *
+    * @author 韩福成
+    * @date 2025/1/16 下午2:25
+    */
+    public int addCardCallback(CardPurchaseRecord cardPurchaseRecord);
 
     /**
      * 修改购卡记录

+ 44 - 20
qmjszx-business/src/main/java/beilv/cardpurchaserecord/service/impl/CardPurchaseRecordServiceImpl.java

@@ -12,8 +12,10 @@ import beilv.usermembershipcard.domain.UserMembershipCard;
 import beilv.usermembershipcard.mapper.UserMembershipCardMapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.util.List;
+import java.util.UUID;
 
 /**
  * 购卡记录Service业务层处理
@@ -52,41 +54,63 @@ public class CardPurchaseRecordServiceImpl implements ICardPurchaseRecordService
     public List<CardPurchaseRecord> selectCardPurchaseRecordList(CardPurchaseRecord cardPurchaseRecord) {
         List<CardPurchaseRecord> cardPurchaseRecords = cardPurchaseRecordMapper.selectCardPurchaseRecordList(cardPurchaseRecord);
         for (CardPurchaseRecord cardPurchaseRecord2 : cardPurchaseRecords) {
-            cardPurchaseRecord2.setTypeLabel(dictDataService.selectDictLabel("card_status",cardPurchaseRecord2.getType()));
+            cardPurchaseRecord2.setTypeLabel(dictDataService.selectDictLabel("payment_status",cardPurchaseRecord2.getType()));
             cardPurchaseRecord2.setCardTypeLabel(dictDataService.selectDictLabel("site_type",cardPurchaseRecord2.getCardType()));
         }
         return cardPurchaseRecords;
     }
 
-    /**
-     * 新增购卡记录
-     *
-     * @param cardPurchaseRecord 购卡记录
-     * @return 结果
-     */
+    /*
+    * 购卡生成订单
+    *
+    * @author 韩福成
+    * @date 2025/1/16 下午2:20
+    */
     @Override
-    public int insertCardPurchaseRecord(CardPurchaseRecord cardPurchaseRecord) {
+    public String insertCardPurchaseRecord(CardPurchaseRecord cardPurchaseRecord) {
         //新增购卡记录
         if (StringUtils.isEmpty(cardPurchaseRecord.getCreateBy())) {
             cardPurchaseRecord.setCreateBy(ShiroUtils.getUserId().toString());
         }
         cardPurchaseRecord.setCreateTime(DateUtils.getNowDate());
-        cardPurchaseRecord.setType("1");
+        cardPurchaseRecord.setType("payment_status_to_be_paid");
         cardPurchaseRecord.setTime(DateUtils.getNowDate());
         cardPurchaseRecord.setVersion("0");
+        cardPurchaseRecord.setOrderId(UUID.randomUUID().toString());
         cardPurchaseRecordMapper.insertCardPurchaseRecord(cardPurchaseRecord);
-        //新增会员管理
-        UserMembershipCard userMembershipCard = new UserMembershipCard();
-        userMembershipCard.setUserId(cardPurchaseRecord.getUserId());
-        userMembershipCard.setRecordId(cardPurchaseRecord.getId().toString());
-        userMembershipCard.setRemainingNumber(cardPurchaseRecord.getTotalNumber());
-        if (StringUtils.isEmpty(cardPurchaseRecord.getCreateBy())) {
-            userMembershipCard.setCreateBy(ShiroUtils.getUserId().toString());
+        return cardPurchaseRecord.getOrderId();
+    }
+
+    /**
+     * 购卡回调
+     *
+     * @param cardPurchaseRecord 购卡记录
+     * @return 结果
+     */
+    @Override
+    @Transactional
+    public int addCardCallback(CardPurchaseRecord cardPurchaseRecord) {
+        //已支付状态新增会员管理
+        if (cardPurchaseRecord.getType().equals("payment_status_have_paid")){
+            UserMembershipCard userMembershipCard = new UserMembershipCard();
+            userMembershipCard.setUserId(cardPurchaseRecord.getUserId());
+            userMembershipCard.setRecordId(cardPurchaseRecord.getId().toString());
+            userMembershipCard.setRemainingNumber(cardPurchaseRecord.getTotalNumber());
+            if (StringUtils.isEmpty(cardPurchaseRecord.getCreateBy())) {
+                userMembershipCard.setCreateBy(ShiroUtils.getUserId().toString());
+            }
+            userMembershipCard.setCreateTime(DateUtils.getNowDate());
+            userMembershipCard.setState("3");
+            userMembershipCard.setVersion("0");
+            userMembershipCardMapper.insertUserMembershipCard(userMembershipCard);
+        }
+        //修改购卡记录状态
+        if (StringUtils.isEmpty(cardPurchaseRecord.getUpdateBy())) {
+            cardPurchaseRecord.setUpdateBy(ShiroUtils.getUserId().toString());
         }
-        userMembershipCard.setCreateTime(DateUtils.getNowDate());
-        userMembershipCard.setState("3");
-        userMembershipCard.setVersion("0");
-        return userMembershipCardMapper.insertUserMembershipCard(userMembershipCard);
+        cardPurchaseRecord.setTime(DateUtils.getNowDate());
+        cardPurchaseRecord.setUpdateTime(DateUtils.getNowDate());
+        return cardPurchaseRecordMapper.updateRecord(cardPurchaseRecord);
     }
 
     /**

+ 3 - 0
qmjszx-business/src/main/java/beilv/usermembershipcard/service/impl/UserMembershipCardServiceImpl.java

@@ -13,6 +13,7 @@ import beilv.usermembershipcard.service.IUserMembershipCardService;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
 import java.math.RoundingMode;
@@ -127,6 +128,7 @@ public class UserMembershipCardServiceImpl implements IUserMembershipCardService
     * @date 2025/1/8 上午9:29
     */
     @Override
+    @Transactional
     public int addStream(MemberStream memberStream) {
         //增加/扣除会员卡剩余次数(约场-1;退场+1)
         UserMembershipCard userMembershipCard = new UserMembershipCard();
@@ -145,6 +147,7 @@ public class UserMembershipCardServiceImpl implements IUserMembershipCardService
      * @date 2025/1/7 上午10:50
      */
     @Override
+    @Transactional
     public int refundCard(UserMembershipCard userMembershipCard) {
         CardPurchaseRecord cardPurchaseRecord = cardPurchaseRecordMapper.selectCardPurchaseRecordById(Long.parseLong(userMembershipCard.getRecordId()));
         /*退款*/

+ 23 - 0
qmjszx-business/src/main/resources/mapper/card/CardPurchaseRecordMapper.xml

@@ -76,6 +76,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="createTime != null">create_time,</if>
             <if test="updateBy != null">update_by,</if>
             <if test="updateTime != null">update_time,</if>
+            <if test="orderId != null">order_id,</if>
          </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="id != null">#{id},</if>
@@ -96,6 +97,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="createTime != null">#{createTime},</if>
             <if test="updateBy != null">#{updateBy},</if>
             <if test="updateTime != null">#{updateTime},</if>
+            <if test="orderId != null">#{orderId},</if>
          </trim>
     </insert>
 
@@ -132,4 +134,25 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         </foreach>
     </delete>
 
+    <update id="updateRecord" parameterType="CardPurchaseRecord">
+        update card_purchase_record
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="userId != null">user_id = #{userId},</if>
+            <if test="cardId != null">card_id = #{cardId},</if>
+            <if test="cardName != null">card_name = #{cardName},</if>
+            <if test="cardType != null">card_type = #{cardType},</if>
+            <if test="totalNumber != null">total_number = #{totalNumber},</if>
+            <if test="memberPrice != null">member_price = #{memberPrice},</if>
+            <if test="time != null">time = #{time},</if>
+            <if test="paymentWay != null">payment_way = #{paymentWay},</if>
+            <if test="type != null">type = #{type},</if>
+            <if test="notes != null">notes = #{notes},</if>
+            <if test="version != null">version = #{version},</if>
+            <if test="createBy != null">create_by = #{createBy},</if>
+            <if test="createTime != null">create_time = #{createTime},</if>
+            <if test="updateBy != null">update_by = #{updateBy},</if>
+            <if test="updateTime != null">update_time = #{updateTime},</if>
+        </trim>
+        where order_id = #{orderId}
+    </update>
 </mapper>