Browse Source

所有模块 代码优化,获取券服务列表接口名为list,getCurrentUser接口异常处理

songfuqiang 2 years ago
parent
commit
a473ace776

+ 18 - 0
backend-core/src/main/java/cn/kdan/pdf/backend/core/controller/MissionController.java

@@ -28,17 +28,35 @@ public class MissionController {
         return new ResultMap<>(CommonConstant.SUCCESS, CommonConstant.RESULT_SUCCESS, missionService.create(paramList));
     }
 
+    /**
+     * 根据任务id进行saas任务转档
+     *
+     * @param missionId 任务id
+     * @return 任务id
+     */
     @PostMapping("convertFile")
     public ResultMap<String> convertFile(String missionId) {
         return new ResultMap<>(CommonConstant.SUCCESS, CommonConstant.RESULT_SUCCESS, missionService.convertFile(missionId));
     }
 
+    /**
+     * 查询文件任务状态
+     *
+     * @param missionId 任务id
+     * @return
+     */
     @PostMapping("queryFileStatus")
     public ResultMap<List<MissionVO>> queryFileStatus(String missionId) {
         List<MissionVO> result = missionService.queryFileStatus(missionId);
         return new ResultMap<>(CommonConstant.SUCCESS, CommonConstant.RESULT_SUCCESS, result);
     }
 
+    /**
+     * 根据saas任务id集合修改文件状态
+     *
+     * @param idList saas任务id集合
+     * @return null
+     */
     @PostMapping("updateFileStatusBySaasIdList")
     public ResultMap<String> updateFileStatusBySaasIdList(List<String> idList) {
         missionService.updateFileStatusBySaasIdList(idList);

+ 1 - 1
backend-core/src/main/java/cn/kdan/pdf/backend/core/controller/PricingController.java

@@ -18,7 +18,7 @@ public class PricingController {
     /**
      * 查询券服务列表
      */
-    @PostMapping("/getPricingList")
+    @PostMapping("/list")
     public ResultMap<QueryPricingResp> getPricingList(@RequestBody QueryPricingReq req) {
         QueryPricingResp pricingList = pricingService.getPricingList(req);
         return new ResultMap<>(CommonConstant.SUCCESS, "查询券服务列表成功", pricingList);

+ 4 - 0
backend-core/src/main/java/cn/kdan/pdf/backend/core/service/MissionService.java

@@ -5,6 +5,9 @@ import cn.kdan.pdf.backend.core.pojo.MissionVO;
 
 import java.util.List;
 
+/**
+ * @author songfuqiang
+ */
 public interface MissionService {
 
 
@@ -28,6 +31,7 @@ public interface MissionService {
      * 查询文件状态
      *
      * @param missionId mission任务id
+     * @return 文件信息
      */
     List<MissionVO> queryFileStatus(String missionId);
 

+ 0 - 1
backend-core/src/main/java/cn/kdan/pdf/backend/core/service/impl/ConvertFileServiceImpl.java

@@ -5,7 +5,6 @@ import cn.kdan.pdf.backend.core.mapper.MissionFilesMapper;
 import cn.kdan.pdf.backend.core.mapper.MissionsMapper;
 import cn.kdan.pdf.backend.core.model.*;
 import cn.kdan.pdf.backend.core.pojo.ConvertTypeVo;
-import cn.kdan.pdf.backend.core.pojo.FileVo;
 import cn.kdan.pdf.backend.core.pojo.MissionFileVO;
 import cn.kdan.pdf.backend.core.pojo.MissionVO;
 import cn.kdan.pdf.backend.core.service.ConvertFileService;

+ 25 - 6
backend-core/src/main/java/cn/kdan/pdf/backend/core/service/impl/MemberServiceImpl.java

@@ -14,6 +14,7 @@ import cn.kdan.pdf.backend.core.service.MemberService;
 import constant.CommonConstant;
 import enums.CommonEnum;
 import exception.BackendRuntimeException;
+import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.ObjectUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -32,6 +33,7 @@ import utils.SMSUtils;
 import java.math.BigDecimal;
 import java.util.*;
 
+@Slf4j
 @Service
 public class MemberServiceImpl implements MemberService {
 
@@ -52,16 +54,30 @@ public class MemberServiceImpl implements MemberService {
     @Autowired
     private RedisUtils redisUtils;
 
-    // 默认时区
+    /**
+     * 默认时区
+     */
     private final static String DEFAULT_TIME_ZONE = "UTC";
-    // 手机服务区
+    /**
+     * 手机服务区
+     */
     private final static String DEFAULT_PHONE_ZONE = "86";
-    // 默认空间
+    /**
+     * 默认空间
+     */
     private final static Integer DEFAULT_SPACE = 500;
-    // 初始券数
+    /**
+     * 初始券数
+     */
     private final static Integer INIT_POINTS = 10;
-    // 默认用户浏览次数
+    /**
+     * 默认用户浏览次数
+     */
     private final static Integer DEFAULT_VIEW_TIMES = 0;
+    /**
+     * 匿名用户
+     */
+    private final static String ANONYMOUS_USER = "anonymousUser";
 
 
     /**
@@ -329,9 +345,12 @@ public class MemberServiceImpl implements MemberService {
     public Members getCurrentUser() {
         Authentication authentication = getAuthentication();
         Object principal = authentication.getPrincipal();
-        {
+        try {
             String userId = ((CustomUserDetails) (principal)).getId();
             return membersMapper.selectByPrimaryKey(userId);
+        }catch (Exception e){
+            log.info("getCurrentUser获取用户失败:{}",e.getMessage());
+            return null;
         }
     }
 

+ 11 - 8
backend-core/src/main/java/cn/kdan/pdf/backend/core/service/impl/MissionServiceImpl.java

@@ -60,6 +60,11 @@ public class MissionServiceImpl implements MissionService {
     @Resource
     private ExtMissionFilesMapper extMissionFilesMapper;
 
+    /**
+     * saas任务完成状态
+     */
+    private final static String TASK_FINISH = "TaskFinish";
+
 
     @Transactional(rollbackFor = BackendRuntimeException.class)
     @Override
@@ -223,7 +228,7 @@ public class MissionServiceImpl implements MissionService {
     }
 
     @Override
-    @Transactional
+    @Transactional(rollbackFor = BackendRuntimeException.class)
     public String convertFile(String missionId) {
         /*
             3.所有文件上传成功之后(即所有上传文件接口返回是完成)调用转档接口
@@ -235,7 +240,7 @@ public class MissionServiceImpl implements MissionService {
 
         //(1)转档根据mission中储存的任务id去调用saas服务开始转档
         Missions mission = missionsMapper.selectByPrimaryKey(missionId);
-        List<String> saasTaskIds = Arrays.asList(mission.getSaasTaskIds().replaceAll("[\\[\\]]", "").split(","));;
+        String[] saasTaskIds = mission.getSaasTaskIds().replaceAll("[\\[\\]]", "").split(",");
         //获取saas服务,开启转档
         ComPdfKitClient client = comPdfKitUtils.getComPdfKitClient();
 
@@ -255,7 +260,7 @@ public class MissionServiceImpl implements MissionService {
         Members members = memberService.getCurrentUser();
         //查询出任务信息
         Missions mission = missionsMapper.selectByPrimaryKey(missionId);
-        List<String> saasTaskIds = new ArrayList<>();
+        List<String> saasTaskIds;
         if(!StringUtils.isEmpty(mission.getSaasTaskIds())) {
             saasTaskIds = Arrays.asList(mission.getSaasTaskIds().replaceAll("[\\[\\]]", "").split(","));
         }else{
@@ -267,7 +272,7 @@ public class MissionServiceImpl implements MissionService {
             QueryTaskInfoResult result = client.queryTaskInfo(taskId);
             String taskStatus = result.getTaskStatus();
             // 判断文件是成功还是失败
-            if("TaskFinish".equals(taskStatus)){
+            if(TASK_FINISH.equals(taskStatus)){
                 List<FileInfoDto> list = result.getFileInfoDTOList();
                 for (FileInfoDto file : list) {
                     if("success".equals(file.getStatus())){
@@ -307,8 +312,7 @@ public class MissionServiceImpl implements MissionService {
         if (!CollectionUtils.isEmpty(updateSaasIdList)) {
             updateFileStatusBySaasIdList(updateSaasIdList);
         }
-        List<MissionVO> result = convertFileService.getFileStatus(missionId);
-        return result;
+        return convertFileService.getFileStatus(missionId);
     }
 
     /**
@@ -317,9 +321,8 @@ public class MissionServiceImpl implements MissionService {
      * @param updateSaasIdList saas任务id集合
      */
     @Override
-    @Transactional
     public void updateFileStatusBySaasIdList(List<String> updateSaasIdList) {
-        int i = extMissionFilesMapper.updateMissionBySaasIdList(updateSaasIdList, new Date());
+        extMissionFilesMapper.updateMissionBySaasIdList(updateSaasIdList, new Date());
     }
 
 }

+ 8 - 4
backend-core/src/main/java/cn/kdan/pdf/backend/core/service/impl/PricingServiceImpl.java

@@ -48,7 +48,7 @@ public class PricingServiceImpl implements PricingService {
             client = ClientEnum.WEB.value();
         }
         String language = req.getLanguage();
-        if (language.equals("") || language.equals("zh") || language.equals("zh-CN") || language.equals("zh-Hans")) {
+        if ("".equals(language) || "zh".equals(language) || "zh-CN".equals(language) || "zh-Hans".equals(language)) {
             language = "zh-CN";
         } else {
             language = "en";
@@ -64,7 +64,7 @@ public class PricingServiceImpl implements PricingService {
             PricingVo vo = new PricingVo();
             BeanUtils.copyProperties(pricings, vo);
             //如果语言是英文,设置口号为英文版,否则为中文版
-            if (language.equals("en")) {
+            if ("en".equals(language)) {
                 vo.setSlogan(pricings.getSloganEn());
             } else {
                 vo.setSlogan(pricings.getSlogan());
@@ -143,7 +143,8 @@ public class PricingServiceImpl implements PricingService {
      * 计算折扣
      */
     private float countDiscount(Pricings item, PricingDiscounts activeDiscount, Members member, String client) {
-        if (!isGooglePlay(item) && item.getPeriod().contains("1.month") && SubscriberTypeEnum.yes.value().equals(member.getSubscriberType())) {
+        Integer subscriberType = ObjectUtils.isEmpty(member) ? SubscriberTypeEnum.no.value() : member.getSubscriberType();
+        if (!isGooglePlay(item) && item.getPeriod().contains("1.month") && SubscriberTypeEnum.yes.value().equals(subscriberType)) {
             return (float) 0.7;
         } else {
             if (!ObjectUtils.isEmpty(activeDiscount) && activeDiscount.getDiscounts() > 0) {
@@ -161,8 +162,10 @@ public class PricingServiceImpl implements PricingService {
     /**
      * 计算价格
      */
+    @Override
     public float countPrice(Pricings item, PricingDiscounts activeDiscount, Members member, String client) {
-        if (item.getPeriod().contains("1.month") && SubscriberTypeEnum.yes.value().equals(member.getSubscriberType())) {
+        Integer subscriberType = ObjectUtils.isEmpty(member) ? SubscriberTypeEnum.no.value() : member.getSubscriberType();
+        if (item.getPeriod().contains("1.month") && SubscriberTypeEnum.yes.value().equals(subscriberType)) {
             return discountPrice(item, activeDiscount, member, client);
         } else if (ObjectUtils.isEmpty(activeDiscount)) {
             return discountPrice(item, activeDiscount, member, client);
@@ -188,6 +191,7 @@ public class PricingServiceImpl implements PricingService {
     /**
      * 计算剩余券数量
      */
+    @Override
     public Integer countPointsAmount(Pricings item, PricingDiscounts pricingDiscount) {
         //为空的时候不加额外的券数
         return ObjectUtils.isEmpty(pricingDiscount) ? item.getAmount() : item.getAmount() + pricingDiscount.getExtraPoints();

+ 1 - 1
backend-core/src/main/resources/application.yml

@@ -79,7 +79,7 @@ cors:
   allow-origins: "*"
   allow-max-age: "3600"
 httpMatchers:
-  request: "/login,/logout,/members/resetPassword,/oauth/**,/auth/**,/members/register,/order/syncOrder,/yun/**,/order/alipaySyncOrder,/alipayRedirect/callback"
+  request: "/login,/logout,/members/resetPassword,/oauth/**,/auth/**,/members/register,/order/syncOrder,/order/alipaySyncOrder,/alipayRedirect/callback,/pricing/list,/setPricing/list"
   web: "/hystrix.stream,/webjars/**,/resources/**,/swagger-ui.html,/swagger-resources/**,/v2/api-docs"