Bläddra i källkod

Merge remote-tracking branch 'origin/test'

lyhzzz 2 månader sedan
förälder
incheckning
23ccb015ec

+ 2 - 0
src/main/java/com/fdkankan/ucenter/common/RedisKeyUtil.java

@@ -18,4 +18,6 @@ public class RedisKeyUtil {
 
     public static final String laserCopyLock = "ucenter:laser:copy:lock:";
     public static String copySpaceLock =  "ucenter:scene:copy:lock:%s";
+
+    public static String downE57Key =  "ucenter:down:e57:lock:%s";
 }

+ 3 - 0
src/main/java/com/fdkankan/ucenter/entity/AgentNewLog.java

@@ -65,4 +65,7 @@ public class AgentNewLog implements Serializable {
 
     @TableField("total_time")
     private Integer totalTime;
+
+    @TableField("order_sn")
+    private String orderSn;
 }

+ 1 - 1
src/main/java/com/fdkankan/ucenter/pay/strategy/impl/IncrementOrderImpl.java

@@ -102,7 +102,7 @@ public class IncrementOrderImpl implements OrderStrategy {
             userIncrementService.updateById(userIncrementEntity);
 
             if(userIncrementEntity.getAgentId() != null && !flag){
-                agentNewLogService.addByUserIncrement(userIncrementEntity);
+                agentNewLogService.addByUserIncrement(userIncrementEntity,orderSn);
             }
 
             //解封所有场景

+ 1 - 1
src/main/java/com/fdkankan/ucenter/service/IAgentNewLogService.java

@@ -16,7 +16,7 @@ import com.fdkankan.ucenter.entity.UserIncrement;
  */
 public interface IAgentNewLogService extends IService<AgentNewLog> {
 
-    void addByUserIncrement(UserIncrement userIncrementEntity);
+    void addByUserIncrement(UserIncrement userIncrementEntity,String orderSn);
 
     Boolean addByOrder(IncrementOrder responseIncrementOrder);
     void addByOrder(DownloadOrder responseIncrementOrder);

+ 4 - 1
src/main/java/com/fdkankan/ucenter/service/impl/AgentNewLogServiceImpl.java

@@ -31,7 +31,7 @@ public class AgentNewLogServiceImpl extends ServiceImpl<IAgentNewLogMapper, Agen
     private Integer whereforId;
 
     @Override
-    public void addByUserIncrement(UserIncrement userIncrement) {
+    public void addByUserIncrement(UserIncrement userIncrement,String orderSn) {
         if(userIncrement.getAgentId() !=null){
             AgentNewLog log = new AgentNewLog();
             if(userIncrement.getIncrementTypeId() != null){
@@ -45,6 +45,7 @@ public class AgentNewLogServiceImpl extends ServiceImpl<IAgentNewLogMapper, Agen
             log.setGiveType(2);
             log.setCount(1);
             log.setTotalTime(userIncrement.getMonthQy());
+            log.setOrderSn(orderSn);
             this.save(log);
         }
     }
@@ -59,6 +60,7 @@ public class AgentNewLogServiceImpl extends ServiceImpl<IAgentNewLogMapper, Agen
             log.setUserId(responseIncrementOrder.getUserId());
             log.setGiveType(4);
             log.setCount(responseIncrementOrder.getCount());
+            log.setOrderSn(responseIncrementOrder.getOrderSn());
             this.save(log);
         }
     }
@@ -78,6 +80,7 @@ public class AgentNewLogServiceImpl extends ServiceImpl<IAgentNewLogMapper, Agen
             log.setGiveType(4);
             log.setCount(responseIncrementOrder.getCount());
             log.setTotalTime(responseIncrementOrder.getMonthQy());
+            log.setOrderSn(responseIncrementOrder.getOrderSn());
             this.save(log);
             return true;
         }

+ 10 - 3
src/main/java/com/fdkankan/ucenter/service/impl/DownService.java

@@ -6,6 +6,7 @@ import com.fdkankan.common.constant.SceneConstant;
 import com.fdkankan.common.exception.BusinessException;
 import com.fdkankan.fyun.face.FYunFileServiceInterface;
 import com.fdkankan.redis.constant.RedisKey;
+import com.fdkankan.redis.util.RedisLockUtil;
 import com.fdkankan.redis.util.RedisUtil;
 import com.fdkankan.ucenter.common.DownloadStatusEnum;
 import com.fdkankan.ucenter.common.RedisKeyUtil;
@@ -44,6 +45,8 @@ public class DownService implements IDownService {
     @Autowired
     RedisUtil redisUtil;
     @Autowired
+    RedisLockUtil redisLockUtil;
+    @Autowired
     ISceneEditInfoService sceneEditInfoService;
     @Autowired
     IUserService userService;
@@ -407,15 +410,19 @@ public class DownService implements IDownService {
     }
 
     @Override
-    public DownVo downE57(String num,String userName) {
-        checkPerm(num,userName);
+    public synchronized DownVo downE57(String num,String userName) {
         DownVo downVo = new DownVo();
+        downVo.setDownloadStatus(1);
+        if(redisUtil.hasKey(String.format(RedisKeyUtil.downE57Key,num))){
+            return downVo;
+        }
+        checkPerm(num,userName);
         //status :0:正在生成 1,初次生成  2,已经生成直接下载 3,重新生成
         SSDownSceneVo vo = laserService.downE57(num);
         if(vo == null){
             throw new BusinessException(ResultCodeMsg.FAILURE_CODE_400003, ResultCodeMsg.FAILURE_MSG_400003);
         }
-        downVo.setDownloadStatus(1);
+        redisUtil.set(String.format(RedisKeyUtil.downE57Key,num),"1",60);
         return downVo;
     }