فهرست منبع

同步押金设置记录,费率设置记录,机具券表,机具券划拨表

mac 2 سال پیش
والد
کامیت
4407ba3426

+ 2 - 7
kxs-product/kxs-product-api/src/main/java/com/kxs/product/api/vo/kxsapp/ticket/TicketTransferDetailVO.java

@@ -7,6 +7,7 @@ import lombok.Data;
 import java.io.Serial;
 import java.io.Serializable;
 import java.time.LocalDateTime;
+import java.util.List;
 
 /**
  * 兑换券划拨详情vo
@@ -40,7 +41,7 @@ public class TicketTransferDetailVO implements Serializable {
      * 券码集合
      */
     @Schema(description = "券码集合")
-    private String ticketCodes;
+    private List<String> ticketCodes;
 
     /**
      * 券码类型 0电签 1大pos
@@ -48,12 +49,6 @@ public class TicketTransferDetailVO implements Serializable {
     @Schema(description = "券码集合")
     private String ticketType;
 
-    /**
-     * 券码类型 电签 大pos
-     */
-    @Schema(description = "券码集合")
-    private String ticketTypeSn;
-
 
     /**
      * 拨出用户ID

+ 27 - 7
kxs-product/kxs-product-biz/src/main/java/com/kxs/product/biz/service/impl/KxsTicketTransferServiceImpl.java

@@ -1,6 +1,8 @@
 package com.kxs.product.biz.service.impl;
 
+import cn.hutool.core.lang.Snowflake;
 import cn.hutool.core.util.EnumUtil;
+import cn.hutool.core.util.IdUtil;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -14,13 +16,16 @@ import com.kxs.common.security.util.SecurityUtils;
 import com.kxs.product.api.dto.kxsapp.ticket.TicketTransferDTO;
 import com.kxs.product.api.dto.kxsapp.ticket.TicketTransferQuery;
 import com.kxs.product.api.model.KxsTicket;
+import com.kxs.product.api.model.KxsTicketTransferInfo;
 import com.kxs.product.api.vo.kxsapp.ticket.TicketTransferDetailVO;
 import com.kxs.product.api.vo.kxsapp.ticket.TicketTransferListVO;
 import com.kxs.product.biz.constant.enums.ProductErrorTypeEnum;
 import com.kxs.product.biz.constant.enums.TicketTypeEnum;
 import com.kxs.product.biz.mapper.KxsTicketMapper;
+import com.kxs.product.biz.mapper.KxsTicketTransferInfoMapper;
 import com.kxs.product.biz.mapper.KxsTicketTransferMapper;
 import com.kxs.product.api.model.KxsTicketTransfer;
+import com.kxs.product.biz.service.KxsTicketTransferInfoService;
 import com.kxs.product.biz.service.KxsTicketTransferService;
 import com.kxs.user.api.feign.RemoteKxsUserService;
 import com.kxs.user.api.model.KxsUser;
@@ -29,7 +34,9 @@ import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.ArrayList;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * 客小爽券码划拨记录表(KxsTicketTransfer)表服务实现类
@@ -46,6 +53,7 @@ public class KxsTicketTransferServiceImpl extends ServiceImpl<KxsTicketTransferM
     private final KxsTicketMapper kxsTicketMapper;
 
     private final KxsTicketTransferMapper kxsTicketTransferMapper;
+    private final KxsTicketTransferInfoService kxsTicketTransferInfoService;
 
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -53,6 +61,10 @@ public class KxsTicketTransferServiceImpl extends ServiceImpl<KxsTicketTransferM
 
         Integer userId = SecurityUtils.getUser().getId().intValue();
 
+        //订单号
+        Snowflake snowflake = IdUtil.getSnowflake(1, userId);
+        String orderSn = "SC" + snowflake.nextId();
+
         //查询用户信息
         R<KxsUser> sendResult = remoteKxsUserService.loadUserById(userId, SecurityConstants.FROM_IN);
         KxsUser sendUser = RetOps.of(sendResult)
@@ -70,6 +82,8 @@ public class KxsTicketTransferServiceImpl extends ServiceImpl<KxsTicketTransferM
             return R.failed(ProductErrorTypeEnum.USER_IS_NOT_FIND.getDescription());
         }
 
+        //划拨明细集合
+        List<KxsTicketTransferInfo> kxsTicketTransferInfos = new ArrayList<>();
         for (String ticketCode : param.getTicketCodes()) {
             KxsTicket kxsTicket = kxsTicketMapper.selectOne(Wrappers.<KxsTicket>lambdaQuery().eq(KxsTicket::getTicketCode, ticketCode));
             if (kxsTicket == null) {
@@ -85,6 +99,12 @@ public class KxsTicketTransferServiceImpl extends ServiceImpl<KxsTicketTransferM
             //修改机具所属
             kxsTicketMapper.updateById(kxsTicket);
 
+            //划拨明细
+            KxsTicketTransferInfo kxsTicketTransferInfo = new KxsTicketTransferInfo();
+            kxsTicketTransferInfo.setTicketCode(ticketCode);
+            kxsTicketTransferInfo.setTicketId(kxsTicket.getId());
+            kxsTicketTransferInfo.setOrderSn(orderSn);
+            kxsTicketTransferInfos.add(kxsTicketTransferInfo);
         }
 
 
@@ -98,14 +118,13 @@ public class KxsTicketTransferServiceImpl extends ServiceImpl<KxsTicketTransferM
         ticketTransfer.setToUserId(toUser.getId());
         ticketTransfer.setToUserName(toUser.getUsername());
         ticketTransfer.setToUserCode(toUser.getUserCode());
-
-        ticketTransfer.setTicketCodes(String.join(",", param.getTicketCodes()));
         ticketTransfer.setTransferNum(param.getTicketCodes().size());
         ticketTransfer.setTicketType(param.getTicketType());
+        ticketTransfer.setOrderSn(orderSn);
 
         //插入划拨记录
         kxsTicketTransferMapper.insert(ticketTransfer);
-
+        kxsTicketTransferInfoService.saveBatch(kxsTicketTransferInfos);
         return R.ok();
     }
 
@@ -114,8 +133,6 @@ public class KxsTicketTransferServiceImpl extends ServiceImpl<KxsTicketTransferM
 
         Long userId = SecurityUtils.getUser().getId();
 
-        IPage<TicketTransferListVO> byPage = baseMapper.getByPage(page, ticketTransferQuery);
-
         //拨入查询
         if (ticketTransferQuery.getTransferType() == 1) {
             ticketTransferQuery.setToUserId(userId.intValue());
@@ -125,7 +142,7 @@ public class KxsTicketTransferServiceImpl extends ServiceImpl<KxsTicketTransferM
             ticketTransferQuery.setSendUserId(userId.intValue());
         }
 
-        return byPage;
+        return baseMapper.getByPage(page, ticketTransferQuery);
     }
 
     @Override
@@ -161,7 +178,10 @@ public class KxsTicketTransferServiceImpl extends ServiceImpl<KxsTicketTransferM
 
         String ticketType = EnumUtil.getFieldBy(TicketTypeEnum::getDescription, TicketTypeEnum::getType, kxsTicketTransfer.getTicketType());
         transferDetailVO.setTicketType(String.valueOf(kxsTicketTransfer.getTicketType()));
-        transferDetailVO.setTicketTypeSn(ticketType);
+        //查询券码集合
+        List<KxsTicketTransferInfo> list = kxsTicketTransferInfoService.list(Wrappers.<KxsTicketTransferInfo>lambdaQuery().eq(KxsTicketTransferInfo::getOrderSn, kxsTicketTransfer.getOrderSn()));
+        List<String> ticketCodes = list.stream().map(KxsTicketTransferInfo::getTicketCode).collect(Collectors.toList());
+        transferDetailVO.setTicketCodes(ticketCodes);
 
         return transferDetailVO;
     }