24282 7 meses atrás
pai
commit
3bab823511
19 arquivos alterados com 367 adições e 8 exclusões
  1. 21 1
      hx-admin/src/test/java/BootTest.java
  2. 8 0
      hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/controller/jd/JdRefundController.java
  3. 8 0
      hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/controller/jd/JdRefundNotQualityCheckController.java
  4. 51 2
      hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/controller/jd/JdRefundQualityCheckController.java
  5. 5 1
      hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/entity/jd/dto/JdRefundDto.java
  6. 4 0
      hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/entity/jd/dto/JdRefundQualityCheckDto.java
  7. 4 0
      hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/entity/jd/dto/JdRefundQualityCheckSelectDto.java
  8. 46 0
      hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/entity/jd/vo/JdRefundNotQualityCheckExcelVo.java
  9. 84 0
      hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/entity/jd/vo/JdRefundQualityCheckExcelVo.java
  10. 5 0
      hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/mapper/jd/JdRefundNotQualityCheckMapper.java
  11. 5 0
      hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/mapper/jd/JdRefundQualityCheckMapper.java
  12. 2 0
      hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/jd/JdRefundNotQualityCheckService.java
  13. 9 1
      hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/jd/JdRefundQualityCheckService.java
  14. 4 0
      hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/jd/JdRefundService.java
  15. 14 0
      hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/jd/impl/JdRefundNotQualityCheckServiceImpl.java
  16. 44 3
      hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/jd/impl/JdRefundQualityCheckServiceImpl.java
  17. 6 0
      hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/jd/impl/JdRefundServiceImpl.java
  18. 13 0
      hx-victoriatourist/src/main/resources/mapper/jd/JdRefundNotQualityCheckMapper.xml
  19. 34 0
      hx-victoriatourist/src/main/resources/mapper/jd/JdRefundQualityCheckMapper.xml

+ 21 - 1
hx-admin/src/test/java/BootTest.java

@@ -1,3 +1,5 @@
+import cn.hutool.core.date.DateUtil;
+import com.alibaba.fastjson2.JSONObject;
 import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fjhx.admin.BytesailingApplication;
@@ -8,6 +10,10 @@ import com.fjhx.victoriatourist.service.jd.impl.JdApiServiceImpl;
 import com.fjhx.wms.entity.stock.dto.StockWaitSelectDto;
 import com.fjhx.wms.entity.stock.vo.StockWaitVo;
 import com.fjhx.wms.service.stock.impl.StockWaitServiceImpl;
+import com.jd.open.api.sdk.JdClient;
+import com.jd.open.api.sdk.domain.supplier.SparePartInventoryJosService.response.list.JosResult;
+import com.jd.open.api.sdk.request.supplier.EdiwsRoRefundInfoListRequest;
+import com.jd.open.api.sdk.response.supplier.EdiwsRoRefundInfoListResponse;
 import com.ruoyi.common.annotation.TenantIgnore;
 import com.ruoyi.common.utils.SecurityUtils;
 import lombok.extern.slf4j.Slf4j;
@@ -33,6 +39,9 @@ public class BootTest {
     @Autowired
     private JdOrderService jdOrderService;
 
+    @Autowired
+    private JdClient jdClient;
+
     /**
      * 重新同步 同步异常的京东采购单
      */
@@ -44,7 +53,18 @@ public class BootTest {
 
         //jdApiServiceImpl.startJdOrder(null,null, Collections.singletonList(78L));
 
-        jdOrderService.reacquire(00L);
+
+        EdiwsRoRefundInfoListRequest request = new EdiwsRoRefundInfoListRequest();
+        request.setPageIndex(1);
+        request.setPageSize(10);
+        request.setApplyBeginTime(DateUtil.parseDateTime("2024-09-01 00:00:00"));
+        request.setApplyEndTime(DateUtil.parseDateTime("2024-10-12 00:00:00"));
+        request.setRefundId(73304331L);
+        //request.setOutNo(73304331L);
+        request.setVendorCode(RunParamConstant.VENDOR_CODE);
+        EdiwsRoRefundInfoListResponse response = jdClient.execute(request);
+        JosResult result = response.getResult();
+
 
         SecurityUtils.clearTenantId();
         DynamicDataSourceContextHolder.poll();

+ 8 - 0
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/controller/jd/JdRefundController.java

@@ -47,6 +47,14 @@ public class JdRefundController {
     }
 
     /**
+     * 售后退货确认
+     */
+    @PostMapping("confirms")
+    public void confirms(@RequestBody JdRefundDto dto) {
+        JdRefundService.confirms(dto.getIds());
+    }
+
+    /**
      * 售后退货取消确认
      */
     @PostMapping("cancelConfirm")

+ 8 - 0
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/controller/jd/JdRefundNotQualityCheckController.java

@@ -40,6 +40,14 @@ public class JdRefundNotQualityCheckController {
     }
 
     /**
+     * 导出excel
+     */
+    @PostMapping("/exportExcel")
+    public void exportExcel() {
+        jdRefundNotQualityCheckService.exportExcel();
+    }
+
+    /**
      * 提交质检
      */
     @PostMapping("/submitQualityCheck")

+ 51 - 2
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/controller/jd/JdRefundQualityCheckController.java

@@ -1,10 +1,15 @@
 package com.fjhx.victoriatourist.controller.jd;
 
+import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.common.constant.SourceConstant;
 import com.fjhx.victoriatourist.entity.jd.dto.JdRefundQualityCheckDto;
 import com.fjhx.victoriatourist.entity.jd.dto.JdRefundQualityCheckSelectDto;
 import com.fjhx.victoriatourist.entity.jd.vo.JdRefundQualityCheckVo;
 import com.fjhx.victoriatourist.service.jd.JdRefundQualityCheckService;
+import com.ruoyi.common.core.domain.entity.SysDept;
+import com.ruoyi.system.service.ISysDeptService;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -12,6 +17,9 @@ import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.List;
+import java.util.stream.Collectors;
+
 
 /**
  * <p>
@@ -21,6 +29,7 @@ import org.springframework.web.bind.annotation.RestController;
  * @author
  * @since 2024-09-27
  */
+@Slf4j
 @RestController
 @RequestMapping("/jdRefundQualityCheck")
 public class JdRefundQualityCheckController {
@@ -28,6 +37,9 @@ public class JdRefundQualityCheckController {
     @Autowired
     private JdRefundQualityCheckService jdRefundQualityCheckService;
 
+    @Autowired
+    private ISysDeptService sysDeptService;
+
     /**
      * 京东售后退货质检分页
      */
@@ -37,6 +49,14 @@ public class JdRefundQualityCheckController {
     }
 
     /**
+     * 导出
+     */
+    @PostMapping("/exportExcel")
+    public void exportExcel(@RequestBody JdRefundQualityCheckSelectDto dto) {
+        jdRefundQualityCheckService.exportExcel(dto);
+    }
+
+    /**
      * 处理
      */
     @PostMapping("/handle")
@@ -45,13 +65,42 @@ public class JdRefundQualityCheckController {
     }
 
     /**
-     * 处理
+     * 批量处理
+     */
+    @PostMapping("/batchHandle")
+    public void batchHandle(@RequestBody List<JdRefundQualityCheckDto> dto) {
+        jdRefundQualityCheckService.batchHandle(dto);
+    }
+
+    /**
+     * 验证
      */
     @PostMapping("/verify")
     public void verify(@RequestBody JdRefundQualityCheckDto dto) {
-        jdRefundQualityCheckService.verify(dto);
+        jdRefundQualityCheckService.verify(dto.getId());
     }
 
+    /**
+     * 批量验证
+     */
+    @PostMapping("/batchVerify")
+    public void batchVerify(@RequestBody JdRefundQualityCheckDto dto) {
+        jdRefundQualityCheckService.batchVerify(dto.getIds());
+    }
+
+    @GetMapping("/deptList")
+    public List<SysDept> deptList() {
+        DynamicDataSourceContextHolder.push(SourceConstant.BASE);
+
+        try {
+            return sysDeptService.lambdaQuery().like(SysDept::getParentId, "1650750129810030596").orderByAsc(SysDept::getOrderNum).list()
+                    .stream().flatMap(item -> sysDeptService.lambdaQuery().like(SysDept::getParentId, item.getDeptId()).orderByAsc(SysDept::getOrderNum).list().stream())
+                    .collect(Collectors.toList());
+        } finally {
+            DynamicDataSourceContextHolder.poll();
+        }
+
+    }
 
 
 }

+ 5 - 1
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/entity/jd/dto/JdRefundDto.java

@@ -4,14 +4,18 @@ import com.fjhx.victoriatourist.entity.jd.po.JdRefund;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.util.List;
+
 /**
  * 京东售后退货新增编辑入参实体
  *
- * @author 
+ * @author
  * @since 2024-09-25
  */
 @Getter
 @Setter
 public class JdRefundDto extends JdRefund {
 
+    private List<Long> ids;
+
 }

+ 4 - 0
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/entity/jd/dto/JdRefundQualityCheckDto.java

@@ -4,6 +4,8 @@ import com.fjhx.victoriatourist.entity.jd.po.JdRefundQualityCheck;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.util.List;
+
 /**
  * 京东售后退货质检新增编辑入参实体
  *
@@ -19,4 +21,6 @@ public class JdRefundQualityCheckDto extends JdRefundQualityCheck {
      */
     private Long jdRefundDetailId;
 
+    private List<Long> ids;
+
 }

+ 4 - 0
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/entity/jd/dto/JdRefundQualityCheckSelectDto.java

@@ -21,4 +21,8 @@ public class JdRefundQualityCheckSelectDto extends BaseSelectDto {
      */
     private List<Integer> status;
 
+    private Integer scrappedHandleStatus;
+
+    private String deptId;
+
 }

+ 46 - 0
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/entity/jd/vo/JdRefundNotQualityCheckExcelVo.java

@@ -0,0 +1,46 @@
+package com.fjhx.victoriatourist.entity.jd.vo;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.math.BigDecimal;
+
+@Getter
+@Setter
+public class JdRefundNotQualityCheckExcelVo {
+
+    @ColumnWidth(20)
+    @ExcelProperty("物品编码")
+    private String productCustomCode;
+
+    @ColumnWidth(15)
+    @ExcelProperty("良品数量")
+    private Integer qualifiedCount;
+
+    @ColumnWidth(15)
+    @ExcelProperty("次品数量")
+    private Integer defectiveCount;
+
+    @ColumnWidth(15)
+    @ExcelProperty("报废数量")
+    private Integer scrappedCount;
+
+    @ColumnWidth(15)
+    @ExcelProperty(value = "待质检数量")
+    private BigDecimal quantity;
+
+    @ColumnWidth(20)
+    @ExcelProperty(value = "商品名称")
+    private String productName;
+
+    @ColumnWidth(20)
+    @ExcelProperty(value = "规格")
+    private String productSpec;
+
+    @ColumnWidth(15)
+    @ExcelProperty(value = "单位")
+    private String productUnit;
+
+}

+ 84 - 0
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/entity/jd/vo/JdRefundQualityCheckExcelVo.java

@@ -0,0 +1,84 @@
+package com.fjhx.victoriatourist.entity.jd.vo;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.Date;
+
+/**
+ * 京东售后退货质检列表查询返回值实体
+ *
+ * @author
+ * @since 2024-09-27
+ */
+@Getter
+@Setter
+public class JdRefundQualityCheckExcelVo {
+
+    @ColumnWidth(15)
+    @ExcelProperty("质检单号")
+    private String code;
+
+    @ColumnWidth(20)
+    @ExcelProperty("物品编码")
+    private String productCustomCode;
+
+    @ColumnWidth(20)
+    @ExcelProperty("物品名称")
+    private String productName;
+
+    @ColumnWidth(20)
+    @ExcelProperty("规格")
+    private String productSpec;
+
+    @ColumnWidth(15)
+    @ExcelProperty("单位")
+    private String productUnit;
+
+    @ColumnWidth(15)
+    @ExcelProperty("报废数量")
+    private String scrappedCount;
+
+    @ColumnWidth(15)
+    @ExcelProperty("报废转良品数量")
+    private String scrappedToQualifiedCount;
+
+    @ColumnWidth(15)
+    @ExcelProperty("报废转次品数量")
+    private String scrappedToDefectiveCount;
+
+    @ColumnWidth(15)
+    @ExcelProperty("最终报废数量")
+    private String resultScrappedCount;
+
+    @ColumnWidth(15)
+    @ExcelProperty("状态")
+    private String scrappedHandleStatus;
+
+    @ColumnWidth(20)
+    @ExcelProperty("生成时间")
+    private Date scrappedHandleTime;
+
+    @ColumnWidth(20)
+    @ExcelProperty("验证时间")
+    private Date scrappedVerifyTime;
+
+    public void setScrappedHandleStatus(String scrappedHandleStatus) {
+        switch (scrappedHandleStatus) {
+            case "1":
+                this.scrappedHandleStatus = "待处理";
+                break;
+            case "2":
+                this.scrappedHandleStatus = "待验证";
+                break;
+            case "3":
+                this.scrappedHandleStatus = "已验证";
+                break;
+            default:
+                this.scrappedHandleStatus = "未知状态";
+        }
+    }
+
+}

+ 5 - 0
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/mapper/jd/JdRefundNotQualityCheckMapper.java

@@ -3,10 +3,13 @@ package com.fjhx.victoriatourist.mapper.jd;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fjhx.victoriatourist.entity.jd.po.JdRefundNotQualityCheck;
+import com.fjhx.victoriatourist.entity.jd.vo.JdRefundNotQualityCheckExcelVo;
 import com.fjhx.victoriatourist.entity.jd.vo.JdRefundNotQualityCheckVo;
 import com.ruoyi.common.utils.wrapper.IWrapper;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
+
 
 /**
  * <p>
@@ -23,4 +26,6 @@ public interface JdRefundNotQualityCheckMapper extends BaseMapper<JdRefundNotQua
      */
     Page<JdRefundNotQualityCheckVo> getPage(@Param("page") Page<Object> page, @Param("ew") IWrapper<JdRefundNotQualityCheck> wrapper);
 
+    List<JdRefundNotQualityCheckExcelVo> getList(@Param("ew") IWrapper<JdRefundNotQualityCheck> wrapper);
+
 }

+ 5 - 0
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/mapper/jd/JdRefundQualityCheckMapper.java

@@ -3,10 +3,13 @@ package com.fjhx.victoriatourist.mapper.jd;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fjhx.victoriatourist.entity.jd.po.JdRefundQualityCheck;
+import com.fjhx.victoriatourist.entity.jd.vo.JdRefundQualityCheckExcelVo;
 import com.fjhx.victoriatourist.entity.jd.vo.JdRefundQualityCheckVo;
 import com.ruoyi.common.utils.wrapper.IWrapper;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
+
 
 /**
  * <p>
@@ -23,4 +26,6 @@ public interface JdRefundQualityCheckMapper extends BaseMapper<JdRefundQualityCh
      */
     Page<JdRefundQualityCheckVo> getPage(@Param("page") Page<Object> page, @Param("ew") IWrapper<JdRefundQualityCheck> wrapper);
 
+    List<JdRefundQualityCheckExcelVo> getList(@Param("ew") IWrapper<JdRefundQualityCheck> wrapper);
+
 }

+ 2 - 0
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/jd/JdRefundNotQualityCheckService.java

@@ -26,6 +26,8 @@ public interface JdRefundNotQualityCheckService extends BaseService<JdRefundNotQ
      */
     Page<JdRefundNotQualityCheckVo> getPage(JdRefundNotQualityCheckSelectDto dto);
 
+    void exportExcel();
+
     /**
      * 提交质检
      */

+ 9 - 1
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/jd/JdRefundQualityCheckService.java

@@ -7,6 +7,8 @@ import com.fjhx.victoriatourist.entity.jd.po.JdRefundQualityCheck;
 import com.fjhx.victoriatourist.entity.jd.vo.JdRefundQualityCheckVo;
 import com.ruoyi.common.core.service.BaseService;
 
+import java.util.List;
+
 
 /**
  * <p>
@@ -23,8 +25,14 @@ public interface JdRefundQualityCheckService extends BaseService<JdRefundQuality
      */
     Page<JdRefundQualityCheckVo> getPage(JdRefundQualityCheckSelectDto dto);
 
+    void exportExcel(JdRefundQualityCheckSelectDto dto);
+
     void handle(JdRefundQualityCheckDto dto);
 
-    void verify(JdRefundQualityCheckDto dto);
+    void batchHandle(List<JdRefundQualityCheckDto> dto);
+
+    void verify(Long id);
+
+    void batchVerify(List<Long> ids);
 
 }

+ 4 - 0
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/jd/JdRefundService.java

@@ -7,6 +7,8 @@ import com.fjhx.victoriatourist.entity.jd.vo.JdRefundVo;
 import com.ruoyi.common.core.service.BaseService;
 import org.springframework.web.multipart.MultipartFile;
 
+import java.util.List;
+
 
 /**
  * <p>
@@ -22,6 +24,8 @@ public interface JdRefundService extends BaseService<JdRefund> {
 
     void confirm(Long id);
 
+    void confirms(List<Long> ids);
+
     void cancelConfirm(Long id);
 
     void confirmExcelImport(MultipartFile file);

+ 14 - 0
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/jd/impl/JdRefundNotQualityCheckServiceImpl.java

@@ -15,6 +15,7 @@ import com.fjhx.item.util.excel.util.ExcelUtil;
 import com.fjhx.victoriatourist.entity.jd.dto.JdRefundNotQualityCheckSelectDto;
 import com.fjhx.victoriatourist.entity.jd.po.JdRefundNotQualityCheck;
 import com.fjhx.victoriatourist.entity.jd.po.JdRefundQualityCheck;
+import com.fjhx.victoriatourist.entity.jd.vo.JdRefundNotQualityCheckExcelVo;
 import com.fjhx.victoriatourist.entity.jd.vo.JdRefundNotQualityCheckVo;
 import com.fjhx.victoriatourist.mapper.jd.JdRefundNotQualityCheckMapper;
 import com.fjhx.victoriatourist.service.jd.JdRefundNotQualityCheckService;
@@ -29,6 +30,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.web.multipart.MultipartFile;
 
+import javax.servlet.http.HttpServletResponse;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
@@ -55,6 +57,9 @@ import static com.fjhx.victoriatourist.service.jd.impl.JdRefundServiceImpl.getUp
 public class JdRefundNotQualityCheckServiceImpl extends ServiceImpl<JdRefundNotQualityCheckMapper, JdRefundNotQualityCheck> implements JdRefundNotQualityCheckService {
 
     @Autowired
+    private HttpServletResponse httpServletResponse;
+
+    @Autowired
     private JdRefundQualityCheckService qualityCheckService;
 
     @Autowired
@@ -72,6 +77,15 @@ public class JdRefundNotQualityCheckServiceImpl extends ServiceImpl<JdRefundNotQ
         return page;
     }
 
+    @Override
+    public void exportExcel() {
+        IWrapper<JdRefundNotQualityCheck> wrapper = getWrapper();
+        wrapper.orderByDesc("jrnqc", JdRefundNotQualityCheck::getId);
+        wrapper.gt("jrnqc", JdRefundNotQualityCheck::getQuantity, 0);
+        List<JdRefundNotQualityCheckExcelVo> list = this.baseMapper.getList(wrapper);
+        ExcelUtil.export(httpServletResponse, list, JdRefundNotQualityCheckExcelVo.class);
+    }
+
     @DSTransactional
     @Override
     public synchronized void submitQualityCheck(List<JdRefundQualityCheck> dto) {

+ 44 - 3
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/jd/impl/JdRefundQualityCheckServiceImpl.java

@@ -1,13 +1,16 @@
 package com.fjhx.victoriatourist.service.jd.impl;
 
+import com.baomidou.dynamic.datasource.annotation.DSTransactional;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fjhx.common.utils.Assert;
 import com.fjhx.item.entity.product.po.ProductInfo;
 import com.fjhx.item.service.product.ProductInfoService;
+import com.fjhx.item.util.excel.util.ExcelUtil;
 import com.fjhx.victoriatourist.entity.jd.dto.JdRefundQualityCheckDto;
 import com.fjhx.victoriatourist.entity.jd.dto.JdRefundQualityCheckSelectDto;
 import com.fjhx.victoriatourist.entity.jd.po.JdRefundQualityCheck;
+import com.fjhx.victoriatourist.entity.jd.vo.JdRefundQualityCheckExcelVo;
 import com.fjhx.victoriatourist.entity.jd.vo.JdRefundQualityCheckVo;
 import com.fjhx.victoriatourist.mapper.jd.JdRefundQualityCheckMapper;
 import com.fjhx.victoriatourist.service.jd.JdRefundQualityCheckService;
@@ -22,7 +25,9 @@ import org.apache.commons.lang3.ObjectUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import javax.servlet.http.HttpServletResponse;
 import java.util.Date;
+import java.util.List;
 
 import static com.fjhx.victoriatourist.service.jd.impl.JdRefundServiceImpl.WAREHOUSE_ID;
 import static com.fjhx.victoriatourist.service.jd.impl.JdRefundServiceImpl.getUpdateStockSql;
@@ -40,6 +45,9 @@ import static com.fjhx.victoriatourist.service.jd.impl.JdRefundServiceImpl.getUp
 public class JdRefundQualityCheckServiceImpl extends ServiceImpl<JdRefundQualityCheckMapper, JdRefundQualityCheck> implements JdRefundQualityCheckService {
 
     @Autowired
+    private HttpServletResponse httpServletResponse;
+
+    @Autowired
     private ProductInfoService productInfoService;
 
     @Autowired
@@ -54,13 +62,33 @@ public class JdRefundQualityCheckServiceImpl extends ServiceImpl<JdRefundQuality
                         new SqlField("pi.custom_code"),
                         new SqlField("su.user_name")
                 )
+                .eq("json_unquote(pi.victoriatourist_json -> '$.deptId')", dto.getDeptId())
                 .in("jrqc", JdRefundQualityCheck::getScrappedHandleStatus, dto.getStatus())
+                .eq("jrqc", JdRefundQualityCheck::getScrappedHandleStatus, dto.getScrappedHandleStatus())
                 .orderByDesc("jrqc", JdRefundQualityCheck::getId);
         Page<JdRefundQualityCheckVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
         return page;
     }
 
     @Override
+    public void exportExcel(JdRefundQualityCheckSelectDto dto) {
+        IWrapper<JdRefundQualityCheck> wrapper = getWrapper()
+                .keyword(dto.getKeyword(),
+                        new SqlField("jrqc.code"),
+                        new SqlField("pi.name"),
+                        new SqlField("pi.custom_code"),
+                        new SqlField("su.user_name")
+                )
+                .eq("json_unquote(pi.victoriatourist_json -> '$.deptId')", dto.getDeptId())
+                .in("jrqc", JdRefundQualityCheck::getScrappedHandleStatus, dto.getStatus())
+                .eq("jrqc", JdRefundQualityCheck::getScrappedHandleStatus, dto.getScrappedHandleStatus())
+                .orderByDesc("jrqc", JdRefundQualityCheck::getId);
+        List<JdRefundQualityCheckExcelVo> list = this.baseMapper.getList(wrapper);
+        ExcelUtil.export(httpServletResponse, list, JdRefundQualityCheckExcelVo.class);
+    }
+
+    @DSTransactional
+    @Override
     public synchronized void handle(JdRefundQualityCheckDto dto) {
         JdRefundQualityCheck jdRefundQualityCheck = getById(dto.getId());
         Assert.notEmpty(jdRefundQualityCheck, "数据不存在");
@@ -90,9 +118,16 @@ public class JdRefundQualityCheckServiceImpl extends ServiceImpl<JdRefundQuality
 
     }
 
+    @DSTransactional
     @Override
-    public void verify(JdRefundQualityCheckDto dto) {
-        JdRefundQualityCheck jdRefundQualityCheck = getById(dto.getId());
+    public synchronized void batchHandle(List<JdRefundQualityCheckDto> dto) {
+        dto.forEach(this::handle);
+    }
+
+    @DSTransactional
+    @Override
+    public synchronized void verify(Long id) {
+        JdRefundQualityCheck jdRefundQualityCheck = getById(id);
         Assert.notEmpty(jdRefundQualityCheck, "数据不存在");
         Assert.eqTrue(jdRefundQualityCheck.getScrappedHandleStatus() == 2, "该记录已处理,请勿重复操作");
 
@@ -112,12 +147,18 @@ public class JdRefundQualityCheckServiceImpl extends ServiceImpl<JdRefundQuality
                 .setSql(getUpdateStockSql(2, scrappedCount))
         );
 
-        update(q -> q.eq(BaseIdPo::getId, dto.getId())
+        update(q -> q.eq(BaseIdPo::getId, id)
                 .set(JdRefundQualityCheck::getScrappedHandleStatus, 3)
                 .set(JdRefundQualityCheck::getScrappedVerifyTime, new Date())
                 .set(JdRefundQualityCheck::getScrappedVerifyUserId, SecurityUtils.getUserId())
         );
     }
 
+    @DSTransactional
+    @Override
+    public synchronized void batchVerify(List<Long> ids) {
+        ids.forEach(this::verify);
+    }
+
 }
 

+ 6 - 0
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/jd/impl/JdRefundServiceImpl.java

@@ -185,6 +185,12 @@ public class JdRefundServiceImpl extends ServiceImpl<JdRefundMapper, JdRefund> i
 
     @DSTransactional
     @Override
+    public void confirms(List<Long> ids) {
+        ids.forEach(this::confirm);
+    }
+
+    @DSTransactional
+    @Override
     public void cancelConfirm(Long id) {
         JdRefundDetail jdRefundDetail = jdRefundDetailService.getById(id);
         Assert.notEmpty(jdRefundDetail, "京东售后明细不存在");

+ 13 - 0
hx-victoriatourist/src/main/resources/mapper/jd/JdRefundNotQualityCheckMapper.xml

@@ -15,4 +15,17 @@
             ${ew.customSqlSegment}
     </select>
 
+    <select id="getList" resultType="com.fjhx.victoriatourist.entity.jd.vo.JdRefundNotQualityCheckExcelVo">
+        select jrnqc.id,
+               jrnqc.product_id,
+               jrnqc.quantity,
+               pi.name        as product_name,
+               pi.custom_code as product_custom_code,
+               pi.spec        as product_spec,
+               pi.unit        as product_unit
+        from jd_refund_not_quality_check jrnqc
+                 Left Join bytesailing_item.product_info pi ON jrnqc.product_id = pi.id
+            ${ew.customSqlSegment}
+    </select>
+
 </mapper>

+ 34 - 0
hx-victoriatourist/src/main/resources/mapper/jd/JdRefundQualityCheckMapper.xml

@@ -35,4 +35,38 @@
             ${ew.customSqlSegment}
     </select>
 
+    <select id="getList" resultType="com.fjhx.victoriatourist.entity.jd.vo.JdRefundQualityCheckExcelVo">
+        select jrqc.id,
+               jrqc.code,
+               jrqc.product_id,
+               jrqc.qualified_count,
+               jrqc.defective_count,
+               jrqc.scrapped_count,
+               jrqc.create_user,
+               jrqc.create_time,
+
+               jrqc.scrapped_to_qualified_count,
+               jrqc.scrapped_to_defective_count,
+               jrqc.result_scrapped_count,
+               jrqc.scrapped_handle_status,
+               jrqc.scrapped_handle_user_id,
+               jrqc.scrapped_handle_time,
+               jrqc.scrapped_verify_user_id,
+               jrqc.scrapped_verify_time,
+
+               pi.name        as product_name,
+               pi.custom_code as product_custom_code,
+               pi.spec        as product_spec,
+               pi.unit        as product_unit,
+               su.nick_name   as user_name,
+               su2.nick_name  as handle_user_name,
+               su3.nick_name  as verify_user_name
+        from jd_refund_quality_check jrqc
+                 Left Join bytesailing_item.product_info pi ON jrqc.product_id = pi.id
+                 left join bytesailing_base.sys_user su ON jrqc.create_user = su.user_id
+                 left join bytesailing_base.sys_user su2 ON jrqc.scrapped_handle_user_id = su2.user_id
+                 left join bytesailing_base.sys_user su3 ON jrqc.scrapped_verify_user_id = su3.user_id
+            ${ew.customSqlSegment}
+    </select>
+
 </mapper>