Parcourir la source

006交易结算信息转换成大订单与边民订单

linbl il y a 1 an
Parent
commit
99d3ec5117

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

@@ -28,6 +28,7 @@ import org.springframework.transaction.annotation.Transactional;
 import javax.annotation.Resource;
 import java.util.Date;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * Service: ht_trade_settlement -- 航通交易结算表
@@ -93,54 +94,63 @@ public class HtTradeSettlementService extends ServiceImpl<HtTradeSettlementMappe
 
 
     /**
-     * 远程调用: 添加大订单时同事生成小定
+     * 远程调用: 添加大订单时同时生成边民订
      */
     public boolean tradeSettlementDto(TradeSettlementDto tradeSettlementDto) {
         HtTradeSettlement htTradeSettlement = new HtTradeSettlement();
         BeanUtils.copyProperties(tradeSettlementDto, htTradeSettlement);
         int insert = htTradeSettlementMapper.insert(htTradeSettlement);
-        //取出边民小定单集合
+        //获取边民订单集合
         List<BordersListDto> bordersListDtoList = tradeSettlementDto.getBordersListDtoList();
-        BorderBuyGoodsListDto borderBuyGoodsListDto = tradeSettlementDto.getBorderBuyGoodsListDtoList().get(0);
-        TbGoods tbGoods = tbGoodsService.findByCode(borderBuyGoodsListDto.getCodeTs());
+
+        //获取订单商品列表集合
+		List<BorderBuyGoodsListDto> borderBuyGoodsListDtoList = tradeSettlementDto.getBorderBuyGoodsListDtoList();
+
         TbTradeArea tbTradeArea = tbTradeAreaService.updateHandler(tradeSettlementDto.getFieldCode(), tradeSettlementDto.getFieldName());
         TbShop tbShop = tbShopService.findByCode(tradeSettlementDto.getShopNo());
-        if (tbShop != null) {
-            tbShop.setEnterpriseId(tbShop.getEnterpriseId())
-                    .setEnterpriseName(tbShop.getEnterpriseName());
-        }
-        //循环
-        if (bordersListDtoList.size() > 0) {
-            bordersListDtoList.forEach(item -> {
-                //开始创建小定单
-                TbOrder tbOrder = new TbOrder();
-                //航通字段
-                BeanUtils.copyProperties(item, tbOrder);
-                //根据身份证查询边民
-                TbPeople tbPeople = tbPeopleService.findByIdCarNo(item.getIdno());
-                tbOrder.setCallCarStatus(CallCarStatus.CALL_CAR_STATUS_ZERO.getCode());
-                tbOrder.setDeleteStatus(DeleteStatus.DELETE_STATUS_ON.getCode());
-                tbOrder.setCreateTime(new Date())
-                        .setTradeNo(SystemObject.getREFcode("YJSCDD", new Date()))
-                        .setTradeAreaId(tbTradeArea.getId()).setTradeAreaName(tbTradeArea.getName());
-                tbOrder.setResaleStatus(ResaleStatus.RESALE_STATUS_ZERO.getCode());
-                tbOrder.setFinishStatus(OrderStatus.ORDER_STATUS_ZERO.getCode());
-                tbOrder.setSend(DeliverStatus.DELIVER_STATUS_ZERO.getCode());
-                tbOrder.setApply(ApplyStatus.APPLY_STATUS_ZERO.getCode());
-                tbOrder.setGoodsId(tbGoods.getId()).setTotalPrice(borderBuyGoodsListDto.getBuyAmount())
-                        .setTotalWeight(borderBuyGoodsListDto.getGrossWt())
-                        .setGoodsNames(tbGoods.getName())
-                        .setGoodsUnit(tbGoods.getUnit());
-                if (tbPeople != null) {
-                    tbOrder.setBuyUserId(tbPeople.getId());
-                    tbOrder.setBuyUserName(tbPeople.getName());
-                    tbOrder.setGroupId(tbPeople.getGroupId());
-                }
-                tbOrder.setPreNo(item.getPreNo());
-
-                tbOrderMapper.insert(tbOrder);
-            });
-        }
+
+		bordersListDtoList.forEach(item -> {
+			//开始创建边民订单
+			TbOrder tbOrder = new TbOrder();
+			//航通字段
+			BeanUtils.copyProperties(item, tbOrder);
+
+			tbOrder.setCreateTime(new Date())
+					.setTradeNo(SystemObject.getREFcode("YJSCDD", new Date()))
+					.setTradeAreaId(tbTradeArea.getId()).setTradeAreaName(tbTradeArea.getName());
+			tbOrder.setTotalWeight(item.getGrossWt()).setTotalPrice(item.getBuyAmount());
+
+			tbOrder.setApply(ApplyStatus.APPLY_STATUS_ONE.getCode());
+			tbOrder.setDeleteStatus(DeleteStatus.DELETE_STATUS_ON.getCode());
+			tbOrder.setResaleStatus(ResaleStatus.RESALE_STATUS_ZERO.getCode());
+			tbOrder.setFinishStatus(OrderStatus.ORDER_STATUS_ZERO.getCode());
+
+			//根据边民身份证号获取边民的订单商品列表(目前逻辑为一个边民对应一个商品)
+			List<BorderBuyGoodsListDto> collect = borderBuyGoodsListDtoList.stream().filter(borderBuyGoods -> item.getIdno().equals(borderBuyGoods.getIdno())).collect(Collectors.toList());
+			if (collect.size() > 0) {
+				//根据商品编号查询商品表
+				TbGoods tbGoods = tbGoodsService.findByCode(collect.get(0).getCodeTs());
+				if(null != tbGoods) {
+					tbOrder.setGoodsId(tbGoods.getId());
+					tbOrder.setGoodsNames(tbGoods.getName());
+					tbOrder.setGoodsUnit(tbGoods.getUnit());
+				}
+			}
+			//根据身份证查询边民
+			TbPeople tbPeople = tbPeopleService.findByIdCarNo(item.getIdno());
+			if (tbPeople != null) {
+				tbOrder.setBuyUserId(tbPeople.getId());
+				tbOrder.setBuyUserName(tbPeople.getName());
+				tbOrder.setBuyUserType(String.valueOf(tbPeople.getRole()));
+				tbOrder.setGroupId(tbPeople.getGroupId());
+			}
+			//商品店铺信息
+			if (tbShop != null)
+				tbOrder.setEnterpriseId(tbShop.getEnterpriseId()).setEnterpriseName(tbShop.getEnterpriseName());
+
+			tbOrderMapper.insert(tbOrder);
+		});
+
         return insert == 1;
     }
 }