lyhzzz 11 months ago
parent
commit
e6c9dfecd9

+ 3 - 0
src/main/java/com/fdkankan/ucenter/common/BaseController.java

@@ -119,6 +119,9 @@ public class BaseController {
     protected String getSign(){
         return request.getHeader("sign");
     }
+    protected String getOrigin(){
+        return request.getHeader("origin");
+    }
 
     protected Integer getTimeZone(){
         Integer minute = 0;

+ 2 - 2
src/main/java/com/fdkankan/ucenter/controller/OrderController.java

@@ -79,9 +79,7 @@ public class OrderController extends BaseController {
      */
     @PostMapping("/getIncrementOrDownloadPrice")
     public Result getIncrementOrDownloadPrice(@RequestBody OrderParam param){
-        String host = request.getHeader("host");
         String origin = request.getHeader("origin");
-        log.info("host:{},{},{}",host,origin,request.getRemoteHost());
         String username = JwtUtil.getUsername(getToken());
         param.setUserName(username);
         return Result.success(orderService.getIncrementOrDownloadPrice(param));
@@ -95,6 +93,7 @@ public class OrderController extends BaseController {
         String username = JwtUtil.getUsername(getToken());
         param.setUserName(username);
         param.setTimeZoneOff(getTimeZone());
+        param.setOrigin(getOrigin());
         return Result.success(orderService.downloadOrder(param));
     }
 
@@ -106,6 +105,7 @@ public class OrderController extends BaseController {
         String username = JwtUtil.getUsername(getToken());
         param.setUserName(username);
         param.setTimeZoneOff(getTimeZone());
+        param.setOrigin(getOrigin());
         return Result.success(orderService.incrementOrder(param));
     }
 

+ 2 - 0
src/main/java/com/fdkankan/ucenter/entity/DownloadOrder.java

@@ -126,4 +126,6 @@ public class DownloadOrder implements Serializable {
     @TableField("time_zone_off")
     private Integer timeZoneOff;
 
+    @TableField("origin_url")
+    private String originUrl;
 }

+ 2 - 1
src/main/java/com/fdkankan/ucenter/entity/IncrementAutoOrder.java

@@ -68,5 +68,6 @@ public class IncrementAutoOrder implements Serializable {
     @TableField("update_time")
     private Date updateTime;
 
-
+    @TableField("origin_url")
+    private String originUrl;
 }

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

@@ -134,4 +134,7 @@ public class IncrementOrder implements Serializable {
 
     @TableField("auto_order_id")
     private Integer autoOrderId;
+
+    @TableField("origin_url")
+    private String originUrl;
 }

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

@@ -19,7 +19,7 @@ public class DownloadOrderImpl implements OrderStrategy {
     @Autowired
     private IUserService userService;
     @Autowired
-    private ISceneProService sceneProService;
+    private IAgentNewLogService agentNewLogService;
     @Autowired
     ICameraTypeService cameraTypeService;
     @Override
@@ -35,6 +35,8 @@ public class DownloadOrderImpl implements OrderStrategy {
             log.error("更新增值权益订单失败");
             throw new Exception("更新增值权益订单失败");
         }
+        agentNewLogService.addByOrder(downloadOrder);
+
         //更新用户下载次数
         LambdaUpdateWrapper<User> wrapper = new LambdaUpdateWrapper<>();
         wrapper.eq(User::getId,downloadOrder.getUserId());

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

@@ -5,6 +5,7 @@ import com.fdkankan.ucenter.pay.strategy.OrderStrategy;
 import com.fdkankan.ucenter.service.*;
 import com.fdkankan.ucenter.util.DateUserUtil;
 import lombok.extern.log4j.Log4j2;
+import org.apache.commons.lang3.StringUtils;
 import org.joda.time.DateTime;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
@@ -60,6 +61,8 @@ public class IncrementOrderImpl implements OrderStrategy {
         if(incrementType == null){
             throw new Exception("更新增值权益订单失败");
         }
+        Boolean flag = agentNewLogService.addByOrder(responseIncrementOrder);
+
         Integer expired = 0;
         Date date =  new Date();
         if(responseIncrementOrder.getIncrementId() == null){
@@ -97,7 +100,7 @@ public class IncrementOrderImpl implements OrderStrategy {
             }
             userIncrementService.updateById(userIncrementEntity);
 
-            if(userIncrementEntity.getAgentId() != null){
+            if(userIncrementEntity.getAgentId() != null && !flag){
                 agentNewLogService.addByUserIncrement(userIncrementEntity);
             }
 

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

@@ -2,6 +2,8 @@ package com.fdkankan.ucenter.service;
 
 import com.fdkankan.ucenter.entity.AgentNewLog;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.fdkankan.ucenter.entity.DownloadOrder;
+import com.fdkankan.ucenter.entity.IncrementOrder;
 import com.fdkankan.ucenter.entity.UserIncrement;
 
 /**
@@ -15,4 +17,7 @@ import com.fdkankan.ucenter.entity.UserIncrement;
 public interface IAgentNewLogService extends IService<AgentNewLog> {
 
     void addByUserIncrement(UserIncrement userIncrementEntity);
+
+    Boolean addByOrder(IncrementOrder responseIncrementOrder);
+    void addByOrder(DownloadOrder responseIncrementOrder);
 }

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

@@ -15,7 +15,7 @@ import com.fdkankan.ucenter.pay.paypal.sdk.AutoPaypalVo;
  */
 public interface IIncrementAutoOrderService extends IService<IncrementAutoOrder> {
 
-    void addOrder(Long userId, Integer incrementTypeId, Long incrementId, String orderSn);
+    void addOrder(Long userId, Integer incrementTypeId, Long incrementId, String orderSn,String origin);
 
     IncrementAutoOrder getByIncrementId(Long incrementId);
 

+ 43 - 3
src/main/java/com/fdkankan/ucenter/service/impl/AgentNewLogServiceImpl.java

@@ -1,13 +1,13 @@
 package com.fdkankan.ucenter.service.impl;
 
-import com.fdkankan.ucenter.entity.AgentNewLog;
-import com.fdkankan.ucenter.entity.IncrementType;
-import com.fdkankan.ucenter.entity.UserIncrement;
+import com.fdkankan.ucenter.entity.*;
 import com.fdkankan.ucenter.mapper.IAgentNewLogMapper;
 import com.fdkankan.ucenter.service.IAgentNewLogService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fdkankan.ucenter.service.IIncrementTypeService;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
 /**
@@ -24,6 +24,12 @@ public class AgentNewLogServiceImpl extends ServiceImpl<IAgentNewLogMapper, Agen
     @Autowired
     IIncrementTypeService incrementTypeService;
 
+    @Value("${agent.wherefor.url:https://platform.4dkankan.ai}")
+    private String whereforUrl;
+
+    @Value("${agent.wherefor.id:6}")
+    private Integer whereforId;
+
     @Override
     public void addByUserIncrement(UserIncrement userIncrement) {
         if(userIncrement.getAgentId() !=null){
@@ -41,4 +47,38 @@ public class AgentNewLogServiceImpl extends ServiceImpl<IAgentNewLogMapper, Agen
             this.save(log);
         }
     }
+
+
+    @Override
+    public void addByOrder(DownloadOrder responseIncrementOrder) {
+        if(StringUtils.isNotBlank(responseIncrementOrder.getOriginUrl()) && whereforUrl.equals(responseIncrementOrder.getOriginUrl())){
+            AgentNewLog log = new AgentNewLog();
+            log.setType(2);
+            log.setAgentId(whereforId);
+            log.setUserId(responseIncrementOrder.getUserId());
+            log.setGiveType(4);
+            log.setCount(responseIncrementOrder.getCount());
+            this.save(log);
+        }
+    }
+
+    @Override
+    public Boolean addByOrder(IncrementOrder responseIncrementOrder) {
+        if(StringUtils.isNotBlank(responseIncrementOrder.getOriginUrl()) && whereforUrl.equals(responseIncrementOrder.getOriginUrl())){
+            AgentNewLog log = new AgentNewLog();
+            if(responseIncrementOrder.getIncrementType() != null){
+                IncrementType incrementType = incrementTypeService.getById(responseIncrementOrder.getIncrementType());
+                if(incrementType!=null){
+                    log.setType(incrementType.getValidTimeType());
+                }
+            }
+            log.setAgentId(whereforId);
+            log.setUserId(responseIncrementOrder.getUserId());
+            log.setGiveType(4);
+            log.setCount(responseIncrementOrder.getCount());
+            this.save(log);
+            return true;
+        }
+        return false;
+    }
 }

+ 1 - 0
src/main/java/com/fdkankan/ucenter/service/impl/DownloadOrderServiceImpl.java

@@ -140,6 +140,7 @@ public class DownloadOrderServiceImpl extends ServiceImpl<IDownloadOrderMapper,
         downloadOrderEntity.setRecStatus("A");
         downloadOrderEntity.setCreateTime(DateUserUtil.getDate(new Date()));
         downloadOrderEntity.setUpdateTime(DateUserUtil.getDate(new Date()));
+        downloadOrderEntity.setOriginUrl(param.getOrigin());
         this.save(downloadOrderEntity);
         return downloadOrderEntity;
     }

+ 2 - 1
src/main/java/com/fdkankan/ucenter/service/impl/IncrementAutoOrderServiceImpl.java

@@ -43,12 +43,13 @@ public class IncrementAutoOrderServiceImpl extends ServiceImpl<IIncrementAutoOrd
     IUserService userService;
 
     @Override
-    public void addOrder(Long userId, Integer incrementTypeId, Long incrementId, String orderSn) {
+    public void addOrder(Long userId, Integer incrementTypeId, Long incrementId, String orderSn,String origin) {
         IncrementAutoOrder autoOrder = new IncrementAutoOrder();
         autoOrder.setUserId(userId);
         autoOrder.setIncrementTypeId(incrementTypeId);
         autoOrder.setUserIncrementId(incrementId);
         autoOrder.setOrderSn(orderSn);
+        autoOrder.setOriginUrl(origin);
         this.save(autoOrder);
     }
 

+ 3 - 2
src/main/java/com/fdkankan/ucenter/service/impl/IncrementOrderServiceImpl.java

@@ -227,8 +227,9 @@ public class IncrementOrderServiceImpl extends ServiceImpl<IIncrementOrderMapper
         incrementOrderEntity.setMonthQy(param.getMonthQy());
         incrementOrderEntity.setTimeZoneOff(param.getTimeZoneOff());
         incrementOrderEntity.setAutoPay(param.getAutoPay());
+        incrementOrderEntity.setOriginUrl(param.getOrigin());
         if(param.getAutoPay() != null && param.getAutoPay()==1){
-            incrementAutoOrderService.addOrder(user.getId(),incrementType.getId(),param.getIncrementId(),incrementOrderEntity.getOrderSn());
+            incrementAutoOrderService.addOrder(user.getId(),incrementType.getId(),param.getIncrementId(),incrementOrderEntity.getOrderSn(),param.getOrigin());
             return incrementOrderEntity;
         }
         this.save(incrementOrderEntity);
@@ -290,7 +291,7 @@ public class IncrementOrderServiceImpl extends ServiceImpl<IIncrementOrderMapper
         incrementOrder.setAutoPay(1);
         incrementOrder.setAutoOrderId(incrementAutoOrder.getId());
         incrementOrder.setTimeZoneOff(-480);
-
+        incrementOrder.setOriginUrl(incrementAutoOrder.getOriginUrl());
         IncrementType incrementType = incrementTypeService.getById(incrementAutoOrder.getIncrementTypeId());
         if(incrementType != null && incrementType.getValidTimeType() == 0){
             incrementOrder.setMemberLevels("PR");

+ 2 - 0
src/main/java/com/fdkankan/ucenter/vo/request/DownNumParam.java

@@ -26,6 +26,8 @@ public class DownNumParam {
 
     private Integer autoPay ;
 
+    private String origin;
+
     public Integer getIncrementType() {
         if(incrementType == null && StringUtils.isNotBlank(skuSn) && StringUtils.isNumeric(skuSn)){
             return  Integer.valueOf(skuSn);