Explorar el Código

Merge branch 'dev' of http://git.sckaiwu.cn/17358629955/sckw-service-platform into dev

chenlin hace 2 años
padre
commit
f70e4f97a1
Se han modificado 20 ficheros con 548 adiciones y 110 borrados
  1. 2 2
      sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/req/ExportTransportDemandParam.java
  2. 2 2
      sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/req/SelectTransportDemandParam.java
  3. 2 2
      sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/req/StatisticTransportDemandParam.java
  4. 1 1
      sckw-modules/sckw-order/src/main/java/com/sckw/order/serivce/KwoTransportDemandService.java
  5. 7 3
      sckw-modules/sckw-payment/src/main/java/com/sckw/payment/service/operate/LedgerTradeService.java
  6. 8 12
      sckw-modules/sckw-product/src/main/java/com/sckw/product/controller/operation/GoodsManagerController.java
  7. 2 2
      sckw-modules/sckw-product/src/main/java/com/sckw/product/enums/GoodsStatusEnum.java
  8. 1 8
      sckw-modules/sckw-product/src/main/java/com/sckw/product/model/OperationGoodsListExport.java
  9. 57 0
      sckw-modules/sckw-product/src/main/java/com/sckw/product/model/dto/OperatorGoodsListQueryDTO.java
  10. 36 0
      sckw-modules/sckw-product/src/main/java/com/sckw/product/model/vo/req/OperatorGoodsExportQueryVO.java
  11. 40 0
      sckw-modules/sckw-product/src/main/java/com/sckw/product/model/vo/req/OperatorGoodsListQueryVO.java
  12. 53 0
      sckw-modules/sckw-product/src/main/java/com/sckw/product/model/vo/req/OperatorGoodsStsQueryVO.java
  13. 0 31
      sckw-modules/sckw-product/src/main/java/com/sckw/product/model/vo/req/SelectOperationGoodsListParam.java
  14. 183 1
      sckw-modules/sckw-product/src/main/java/com/sckw/product/model/vo/res/OperationGoodsDetail.java
  15. 1 1
      sckw-modules/sckw-product/src/main/java/com/sckw/product/service/KwpGoodsService.java
  16. 37 44
      sckw-modules/sckw-product/src/main/java/com/sckw/product/service/operation/GoodsManagerService.java
  17. 19 0
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/controller/operationManagement/ManagementLogisticsOrderController.java
  18. 2 0
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/dao/KwtLogisticsOrderMapper.java
  19. 54 0
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/ManagementLogisticsOrderService.java
  20. 41 1
      sckw-modules/sckw-transport/src/main/resources/mapper/KwtLogisticsOrderMapper.xml

+ 2 - 2
sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/req/ExportTransportDemandParam.java

@@ -25,13 +25,13 @@ public class ExportTransportDemandParam {
     /**
      * 创建时间开始
      */
-    @JsonFormat(pattern="yyyy-MM-dd", timezone = "GMT+8")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date startCreateTime;
 
     /**
      * 创建时间结束
      */
-    @JsonFormat(pattern="yyyy-MM-dd", timezone = "GMT+8")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date endCreateTime;
 
     /**

+ 2 - 2
sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/req/SelectTransportDemandParam.java

@@ -26,13 +26,13 @@ public class SelectTransportDemandParam extends PageRequest {
     /**
      * 创建时间开始
      */
-    @JsonFormat(pattern="yyyy-MM-dd", timezone = "GMT+8")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date startCreateTime;
 
     /**
      * 创建时间结束
      */
-    @JsonFormat(pattern="yyyy-MM-dd", timezone = "GMT+8")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date endCreateTime;
 
     /**

+ 2 - 2
sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/req/StatisticTransportDemandParam.java

@@ -25,13 +25,13 @@ public class StatisticTransportDemandParam {
     /**
      * 创建时间开始
      */
-    @JsonFormat(pattern="yyyy-MM-dd", timezone = "GMT+8")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date startCreateTime;
 
     /**
      * 创建时间结束
      */
-    @JsonFormat(pattern="yyyy-MM-dd", timezone = "GMT+8")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date endCreateTime;
 
     /**

+ 1 - 1
sckw-modules/sckw-order/src/main/java/com/sckw/order/serivce/KwoTransportDemandService.java

@@ -232,7 +232,7 @@ public class KwoTransportDemandService {
             return wrapper;
         }
         if (Objects.nonNull(param.getEndCreateTime())) {
-            wrapper.le(KwoTransportDemand::getCreateTime, DateUtil.offsetDay(param.getEndCreateTime(), 1));
+            wrapper.le(KwoTransportDemand::getCreateTime, param.getEndCreateTime());
         }
         wrapper.ge(Objects.nonNull(param.getStartCreateTime()), KwoTransportDemand::getCreateTime, param.getStartCreateTime())
                 .eq(Objects.nonNull(param.getStatus()), KwoTransportDemand::getStatus, param.getStatus())

+ 7 - 3
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/service/operate/LedgerTradeService.java

@@ -10,7 +10,6 @@ import com.sckw.core.model.vo.TableTop;
 import com.sckw.core.utils.BeanUtils;
 import com.sckw.core.utils.CollectionUtils;
 import com.sckw.core.utils.StringTimeUtil;
-import com.sckw.core.web.context.LoginUserHolder;
 import com.sckw.order.api.dubbo.TradeOrderInfoService;
 import com.sckw.order.api.model.*;
 import com.sckw.payment.dao.KwpLedgerTradeMapper;
@@ -181,7 +180,12 @@ public class LedgerTradeService extends AbsLedger {
         OrderDetailRes orderDetailById;
         //查询贸易订单详情
         for (Long aLong : collect) {
-            orderDetailById = tradeOrderInfoService.getOrderDetailById(aLong);
+            try {
+                orderDetailById = tradeOrderInfoService.getOrderDetailById(aLong);
+            } catch (Exception e) {
+                log.error("不存在该订单!tradeOrderInfoService.getOrderDetailById({})", aLong, e);
+                continue;
+            }
             detailRes.add(changeOrder(orderDetailById));
         }
         ledgerTradeDetailVo.setOrderList(detailRes);
@@ -248,7 +252,7 @@ public class LedgerTradeService extends AbsLedger {
     /**
      * 查询对账单详情
      *
-     * @param id       对账单id
+     * @param id 对账单id
      * @return 对账单详情
      */
     public LedgerTradeDetailVo queryDetail(Long id) {

+ 8 - 12
sckw-modules/sckw-product/src/main/java/com/sckw/product/controller/operation/GoodsManagerController.java

@@ -4,24 +4,21 @@ import com.sckw.core.exception.BusinessException;
 import com.sckw.core.utils.CollectionUtils;
 import com.sckw.core.web.response.HttpResult;
 import com.sckw.excel.utils.ExcelUtil;
-import com.sckw.product.model.GoodsListExport;
 import com.sckw.product.model.OperationGoodsListExport;
-import com.sckw.product.model.vo.req.ExportStatisticGoodsListParam;
-import com.sckw.product.model.vo.req.SelectGoodsListParam;
-import com.sckw.product.model.vo.req.SelectOperationGoodsListParam;
-import com.sckw.product.model.vo.req.StatisticGoodsListParam;
-import com.sckw.product.service.KwpGoodsService;
+import com.sckw.product.model.vo.req.OperatorGoodsExportQueryVO;
+import com.sckw.product.model.vo.req.OperatorGoodsListQueryVO;
+import com.sckw.product.model.vo.req.OperatorGoodsStsQueryVO;
 import com.sckw.product.service.operation.GoodsManagerService;
-import com.sckw.product.service.KwpGoodsService;
 import jakarta.servlet.http.HttpServletResponse;
 import lombok.RequiredArgsConstructor;
 import org.springframework.http.MediaType;
+import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.List;
 
 /**
- * @desc: TODO
+ * @desc: 运营端商品管理
  * @author: yzc
  * @date: 2023-09-14 9:13
  */
@@ -32,7 +29,6 @@ import java.util.List;
 public class GoodsManagerController {
 
     private final GoodsManagerService goodsManagerService;
-    private final KwpGoodsService kwpGoodsService;
 
     /**
      * @desc: 运营端分页查询商品
@@ -42,7 +38,7 @@ public class GoodsManagerController {
      * @return: com.sckw.core.web.response.HttpResult
      */
     @PostMapping(value = "/select", produces = MediaType.APPLICATION_JSON_VALUE)
-    public HttpResult select(@RequestBody SelectOperationGoodsListParam params) {
+    public HttpResult select(@RequestBody @Validated OperatorGoodsListQueryVO params) {
         return HttpResult.ok(goodsManagerService.select(params));
     }
 
@@ -66,7 +62,7 @@ public class GoodsManagerController {
      * @return: com.sckw.core.web.response.HttpResult
      */
     @PostMapping(value = "/statistic", produces = MediaType.APPLICATION_JSON_VALUE)
-    public HttpResult statistic(@RequestBody SelectOperationGoodsListParam params) {
+    public HttpResult statistic(@RequestBody OperatorGoodsStsQueryVO params) {
         return HttpResult.ok(goodsManagerService.statistic(params));
     }
 
@@ -78,7 +74,7 @@ public class GoodsManagerController {
      * @return: com.sckw.core.web.response.HttpResult
      */
     @PostMapping(value = "/export", produces = MediaType.APPLICATION_JSON_VALUE)
-    public void export(@RequestBody ExportStatisticGoodsListParam params, HttpServletResponse response) {
+    public void export(@RequestBody @Validated OperatorGoodsExportQueryVO params, HttpServletResponse response) {
         List<OperationGoodsListExport> list = goodsManagerService.export(params);
         if (CollectionUtils.isEmpty(list)) {
             throw new BusinessException("导出数据为空!");

+ 2 - 2
sckw-modules/sckw-product/src/main/java/com/sckw/product/enums/GoodsStatusEnum.java

@@ -21,8 +21,8 @@ public enum GoodsStatusEnum {
     PUT_ON_SHELVES(1, "上架中"),
     TAKE_OFF_SHELVES(2, "已下架");
 
-    private Integer code;
-    private String msg;
+    private final Integer code;
+    private final String msg;
 
 
     public static String getNameByCode(Integer code) {

+ 1 - 8
sckw-modules/sckw-product/src/main/java/com/sckw/product/model/OperationGoodsListExport.java

@@ -16,7 +16,7 @@ import java.io.Serializable;
 @Data
 @Accessors(chain = true)
 @ExcelContext(fileName = "商品列表信息", sheetName = "商品列表信息")
-public class OperationGoodsListExport{
+public class OperationGoodsListExport implements Serializable{
 
     @Serial
     private static final long serialVersionUID = 6833195135537265912L;
@@ -87,11 +87,4 @@ public class OperationGoodsListExport{
     @ExcelProperty(value = "备注")
     private String remark;
 
-
-
-
-
-
-
-
 }

+ 57 - 0
sckw-modules/sckw-product/src/main/java/com/sckw/product/model/dto/OperatorGoodsListQueryDTO.java

@@ -0,0 +1,57 @@
+package com.sckw.product.model.dto;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @desc: 运营端商品列表统计查询条件dto
+ * @author: yzc
+ * @date: 2023-09-14 11:33
+ */
+@Getter
+@Setter
+@ToString
+public class OperatorGoodsListQueryDTO implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 2258717936068928595L;
+
+
+    /**
+     * 模糊匹配商品名称、仓储地址、客户经理
+     */
+    private String keywords;
+
+    /**
+     * 创建时间开始(yyyy-MM-dd HH:mm:ss)
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date startCreateTime;
+
+    /**
+     * 创建时间结束(yyyy-MM-dd HH:mm:ss)
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date endCreateTime;
+
+    /**
+     * 商品类型
+     */
+    private String goodsType;
+
+    /**
+     * 商品类型type值
+     */
+    private String goodsTypeValue;
+
+    private Integer status;
+
+    private String ids;
+
+}

+ 36 - 0
sckw-modules/sckw-product/src/main/java/com/sckw/product/model/vo/req/OperatorGoodsExportQueryVO.java

@@ -0,0 +1,36 @@
+package com.sckw.product.model.vo.req;
+
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+import org.hibernate.validator.constraints.Range;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * @desc: 运营端商品导出查询参数vo
+ * @author: yzc
+ * @date: 2023-09-14 11:33
+ */
+@Getter
+@Setter
+@ToString
+public class OperatorGoodsExportQueryVO extends OperatorGoodsStsQueryVO implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = -4178831851730806796L;
+
+    /**
+     * 订单状态
+     */
+    @Range(min = 1, max = 2, message = "非法商品状态")
+    private Integer status;
+
+    /**
+     * 订单ids
+     */
+    private String ids;
+
+
+}

+ 40 - 0
sckw-modules/sckw-product/src/main/java/com/sckw/product/model/vo/req/OperatorGoodsListQueryVO.java

@@ -0,0 +1,40 @@
+package com.sckw.product.model.vo.req;
+
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+import org.hibernate.validator.constraints.Range;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * @desc: 运营端商品统计查询参数vo
+ * @author: yzc
+ * @date: 2023-09-14 11:33
+ */
+@Getter
+@Setter
+@ToString
+public class OperatorGoodsListQueryVO extends OperatorGoodsStsQueryVO implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 5355476498003837580L;
+
+    /**
+     * 当前页码
+     */
+    private int page = 1;
+    /**
+     * 每页数量
+     */
+    private int pageSize = 10;
+
+    /**
+     * 状态
+     */
+    @Range(min = 1, max = 2, message = "非法商品状态")
+    private Integer status;
+
+
+}

+ 53 - 0
sckw-modules/sckw-product/src/main/java/com/sckw/product/model/vo/req/OperatorGoodsStsQueryVO.java

@@ -0,0 +1,53 @@
+package com.sckw.product.model.vo.req;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @desc: 运营端商品统计查询参数vo
+ * @author: yzc
+ * @date: 2023-09-14 11:33
+ */
+@Getter
+@Setter
+@ToString
+public class OperatorGoodsStsQueryVO implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = -6207372741308602907L;
+
+
+    /**
+     * 模糊匹配商品名称、仓储地址、客户经理
+     */
+    private String keywords;
+
+    /**
+     * 创建时间开始(yyyy-MM-dd HH:mm:ss)
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date startCreateTime;
+
+    /**
+     * 创建时间结束(yyyy-MM-dd HH:mm:ss)
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date endCreateTime;
+
+    /**
+     * 商品类型
+     */
+    private String goodsType;
+
+    /**
+     * 商品类型type值
+     */
+    private String goodsTypeValue;
+
+}

+ 0 - 31
sckw-modules/sckw-product/src/main/java/com/sckw/product/model/vo/req/SelectOperationGoodsListParam.java

@@ -1,31 +0,0 @@
-package com.sckw.product.model.vo.req;
-
-import lombok.Getter;
-import lombok.Setter;
-import lombok.ToString;
-
-/**
- * @desc: 分页查询运营端商品列表请求参数
- * @author: lt
- * @date: 2023-09-14 14:01
- */
-@Getter
-@Setter
-@ToString
-public class SelectOperationGoodsListParam extends StatisticGoodsListParam {
-
-    /**
-     * 当前页码
-     */
-    private int page = 1;
-    /**
-     * 每页数量
-     */
-    private int pageSize = 10;
-
-    /**
-     * 状态
-     */
-    private Integer status;
-
-}

+ 183 - 1
sckw-modules/sckw-product/src/main/java/com/sckw/product/model/vo/res/OperationGoodsDetail.java

@@ -6,6 +6,8 @@ import lombok.Setter;
 import lombok.ToString;
 import lombok.experimental.Accessors;
 
+import java.io.Serial;
+import java.io.Serializable;
 import java.math.BigDecimal;
 import java.util.Date;
 import java.util.List;
@@ -19,6 +21,186 @@ import java.util.List;
 @Setter
 @ToString
 @Accessors(chain = true)
-public class OperationGoodsDetail extends GoodsDetail{
+public class OperationGoodsDetail implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = -4764298791581321673L;
+
+    /**
+     * 商品id
+     */
+    private Long id;
+
+    /**
+     * 企业id
+     */
+    private Long entId;
+
+    /**
+     * 企业名称
+     */
+    private String ent;
+
+    /**
+     * 企业头像
+     */
+    private String entHead;
+
+    /**
+     * 企业主营范围
+     */
+    private String entBusiness;
+
+    /**
+     * 企业地址
+     */
+    private String entAddress;
+
+    /**
+     * 供应单位id
+     */
+    private Long supplyEntId;
+
+    /**
+     * 供应单位名称
+     */
+    private String supplyEnt;
+
+    /**
+     * 商品编号
+     */
+    private String code;
+
+    /**
+     * 商品名称
+     */
+    private String name;
+
+    /**
+     * 商品类型
+     */
+    private String goodsType;
+
+    /**
+     * 商品类型lab
+     */
+    private String goodsTypeLabel;
+
+    /**
+     * 库存数量
+     */
+    private BigDecimal amount;
+
+    /**
+     * 单位(吨、方、件、箱、其他)
+     */
+    private String unit;
+
+    /**
+     * 单位lab
+     */
+    private String unitLabel;
+
+    /**
+     * 尺寸大小
+     */
+    private String spec;
+
+    /**
+     * 发票税率
+     */
+    private String taxRate;
+
+    /**
+     * 发票税率label
+     */
+    private String taxRateLabel;
+
+    /**
+     * 是否设置预付限额0否1是
+     */
+    private Integer prepaidLimit;
+
+    /**
+     * 是否设置预付限额label
+     */
+    private String prepaidLimitLabel;
+
+    /**
+     * 预付款最低限额
+     */
+    private BigDecimal advancePrice;
+
+    /**
+     * 专属客户经理id
+     */
+    private Long manager;
+
+    /**
+     * 专属客户经理姓名
+     */
+    private String managerName;
+
+    /**
+     * 专属客户经理电话
+     */
+    private String managerPhone;
+
+    /**
+     * 成交量
+     */
+    private BigDecimal performedAmount;
+
+    /**
+     * 缩略图
+     */
+    private String thumb;
+
+    /**
+     * 上架时间
+     */
+    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date addedTime;
+
+    /**
+     * 下架时间
+     */
+    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date shelfTime;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 状态:0草稿/1上架/2下架
+     */
+    private Integer status;
+
+    /**
+     * 状态label
+     */
+    private String statusLabel;
+
+    /**
+     * 商品详情图片
+     */
+    private List<GoodsImagesDetail> images;
+
+    /**
+     * 地址信息
+     */
+    private AddressInfoDetail addressInfo;
+
+    /**
+     * 价格梯度
+     */
+    private List<GoodsPriceRangesDetail> priceRanges;
+
+    /**
+     * 参数目录
+     */
+    private List<GoodsAttributesDetail> attributes;
 
 }

+ 1 - 1
sckw-modules/sckw-product/src/main/java/com/sckw/product/service/KwpGoodsService.java

@@ -558,7 +558,7 @@ public class KwpGoodsService {
             List<Long> ids = StringUtils.splitStrToList(params.getIds(), ",", Long.class);
             wrapper.in(KwpGoods::getId, ids);
         } else {
-            if (Objects.nonNull(params.getEndCreateTime())) {
+            if (Objects.nonNull(params.getStartCreateTime())) {
                 wrapper.ge(KwpGoods::getCreateTime, params.getStartCreateTime());
             }
             if (Objects.nonNull(params.getEndCreateTime())) {

+ 37 - 44
sckw-modules/sckw-product/src/main/java/com/sckw/product/service/operation/GoodsManagerService.java

@@ -11,15 +11,22 @@ import com.sckw.core.model.page.PageResult;
 import com.sckw.core.model.vo.TableBottom;
 import com.sckw.core.model.vo.TableStatisticRes;
 import com.sckw.core.model.vo.TableTop;
-import com.sckw.core.utils.*;
+import com.sckw.core.utils.BeanUtils;
+import com.sckw.core.utils.CollectionUtils;
+import com.sckw.core.utils.StringUtils;
 import com.sckw.excel.utils.DateUtil;
-import com.sckw.payment.api.dubbo.PayCenterDubboService;
 import com.sckw.product.dao.KwpGoodsMapper;
 import com.sckw.product.enums.GoodsStatusEnum;
 import com.sckw.product.model.*;
-import com.sckw.product.model.vo.req.*;
+import com.sckw.product.model.dto.OperatorGoodsListQueryDTO;
+import com.sckw.product.model.vo.req.OperatorGoodsExportQueryVO;
+import com.sckw.product.model.vo.req.OperatorGoodsListQueryVO;
+import com.sckw.product.model.vo.req.OperatorGoodsStsQueryVO;
 import com.sckw.product.model.vo.res.*;
-import com.sckw.product.service.*;
+import com.sckw.product.service.KwpGoodsAddressService;
+import com.sckw.product.service.KwpGoodsAttributeService;
+import com.sckw.product.service.KwpGoodsImageService;
+import com.sckw.product.service.KwpGoodsPriceRangeService;
 import com.sckw.system.api.RemoteSystemService;
 import com.sckw.system.api.RemoteUserService;
 import com.sckw.system.api.model.dto.res.EntCacheResDto;
@@ -29,8 +36,6 @@ import com.sckw.system.api.model.dto.res.UserCacheResDto;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.dubbo.config.annotation.DubboReference;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.cloud.stream.function.StreamBridge;
 import org.springframework.stereotype.Service;
 
 import java.math.BigDecimal;
@@ -54,22 +59,16 @@ public class GoodsManagerService {
     @DubboReference(version = "1.0.0", group = "design", check = false)
     private RemoteUserService remoteUserService;
 
-    @DubboReference(version = "1.0.0", group = "design", check = false)
-    private PayCenterDubboService payCenterDubboService;
 
     private final KwpGoodsMapper kwpGoodsMapper;
     private final KwpGoodsAddressService kwpGoodsAddressService;
     private final KwpGoodsAttributeService kwpGoodsAttributeService;
     private final KwpGoodsImageService kwpGoodsImageService;
     private final KwpGoodsPriceRangeService kwpGoodsPriceRangeService;
-    private final StreamBridge streamBridge;
-
-    @Value("${goods.url.list}")
-    private String goodsListUrl;
 
 
-    public PageResult select(SelectOperationGoodsListParam params) {
-        LambdaQueryWrapper<KwpGoods> wrapper = buildWrapper(BeanUtils.copyProperties(params, ExportStatisticGoodsListParam.class));
+    public PageResult select(OperatorGoodsListQueryVO params) {
+        LambdaQueryWrapper<KwpGoods> wrapper = buildWrapper(BeanUtils.copyProperties(params, OperatorGoodsListQueryDTO.class));
         Page<KwpGoods> page = new Page<>(params.getPage(), params.getPageSize());
         IPage<KwpGoods> goodsIpage = kwpGoodsMapper.selectPage(page, wrapper);
         List<KwpGoods> list = goodsIpage.getRecords();
@@ -88,43 +87,44 @@ public class GoodsManagerService {
      * @Param list:
      * @return: java.util.List<com.sckw.product.model.vo.res.GoodsList>
      */
-    private LambdaQueryWrapper<KwpGoods> buildWrapper(ExportStatisticGoodsListParam params) {
+    private LambdaQueryWrapper<KwpGoods> buildWrapper(OperatorGoodsListQueryDTO params) {
         LambdaQueryWrapper<KwpGoods> wrapper = new LambdaQueryWrapper<>();
         if (StringUtils.isNotBlank(params.getIds())) {
             List<Long> ids = StringUtils.splitStrToList(params.getIds(), ",", Long.class);
             wrapper.in(KwpGoods::getId, ids);
         } else {
-            if (Objects.nonNull(params.getEndCreateTime())) {
+            if (Objects.nonNull(params.getStartCreateTime())) {
                 wrapper.ge(KwpGoods::getCreateTime, params.getStartCreateTime());
             }
             if (Objects.nonNull(params.getEndCreateTime())) {
                 wrapper.le(KwpGoods::getCreateTime, params.getEndCreateTime());
             }
             //运营端不需要显示草稿数据
-            wrapper.ne(KwpGoods::getStatus, 0);
-            wrapper.eq(Objects.nonNull(params.getSupplyEntId()), KwpGoods::getSupplyEntId, params.getSupplyEntId())
-                    .eq(Objects.nonNull(params.getPrepaidLimit()), KwpGoods::getPrepaidLimit, params.getPrepaidLimit())
-                    .eq(Objects.nonNull(params.getStatus()), KwpGoods::getStatus, params.getStatus());
-            if (StringUtils.isNotBlank(params.getGoodsType()) && StringUtils.isNotBlank(params.getGoodsTypeValue())) {
-                List<SysDictResDto> goodsTypeList = remoteSystemService.queryDictBottom(params.getGoodsType(), params.getGoodsTypeValue());
-                if (CollectionUtils.isNotEmpty(goodsTypeList)) {
-                    List<String> goodsTypes = goodsTypeList.stream().map(SysDictResDto::getValue).toList();
-                    wrapper.in(KwpGoods::getGoodsType, goodsTypes);
-                }
+            if (Objects.isNull(params.getStatus())) {
+                wrapper.ne(KwpGoods::getStatus, 0);
+            } else {
+                wrapper.eq(KwpGoods::getStatus, params.getStatus());
             }
             String keywords = params.getKeywords();
             if (StringUtils.isNotBlank(keywords)) {
                 //模糊匹配商品名称、仓储地址、客户经理
                 List<KwsUserResDto> managers = remoteUserService.getUserByName(keywords);
-                if (CollectionUtils.isEmpty(managers)) {
-                    wrapper.and(e -> e.like(KwpGoods::getName, keywords).or().like(KwpGoods::getAddressName, keywords));
-                } else {
+                if (CollectionUtils.isNotEmpty(managers)) {
                     List<Long> managerIds = managers.stream().map(KwsUserResDto::getId).toList();
                     wrapper.and(e -> e.like(KwpGoods::getName, keywords).or().like(KwpGoods::getAddressName, keywords)
                             .or().in(KwpGoods::getManager, managerIds));
+                } else {
+                    wrapper.and(e -> e.like(KwpGoods::getName, keywords).or().like(KwpGoods::getAddressName, keywords));
                 }
             }
         }
+        if (StringUtils.isNotBlank(params.getGoodsType()) && StringUtils.isNotBlank(params.getGoodsTypeValue())) {
+            List<SysDictResDto> goodsTypeList = remoteSystemService.queryDictBottom(params.getGoodsType(), params.getGoodsTypeValue());
+            if (CollectionUtils.isNotEmpty(goodsTypeList)) {
+                List<String> goodsTypes = goodsTypeList.stream().map(SysDictResDto::getValue).toList();
+                wrapper.in(KwpGoods::getGoodsType, goodsTypes);
+            }
+        }
         wrapper.eq(KwpGoods::getDelFlag, Global.NO).orderByDesc(KwpGoods::getCreateTime);
         return wrapper;
     }
@@ -253,16 +253,18 @@ public class GoodsManagerService {
      * @Param params:
      * @return: com.sckw.core.model.vo.TableStatisticRes
      */
-    public TableStatisticRes statistic(SelectOperationGoodsListParam params) {
+    public TableStatisticRes statistic(OperatorGoodsStsQueryVO params) {
         TableStatisticRes res = new TableStatisticRes();
-        LambdaQueryWrapper<KwpGoods> wrapper = buildWrapper(BeanUtils.copyProperties(params, ExportStatisticGoodsListParam.class));
+        LambdaQueryWrapper<KwpGoods> wrapper = buildWrapper(BeanUtils.copyProperties(params, OperatorGoodsListQueryDTO.class));
         List<KwpGoods> goodsList = kwpGoodsMapper.selectList(wrapper);
         Map<Integer, List<KwpGoods>> map = goodsList.stream().collect(Collectors.groupingBy(KwpGoods::getStatus));
         List<TableTop> tableTops = new ArrayList<>();
         TableTop all = new TableTop();
         all.setName("全部").setTotal(CollectionUtils.isEmpty(goodsList) ? 0 : goodsList.size());
         tableTops.add(all);
-        GoodsStatusEnum.getSortList().forEach(e -> {
+        List<GoodsStatusEnum> sortList = GoodsStatusEnum.getSortList();
+        sortList.remove(0);
+        sortList.forEach(e -> {
             List<KwpGoods> list = map.get(e.getCode());
             int total = CollectionUtils.isEmpty(list) ? 0 : list.size();
             TableTop tableTop = new TableTop();
@@ -271,10 +273,7 @@ public class GoodsManagerService {
         });
         TableBottom tableBottom = new TableBottom();
         tableBottom.setTotal(CollectionUtils.isEmpty(goodsList) ? 0 : goodsList.size());
-        List<TableTop> filteredTableTops = tableTops.stream()
-                .filter(tableTop -> !tableTop.getName().equals("已保存"))
-                .collect(Collectors.toList());
-        res.setTableTops(filteredTableTops).setTableBottom(tableBottom);
+        res.setTableTops(tableTops).setTableBottom(tableBottom);
         return res;
     }
 
@@ -285,8 +284,8 @@ public class GoodsManagerService {
      * @Param params:
      * @return: void
      */
-    public List<OperationGoodsListExport> export(ExportStatisticGoodsListParam params) {
-        LambdaQueryWrapper<KwpGoods> wrapper = buildWrapper(params);
+    public List<OperationGoodsListExport> export(OperatorGoodsExportQueryVO params) {
+        LambdaQueryWrapper<KwpGoods> wrapper = buildWrapper(BeanUtils.copyProperties(params, OperatorGoodsListQueryDTO.class));
         List<KwpGoods> list = kwpGoodsMapper.selectList(wrapper);
         List<OperationGoodsList> goodsLists = buildGoodLists(list);
         if (CollectionUtils.isEmpty(goodsLists)) {
@@ -309,10 +308,4 @@ public class GoodsManagerService {
     }
 
 
-
-
-
-
-
-
 }

+ 19 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/controller/operationManagement/ManagementLogisticsOrderController.java

@@ -9,6 +9,7 @@ import com.sckw.excel.utils.ExcelUtil;
 import com.sckw.transport.model.param.LogisticsOrderQuery;
 import com.sckw.transport.model.param.ManagementContractParam;
 import com.sckw.transport.model.param.ManagementLogisticsOrderQuery;
+import com.sckw.transport.model.param.OrderQuery;
 import com.sckw.transport.model.vo.execlVo.ManagementLogisticsOrderExcelVo;
 import com.sckw.transport.service.ManagementLogisticsOrderService;
 import jakarta.servlet.http.HttpServletResponse;
@@ -148,4 +149,22 @@ public class ManagementLogisticsOrderController {
         }
     }
 
+
+    /**
+     * 运营端-贸易订单-获取物流订单
+     *
+     * @param query 订单查询
+     * @return
+     */
+    @RequestMapping(value = "/selectLogisticsOrder", method = RequestMethod.POST)
+    public HttpResult selectLogisticsOrderByTradeOrder(@Valid @RequestBody OrderQuery query) {
+        log.info("运营端-贸易订单-获取物流订单 传递参数信息:{}", JSONObject.toJSONString(query));
+        try {
+            return managementLogisticsOrderService.selectLogisticsOrderByTradeOrder(query.getIds(), query.getPage(), query.getPageSize());
+        } catch (Exception e) {
+            log.error("运营端-贸易订单-获取物流订单 error :{}", e.getMessage(), e);
+            return HttpResult.error(HttpStatus.GLOBAL_EXCEPTION_CODE, e.getMessage());
+        }
+    }
+
 }

+ 2 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/dao/KwtLogisticsOrderMapper.java

@@ -338,6 +338,8 @@ public interface KwtLogisticsOrderMapper extends BaseMapper<KwtLogisticsOrder> {
 
     List<LogisticsOrderStatisticsVO> workbenchLogisticsOrderStatisticsByDays(@Param("id") Long id, @Param("statusList") List<Integer> statusList,@Param("type") Integer type, @Param("dateStart") String dateStart, @Param("dateEnd") String dateEnd);
 
+    List<com.sckw.transport.model.dto.LogisticsOrderDTO> selectOrderListByTradeOrderIds(@Param("tradeOrderIds") List<Long> tradeOrderIds, @Param("unitType") String unitType);
+
 
 //    List<TableTops> countAppLogisticsOrderListByStatus(@Param("type") String type,@Param("entId") Long entId
 //    );

+ 54 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/ManagementLogisticsOrderService.java

@@ -8,6 +8,7 @@ import com.sckw.contract.api.model.dto.res.ContractCommonInfoResDto;
 import com.sckw.core.common.enums.NumberConstant;
 import com.sckw.core.common.enums.enums.DictEnum;
 import com.sckw.core.common.enums.enums.DictTypeEnum;
+import com.sckw.core.exception.BusinessException;
 import com.sckw.core.model.constant.Global;
 import com.sckw.core.model.enums.CarWaybillEnum;
 import com.sckw.core.model.enums.LogisticsOrderEnum;
@@ -28,6 +29,7 @@ import com.sckw.system.api.model.dto.res.SysDictResDto;
 import com.sckw.system.api.model.dto.res.UserCacheResDto;
 import com.sckw.transport.dao.*;
 import com.sckw.transport.model.*;
+import com.sckw.transport.model.dto.LogisticsOrderDTO;
 import com.sckw.transport.model.param.LogisticsOrderQuery;
 import com.sckw.transport.model.param.ManagementContractParam;
 import com.sckw.transport.model.param.ManagementLogisticsOrderQuery;
@@ -669,4 +671,56 @@ public class ManagementLogisticsOrderService {
         PageResult build = PageResult.build(contractParam.getPage(), contractParam.getPageSize(), list.stream().count(), returnList);
         return HttpResult.ok(build);
     }
+
+    /**
+     * 运营端-贸易订单查询物流订单数据
+     *
+     * @param ids
+     * @param page
+     * @param pageSize
+     * @return
+     */
+    public HttpResult selectLogisticsOrderByTradeOrder(String ids, Integer page, Integer pageSize) {
+//        PageHelper.startPage(page, pageSize);
+        List<Long> tradeOrderIds = StringUtils.splitStrToList(ids, Long.class);
+        if (CollectionUtils.isEmpty(tradeOrderIds)) {
+           throw new BusinessException("贸易订单id不能为空");
+        }
+        List<LogisticsOrderDTO> returnList = new ArrayList<>();
+        tradeOrderIds = tradeOrderIds.stream().sorted(Comparator.reverseOrder()).collect(Collectors.toList());
+        /**数据展示*/
+        List<LogisticsOrderDTO> list = logisticsOrderMapper.selectOrderListByTradeOrderIds(tradeOrderIds, null);
+//        PageInfo<LogisticsOrderDTO> pageInfo = new PageInfo<>(list);
+        if (CollectionUtils.isEmpty(list)) {
+            return HttpResult.ok();
+        }
+        /**计量单位*/
+        Map<String, String> unitTypeDictData = commonService.getDictData(DictTypeEnum.UNIT_TYPE.getType());
+        /**运价方式*/
+        Map<String, String> priceDictData = commonService.getDictData(DictTypeEnum.PRICE_TYPE.getType());
+        /**合理损耗*/
+        Map<String, String> taxRateTypeDictData = commonService.getDictData(DictTypeEnum.TAX_RATE_TYPE.getType());
+        if (CollectionUtils.isNotEmpty(list)) {
+            for (LogisticsOrderDTO logisticsOrderDTO : list) {
+                logisticsOrderDTO.setStatusLabel(LogisticsOrderEnum.getDestination(logisticsOrderDTO.getStatus()));
+                String createName = StringUtils.isBlank(logisticsOrderDTO.getCreateBy()) ? null :
+                        (remoteSystemService.queryUserCacheById(Long.parseLong(logisticsOrderDTO.getCreateBy())) == null ? null :
+                                remoteSystemService.queryUserCacheById(Long.parseLong(logisticsOrderDTO.getCreateBy())).getName());
+                logisticsOrderDTO.setCreateName(createName);
+                logisticsOrderDTO.setPriceLabel(priceDictData.get(logisticsOrderDTO.getPriceType()));
+                logisticsOrderDTO.setLossUnitLabel(taxRateTypeDictData.get(logisticsOrderDTO.getLossUnit()));
+                logisticsOrderDTO.setGoodsPriceUnitLabel(priceDictData.get(logisticsOrderDTO.getGoodsPriceUnit()));
+                logisticsOrderDTO.setUnitLabel(unitTypeDictData.get(logisticsOrderDTO.getUnit()));
+            }
+            returnList.addAll(list);
+        }
+        /**基于多个传递数据查询->手动分页*/
+        List<LogisticsOrderDTO> subList = new ArrayList<>();
+        if (CollectionUtils.isNotEmpty(returnList)) {
+            subList = returnList.stream().skip((page - 1) * pageSize).limit(pageSize).collect(Collectors.toList());
+        }
+
+        PageResult build = PageResult.build(page, pageSize, returnList.stream().count(), subList);
+        return HttpResult.ok(build);
+    }
 }

+ 41 - 1
sckw-modules/sckw-transport/src/main/resources/mapper/KwtLogisticsOrderMapper.xml

@@ -98,13 +98,53 @@
                a.create_time      as createTime
         FROM kwt_logistics_order a
                  LEFT JOIN kwt_logistics_order_track b ON a.id = b.l_order_id and a.`status` = b.`status`
-                 LEFT JOIN kwt_logistics_order_unit c ON a.id = c.l_order_id AND c.unit_type = #{type}
+                 LEFT JOIN kwt_logistics_order_unit c ON a.id = c.l_order_id
         WHERE a.del_flag = '0'
           AND b.del_flag = '0'
+            <if test="type != null and type != ''">
+                AND c.unit_type = #{type}
+            </if>
           AND a.t_order_id = #{id,jdbcType=VARCHAR}
         order by createTime desc
     </select>
 
+
+    <select id="selectOrderListByTradeOrderIds" resultType="com.sckw.transport.model.dto.LogisticsOrderDTO">
+        SELECT a.id               as lOrderId,
+        a.l_order_no       as lOrderNo,
+        a.`status`         as `status`,
+        a.t_order_id       as tOrderId,
+        a.t_order_no       as tOrderNo,
+        a.payment          as payment,
+        a.amount,
+        a.unit             as unit,
+        a.price,
+        a.price_type       as priceType,
+        a.loss,
+        a.loss_unit        AS lossUnit,
+        a.goods_price      as goodsPrice,
+        a.goods_price_unit as goodsPriceUnit,
+        c.firm_name        as companyName,
+        c.contacts,
+        c.phone,
+        a.create_by        as createBy,
+        a.create_time      as createTime
+        FROM kwt_logistics_order a
+        LEFT JOIN kwt_logistics_order_unit c ON a.id = c.l_order_id
+        WHERE a.del_flag = '0'
+        AND c.del_flag = '0'
+        <if test="unitType != null and unitType != ''">
+            AND c.unit_type = #{unitType}
+        </if>
+        <if test="tradeOrderIds != null and tradeOrderIds.size()>0">
+            and a.t_order_id in
+            <foreach collection="tradeOrderIds" item="item" separator="," open="(" close=")">
+                #{item}
+            </foreach>
+        </if>
+        order by tOrderId,createTime desc
+    </select>
+
     <select id="selectOrderListByContractId" resultType="com.sckw.transport.model.vo.SckwLogisticsOrderVO">
         SELECT
         a.STATUS,