lyhzzz 1 năm trước cách đây
mục cha
commit
5b47d89772

+ 33 - 4
src/main/java/com/fdkankan/sale/common/CacheUtil.java

@@ -1,12 +1,22 @@
 package com.fdkankan.sale.common;
 
+import cn.dev33.satoken.stp.StpUtil;
+import com.fdkankan.redis.util.RedisUtil;
+import com.fdkankan.sale.exception.BusinessException;
 import com.fdkankan.sale.vo.request.RepairInfoListParam;
 import com.fdkankan.sale.vo.request.RepairInvoiceParam;
 import com.fdkankan.sale.vo.request.RepairPayParam;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
 
-public class CacheUtil {
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Set;
 
+@Component
+public class CacheUtil {
     public static String environment;
     public static  String uploadType;
     public static  String bucket;
@@ -14,8 +24,27 @@ public class CacheUtil {
     public static  String mainUrl;
     public static  String dingServeName;
 
-    public static RepairInvoiceParam invoiceParam = new RepairInvoiceParam();
-    public static RepairPayParam payParam = new RepairPayParam();
-    public static RepairInfoListParam repairInfoListParam = new RepairInfoListParam();
+    public static HashMap<String,RepairInfoListParam> repairInfoListParamMap = new HashMap<>();
+    public static HashMap<String,RepairInvoiceParam> invoiceParamMap = new HashMap<>();
+    public static HashMap<String,RepairPayParam> payParamMap = new HashMap<>();
+
+
+    @Autowired
+    RedisUtil redisUtil;
+    @Scheduled(initialDelay = 1000,fixedDelay = 1000 * 60 * 2 )
+    public void checkTokenMsg(){
+        HashSet<String> hashSet = new HashSet<>();
+        hashSet.addAll(repairInfoListParamMap.keySet());
+        hashSet.addAll(invoiceParamMap.keySet());
+        hashSet.addAll(payParamMap.keySet());
 
+        for (String key : hashSet) {
+            String redisKey = String.format(RedisKeyUtil.loginToken, key);
+            if(!redisUtil.hasKey(redisKey)){
+                repairInfoListParamMap.remove(key);
+                invoiceParamMap.remove(key);
+                payParamMap.remove(key);
+            }
+        }
+    }
 }

+ 6 - 0
src/main/java/com/fdkankan/sale/common/RedisKeyUtil.java

@@ -1,5 +1,11 @@
 package com.fdkankan.sale.common;
 
+import com.fdkankan.sale.vo.request.RepairInfoListParam;
+import com.fdkankan.sale.vo.request.RepairInvoiceParam;
+import com.fdkankan.sale.vo.request.RepairPayParam;
+
+import java.util.HashMap;
+
 public class RedisKeyUtil {
 
 

+ 5 - 2
src/main/java/com/fdkankan/sale/controller/RepairInfoController.java

@@ -99,7 +99,7 @@ public class RepairInfoController extends BaseController{
      */
     @PostMapping("/list")
     public ResultData list(@RequestBody RepairInfoListParam param){
-        CacheUtil.repairInfoListParam = param;
+        CacheUtil.repairInfoListParamMap.put(getToken(),param);
         return ResultData.ok(repairInfoService.pageList(param));
     }
 
@@ -109,7 +109,10 @@ public class RepairInfoController extends BaseController{
      */
     @GetMapping("/exportRepairInfo")
     public void exportRepairInfo(HttpServletRequest request, HttpServletResponse response){
-        RepairInfoListParam  param =  CacheUtil.repairInfoListParam;
+        RepairInfoListParam  param =  CacheUtil.repairInfoListParamMap.get(getToken());
+        if(param == null){
+            param = new RepairInfoListParam();
+        }
         param.setPageNum(1);
         param.setPageSize(500);
         Page<RepairerVo> voPage = repairService.pageInfoList(param);

+ 5 - 2
src/main/java/com/fdkankan/sale/controller/RepairInvoiceController.java

@@ -42,7 +42,7 @@ public class RepairInvoiceController extends BaseController {
 
     @PostMapping("/list")
     public ResultData list(@RequestBody RepairInvoiceParam param){
-        CacheUtil.invoiceParam = param;
+        CacheUtil.invoiceParamMap.put(getToken(),param);
         return ResultData.ok(PageInfo.PageInfo(repairInvoiceService.pageList(param)));
     }
 
@@ -71,7 +71,10 @@ public class RepairInvoiceController extends BaseController {
      */
     @GetMapping("/export")
     public void export(HttpServletRequest request, HttpServletResponse response) throws Exception {
-        RepairInvoiceParam param = CacheUtil.invoiceParam ;
+        RepairInvoiceParam param =  CacheUtil.invoiceParamMap.get(getToken()) ;
+        if(param == null){
+            param = new RepairInvoiceParam();
+        }
         param.setPageNum(1);
         param.setPageSize(500);
         Page<RepairInvoiceVo> voPage = repairInvoiceService.pageList(param);

+ 6 - 3
src/main/java/com/fdkankan/sale/controller/RepairPayController.java

@@ -20,7 +20,7 @@ import javax.servlet.http.HttpServletResponse;
 
 @RestController
 @RequestMapping("/sale/repairPay")
-public class RepairPayController {
+public class RepairPayController extends BaseController{
 
     @Autowired
     IRepairPayService repairPayService;
@@ -29,7 +29,7 @@ public class RepairPayController {
 
     @PostMapping("/list")
     public ResultData list(@RequestBody RepairPayParam param){
-        CacheUtil.payParam = param;
+        CacheUtil.payParamMap.put(getToken(), param);
         return ResultData.ok(PageInfo.PageInfo(repairPayService.pageList(param)));
     }
 
@@ -38,7 +38,10 @@ public class RepairPayController {
      */
     @GetMapping("/export")
     public void export(HttpServletRequest request, HttpServletResponse response) throws Exception {
-        RepairPayParam param =CacheUtil.payParam  ;
+        RepairPayParam param =CacheUtil.payParamMap.get(getToken())  ;
+        if(param == null){
+            param = new RepairPayParam();
+        }
         param.setPageNum(1);
         param.setPageSize(500);
         Page<RepairPayVo> voPage = repairPayService.pageList(param);

+ 4 - 3
src/main/resources/mapper/sale/RepairMapper.xml

@@ -5,12 +5,14 @@
 
     <select id="saleOrderList" resultType="com.fdkankan.sale.vo.response.RepairerVo">
         select distinct r.* ,rr.check_result,c.customer_name,c.company_name, cd.send_type,cd.send_tracking_num,
-        o.sys_user_id as saleId,rr.sys_user_id as repairManId,cd.is_sign_for
+        o.sys_user_id as saleId,rr.sys_user_id as repairManId,cd.is_sign_for,ri.status as invoiceOpenStatus
         from t_repair r
              left join  t_order_receiving o on r.repair_id = o.repair_id
             left join  t_repair_register rr on r.repair_id = rr.repair_id
             left join  t_customer c on r.repair_id = c.repair_id
             left join  t_customer_address cd on r.repair_id = cd.repair_id
+            left join  t_repair_invoice ri on r.repair_id = ri.repair_id
+
         where r.rec_status = 'A' and r.status in
         <foreach item="status" collection="param.statusList" open="(" separator="," close=")">
             #{status}
@@ -181,13 +183,12 @@
 
     <select id="pageInfoList" resultType="com.fdkankan.sale.vo.response.RepairerVo">
         select distinct  r.*,rr.check_result,o.create_time as orderReceivingTime,c.customer_name ,c.company_name,
-                        o.sys_user_id as saleId,rr.sys_user_id as repairManId, rr.over_time as repairOverTime,ri.status as invoiceOpenStatus
+                        o.sys_user_id as saleId,rr.sys_user_id as repairManId, rr.over_time as repairOverTime
         from t_repair r
         left join  t_order_receiving o on r.repair_id = o.repair_id
         left join  t_repair_register rr on r.repair_id = rr.repair_id
         left join  t_customer c on r.repair_id = c.repair_id
         left join t_repair_pay rp on r.repair_id = rp.repair_id
-        left join t_repair_invoice ri on r.repair_id = ri.repair_id
         where r.rec_status = 'A'
         <if test="param.repairId != null and param.repairId != ''">
             and r.repair_id like  concat ('%',#{param.repairId},'%')