Browse Source

feature 代码提交

xiahan 4 months ago
parent
commit
9e22c25515

+ 3 - 1
zhsw-common/src/main/java/com/rongwei/zhsw/system/service/ImportExcelService.java

@@ -2,6 +2,8 @@ package com.rongwei.zhsw.system.service;
 
 import com.rongwei.rwcommon.base.R;
 
+import javax.servlet.http.HttpServletRequest;
+
 /**
  * ImportExcelService class
  *
@@ -10,5 +12,5 @@ import com.rongwei.rwcommon.base.R;
  */
 public interface ImportExcelService {
 
-    R meterReadingRecord(String fileId);
+    R meterReadingRecord(String fileId, HttpServletRequest httpServletRequest);
 }

+ 18 - 8
zhsw-common/src/main/java/com/rongwei/zhsw/system/service/impl/BillGenerationServiceImpl.java

@@ -2,10 +2,13 @@ package com.rongwei.zhsw.system.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.rongwe.zhsw.system.domain.SwBillManagementUnpaidDo;
+import com.rongwe.zhsw.system.domain.SwEnterpriseConfigInfoDo;
 import com.rongwe.zhsw.system.domain.SwUserManagementDo;
 import com.rongwe.zhsw.system.domain.SwWaterUsageEntryDo;
 import com.rongwei.rwadmincommon.system.vo.SysUserVo;
 import com.rongwei.rwcommon.base.BaseDo;
+import com.rongwei.rwcommon.base.exception.CustomException;
+import com.rongwei.rwcommon.utils.Constants;
 import com.rongwei.rwcommon.utils.SecurityUtil;
 import com.rongwei.zhsw.system.utils.ZHSWCommonUtils;
 import org.slf4j.Logger;
@@ -20,6 +23,7 @@ import org.springframework.transaction.support.DefaultTransactionDefinition;
 import org.springframework.web.context.request.RequestContextHolder;
 import org.springframework.web.context.request.ServletRequestAttributes;
 
+import javax.servlet.http.HttpServletRequest;
 import java.math.BigDecimal;
 import java.math.RoundingMode;
 import java.text.SimpleDateFormat;
@@ -49,6 +53,8 @@ public class BillGenerationServiceImpl {
     private SwBillManagementUnpaidServiceImpl swBillManagementUnpaidService;
     @Autowired
     private DataSourceTransactionManager transactionManager;
+    @Autowired
+    private SwEnterpriseConfigInfoServiceImpl swEnterpriseConfigInfoService;
 
     private static final SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
 
@@ -64,12 +70,14 @@ public class BillGenerationServiceImpl {
      * @param attributes
      */
     @Async(value = "zhswThreadPool")
-    public void asyncGenerateBill(List<SwWaterUsageEntryDo> swWaterUsageEntryDoList, ServletRequestAttributes attributes){
-        RequestContextHolder.setRequestAttributes(attributes);
+    public void asyncGenerateBill(List<SwWaterUsageEntryDo> swWaterUsageEntryDoList, HttpServletRequest httpServletRequest){
         if (swWaterUsageEntryDoList == null || swWaterUsageEntryDoList.isEmpty()) {
             log.error("暂无需要生成账单的信息");
             return;
         }
+        SysUserVo currentUser = ZHSWCommonUtils.getCurrentUser();
+        String dskey = currentUser.getTenantDo().getDskey();
+        httpServletRequest.setAttribute(Constants.SAAS_LOGIN_TOKEN, dskey);
         generateBill(swWaterUsageEntryDoList);
     }
 
@@ -77,7 +85,10 @@ public class BillGenerationServiceImpl {
     public void generateBill(List<SwWaterUsageEntryDo> swWaterUsageEntryDoList) {
         log.debug("需要生成账单的抄表记录为:{}", swWaterUsageEntryDoList);
         SysUserVo currentUser = ZHSWCommonUtils.getCurrentUser();
-        log.error("判断上下文对象是否正常传递:{}",currentUser);
+        List<SwEnterpriseConfigInfoDo> list = swEnterpriseConfigInfoService.list();
+        if(1==1){
+            throw new CustomException("");
+        }
         // 对数据按照抄表日期排序
         List<SwWaterUsageEntryDo> collect = swWaterUsageEntryDoList.stream()
                 .sorted(Comparator.comparing(SwWaterUsageEntryDo::getCurrentreadingdate))
@@ -178,23 +189,22 @@ public class BillGenerationServiceImpl {
     }
 
 
-    public void generateBill(List<String> ids, boolean a, ServletRequestAttributes attributes) {
+    public void generateBill(List<String> ids, boolean a, HttpServletRequest httpServletRequest) {
         if (ids.isEmpty()) {
             log.error("抄表记录ID为空");
             return;
         }
         log.info("开始给抄表记录:{},生成账单信息", ids);
-        this.asyncGenerateBill(swWaterUsageEntryService.getBaseMapper().selectBatchIds(ids), attributes);
+        this.asyncGenerateBill(swWaterUsageEntryService.getBaseMapper().selectBatchIds(ids), httpServletRequest);
     }
 
 
-    public void generateBill(ServletRequestAttributes attributes) {
-
+    public void generateBill(HttpServletRequest request) {
         List<SwWaterUsageEntryDo> list = swWaterUsageEntryService.list(new LambdaQueryWrapper<SwWaterUsageEntryDo>()
                 .eq(SwWaterUsageEntryDo::getDeleted, "0")
                 .eq(SwWaterUsageEntryDo::getState, 0));
         log.info("开始给抄表记录:{},生成账单信息", list.stream().map(SwWaterUsageEntryDo::getId).collect(Collectors.toList()));
-        this.asyncGenerateBill(list, attributes);
+        this.asyncGenerateBill(list, request);
     }
 
     /**

+ 3 - 3
zhsw-common/src/main/java/com/rongwei/zhsw/system/service/impl/ImportExcelServiceImpl.java

@@ -19,6 +19,7 @@ import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.context.request.RequestContextHolder;
 import org.springframework.web.context.request.ServletRequestAttributes;
 
+import javax.servlet.http.HttpServletRequest;
 import java.io.File;
 import java.util.List;
 import java.util.Map;
@@ -50,7 +51,7 @@ public class ImportExcelServiceImpl implements ImportExcelService {
      * @return
      */
     @Override
-    public R meterReadingRecord(String fileId) {
+    public R meterReadingRecord(String fileId, HttpServletRequest httpServletRequest) {
         File file = readFile(fileId);
         // 数据读取
         long startTime = System.currentTimeMillis();
@@ -65,8 +66,7 @@ public class ImportExcelServiceImpl implements ImportExcelService {
         entTime = System.currentTimeMillis();
         log.error("数据保存时长:{}",startTime-entTime);
         startTime = System.currentTimeMillis();
-        ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
-        billGenerationService.asyncGenerateBill(saveList,attributes);
+        billGenerationService.asyncGenerateBill(saveList,httpServletRequest);
         entTime = System.currentTimeMillis();
         log.error("账单生成时长:{}",startTime-entTime);
         return R.ok();

+ 2 - 3
zhsw-server/src/main/java/com/rongwei/zhsw/system/controller/BillGenerationController.java

@@ -37,9 +37,8 @@ public class BillGenerationController {
         return R.ok();
     }
     @PostMapping("/generate")
-    private R generateBill() {
-        ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
-        billGenerationService.generateBill(attributes);
+    private R generateBill(HttpServletRequest request) {
+        billGenerationService.generateBill(request);
         return R.ok();
     }
 }

+ 5 - 2
zhsw-server/src/main/java/com/rongwei/zhsw/system/controller/ImportExcelController.java

@@ -8,6 +8,9 @@ import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
 /**
  * ImportExcelController class
  *
@@ -24,7 +27,7 @@ public class ImportExcelController {
 
 
     @PostMapping("/meter-reading/{fileId}")
-    private R meterReadingRecord(@PathVariable("fileId") String fileId) {
-        return importExcelService.meterReadingRecord(fileId);
+    private R meterReadingRecord(@PathVariable("fileId") String fileId, HttpServletRequest httpServletRequest) {
+        return importExcelService.meterReadingRecord(fileId,httpServletRequest);
     }
 }