Ver código fonte

新增互助社确认进境结算单功能

linbl 11 meses atrás
pai
commit
a248a0e9f6

+ 9 - 2
sp-service/level-one-server/src/main/java/com/pj/ht_trade_settlement/HtTradeSettlement.java

@@ -43,7 +43,7 @@ public class HtTradeSettlement extends Model<HtTradeSettlement> implements Seria
 	public static final String PERMISSION_CODE_EDIT = "ht-trade-settlement-edit";
 	public static final String PERMISSION_CODE_DEL = "ht-trade-settlement-del";
 	public static final String PERMISSION_CODE_LISTING = "listing-management";
-
+	public static final String PERMISSION_CODE_HZSCONFIRM = "ht-trade-settlement-hzsconfirm";
 
 
 
@@ -270,7 +270,14 @@ public class HtTradeSettlement extends Model<HtTradeSettlement> implements Seria
 	 */
 	private Date chargebacksTime;
 
-
+	/**
+	 * 互助社确认状态[0=待确认,1=确认]
+	 */
+	private Integer hzsConfirmStatus;
+	/**
+	 * 互助社确认时间
+	 */
+	private Date hzsConfirmTime;
 
 
 	@TableField(exist = false)

+ 13 - 0
sp-service/level-one-server/src/main/java/com/pj/ht_trade_settlement/HtTradeSettlementController.java

@@ -9,6 +9,7 @@ import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.Date;
 import java.util.List;
 
 
@@ -82,6 +83,18 @@ public class HtTradeSettlementController {
 		return AjaxJson.getPageData(so.getDataCount(), list);
 	}
 
+	//互助社确认进境结算单
+	@RequestMapping("hzsConfirm")
+	@SaCheckPermission(HtTradeSettlement.PERMISSION_CODE_HZSCONFIRM)
+	public AjaxJson hzsConfirm(Long id){
+		HtTradeSettlement h = new HtTradeSettlement();
+		h.setId(id);
+		h.setHzsConfirmStatus(1);
+		h.setHzsConfirmTime(new Date());
+		htTradeSettlementService.updateById(h);
+		return AjaxJson.getSuccess();
+	}
+
 	/*-----           正常业务逻辑👆👆    rpc远程调用👇👇 -----*/
 
 	/** 远程调用: 添加大订单时同事生成小定单 */

+ 16 - 0
sp-service/level-one-server/src/main/java/com/pj/ht_trade_settlement/HtTradeSettlementService.java

@@ -3,6 +3,7 @@ package com.pj.ht_trade_settlement;
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.json.JSONUtil;
 import cn.hutool.log.StaticLog;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.pj.api.dto.*;
@@ -101,6 +102,21 @@ public class HtTradeSettlementService extends ServiceImpl<HtTradeSettlementMappe
      * 远程调用: 添加大订单时同时生成边民订单
      */
     public boolean tradeSettlementDto(TradeSettlementDto tradeSettlementDto) {
+        LambdaQueryWrapper<HtTradeSettlement>  wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(HtTradeSettlement::getPlatSeqNo, tradeSettlementDto.getPlatSeqNo());
+        wrapper.eq(HtTradeSettlement::getHzsConfirmStatus, 0);
+        List<HtTradeSettlement> htTradeSettlements = htTradeSettlementMapper.selectList(wrapper);
+        //删除已存在的大订单与小订单,保留航通送过来的最新记录
+        if(htTradeSettlements.size()>0) {
+            List<Long> idList = htTradeSettlements.stream().map(item -> item.getId()).collect(Collectors.toList());
+            LambdaQueryWrapper<TbOrder>  orderWrapper = new LambdaQueryWrapper<>();
+            orderWrapper.in(TbOrder::getSaleMainId, idList);
+            int orderDelete = tbOrderMapper.delete(orderWrapper);
+
+            int htTradeSettlementsDelete = htTradeSettlementMapper.delete(wrapper);
+            StaticLog.info("\n------删除航通旧进境结算单:platSeqNo={}", tradeSettlementDto.getPlatSeqNo());
+        }
+
         StaticLog.info("接收到航通结算订单:{}", JSONUtil.toJsonStr(tradeSettlementDto));
         HtTradeSettlement htTradeSettlement = new HtTradeSettlement();
         BeanUtils.copyProperties(tradeSettlementDto, htTradeSettlement);

+ 14 - 1
sp-service/level-one-server/src/main/java/com/pj/tb_order/TbOrderService.java

@@ -638,7 +638,20 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
         APPLoginUserInfo appLoginInfo = StpAPPUserUtil.getAPPLoginInfo();
         TbPeople tbPeople = tbPeopleMapper.selectById(appLoginInfo.getFk());
         if (tbPeople == null) throw new ServiceException("当前用户不存在,请联系管理员!");
-        List<TbOrder> orderList = findByBuyUserId(appLoginInfo.getFk());
+        List<TbOrder> list = findByBuyUserId(appLoginInfo.getFk());
+
+        //互助社未确认关联的大订单时边民不能做订单确认
+        List<TbOrder> orderList = new ArrayList<>();
+        for (TbOrder order : list) {
+            QueryWrapper<HtTradeSettlement> htWrapper = new QueryWrapper<>();
+            htWrapper.lambda().eq(HtTradeSettlement::getId, order.getSaleMainId())
+                    .eq(HtTradeSettlement::getHzsConfirmStatus, 1);
+            List<HtTradeSettlement> tradeSettlementList = htTradeSettlementService.list(htWrapper);
+            if(tradeSettlementList.size() > 0) {
+                orderList.add(order);
+            }
+        }
+
         OrderVo orderVo = new OrderVo();
         //被委托订单,并且三个状态中有一个未确认
         List<TbOrder> declareList2 = orderList.stream().filter(item -> item.getApplyConfirmStatus() == 0).collect(Collectors.toList());