Browse Source

feature 代码提交

xiahan 4 months ago
parent
commit
a98c8ffebb

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

@@ -2,12 +2,11 @@ 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.commonservice.service.RedisService;
 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;
@@ -27,11 +26,9 @@ import javax.servlet.http.HttpServletRequest;
 import java.math.BigDecimal;
 import java.math.RoundingMode;
 import java.text.SimpleDateFormat;
-import java.time.LocalDate;
 import java.time.YearMonth;
 import java.time.ZoneId;
 import java.time.temporal.ChronoUnit;
-import java.time.temporal.TemporalAccessor;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -55,7 +52,8 @@ public class BillGenerationServiceImpl {
     private DataSourceTransactionManager transactionManager;
     @Autowired
     private SwEnterpriseConfigInfoServiceImpl swEnterpriseConfigInfoService;
-
+    @Autowired
+    private RedisService redisService;
     private static final SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
 
     public static String formatDate(Date date) {
@@ -66,17 +64,20 @@ public class BillGenerationServiceImpl {
 
     /**
      * 异步方法
+     *
      * @param swWaterUsageEntryDoList
      * @param attributes
      */
     @Async(value = "zhswThreadPool")
-    public void asyncGenerateBill(List<SwWaterUsageEntryDo> swWaterUsageEntryDoList, HttpServletRequest httpServletRequest){
+    public void asyncGenerateBill(List<SwWaterUsageEntryDo> swWaterUsageEntryDoList, HttpServletRequest httpServletRequest, String dskey) {
         if (swWaterUsageEntryDoList == null || swWaterUsageEntryDoList.isEmpty()) {
             log.error("暂无需要生成账单的信息");
             return;
         }
-        SysUserVo currentUser = ZHSWCommonUtils.getCurrentUser();
-        String dskey = currentUser.getTenantDo().getDskey();
+        if(httpServletRequest==null){
+            httpServletRequest =((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
+        }
+        log.info("httpServletRequest是否为空:{},所属库名:{}", httpServletRequest == null, dskey);
         httpServletRequest.setAttribute(Constants.SAAS_LOGIN_TOKEN, dskey);
         generateBill(swWaterUsageEntryDoList);
     }
@@ -189,8 +190,13 @@ public class BillGenerationServiceImpl {
             log.error("抄表记录ID为空");
             return;
         }
+        String token = httpServletRequest.getHeader("token");
+        log.info("token:{}", token);
+        SysUserVo loginUser = redisService.getLoginUser(token);
+        log.info("获取到的用户信息为:{}", loginUser);
+        String dskey = loginUser.getTenantDo().getDskey();
         log.info("开始给抄表记录:{},生成账单信息", ids);
-        this.asyncGenerateBill(swWaterUsageEntryService.getBaseMapper().selectBatchIds(ids), httpServletRequest);
+        this.asyncGenerateBill(swWaterUsageEntryService.getBaseMapper().selectBatchIds(ids), httpServletRequest, dskey);
     }
 
 
@@ -199,7 +205,9 @@ public class BillGenerationServiceImpl {
                 .eq(SwWaterUsageEntryDo::getDeleted, "0")
                 .eq(SwWaterUsageEntryDo::getState, 0));
         log.info("开始给抄表记录:{},生成账单信息", list.stream().map(SwWaterUsageEntryDo::getId).collect(Collectors.toList()));
-        this.asyncGenerateBill(list, request);
+        SysUserVo currentUser = ZHSWCommonUtils.getCurrentUser();
+        String dskey = currentUser.getTenantDo().getDskey();
+        this.asyncGenerateBill(list, request, dskey);
     }
 
     /**
@@ -334,5 +342,4 @@ public class BillGenerationServiceImpl {
     }
 
 
-
 }

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

@@ -1,14 +1,15 @@
 package com.rongwei.zhsw.system.service.impl;
 
 import com.alibaba.excel.EasyExcel;
-import com.rongwe.zhsw.system.domain.SwUserManagementDo;
 import com.rongwe.zhsw.system.domain.SwWaterUsageEntryDo;
 import com.rongwe.zhsw.system.vo.ImportMeterReadingRecordVo;
+import com.rongwei.rwadmincommon.system.vo.SysUserVo;
 import com.rongwei.rwcommon.base.R;
 import com.rongwei.rwcommoncomponent.file.dao.SysFileItemDao;
 import com.rongwei.rwcommonentity.commonservers.domain.SysFileItemDo;
 import com.rongwei.zhsw.system.importListener.MeterReadingRecordListener;
 import com.rongwei.zhsw.system.service.ImportExcelService;
+import com.rongwei.zhsw.system.utils.ZHSWCommonUtils;
 import org.apache.commons.lang.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -16,14 +17,10 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Propagation;
 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;
-import java.util.stream.Collectors;
 
 import static com.rongwei.rwcommon.utils.UtilsChecks.parameterCheck;
 
@@ -44,6 +41,7 @@ public class ImportExcelServiceImpl implements ImportExcelService {
     @Autowired
     private BillGenerationServiceImpl billGenerationService;
     private static final Logger log = LoggerFactory.getLogger(ImportExcelServiceImpl.class);
+
     /**
      * 抄表记录生成
      *
@@ -59,16 +57,18 @@ public class ImportExcelServiceImpl implements ImportExcelService {
         EasyExcel.read(file, ImportMeterReadingRecordVo.class, meterReadingRecordListener).sheet().doRead();
         // 获取处理之后的数据
         long entTime = System.currentTimeMillis();
-        log.error("excel解析时长:{}",startTime-entTime);
-         startTime = System.currentTimeMillis();
-        List<SwWaterUsageEntryDo> saveList =  meterReadingRecordListener.getData();
+        log.error("excel解析时长:{}", startTime - entTime);
+        startTime = System.currentTimeMillis();
+        List<SwWaterUsageEntryDo> saveList = meterReadingRecordListener.getData();
         this.save(saveList);
         entTime = System.currentTimeMillis();
-        log.error("数据保存时长:{}",startTime-entTime);
+        log.error("数据保存时长:{}", startTime - entTime);
         startTime = System.currentTimeMillis();
-        billGenerationService.asyncGenerateBill(saveList,httpServletRequest);
+        SysUserVo currentUser = ZHSWCommonUtils.getCurrentUser();
+        String dskey = currentUser.getTenantDo().getDskey();
+        billGenerationService.asyncGenerateBill(saveList, httpServletRequest, dskey);
         entTime = System.currentTimeMillis();
-        log.error("账单生成时长:{}",startTime-entTime);
+        log.error("账单生成时长:{}", startTime - entTime);
         return R.ok();
     }
 

+ 1 - 1
zhsw-common/src/main/java/com/rongwei/zhsw/system/service/impl/SwBillingRecordServiceImpl.java

@@ -151,7 +151,7 @@ public class SwBillingRecordServiceImpl extends ServiceImpl<SwBillingRecordDao,
         record.setYear(Calendar.getInstance().get(Calendar.YEAR));
         record.setUsername(user.getUsername());
         record.setUsernumber(user.getUsernumber());
-        record.setUsertype(user.getUsertype());
+        record.setUsertype(user.getUsertypeid());
         record.setWatertype(user.getWatertype());
         record.setAddress(user.getAddress());
         record.setTollcollectorid(currentUser.getId());