qzy 6 месяцев назад
Родитель
Сommit
b81f5dd282
23 измененных файлов с 591 добавлено и 246 удалено
  1. 2 1
      sp-core/sp-api/src/main/java/com/pj/api/client/level_one_server/LevelOneServerInterface.java
  2. 6 0
      sp-core/sp-api/src/main/java/com/pj/api/client/level_one_server/LevelOneServerInterfaceFallback.java
  3. 11 0
      sp-core/sp-api/src/main/java/com/pj/api/dto/OrderDto.java
  4. 8 0
      sp-core/sp-api/src/main/java/com/pj/api/dto/PurchaserDto.java
  5. 5 1
      sp-service/level-one-server/src/main/java/com/pj/ht_trade_settlement/HtTradeSettlement.java
  6. 8 3
      sp-service/level-one-server/src/main/java/com/pj/ht_trade_settlement/HtTradeSettlementApi.java
  7. 11 6
      sp-service/level-one-server/src/main/java/com/pj/ht_trade_settlement/HtTradeSettlementMapper.xml
  8. 5 4
      sp-service/level-one-server/src/main/java/com/pj/ht_trade_settlement/HtTradeSettlementService.java
  9. 22 1
      sp-service/level-one-server/src/main/java/com/pj/tb_order/TbOrderAppController.java
  10. 5 0
      sp-service/level-one-server/src/main/java/com/pj/tb_order/TbOrderController.java
  11. 1 0
      sp-service/level-one-server/src/main/java/com/pj/tb_order/TbOrderMapper.java
  12. 13 0
      sp-service/level-one-server/src/main/java/com/pj/tb_order/TbOrderMapper.xml
  13. 78 40
      sp-service/level-one-server/src/main/java/com/pj/tb_order/TbOrderService.java
  14. 8 0
      sp-service/level-two-server/src/main/java/com/pj/tb_orders/TbOrders.java
  15. 211 121
      sp-service/level-two-server/src/main/java/com/pj/tb_orders/TbOrdersApiController.java
  16. 31 10
      sp-service/level-two-server/src/main/java/com/pj/tb_orders/TbOrdersController.java
  17. 5 0
      sp-service/level-two-server/src/main/java/com/pj/tb_orders/TbOrdersMapper.java
  18. 38 1
      sp-service/level-two-server/src/main/java/com/pj/tb_orders/TbOrdersMapper.xml
  19. 31 11
      sp-service/level-two-server/src/main/java/com/pj/tb_orders/TbOrdersService.java
  20. 16 0
      sp-service/level-two-server/src/main/java/com/pj/tb_orders/vo/OrderStaticsDTO.java
  21. 71 43
      sp-service/level-two-server/src/main/java/com/pj/tb_purchaser/TbPurchaserAppController.java
  22. 1 1
      sp-service/sp-admin/src/main/java/com/pj/project/app_user/AppUserApiController.java
  23. 4 3
      sp-service/sp-admin/src/main/java/com/pj/project/app_user/AppUserService.java

+ 2 - 1
sp-core/sp-api/src/main/java/com/pj/api/client/level_one_server/LevelOneServerInterface.java

@@ -171,5 +171,6 @@ public interface LevelOneServerInterface {
     /** 商家备案验证查询-银行回复新开户或变更数据 */
     @PostMapping("/TbShop/rpc/updateBySXB009")
     public boolean updateBySXB009(@RequestBody BankInfoDto bankInfoDto);
-
+    @RequestMapping("/TbOrder/rpc/getOrderListByMainIds")
+    List<OrderDto> getOrderListByMainIds(@RequestParam("mainIds")String mainIds);
 }

+ 6 - 0
sp-core/sp-api/src/main/java/com/pj/api/client/level_one_server/LevelOneServerInterfaceFallback.java

@@ -8,6 +8,7 @@ import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Component;
 
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.Date;
 import java.util.List;
 
@@ -247,6 +248,11 @@ public class LevelOneServerInterfaceFallback implements FallbackFactory<LevelOne
             }
 
             @Override
+            public List<OrderDto> getOrderListByMainIds(String mainIds) {
+                return Collections.emptyList();
+            }
+
+            @Override
             public boolean updateBySXB005(BankInfoDto bankInfoDto) {
                 return false;
             }

+ 11 - 0
sp-core/sp-api/src/main/java/com/pj/api/dto/OrderDto.java

@@ -1,6 +1,7 @@
 package com.pj.api.dto;
 
 import java.io.Serializable;
+import java.math.BigDecimal;
 import java.util.Date;
 
 /**
@@ -424,6 +425,16 @@ public class OrderDto implements Serializable {
      */
     private String codeTs;
 
+    private BigDecimal upPrice;
+
+    public BigDecimal getUpPrice() {
+        return upPrice;
+    }
+
+    public void setUpPrice(BigDecimal upPrice) {
+        this.upPrice = upPrice;
+    }
+
     public Double getDeclPrice() {
         return declPrice;
     }

+ 8 - 0
sp-core/sp-api/src/main/java/com/pj/api/dto/PurchaserDto.java

@@ -107,6 +107,7 @@ public class PurchaserDto {
      * 税号
      */
     private String dutyParagraph;
+    private String businessName;
 
     /**
      * 地址编号
@@ -218,6 +219,13 @@ public class PurchaserDto {
         this.isLock = isLock;
     }
 
+    public String getBusinessName() {
+        return businessName;
+    }
+
+    public void setBusinessName(String businessName) {
+        this.businessName = businessName;
+    }
 
     public String getName() {
         return name;

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

@@ -250,7 +250,11 @@ public class HtTradeSettlement extends Model<HtTradeSettlement> implements Seria
 	 */
 	private Date checkPassTime;
 
+	private Integer orderCount;
+	private Integer onSaleCount;
+	private Integer beOrderCount;
+
 	@TableField(exist = false)
-	private Integer checkUp;
+	private String sumUpPrice;
 
 }

+ 8 - 3
sp-service/level-one-server/src/main/java/com/pj/ht_trade_settlement/HtTradeSettlementApi.java

@@ -50,12 +50,17 @@ public class HtTradeSettlementApi {
         List<HtTradeSettlement> list = htTradeSettlementService.getList(so.startPage());
         return AjaxJson.getPageData(so.getDataCount(), list);
     }
+
+    /**
+     * 获取整车在售列表
+     * @return
+     */
     @RequestMapping("getOnSaleList")
     public AjaxJson getOnSaleList() {
+        if (!StpAPPUserUtil.isLogin()) {
+            return AjaxJson.getError("用户未登录");
+        }
         SoMap so = SoMap.getRequestSoMap();
-        so.put("gFlow","01");
-        so.put("iEFlag","I");
-        so.put("checkPassStatus","1");
         List<HtTradeSettlement> list = htTradeSettlementService.getOnSaleList(so.startPage());
         return AjaxJson.getPageData(so.getDataCount(), list);
     }

+ 11 - 6
sp-service/level-one-server/src/main/java/com/pj/ht_trade_settlement/HtTradeSettlementMapper.xml

@@ -13,7 +13,7 @@
 
 	<!-- 公共查询sql片段 -->
 	<sql id="select_sql">
-		select *,(SELECT count(*) from tb_order WHERE tb_order.sale_main_id=ht_trade_settlement.id and tb_order.up_status =1) as check_up
+		select *
 		from ht_trade_settlement
 	</sql>
 
@@ -95,11 +95,16 @@
 		</choose>
 	</select>
 	<select id="getOnSaleList" resultType="com.pj.ht_trade_settlement.HtTradeSettlement">
-		SELECT * from (	select  *,
-						(SELECT count(*) from tb_order WHERE tb_order.sale_main_id=ht_trade_settlement.id and tb_order.up_status =1) as check_up
-		from ht_trade_settlement) as tmp
-		WHERE check_up=0
-	</select>
+        select *,(select sum(up_price) from tb_order where sale_main_id=ht_trade_settlement.id) as sumUpPrice
+        from ht_trade_settlement
+        where order_count = on_sale_count
+        and be_order_count=0 and g_flow='01' and i_e_flag='I' and check_pass_status=1
+        <if test=' this.has("veNo") '>and ve_no like concat('%',#{veNo},'%')</if>
+        <if test=' this.has("productName") '>and goods_names like concat('%',#{productName},'%')</if>
+        <if test=' this.has("dateBegin") '>and date_format(create_time,'%Y-%m-%d') &gt;=#{dateBegin}</if>
+        <if test=' this.has("dateEnd") '>and date_format(create_time,'%Y-%m-%d') &lt;=#{dateEnd}</if>
+        order by create_time desc
+    </select>
 
 
 </mapper>

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

@@ -111,9 +111,10 @@ public class HtTradeSettlementService extends ServiceImpl<HtTradeSettlementMappe
             htTradeSettlement.setEnterpriseId(tbShop.getEnterpriseId());
         }
         htTradeSettlement.setCreateTime(new Date());
-        int insert = htTradeSettlementMapper.insert(htTradeSettlement);
         //获取边民订单集合
         List<BordersListDto> bordersListDtoList = tradeSettlementDto.getBordersListDtoList();
+        htTradeSettlement.setOrderCount(bordersListDtoList.size());
+        int insert = htTradeSettlementMapper.insert(htTradeSettlement);
         //获取订单商品列表集合
         List<BorderBuyGoodsListDto> borderBuyGoodsListDtoList = tradeSettlementDto.getBorderBuyGoodsListDtoList();
         //获取商铺卖货物列表(目前逻辑为:当前商铺卖货集合,只有当前订单商品(一个商品))
@@ -121,7 +122,7 @@ public class HtTradeSettlementService extends ServiceImpl<HtTradeSettlementMappe
 
         TbTradeArea tbTradeArea = tbTradeAreaService.updateHandler(tradeSettlementDto.getFieldCode(), tradeSettlementDto.getFieldName(), "");
         Date applyTime = new Date(Long.parseLong(tradeSettlementDto.getDeclTime()));
-        htTradeSettlement.setDeclTime(DateUtil.format(applyTime,"yyyy-MM-dd HH:mm:ss"));
+        htTradeSettlement.setDeclTime(DateUtil.format(applyTime, "yyyy-MM-dd HH:mm:ss"));
         BigDecimal totalPrice = BigDecimal.ZERO;
         for (BordersListDto item : bordersListDtoList) {//开始创建边民订单
             totalPrice = totalPrice.add(BigDecimal.valueOf(item.getBuyAmount()));
@@ -143,12 +144,12 @@ public class HtTradeSettlementService extends ServiceImpl<HtTradeSettlementMappe
 
             //008进口申报单
             List<TbImportOrder> importOrderList = tbImportOrderService.lambdaQuery().eq(TbImportOrder::getPlatSeqNo, item.getPreIeportNo()).list();
-            if(importOrderList.size() > 0) {
+            if (importOrderList.size() > 0) {
                 tbOrder.setImportOrderId(importOrderList.get(0).getId());
             }
 
             //获取商品单价
-            if(sellGoodsListDtoList.size() > 0) tbOrder.setDeclPrice(sellGoodsListDtoList.get(0).getDeclPrice());
+            if (sellGoodsListDtoList.size() > 0) tbOrder.setDeclPrice(sellGoodsListDtoList.get(0).getDeclPrice());
 
             //根据边民身份证号获取边民的订单商品列表(目前逻辑为一个边民对应一个商品)
             List<BorderBuyGoodsListDto> collect = borderBuyGoodsListDtoList.stream().filter(borderBuyGoods -> item.getIdno().equals(borderBuyGoods.getIdno())).collect(Collectors.toList());

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

@@ -1,6 +1,7 @@
 package com.pj.tb_order;
 
 import com.pj.api.dto.OrderDto;
+import com.pj.current.satoken.StpAPPUserUtil;
 import com.pj.project4sp.SP;
 import com.pj.tb_order.vo.OrderVo;
 import com.pj.tb_order.vo.PeopleConfirmVo;
@@ -144,7 +145,27 @@ public class TbOrderAppController {
 	}
 
 
-
+	@RequestMapping("getSaleList")
+	public AjaxJson getSaleList(@RequestParam String saleMainId) {
+		if (!StpAPPUserUtil.isLogin()){
+			return AjaxJson.getSuccess("请登录!");
+		}
+		SoMap so = SoMap.getRequestSoMap();
+		so.put("saleMainId",saleMainId);
+		List<TbOrder> list = tbOrderService.getList(so.startPage());
+		if(list.size() == 0)return AjaxJson.getSuccess("暂无更多的订单消息!");
+		return AjaxJson.getPageData(so.getDataCount(), list);
+	}
+	@RequestMapping("getOnSaleList")
+	public AjaxJson getOnSaleList() {
+		if (!StpAPPUserUtil.isLogin()){
+			return AjaxJson.getSuccess("请登录!");
+		}
+		SoMap so = SoMap.getRequestSoMap();
+		List<TbOrder> list = tbOrderService.getOnSaleList(so.startPage());
+		if(list.size() == 0)return AjaxJson.getSuccess("暂无更多的订单消息!");
+		return AjaxJson.getPageData(so.getDataCount(), list);
+	}
 
 
 

+ 5 - 0
sp-service/level-one-server/src/main/java/com/pj/tb_order/TbOrderController.java

@@ -7,6 +7,7 @@ import java.util.List;
 import cn.hutool.core.convert.Convert;
 import com.pj.api.dto.HtDeclareChargebackDto;
 import com.pj.api.dto.HtPassCardDTO;
+import com.pj.api.dto.OrderDto;
 import com.pj.utils.so.SoMap;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
@@ -118,6 +119,10 @@ public class TbOrderController {
 	public boolean chargeback(HtDeclareChargebackDto htDeclareChargebackDto) {
 		return tbOrderService.chargeback(htDeclareChargebackDto);
 	}
+	@RequestMapping("rpc/getOrderListByMainIds")
+	public List<OrderDto> getOrderListByMainIds(String mainIds) {
+		return tbOrderService.getOrderListByMainIds(mainIds);
+	}
 
 	/** 系统接收到航通接口信息:车辆已出一级市场 ,相对应的一级市场订单状态修改 **/
 	@RequestMapping("rpc/orderFinish")

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

@@ -30,4 +30,5 @@ public interface TbOrderMapper extends BaseMapper <TbOrder> {
 
 	ConfirmVo getConfirmStatus(Long orderId);
 
+	List<TbOrder> getOnSaleList(SoMap so);
 }

+ 13 - 0
sp-service/level-one-server/src/main/java/com/pj/tb_order/TbOrderMapper.xml

@@ -186,6 +186,19 @@
 		select id orderId,people_confirm_status,cooper_entrust_status,apply_confirm_status from tb_order
 		where id = #{orderId}
 	</select>
+    <select id="getOnSaleList" resultType="com.pj.tb_order.TbOrder">
+		select * from tb_order where
+		                           finish_status=1
+		                         and being_order=0
+		                         and up_status=2
+		                         and resale_status=1
+		<if test=' this.has("veNo") '>and ve_no like concat('%',#{veNo},'%')</if>
+		<if test=' this.has("productName") '>and goods_names like concat('%',#{productName},'%')</if>
+		<if test=' this.has("dateBegin") '>and date_format(create_time,'%Y-%m-%d') &gt;=#{dateBegin}</if>
+		<if test=' this.has("dateEnd") '>and date_format(create_time,'%Y-%m-%d') &lt;=#{dateEnd}</if>
+		order by up_time desc
+
+	</select>
 
 
 </mapper>

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

@@ -45,6 +45,7 @@ import com.pj.tb_trade_area.TbTradeArea;
 import com.pj.tb_trade_area.TbTradeAreaService;
 import com.pj.utils.sg.AjaxError;
 import com.pj.utils.so.SoMap;
+import io.swagger.models.auth.In;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -231,11 +232,20 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
      * 改 转售状态:根据订单Id把订单改为已转售
      */
     boolean updateResaleStatus(Long orderId) {
-        LambdaUpdateWrapper<TbOrder> wrapper = new LambdaUpdateWrapper<>();
-        wrapper.set(TbOrder::getResaleStatus, 1);
-        wrapper.eq(TbOrder::getId, orderId);
-
-        return this.update(wrapper);
+        TbOrder tbOrder = this.getById(orderId);
+        if (tbOrder == null) {
+            return false;
+        }
+        tbOrder.setResaleStatus(1);
+        Long saleMainId = tbOrder.getSaleMainId();
+        HtTradeSettlement htTradeSettlement = htTradeSettlementService.getById(saleMainId);
+        if (htTradeSettlement == null) {
+            return false;
+        }
+        Integer saleCount = htTradeSettlement.getOnSaleCount();
+        htTradeSettlement.setOnSaleCount((saleCount == null ? 0 : saleCount) + 1);
+        htTradeSettlementService.updateById(htTradeSettlement);
+        return this.updateById(tbOrder);
     }
 
     boolean updateEnterpriseConfirm(TbOrder order) {
@@ -403,7 +413,7 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
 
     private PaymentDto getPaymentData(TbOrder tbOrder) {
         HtTradeSettlement htTradeSettlement = htTradeSettlementService.getById(tbOrder.getSaleMainId());
-        StaticLog.info("getPaymentData:{}",JSONUtil.toJsonStr(htTradeSettlement));
+        StaticLog.info("getPaymentData:{}", JSONUtil.toJsonStr(htTradeSettlement));
         PaymentDto paymentDto = new PaymentDto();
         BeanUtils.copyProperties(htTradeSettlement, paymentDto);
 
@@ -419,8 +429,8 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
         //paymentDto.setResalePrice(BigDecimal.valueOf(resalePrice));
 
         TbPeople tbPeople = tbPeopleService.getById(tbOrder.getBuyUserId());
-        StaticLog.info("tbPeople:{}",JSONUtil.toJsonStr(tbPeople));
-        if (tbPeople != null){
+        StaticLog.info("tbPeople:{}", JSONUtil.toJsonStr(tbPeople));
+        if (tbPeople != null) {
             paymentDto.setBankCode(tbPeople.getBankCode());
             paymentDto.setBankName(tbPeople.getBankName());
             paymentDto.setBorderName(tbPeople.getName());
@@ -429,8 +439,8 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
         }
 
         TbShop tbShop = tbShopService.findByCode(htTradeSettlement.getShopNo());
-        StaticLog.info("tbShop:{}",JSONUtil.toJsonStr(tbShop));
-        if (tbShop != null){
+        StaticLog.info("tbShop:{}", JSONUtil.toJsonStr(tbShop));
+        if (tbShop != null) {
             paymentDto.setOwnerName(tbShop.getOwnerName());
             paymentDto.setOwnerIdtype(tbShop.getOwnerIdtype());
             paymentDto.setBankAccount(tbShop.getBankAccount());
@@ -441,20 +451,19 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
         }
 
 
-
-
         return paymentDto;
     }
 
     /**
      * 边民订单确认
+     *
      * @param orderId 一级市场订单表ID
      */
     public boolean confirmOrder(Long orderId) {
         TbOrder tbOrder = this.getById(orderId);
         if (tbOrder == null) {
             throw new AjaxError("订单不存在");
-        } else if(2 == tbOrder.getCheckPassStatus()) {
+        } else if (2 == tbOrder.getCheckPassStatus()) {
             throw new AjaxError("当前订单查验不通过!边民不能进行交易确认。");
         }
         StaticLog.info("order: {}", JSONUtil.toJsonStr(tbOrder));
@@ -466,21 +475,23 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
         //tbOrder.setTradeTime(new Date()); //支付回执时间
         //tbOrder.setPayType(0); //支付类型
         if ("1".equals(tbOrder.getDeclareType())) {
-           // tbOrder.setFinishStatus(FinishStatus.FINISH_STATUS_ONE.getCode()); //已完成->完成后可以进行转售
+            // tbOrder.setFinishStatus(FinishStatus.FINISH_STATUS_ONE.getCode()); //已完成->完成后可以进行转售
             tbOrder.setFinishTime(new Date());
         }
 
         boolean update = super.updateById(tbOrder);
         // TODO: 2023/8/28 边民发起支付申请,调用银行接口:验证边民支付信息,将货款先存入银行第三方账户,并给出回执
         PaymentDto paymentDto = this.getPaymentData(tbOrder);
-        StaticLog.info("\nsendSXB010——PaymentDto——:{}",JSONUtil.toJsonStr(paymentDto));
+        StaticLog.info("\nsendSXB010——PaymentDto——:{}", JSONUtil.toJsonStr(paymentDto));
         paymentServerInterface.sendSXB010(paymentDto);
 
-       return update;
+        return update;
     }
+
     /**
      * 边民订单确认-收到银行扣款回执——SXB011——SXB012
-     * @param tradeNo 一级市场边民订单-订单编号
+     *
+     * @param tradeNo      一级市场边民订单-订单编号
      * @param SXB010Status 回执状态-1=扣款成功 2=扣款失败
      */
     public boolean confirmOrderFromBank(String tradeNo, Integer SXB010Status) {
@@ -493,11 +504,10 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
         TbOrder tbOrder = tbOrderList.get(0);
 
         // TODO: 2023/8/29 更新状态保存交易记录
-        if(2==SXB010Status) {//扣款失败
+        if (2 == SXB010Status) {//扣款失败
             tbOrder.setSxb010Status(2)
                     .setSxb010StatusTime(new Date());
-        }
-        else if(1==SXB010Status) {//扣款成功
+        } else if (1 == SXB010Status) {//扣款成功
             tbOrder.setSxb010Status(1)
                     .setSxb010StatusTime(new Date());
 
@@ -560,7 +570,7 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
         wrapper.set(TbOrder::getUpdateTime, new Date());
 
         //测试用,跳过银行接口
-       // wrapper.set(TbOrder::getFinishStatus, FinishStatus.FINISH_STATUS_ONE.getCode());//已完成->完成后可以进行转售
+        // wrapper.set(TbOrder::getFinishStatus, FinishStatus.FINISH_STATUS_ONE.getCode());//已完成->完成后可以进行转售
         wrapper.set(TbOrder::getFinishTime, new Date());
 
         wrapper.eq(TbOrder::getId, orderId);
@@ -577,14 +587,14 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
     /**
      * 发送009信息到航通
      */
-    private void sendConfirmMsgToHt(TbOrder tbOrder)  {
+    private void sendConfirmMsgToHt(TbOrder tbOrder) {
         TbPeople tbPeople = tbPeopleService.getById(tbOrder.getBuyUserId());
         PeopleConfirmDTO peopleConfirmDTO = new PeopleConfirmDTO();
         peopleConfirmDTO.setBorderName(tbOrder.getBuyUserName());
         peopleConfirmDTO.setIdno(tbPeople.getIdCard());
         peopleConfirmDTO.setSettleBillNo(tbOrder.getSettleBillNo());
         peopleConfirmDTO.setPreIeportNo(tbOrder.getPreIeportNo());
-        log.info("sendConfirmMsgToHt:{}",JSONUtil.toJsonStr(peopleConfirmDTO));
+        log.info("sendConfirmMsgToHt:{}", JSONUtil.toJsonStr(peopleConfirmDTO));
         FeignFactory.asyncServerInterface.sendConfirm(peopleConfirmDTO);
     }
 
@@ -603,7 +613,7 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
         List<TbOrder> declareList2 = orderList.stream().filter(item -> !"1".equals(item.getDeclareType()) &&
                 (item.getPeopleConfirmStatus() == 0 || item.getCooperEntrustStatus() == 0 || item.getApplyConfirmStatus() == 0)).collect(Collectors.toList());
         if (declareList2.size() > 0) {
-            if(1 == cooper_entrust) {
+            if (1 == cooper_entrust) {
                 List<Long> removeList = new ArrayList<>();
                 declareList2.forEach(item -> {
                     TbImportOrder importOrder = tbImportOrderMapper.selectById(item.getImportOrderId());
@@ -630,6 +640,7 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
 
     /**
      * 根据购买者ID查询
+     *
      * @param buyUserId
      * @return
      */
@@ -646,11 +657,11 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
      */
     public boolean orderRefund(Long id) {
         TbOrder order = getById(id);
-        if(order.getPeopleConfirmStatus() != 1 || order.getSxb010Status() != 1 || order.getFinishStatus() == 1 || order.getRefundStatus() != 0)
+        if (order.getPeopleConfirmStatus() != 1 || order.getSxb010Status() != 1 || order.getFinishStatus() == 1 || order.getRefundStatus() != 0)
             throw new ServiceException("当前订单状态已改变,不可做退款操作,请刷新后操作!");
 
         PaymentDto paymentDto = this.getPaymentData(order);
-        StaticLog.info("\nsendSXB013(边民退货退款)——PaymentDto——:{}",JSONUtil.toJsonStr(paymentDto));
+        StaticLog.info("\nsendSXB013(边民退货退款)——PaymentDto——:{}", JSONUtil.toJsonStr(paymentDto));
         paymentServerInterface.sendSXB013(paymentDto);
 
         LambdaUpdateWrapper<TbOrder> updateWrapper = new LambdaUpdateWrapper<>();
@@ -678,7 +689,7 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
         // TODO: 2023/11/27 查验不通过,车辆不通过卡3,调用银行退款划扣申请,从银行第三方账户,退回至边民借记卡账户
         tbOrderList.forEach(order -> {
             PaymentDto paymentDto = this.getPaymentData(order);
-            StaticLog.info("\nsendSXB013(进出口申报单退单)——PaymentDto——:{}",JSONUtil.toJsonStr(paymentDto));
+            StaticLog.info("\nsendSXB013(进出口申报单退单)——PaymentDto——:{}", JSONUtil.toJsonStr(paymentDto));
             paymentServerInterface.sendSXB013(paymentDto);
         });
 
@@ -702,6 +713,7 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
 
         return update && update1;
     }
+
     //收到银行退款回执——SXB014——SXB015
     public boolean chargebackFromBank(String tradeNo, Integer SXB013Status, String note) {
         LambdaQueryWrapper<TbOrder> wrapper = new LambdaQueryWrapper<>();
@@ -712,10 +724,9 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
         }
         TbOrder tbOrder = tbOrderList.get(0);
 
-        if(2==SXB013Status) {//退款失败
+        if (2 == SXB013Status) {//退款失败
             tbOrder.setRefundStatus(2).setRefundReason(note).setRefundTime(new Date());
-        }
-        else if(1==SXB013Status) {//退款成功
+        } else if (1 == SXB013Status) {//退款成功
             tbOrder.setRefundStatus(1).setRefundReason(note).setRefundTime(new Date());
         }
         return updateById(tbOrder);
@@ -745,7 +756,7 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
             paymentDto.setTradeNo(tbOrder.getTradeNo());
             paymentDto.setDeclTime(htPassCardDTO.getCheckTime());
             paymentDto.setFieldCode(area.getCode());
-            StaticLog.info("\nsendCXB001——PaymentDto——:{}",JSONUtil.toJsonStr(paymentDto));
+            StaticLog.info("\nsendCXB001——PaymentDto——:{}", JSONUtil.toJsonStr(paymentDto));
             paymentServerInterface.sendCXB001(paymentDto);
         }
         //this.updateBatchById(tbOrders);
@@ -757,11 +768,12 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
         paymentDto2.setVoyageNo(htPassCardDTO.getManifestId());
         paymentDto2.setVeNo(tbOrders.get(0).getVeNo());
         paymentDto2.setFieldCode(area.getCode());
-        StaticLog.info("\nsendSXB023——PaymentDto——:{}",JSONUtil.toJsonStr(paymentDto2));
+        StaticLog.info("\nsendSXB023——PaymentDto——:{}", JSONUtil.toJsonStr(paymentDto2));
         paymentServerInterface.sendSXB023(paymentDto2);
 
         return true;
     }
+
     // TODO: 收到(一级市场-通车批信息)银行订单打款回执, tradeNos:订单号 n个——SXB017——SXB018
     public boolean orderFinishFromBank(String tradeNos, Integer SXB023Status) {
         String[] tradeNoArr = tradeNos.split(",");
@@ -775,7 +787,7 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
         }
 
         // 更新状态保存交易记录
-        if(2==SXB023Status) {
+        if (2 == SXB023Status) {
             tbOrderList.forEach(order -> {
                 order.setTradeStatus(TradeStatus.TRADE_STATUS_Two.getCode()); //支付失败
                 order.setTradeTime(new Date()); //支付回执时间
@@ -783,7 +795,7 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
 
                 boolean result = updateById(order);
             });
-        } else if(1==SXB023Status) {
+        } else if (1 == SXB023Status) {
             //更新结算单状态
             Long settleId = tbOrderList.get(0).getSaleMainId();
             HtTradeSettlement htTradeSettlement = htTradeSettlementService.getById(settleId);
@@ -871,12 +883,20 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
      * 远程调用 根据订单Id修改状态:在二级市场被下单[0=未被下单,1=已被下单]
      */
     public boolean updateBeingOrder(Long levelOneOrderId) {
-        TbOrder tbOrder = new TbOrder();
-        tbOrder.setId(levelOneOrderId);
+        TbOrder tbOrder = this.getById(levelOneOrderId);
+        if (tbOrder == null) {
+            return false;
+        }
         tbOrder.setBeingOrder(1);
         int i = tbOrderMapper.updateById(tbOrder);
         if (1 != i) System.out.println("远程调用:根据订单Id修改状态(当前订单在二级市场被下单)失败!!!!!!");
-
+        HtTradeSettlement htTradeSettlement = htTradeSettlementService.getById(tbOrder.getSaleMainId());
+        if (htTradeSettlement == null) {
+            return false;
+        }
+        Integer orderCount = htTradeSettlement.getOrderCount();
+        htTradeSettlement.setBeOrderCount((orderCount == null ? 0 : orderCount) + 1);
+        htTradeSettlementService.updateById(htTradeSettlement);
         return true;
     }
 
@@ -891,14 +911,32 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
     }
 
     public void down(Long id) {
-        TbOrder db=getById(id);
-        if (db==null){
+        TbOrder db = getById(id);
+        if (db == null) {
             throw new AjaxError("该订单不存在");
         }
-        if (db.getBeingOrder()==1) {
+        if (db.getBeingOrder() == 1) {
             throw new AjaxError("该订单在二级市场被下单,无法下架");
         }
         db.setUpStatus(1);
         this.updateById(db);
     }
+
+    public List<OrderDto> getOrderListByMainIds(String mainIds) {
+        List<Long> idList = Arrays.stream(mainIds.split(",")).mapToLong(Long::parseLong).boxed().collect(Collectors.toList());
+        QueryWrapper<TbOrder>ew=new QueryWrapper<>();
+        ew.in("sale_main_id",idList);
+        List<TbOrder>list=list(ew);
+        List<OrderDto>dtos=new ArrayList<>();
+        for (TbOrder tbOrder : list) {
+            OrderDto orderDto=new OrderDto();
+            BeanUtils.copyProperties(tbOrder,orderDto);
+            dtos.add(orderDto);
+        }
+        return dtos;
+    }
+
+    public List<TbOrder> getOnSaleList(SoMap so) {
+        return tbOrderMapper.getOnSaleList(so);
+    }
 }

+ 8 - 0
sp-service/level-two-server/src/main/java/com/pj/tb_orders/TbOrders.java

@@ -36,6 +36,7 @@ public class TbOrders extends Model<TbOrders> implements Serializable {
 	public static final String PERMISSION_CODE_ADD = "tb-orders-add";
 	public static final String PERMISSION_CODE_EDIT = "tb-orders-edit";
 	public static final String PERMISSION_CODE_DEL = "tb-orders-del";
+	public static final String PERMISSION_CODE_EDIT_PRICE = "tb-order-edit-price";
 
 
 
@@ -244,4 +245,11 @@ public class TbOrders extends Model<TbOrders> implements Serializable {
 	 * 缴税缴费时间
 	 */
 	private Date payTaxTime;
+
+	private String bankName;
+	private String bankAccount;
+	private String goodsUnit;
+	private String netWet;
+	private String totalWeight;
+	private String singlePrice;
 }

+ 211 - 121
sp-service/level-two-server/src/main/java/com/pj/tb_orders/TbOrdersApiController.java

@@ -1,9 +1,13 @@
 package com.pj.tb_orders;
 
 import cn.dev33.satoken.annotation.SaCheckPermission;
+import com.pj.api.consts.FeignFactory;
 import com.pj.api.dto.OrderDto;
+import com.pj.current.dto.APPLoginUserInfo;
+import com.pj.current.satoken.StpAPPUserUtil;
 import com.pj.project4sp.SP;
 import com.pj.tb_goods_demand.vo.GoodsDemandVo;
+import com.pj.tb_orders.vo.OrderStaticsDTO;
 import com.pj.utils.sg.AjaxJson;
 import com.pj.utils.so.SoMap;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -14,161 +18,247 @@ import org.springframework.web.bind.annotation.RestController;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.stream.Collectors;
 
 
 /**
  * Controller: tb_orders -- 订单表
+ *
  * @author qzy
  */
 @RestController
 @RequestMapping("/app/TbOrders/")
 public class TbOrdersApiController {
 
-	/** 底层 Service 对象 */
-	@Autowired
-	TbOrdersService tbOrdersService;
-	@Autowired
-	private MethodOrdersService methodOrdersService;
-
-	/** 增 */
-	@RequestMapping("add")
-	public AjaxJson add(GoodsDemandVo t){
-		return AjaxJson.toAjax(tbOrdersService.addByDetail(t));
-	}
-
-	/** 删 */
-	@RequestMapping("delete")
-	public AjaxJson delete(Long id){
-		 tbOrdersService.delete(id);
-		return AjaxJson.getSuccess();
-	}
-
-	/** 删 - 根据id列表 */
-	@RequestMapping("deleteByIds")
-	public AjaxJson deleteByIds(){
-		List<Long> ids = SoMap.getRequestSoMap().getListByComma("ids", long.class);
-		int line = SP.publicMapper.deleteByIds(TbOrders.TABLE_NAME, ids);
-		return AjaxJson.getByLine(line);
-	}
-
-	/** 改 收购商购买*/
-	@RequestMapping("purchaserBuy")
-	public AjaxJson purchaserBuy(){
-		SoMap so = SoMap.getRequestSoMap();
-		return AjaxJson.toAjax(tbOrdersService.purchaserBuy(so));
-	}
+    /**
+     * 底层 Service 对象
+     */
+    @Autowired
+    TbOrdersService tbOrdersService;
+
+
+    /**
+     * 增
+     */
+    @RequestMapping("add")
+    public AjaxJson add(GoodsDemandVo t) {
+        return AjaxJson.toAjax(tbOrdersService.addByDetail(t));
+    }
+
+    /**
+     * 删
+     */
+    @RequestMapping("delete")
+    public AjaxJson delete(Long id) {
+        tbOrdersService.delete(id);
+        return AjaxJson.getSuccess();
+    }
+
+    /**
+     * 删 - 根据id列表
+     */
+    @RequestMapping("deleteByIds")
+    public AjaxJson deleteByIds() {
+        List<Long> ids = SoMap.getRequestSoMap().getListByComma("ids", long.class);
+        int line = SP.publicMapper.deleteByIds(TbOrders.TABLE_NAME, ids);
+        return AjaxJson.getByLine(line);
+    }
 
-	/** 新增 边民缴税以及各服务费*/
+    /**
+     * 改 收购商购买
+     */
+    @RequestMapping("purchaserBuy")
+    public AjaxJson purchaserBuy() {
+        SoMap so = SoMap.getRequestSoMap();
+        String orderIds = so.getString("ids");
+        // 获取app登录用户
+        APPLoginUserInfo appLoginInfo = StpAPPUserUtil.getAPPLoginInfo();
+        return AjaxJson.toAjax(tbOrdersService.purchaserBuy(orderIds, appLoginInfo.getFk()));
+    }
+
+    @RequestMapping("purchaserBuyOneLevelOrder")
+    public AjaxJson purchaserBuyOneLevelOrder() {
+        List<Long> ids = SoMap.getRequestSoMap().getListByComma("ids", long.class);
+        List<TbOrders>  orders=  tbOrdersService.findByLevelOneOrderIds(ids);
+        String orderIds = orders.stream().map(obj -> obj.getId() + "").collect(Collectors.joining(","));
+        // 获取app登录用户
+        APPLoginUserInfo appLoginInfo = StpAPPUserUtil.getAPPLoginInfo();
+        return AjaxJson.toAjax(tbOrdersService.purchaserBuy(orderIds, appLoginInfo.getFk()));
+    }
+
+    /**
+     * 采购商整车购买
+     *
+     * @return
+     */
+    @RequestMapping("purchaserBuyWhole")
+    public AjaxJson purchaserBuyWhole() {
+        SoMap so = SoMap.getRequestSoMap();
+        String ids = so.getString("ids");
+        List<OrderDto> orderDtos = FeignFactory.levelOneServerInterface.getOrderListByMainIds(ids);
+        List<Long> leveloneOrderIds = orderDtos.stream().map(OrderDto::getId).collect(Collectors.toList());
+        List<TbOrders> orders = tbOrdersService.findByLevelOneOrderIds(leveloneOrderIds);
+        String orderIds = orders.stream().map(obj -> obj.getId() + "").collect(Collectors.joining(","));
+        APPLoginUserInfo appLoginInfo = StpAPPUserUtil.getAPPLoginInfo();
+        return AjaxJson.toAjax(tbOrdersService.purchaserBuy(orderIds, appLoginInfo.getFk()));
+    }
+
+    /** 新增 边民缴税以及各服务费*/
 	/*@RequestMapping("payTax")
 	public AjaxJson payTax(){
 		SoMap so = SoMap.getRequestSoMap();
 		return AjaxJson.toAjax(tbOrdersService.payTax(so));
 	}*/
 
-	/** 查集合 - 查二级市场订单(未被购买的订单) */
-	@RequestMapping("getLevelTwoList")
-	public AjaxJson getLevelTwoList() {
-		SoMap so = SoMap.getRequestSoMap();
-		List<TbOrders> list = tbOrdersService.getLevelTwoList(so);
-		return AjaxJson.getPageData(so.getDataCount(), list);
-	}
-
-	/** 二级市场订单 组长/边民角色入口*/
-	@RequestMapping("getLeaderOrderList")
-	public AjaxJson getLeaderOrderList() {
-		SoMap so = SoMap.getRequestSoMap();
-		List<TbOrders> list = tbOrdersService.getLeaderOrderList(so.startPage());
-		return AjaxJson.getPageData(so.getDataCount(), list);
-	}
+    /**
+     * 查集合 - 查二级市场订单(未被购买的订单)
+     */
+    @RequestMapping("getLevelTwoList")
+    public AjaxJson getLevelTwoList() {
+        SoMap so = SoMap.getRequestSoMap();
+        List<TbOrders> list = tbOrdersService.getLevelTwoList(so.startPage());
+        return AjaxJson.getPageData(so.getDataCount(), list);
+    }
 
-	/** 二级市场订单 收购商角色入口*/
-	@RequestMapping("getPurchaserOrderList")
-	public AjaxJson getPurchaserOrderList() {
-		SoMap so = SoMap.getRequestSoMap();
-		List<TbOrders> list = tbOrdersService.getPurchaserOrderList(so.startPage());
-		return AjaxJson.getPageData(so.getDataCount(), list);
-	}
+    /**
+     * 获取在售订单
+     * @return
+     */
+  @RequestMapping("getOnSaleList")
+    public AjaxJson getOnSaleList() {
+        SoMap so = SoMap.getRequestSoMap();
+        List<TbOrders> list = tbOrdersService.getOnSaleList(so.startPage());
+        return AjaxJson.getPageData(so.getDataCount(), list);
+    }
 
+    /**
+     * 二级市场订单 组长/边民角色入口
+     */
+    @RequestMapping("getLeaderOrderList")
+    public AjaxJson getLeaderOrderList() {
+        SoMap so = SoMap.getRequestSoMap();
+        List<TbOrders> list = tbOrdersService.getLeaderOrderList(so.startPage());
+        return AjaxJson.getPageData(so.getDataCount(), list);
+    }
 
-	/** 改 - 收购商确认收货 */
-	@RequestMapping("toDelivery")
-	public AjaxJson toDelivery(TbOrders t){
-		return AjaxJson.toAjax(tbOrdersService.updateById(t));
-	}
+    /**
+     * 二级市场订单 收购商角色入口
+     */
+    @RequestMapping("getPurchaserOrderList")
+    public AjaxJson getPurchaserOrderList() {
+        SoMap so = SoMap.getRequestSoMap();
+        so.put("purchaserId", StpAPPUserUtil.getAPPLoginInfo().getFk());
+        List<TbOrders> list = tbOrdersService.getPurchaserOrderList(so.startPage());
+        return AjaxJson.getPageData(so.getDataCount(), list);
+    }
 
-	/** 改 - 删除状态(0=禁用,1=启用) */
-	@RequestMapping("updateDeleteStatus")
-//	@SaCheckPermission(TbOrders.PERMISSION_CODE_EDIT)
-	public AjaxJson updateDeleteStatus(Long id, Integer value){
-		int line = SP.publicMapper.updateColumnById(TbOrders.TABLE_NAME, "delete_status", value, id);
-		return AjaxJson.getByLine(line);
-	}
+    @RequestMapping("getPurchaserStatistics")
+    public AjaxJson getPurchaserStatistics() {
+        SoMap so = SoMap.getRequestSoMap();
+        APPLoginUserInfo appLoginInfo = StpAPPUserUtil.getAPPLoginInfo();
+        so.put("purchaserId",appLoginInfo.getFk());
+        List<OrderStaticsDTO> list = tbOrdersService.getPurchaserStatistics(so.startPage());
+        return AjaxJson.getPageData(so.getDataCount(), list);
+    }
 
 
-	/** 增 一级市场已完成订单进行转售时,新增二级市场订单 */
-	@RequestMapping("addOrderByResale")
-	public AjaxJson  addOrderByResale() {
-		SoMap so = SoMap.getRequestSoMap();
-		return AjaxJson.toAjax(tbOrdersService.addOrderByResale(so));
-	}
+    /**
+     * 改 - 收购商确认收货
+     */
+    @RequestMapping("toDelivery")
+    public AjaxJson toDelivery(TbOrders t) {
+        return AjaxJson.toAjax(tbOrdersService.updateById(t));
+    }
 
-	/** 计算 订单转售时,计算当前订单费项总和 */
-	@RequestMapping("countPrice")
-	public AjaxJson countPrice() {
-		SoMap so = SoMap.getRequestSoMap();
-		return AjaxJson.getSuccessData(tbOrdersService.countPrice(so));
-	}
+    /**
+     * 改 - 删除状态(0=禁用,1=启用)
+     */
+    @RequestMapping("updateDeleteStatus")
+//	@SaCheckPermission(TbOrders.PERMISSION_CODE_EDIT)
+    public AjaxJson updateDeleteStatus(Long id, Integer value) {
+        int line = SP.publicMapper.updateColumnById(TbOrders.TABLE_NAME, "delete_status", value, id);
+        return AjaxJson.getByLine(line);
+    }
 
-	/** 查 根据订单Id查订单详情 */
-	@RequestMapping("getDetailById")
-	public AjaxJson getDetailById() {
-		SoMap so = SoMap.getRequestSoMap();
-		List<TbOrders> list = tbOrdersService.getDetailById(so);
-		return AjaxJson.getSuccessData(list);
-	}
 
-	/** 根据一级市场id查询二级市场订单 */
-	@RequestMapping("getByLevelOneOrderId")
-	public AjaxJson getByLevelOneOrderId() {
-		SoMap so = SoMap.getRequestSoMap();
-		return AjaxJson.getSuccessData(tbOrdersService.getByLevelOneOrderId(so));
-	}
+    /**
+     * 增 一级市场已完成订单进行转售时,新增二级市场订单
+     */
+    @RequestMapping("addOrderByResale")
+    public AjaxJson addOrderByResale() {
+        if (!StpAPPUserUtil.isLogin()) {
+            return AjaxJson.getError("请先登录");
+        }
+        SoMap so = SoMap.getRequestSoMap();
+        return AjaxJson.toAjax(tbOrdersService.addOrderByResale(so));
+    }
 
-	/**
-	 * 修改转售金额
-	 */
-	@RequestMapping("updateResalePrice")
-	public AjaxJson updateResalePrice(TbOrders tbOrders) {
-		return AjaxJson.toAjax(tbOrdersService.updateResalePrice(tbOrders));
-	}
 
+    /**
+     * 计算 订单转售时,计算当前订单费项总和
+     */
+    @RequestMapping("countPrice")
+    public AjaxJson countPrice() {
+        SoMap so = SoMap.getRequestSoMap();
+        return AjaxJson.getSuccessData(tbOrdersService.countPrice(so));
+    }
 
+    /**
+     * 查 根据订单Id查订单详情
+     */
+    @RequestMapping("getDetailById")
+    public AjaxJson getDetailById() {
+        SoMap so = SoMap.getRequestSoMap();
+        List<TbOrders> list = tbOrdersService.getDetailById(so);
+        return AjaxJson.getSuccessData(list);
+    }
 
+    /**
+     * 根据一级市场id查询二级市场订单
+     */
+    @RequestMapping("getByLevelOneOrderId")
+    public AjaxJson getByLevelOneOrderId() {
+        SoMap so = SoMap.getRequestSoMap();
+        return AjaxJson.getSuccessData(tbOrdersService.getByLevelOneOrderId(so));
+    }
 
+    /**
+     * 修改转售金额
+     */
+    @RequestMapping("updateResalePrice")
+    public AjaxJson updateResalePrice(TbOrders tbOrders) {
+        return AjaxJson.toAjax(tbOrdersService.updateResalePrice(tbOrders));
+    }
 
 
+    /**
+     * 查 - 根据一级市场订单id查二级市场的转售金额
+     */
+    @RequestMapping("rpc/getResalePriceByLevelOneOrderId")
+    public Double getResalePriceByLevelOneOrderId(@RequestParam("orderId") Long orderId) {
+        SoMap so = new SoMap();
+        so.put("levelOneOrderId", orderId);
+        TbOrders orders = tbOrdersService.getByLevelOneOrderId(so);
+        Double resalePrice = orders.getResalePrice();
+        return resalePrice;
+    }
 
-	/** 查 - 根据一级市场订单id查二级市场的转售金额 */
-	@RequestMapping("rpc/getResalePriceByLevelOneOrderId")
-	public Double getResalePriceByLevelOneOrderId(@RequestParam("orderId") Long orderId){
-		SoMap so = new SoMap();
-		so.put("levelOneOrderId",orderId);
-		TbOrders orders = tbOrdersService.getByLevelOneOrderId(so);
-		Double resalePrice = orders.getResalePrice();
-		return resalePrice;
-	}
+    /**
+     * 采购商支付成功 ——> 边民缴税以及各服务费
+     */
+    @PostMapping("rpc/payTax")
+    public boolean payTax(@RequestParam("orderNo") String orderNo, @RequestParam("MKT008Status") Integer MKT008Status) {
+        boolean result = tbOrdersService.payTax(orderNo, MKT008Status);
+        return result;
+    }
 
-	/** 采购商支付成功 ——> 边民缴税以及各服务费 */
-	@PostMapping("rpc/payTax")
-	public boolean payTax(@RequestParam("orderNo")String orderNo, @RequestParam("MKT008Status")Integer MKT008Status) {
-		boolean result = tbOrdersService.payTax(orderNo, MKT008Status);
-		return result;
-	}
-	/** 收到边民缴税以及各服务费回执 */
-	@PostMapping("rpc/payTaxFromBank")
-	public boolean payTaxFromBank(@RequestParam("orderNo")String orderNo, @RequestParam("MKT008Status")Integer MKT008Status) {
-		boolean result = tbOrdersService.payTaxFromBank(orderNo, MKT008Status);
-		return result;
-	}
+    /**
+     * 收到边民缴税以及各服务费回执
+     */
+    @PostMapping("rpc/payTaxFromBank")
+    public boolean payTaxFromBank(@RequestParam("orderNo") String orderNo, @RequestParam("MKT008Status") Integer MKT008Status) {
+        boolean result = tbOrdersService.payTaxFromBank(orderNo, MKT008Status);
+        return result;
+    }
 
 }

+ 31 - 10
sp-service/level-two-server/src/main/java/com/pj/tb_orders/TbOrdersController.java

@@ -71,21 +71,30 @@ public class TbOrdersController {
     }
 
     @RequestMapping("addOrderByResale")
-    public AjaxJson addOrderByResale() {
-        SoMap so = SoMap.getRequestSoMap();
-        OrderDto orderDto =  FeignFactory.levelOneServerInterface.getOrderDtoById(so.getLong("id"));
-        if (null == orderDto) throw new RuntimeException("当前一级市场订单为空,请联系管理员!");
+    @SaCheckPermission(TbOrders.PERMISSION_CODE_EDIT_PRICE)
+    public AjaxJson addOrderByResale(Long id ) {
+        OrderDto orderDto = FeignFactory.levelOneServerInterface.getOrderDtoById(id);
+        if (null == orderDto) throw new AjaxError("转售失败,请联系管理员!");
 
         //获取app登录用户
-
+        TbOrders db=tbOrdersService.findByLevelOneOrderId(id);
+        if (db!=null){
+            throw new AjaxError(orderDto.getTradeNo()+"已转售,请联系管理员处理");
+        }
         TbOrders orders = new TbOrders();
-        orders.setResalePrice(so.getDouble("resalePrice"));
-        orders.setLevelOneOrderId(so.getLong("id"));
+        orders.setResalePrice(orderDto.getUpPrice().doubleValue());
+        orders.setLevelOneOrderId(id);
         orders.setGoodsId(orderDto.getGoodsId());
         orders.setGoodsName(orderDto.getGoodsNames());
         orders.setTradeAreaName(orderDto.getTradeAreaName());
         orders.setTradeAreaId(orderDto.getTradeAreaId());
-        orders.setVeNo(orderDto.getVeNo());
+        orders.setVeNo(orderDto.getVeNo())
+                .setGoodsUnit(orderDto.getGoodsUnit())
+                .setNetWet(orderDto.getNetWt()+"")
+                .setTotalWeight(orderDto.getTotalWeight()+"")
+                .setSinglePrice(orders.getSinglePrice())
+        ;
+
         //订单编号:EJSCDD=二级市场订单
         orders.setOrderNo(SystemObject.getREFcode("EJSCDD", new Date()));
         //订单完成状态 (0=未完成,1=已完成)
@@ -99,7 +108,7 @@ public class TbOrdersController {
         orders.setLeaderName(people.getName());
         orders.setLeaderPhone(people.getPhone());
         //创建人
-        PCLoginUserInfo pcLoginUserInfo=StpUserUtil.getPCLoginInfo();
+        PCLoginUserInfo pcLoginUserInfo = StpUserUtil.getPCLoginInfo();
         orders.setCreateBy(Long.parseLong(pcLoginUserInfo.getLoginId()));
         orders.setCreateName(pcLoginUserInfo.getLoginName());
         orders.setCreateTime(new Date());
@@ -107,12 +116,24 @@ public class TbOrdersController {
         this.add(orders);
 
         //修改一级市场边民订单转售状态为已转售
-        boolean b =  FeignFactory.levelOneServerInterface.updateResaleStatus(so.getLong("id"));
+        boolean b = FeignFactory.levelOneServerInterface.updateResaleStatus(id);
         if (!b) throw new RuntimeException("修改一级市场边民订单转售状态为已转售失败!");
 
         return AjaxJson.getSuccess();
     }
 
+
+
+    @RequestMapping("addOrderByResaleBatch")
+    @SaCheckPermission(TbOrders.PERMISSION_CODE_EDIT_PRICE)
+    public AjaxJson addOrderByResaleBatch() {
+        List<Long> ids = SoMap.getRequestSoMap().getListByComma("ids", long.class);
+        for (Long id : ids) {
+            this.addOrderByResale(id);
+        }
+        return AjaxJson.getSuccess();
+    }
+
     /**
      * 改
      */

+ 5 - 0
sp-service/level-two-server/src/main/java/com/pj/tb_orders/TbOrdersMapper.java

@@ -3,6 +3,7 @@ package com.pj.tb_orders;
 import java.util.List;
 import java.util.Map;
 
+import com.pj.tb_orders.vo.OrderStaticsDTO;
 import org.apache.ibatis.annotations.Mapper;
 
 import com.pj.utils.so.*;
@@ -39,4 +40,8 @@ public interface TbOrdersMapper extends BaseMapper <TbOrders> {
 	List<Map<String, Object>> selectYear();
 
 	Map<String, Object> totalMoney(@Param("tradeAreaId") Long tradeAreaId);
+
+    List<TbOrders> getOnSaleList(SoMap so);
+
+	List<OrderStaticsDTO> getPurchaserStatistics(SoMap so);
 }

+ 38 - 1
sp-service/level-two-server/src/main/java/com/pj/tb_orders/TbOrdersMapper.xml

@@ -35,7 +35,7 @@
 			<if test=' this.has("driverName") '> and driver_name = #{driverName} </if>
 			<if test=' this.has("driverPhone") '> and driver_phone = #{driverPhone} </if>
 			<if test=' this.has("carId") '> and car_id = #{carId} </if>
-			<if test=' this.has("veNo") '> and ve_no = #{veNo} </if>
+			<if test=' this.has("veNo") '> and ve_no like concat('%', #{veNo},'%') </if>
 			<if test=' this.has("consigneeName") '> and consignee_name = #{consigneeName} </if>
 			<if test=' this.has("consigneePhone") '> and consignee_phone = #{consigneePhone} </if>
 			<if test=' this.has("declarationNumber") '> and declaration_number = #{declarationNumber} </if>
@@ -53,10 +53,13 @@
 			<if test=' this.has("tradeAreaId") '> and trade_area_id = #{tradeAreaId} </if>
 			<if test=' this.has("tradeAreaName") '> and trade_area_name = #{tradeAreaName} </if>
 			<if test=' this.has("leaderId") '> and leader_id = #{leaderId} </if>
+			<if test=' this.has("leaderName") '> and leader_name like concat('%',#{leaderName},'%')  </if>
 			<if test=' this.has("fkGoodsDemandId") '> and fk_goods_demand_id = #{fkGoodsDemandId} </if>
 			<if test=' this.has("isDelivery") '> and is_delivery = #{isDelivery} </if>
 			<if test=' this.has("isPay") '> and is_pay = #{isPay} </if>
 			<if test=' this.has("payTax") '> and pay_tax = #{payTax} </if>
+			<if test=' this.has("dateBegin") '>and date_format(create_time,'%Y-%m-%d') &gt;=#{dateBegin}</if>
+			<if test=' this.has("dateEnd") '>and date_format(create_time,'%Y-%m-%d') &lt;=#{dateEnd}</if>
 		</where>
 		order by
 		<choose>
@@ -143,5 +146,39 @@
 		ORDER BY
 			months.month
 	</select>
+    <select id="getOnSaleList" resultType="com.pj.tb_orders.TbOrders">
+		select * from tb_orders
+		where purchaser_id is null and purchaser_name is  null
+		<if test=' this.has("veNo") '>and ve_no like concat('%',#{veNo},'%')</if>
+		<if test=' this.has("productName") '>and goods_names like concat('%',#{productName},'%')</if>
+		<if test=' this.has("dateBegin") '>and date_format(create_time,'%Y-%m-%d') &gt;=#{dateBegin}</if>
+		<if test=' this.has("dateEnd") '>and date_format(create_time,'%Y-%m-%d') &lt;=#{dateEnd}</if>
+		order by create_time desc
+	</select>
+	<select id="getPurchaserStatistics" resultType="com.pj.tb_orders.vo.OrderStaticsDTO">
+	select * from (
+		SELECT
+			count( id ) as totalCount,
+			SUM( net_wet ) as totalNet,
+			SUM( total_weight ) as totalWeight,
+			SUM( resale_price ) as totalPrice,
+			purchaser_id as purchaserId,
+		DATE_FORMAT(create_time,'%Y-%m-%d') as staticsDate
+		FROM
+			tb_orders
+		WHERE
+			purchaser_id =#{purchaserId}
+		<if test=' this.has("veNo") '>and ve_no like concat('%',#{veNo},'%')</if>
+		<if test=' this.has("productName") '>and goods_names like concat('%',#{productName},'%')</if>
+		<if test=' this.has("dateBegin") '>and date_format(create_time,'%Y-%m-%d') &gt;=#{dateBegin}</if>
+		<if test=' this.has("dateEnd") '>and date_format(create_time,'%Y-%m-%d') &lt;=#{dateEnd}</if>
+		<if test=' this.has("isPay") '> and is_pay = #{isPay} </if>
+		<if test=' this.has("goodsName") '> and goods_name like concat('%',#{goodsName},'%') </if>
+		<if test=' this.has("leaderName") '> and leader_name like concat('%',#{leaderName},'%')  </if>
+		GROUP BY
+		purchaser_id,DATE_FORMAT(create_time,'%Y-%m-%d')) as tmp
+		ORDER BY staticsDate desc
+
+	</select>
 
 </mapper>

+ 31 - 11
sp-service/level-two-server/src/main/java/com/pj/tb_orders/TbOrdersService.java

@@ -34,6 +34,7 @@ import com.pj.tb_item_rules.TbItemRules;
 import com.pj.tb_item_rules.TbItemRulesService;
 import com.pj.tb_orders.vo.OrderFeeItemVO;
 import com.pj.tb_item_rules.TbItemRulesVo;
+import com.pj.tb_orders.vo.OrderStaticsDTO;
 import com.pj.tb_orders_cart.TbOrdersCart;
 import com.pj.tb_orders_cart.TbOrdersCartMapper;
 import com.pj.tb_purchaser.TbPurchaser;
@@ -153,15 +154,12 @@ public class TbOrdersService extends ServiceImpl<TbOrdersMapper, TbOrders> imple
     /**
      * 改 收购商购买
      */
-    boolean purchaserBuy(SoMap so) {
-        // 获取app登录用户
-        APPLoginUserInfo appLoginInfo = StpAPPUserUtil.getAPPLoginInfo();
+    boolean purchaserBuy(String idStr,Long purchaserId) {
+
         // 获取收购商ID与名称
-        TbPurchaser purchaser = tbPurchaserMapper.selectById(appLoginInfo.getFk());
+        TbPurchaser purchaser = tbPurchaserMapper.selectById(purchaserId);
         if (null == purchaser) throw new RuntimeException("当前收购商账号异常,请重新登录或联系管理员!");
 
-        String idStr = so.getString("ids");
-        if (StringUtils.isEmpty(idStr)) throw new RuntimeException("当前购买操作异常,请重新登录或联系管理员!");
         Long[] idArr = Convert.toLongArray(idStr);
 
         TbOrders orders = new TbOrders();
@@ -394,12 +392,9 @@ public class TbOrdersService extends ServiceImpl<TbOrdersMapper, TbOrders> imple
      */
     List<TbOrders> getPurchaserOrderList(SoMap so) {
         // 收购商id
-        so.put("purchaserId", StpAPPUserUtil.getAPPLoginInfo().getFk());
         so.put("sortType", 22);
         so.put("deleteStatus", DeleteStatus.DELETE_STATUS_ON.getCode());
-        List<TbOrders> orderList = tbOrdersMapper.getList(so);
-
-        return orderList;
+        return tbOrdersMapper.getList(so);
     }
 
     /**
@@ -446,7 +441,11 @@ public class TbOrdersService extends ServiceImpl<TbOrdersMapper, TbOrders> imple
         orders.setCreateBy(appLoginInfo.getLoginId());
         orders.setCreateName(appLoginInfo.getLoginName());
         orders.setCreateTime(new Date());
-
+        orders.setVeNo(orderDto.getVeNo())
+                .setGoodsUnit(orderDto.getGoodsUnit())
+                .setNetWet(orderDto.getNetWt()+"")
+                .setTotalWeight(orderDto.getTotalWeight()+"")
+                .setSinglePrice(orders.getSinglePrice());
         this.add(orders);
 
         //修改一级市场边民订单转售状态为已转售
@@ -613,4 +612,25 @@ public class TbOrdersService extends ServiceImpl<TbOrdersMapper, TbOrders> imple
     public Map<String, Object> totalMoney(Long tradeAreaId){
         return tbOrdersMapper.totalMoney(tradeAreaId);
     }
+
+    public TbOrders findByLevelOneOrderId(Long levelOneOrderId) {
+        LambdaQueryWrapper<TbOrders> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(TbOrders::getLevelOneOrderId, levelOneOrderId);
+        return tbOrdersMapper.selectOne(wrapper);
+    }
+
+    public List<TbOrders> findByLevelOneOrderIds(List<Long> levelOneOrderIds) {
+        LambdaQueryWrapper<TbOrders> wrapper = new LambdaQueryWrapper<>();
+        wrapper.in(TbOrders::getLevelOneOrderId, levelOneOrderIds);
+        return list(wrapper);
+    }
+
+    public List<TbOrders> getOnSaleList(SoMap so) {
+        return tbOrdersMapper.getOnSaleList(so);
+
+    }
+
+    public List<OrderStaticsDTO> getPurchaserStatistics(SoMap so) {
+        return tbOrdersMapper.getPurchaserStatistics(so);
+    }
 }

+ 16 - 0
sp-service/level-two-server/src/main/java/com/pj/tb_orders/vo/OrderStaticsDTO.java

@@ -0,0 +1,16 @@
+package com.pj.tb_orders.vo;
+
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+
+@Data
+@Accessors(chain = true)
+public class OrderStaticsDTO implements Serializable {
+    private String totalCount;
+    private String totalNet;
+    private String totalWeight;
+    private String totalPrice;
+    private String staticsDate;
+}

+ 71 - 43
sp-service/level-two-server/src/main/java/com/pj/tb_purchaser/TbPurchaserAppController.java

@@ -1,6 +1,9 @@
 package com.pj.tb_purchaser;
 
+import cn.hutool.core.util.IdcardUtil;
 import com.pj.api.dto.PurchaserDto;
+import com.pj.current.dto.APPLoginUserInfo;
+import com.pj.current.satoken.StpAPPUserUtil;
 import com.pj.tb_purchaser.param.PurchaserParam;
 import com.pj.utils.sg.AjaxJson;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -15,61 +18,86 @@ import java.text.ParseException;
 
 /**
  * Controller: tb_purchaser -- 收购商(app接口)
+ *
  * @author lbl
  */
 @RestController
 @RequestMapping("/app/TbPurchaser/")
 public class TbPurchaserAppController {
 
-	/** 底层 Service 对象 */
-	@Autowired
-	TbPurchaserService tbPurchaserService;
+    /**
+     * 底层 Service 对象
+     */
+    @Autowired
+    TbPurchaserService tbPurchaserService;
 
-	/** 查个人信息 - 根据id */
-	@RequestMapping("getById")
-	public AjaxJson getById(Long id){
-		TbPurchaser t = tbPurchaserService.getById(id);
-		return AjaxJson.getSuccessData(t);
-	}
+    /**
+     * 查个人信息 - 根据id
+     */
+    @RequestMapping("getById")
+    public AjaxJson getById(Long id) {
+        TbPurchaser t = tbPurchaserService.getById(id);
+        return AjaxJson.getSuccessData(t);
+    }
 
-	/** 修改认证信息 */
-	@RequestMapping("update")
-	public AjaxJson update(TbPurchaser t){
-		tbPurchaserService.update(t);
-		return AjaxJson.getSuccess();
-	}
+    /**
+     * 修改认证信息
+     */
+    @RequestMapping("update")
+    public AjaxJson update(TbPurchaser t) {
+        tbPurchaserService.update(t);
+        return AjaxJson.getSuccess();
+    }
 
-	/** 收购商认证 */
-	@RequestMapping("identification")
-	public AjaxJson identification(@RequestBody @Validated PurchaserParam purchaser) throws ParseException {
-		boolean identification = tbPurchaserService.identification(purchaser);
-		if(!identification) return AjaxJson.getError("收购商认证信息提交失败!!!");
+    /**
+     * 收购商认证
+     */
+    @RequestMapping("identification")
+    public AjaxJson identification(@RequestBody @Validated PurchaserParam purchaser) throws ParseException {
+        boolean identification = tbPurchaserService.identification(purchaser);
+        if (!identification) return AjaxJson.getError("收购商认证信息提交失败!!!");
 
-		return AjaxJson.getSuccess("收购商认证信息已提交,管理员审核中,请耐心等待!");
-	}
+        return AjaxJson.getSuccess("收购商认证信息已提交,管理员审核中,请耐心等待!");
+    }
 
-	/** 收购商认证状态查询 */
-	@RequestMapping("auditStatus")
-	public AjaxJson auditStatus(Long appUserId) {
-		return AjaxJson.getSuccessData(tbPurchaserService.auditStatus(appUserId));
-	}
+    @RequestMapping("info")
+    public AjaxJson info() {
+		if (!StpAPPUserUtil.isLogin()){
+			return AjaxJson.getError("用户未登录");
+		}
+        APPLoginUserInfo appLoginInfo = StpAPPUserUtil.getAPPLoginInfo();
+        TbPurchaser tbPurchaser = tbPurchaserService.getById(appLoginInfo.getFk());
+        return AjaxJson.getSuccessData(tbPurchaser);
+    }
 
-	/*------            正常业务👆👆    rpc远程调用👇👇                         -----------*/
 
-	/**
-	 * 根据ID查商户
-	 * @param id
-	 * @return
-	 */
-	@RequestMapping("rpc/getByPurchaserId")
-	public PurchaserDto getByPurchaserId(@RequestParam("id") Long id){
-		PurchaserDto byPurchaserId = tbPurchaserService.getByPurchaserId(id);
-		return byPurchaserId;
-	}
+    /**
+     * 收购商认证状态查询
+     */
+    @RequestMapping("auditStatus")
+    public AjaxJson auditStatus(Long appUserId) {
+        return AjaxJson.getSuccessData(tbPurchaserService.auditStatus(appUserId));
+    }
 
-	/** 收购商保存银行卡信息 */
-	@RequestMapping("rpc/saveBankInfo")
-	public boolean saveBankByPurchaser(@RequestParam("id")Long id, @RequestParam("bankName")String bankName, @RequestParam("bankAccount")String bankAccount) {
-		return tbPurchaserService.saveBankByPurchaser(id, bankName, bankAccount);
-	}
+    /*------            正常业务👆👆    rpc远程调用👇👇                         -----------*/
+
+    /**
+     * 根据ID查商户
+     *
+     * @param id
+     * @return
+     */
+    @RequestMapping("rpc/getByPurchaserId")
+    public PurchaserDto getByPurchaserId(@RequestParam("id") Long id) {
+        PurchaserDto byPurchaserId = tbPurchaserService.getByPurchaserId(id);
+        return byPurchaserId;
+    }
+
+    /**
+     * 收购商保存银行卡信息
+     */
+    @RequestMapping("rpc/saveBankInfo")
+    public boolean saveBankByPurchaser(@RequestParam("id") Long id, @RequestParam("bankName") String bankName, @RequestParam("bankAccount") String bankAccount) {
+        return tbPurchaserService.saveBankByPurchaser(id, bankName, bankAccount);
+    }
 }

+ 1 - 1
sp-service/sp-admin/src/main/java/com/pj/project/app_user/AppUserApiController.java

@@ -92,7 +92,7 @@ public class AppUserApiController {
         return appUserService.login(dto);
     }
     @PostMapping("login/purchaser")
-    public AjaxJson purchaserLogin(@Validated LoginDto dto) {
+    public AjaxJson purchaserLogin(@Validated @RequestBody LoginDto dto) {
         return appUserService.purchaserLogin(dto);
     }
 

+ 4 - 3
sp-service/sp-admin/src/main/java/com/pj/project/app_user/AppUserService.java

@@ -802,11 +802,11 @@ public class AppUserService extends ServiceImpl<AppUserMapper, AppUser> implemen
     }
 
     public AjaxJson purchaserLogin(LoginDto dto) {
-       String phone= Aes.aesDecrypt(dto.getPhone());
+       String phone= dto.getPhone();
        if (StrUtil.isEmpty(phone)) {
            return AjaxJson.getError("手机号不正确");
        }
-       String pwd= Aes.aesDecrypt(dto.getPassword());
+       String pwd= dto.getPassword();
         if (StrUtil.isEmpty(pwd)) {
             return AjaxJson.getError("请输入密码");
         }
@@ -836,7 +836,8 @@ public class AppUserService extends ServiceImpl<AppUserMapper, AppUser> implemen
         map.put("tokenInfo", StpAPPUserUtil.getTokenInfo());
         SoMap companyInfo = new SoMap();
         companyInfo.put("companyId", purchaserDto.getId());
-        companyInfo.put("companyName", purchaserDto.getName());
+        companyInfo.put("companyName", purchaserDto.getBusinessName());
+        companyInfo.put("name", purchaserDto.getName());
         map.put("companyInfo", companyInfo);
         return AjaxJson.getSuccessData(map);
     }