Procházet zdrojové kódy

fix: 分红查询和上传问题修复

chenjianhua před 7 měsíci
rodič
revize
d056677948

+ 1 - 1
service-base/src/main/resources/mapper/DistributionMapper.xml

@@ -98,7 +98,7 @@
         from PPW_EMAIL.distribution d
         join PPW_EMAIL.pvn_fund_info info on d.fund_id = info.fund_id
         join PPW_EMAIL.pvn_company_info c on info.trust_id = c.company_id
-        join PPW_EMAIL.nav n on n.fund_id = d.fund_id
+        join PPW_EMAIL.nav n on n.fund_id = d.fund_id  and d.distribute_date=n.price_date
         where d.isvalid=1 and info.isvalid =1 and c.isvalid =1 and n.isvalid=1
         <if test="companyName != null and companyName !=''">
             and (c.company_name like concat('%',#{companyName},'%') or c.company_short_name like concat('%',#{companyName},'%'))

+ 1 - 1
service-manage/src/main/java/com/simuwang/manage/api/distribution/DistributionController.java

@@ -67,7 +67,7 @@ public class DistributionController {
      * @return
      */
     @PostMapping("upload-distribution")
-    public ResultVo uploadDistribution(@RequestParam(value = "file") MultipartFile file) {
+    public ResultVo uploadDistribution(@RequestPart(value = "file") MultipartFile file) {
         ResultVo vo = distributionService.uploadDistribution(file);
         return vo;
     }

+ 11 - 5
service-manage/src/main/java/com/simuwang/manage/service/impl/DistributionServiceImpl.java

@@ -10,6 +10,7 @@ import com.simuwang.base.common.enums.DistributeType;
 import com.simuwang.base.common.support.MybatisPage;
 import com.simuwang.base.common.util.DateUtils;
 import com.simuwang.base.common.util.ExcelUtil;
+import com.simuwang.base.common.util.FileUtil;
 import com.simuwang.base.common.util.StringUtil;
 import com.simuwang.base.mapper.DistributionMapper;
 import com.simuwang.base.mapper.FundInfoMapper;
@@ -25,19 +26,19 @@ import com.simuwang.manage.service.DistributionService;
 import com.smppw.common.pojo.ResultVo;
 import com.smppw.common.pojo.enums.status.ResultCode;
 import com.smppw.common.pojo.enums.status.StatusCode;
+import org.apache.commons.io.FileUtils;
 import org.apache.poi.ss.formula.functions.Na;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 import org.springframework.web.multipart.MultipartFile;
 
 import java.io.File;
+import java.io.InputStream;
 import java.math.BigDecimal;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -60,6 +61,9 @@ public class DistributionServiceImpl implements DistributionService {
 
     @Autowired
     private FundInfoMapper fundInfoMapper;
+
+    @Value("${email.file.path}")
+    private String path;
     @Override
     public MybatisPage<DistributionTablePageVO> searchDistributionList(DistributionPageQuery distributionPageQuery) {
         List<DistributionTablePageDO> distributionTablePageDOList = distributionMapper.searchDistributionList(distributionPageQuery);
@@ -124,7 +128,9 @@ public class DistributionServiceImpl implements DistributionService {
         ResultVo vo = new ResultVo(ResultCode.SUCCESS);
         File file = null;
         try{
-            file = excelFile.getResource().getFile();
+            InputStream inputStream = excelFile.getInputStream();
+            file = new File(path+"/upload/"+ System.currentTimeMillis()+"/"+excelFile.getOriginalFilename());
+            FileUtils.copyInputStreamToFile(inputStream,file);
             List<DistributionExcelData> list = parseDistributionFile(file);
             vo.setData(parseResult(list));
         }catch (Exception e){

+ 9 - 1
service-manage/src/main/java/com/simuwang/manage/service/impl/FundNavAssetServiceImpl.java

@@ -22,13 +22,16 @@ import com.simuwang.base.pojo.vo.*;
 import com.simuwang.manage.service.FundNavAssetService;
 import com.smppw.common.pojo.ResultVo;
 import com.smppw.common.pojo.enums.status.ResultCode;
+import org.apache.commons.io.FileUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 import org.springframework.web.multipart.MultipartFile;
 
 import java.io.File;
+import java.io.InputStream;
 import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -55,6 +58,9 @@ public class FundNavAssetServiceImpl implements FundNavAssetService {
 
     @Autowired
     private FundInfoMapper fundInfoMapper;
+
+    @Value("${email.file.path}")
+    private String path;
     private static final Logger logger = LoggerFactory.getLogger(FundNavAssetServiceImpl.class);
     @Override
     public MybatisPage<FundNavAssetVO> searchNavAssetList(FundNavAssetPageQuery fundNavAssetPageQuery) {
@@ -128,7 +134,9 @@ public class FundNavAssetServiceImpl implements FundNavAssetService {
         ResultVo vo = new ResultVo(ResultCode.SUCCESS);
         File file = null;
         try{
-            file = excelFile.getResource().getFile();
+            InputStream inputStream = excelFile.getInputStream();
+            file = new File(path+"/upload/"+ System.currentTimeMillis()+"/"+excelFile.getOriginalFilename());
+            FileUtils.copyInputStreamToFile(inputStream,file);
             List<NavAssetExcelData> list = parseDistributionFile(file);
             vo.setData(parseResult(list));
         }catch (Exception e){