lyhzzz 1 год назад
Родитель
Сommit
640f8f4fab

+ 6 - 0
pom.xml

@@ -31,6 +31,12 @@
         </dependency>
 
         <dependency>
+            <groupId>com.fdkankan</groupId>
+            <artifactId>4dkankan-utils-rabbitmq</artifactId>
+            <version>3.0.0-SNAPSHOT</version>
+        </dependency>
+
+        <dependency>
             <groupId>mysql</groupId>
             <artifactId>mysql-connector-java</artifactId>
             <version>8.0.25</version>

+ 21 - 0
src/main/java/com/fdkankan/agent/request/ScenePayStatusVo.java

@@ -0,0 +1,21 @@
+package com.fdkankan.agent.request;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+public class ScenePayStatusVo implements Serializable {
+    private Long cameraId;
+    private Long sceneId;
+    private Integer payStatus;
+
+    public ScenePayStatusVo(Long cameraId) {
+        this.cameraId = cameraId;
+    }
+
+    public ScenePayStatusVo(Long sceneId, Integer payStatus) {
+        this.sceneId = sceneId;
+        this.payStatus = payStatus;
+    }
+}

+ 50 - 0
src/main/java/com/fdkankan/agent/request/UserIncrementParam.java

@@ -0,0 +1,50 @@
+package com.fdkankan.agent.request;
+
+import lombok.Data;
+
+@Data
+public class UserIncrementParam {
+    private Long id;
+    private Long userId;
+    private Integer year = 1;
+    private Integer count = 1;
+    private String incrementEndTime;
+    private Integer incrementTypeId;
+
+    private Integer monthQy;
+
+    /**
+     * 0看看,看见,1深时
+     */
+    private Integer downType;
+
+    /**
+     * 客户名称
+     */
+    private String customerName;
+
+    /**
+     * 客户类别0直销,1经销
+     */
+    private Integer customerType;
+
+    /**
+     * 终端客户
+     */
+    private String endCustomer;
+
+    /**
+     * 使用类型
+     */
+    private Integer useType;
+
+    /**
+     * 项目号
+     */
+    private String projectNum;
+
+    /**
+     * 备注
+     */
+    private String remark;
+}

+ 4 - 0
src/main/java/com/fdkankan/agent/service/IUserIncrementService.java

@@ -4,7 +4,9 @@ import com.fdkankan.agent.entity.UserIncrement;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.fdkankan.agent.request.CameraParam;
 import com.fdkankan.agent.request.IncrementParam;
+import com.fdkankan.agent.request.UserIncrementParam;
 import com.fdkankan.agent.response.AgentNewVo;
+import org.joda.time.DateTime;
 
 import java.util.HashMap;
 import java.util.List;
@@ -30,4 +32,6 @@ public interface IUserIncrementService extends IService<UserIncrement> {
     HashMap<Long, UserIncrement> getByCameraIds(List<Long> cameraIds);
 
     List<Long> getByAgentId(CameraParam param);
+
+    DateTime getAddUserIncrementTime(UserIncrementParam param);
 }

+ 33 - 2
src/main/java/com/fdkankan/agent/service/impl/UserIncrementServiceImpl.java

@@ -1,5 +1,6 @@
 package com.fdkankan.agent.service.impl;
 
+import cn.hutool.core.bean.BeanUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -14,12 +15,17 @@ import com.fdkankan.agent.exception.BusinessException;
 import com.fdkankan.agent.mapper.IUserIncrementMapper;
 import com.fdkankan.agent.request.CameraParam;
 import com.fdkankan.agent.request.IncrementParam;
+import com.fdkankan.agent.request.ScenePayStatusVo;
+import com.fdkankan.agent.request.UserIncrementParam;
 import com.fdkankan.agent.response.AgentNewVo;
 import com.fdkankan.agent.response.UserIncrementVo;
 import com.fdkankan.agent.service.*;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fdkankan.agent.util.DateUtils;
 import com.fdkankan.common.util.DateUtil;
+import com.fdkankan.rabbitmq.util.RabbitMqProducer;
 import org.apache.commons.lang3.StringUtils;
+import org.joda.time.DateTime;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
@@ -45,6 +51,11 @@ public class UserIncrementServiceImpl extends ServiceImpl<IUserIncrementMapper,
     IAgentNewService agentNewService;
     @Autowired
     IIncrementOrderMgService incrementOrderMgService;
+    @Autowired
+    RabbitMqProducer rabbitMqProducer;
+    @Autowired
+    public static String ucenterScenePayStatusQueue = "scene-pay-status";
+
 
 
     @Override
@@ -170,7 +181,8 @@ public class UserIncrementServiceImpl extends ServiceImpl<IUserIncrementMapper,
         IncrementOrderMg orderMg = incrementOrderMgService.addOrder(user, param, agentNewVo);
 
         userIncrement.setIsExpired(0);
-        userIncrement.setIncrementEndTime(param.getIncrementEndTime());
+        DateTime dateTime = this.getDateTime(incrementType, userIncrement.getId(), param.getCount());
+        userIncrement.setIncrementEndTime(DateUtil.date2String(dateTime.toDate(),"yyyy-MM-dd HH:mm:ss"));
         userIncrement.setUpdateTime(null);
         userIncrement.setOrderSn(userIncrement.getOrderSn() +","+orderMg.getOrderSn());
         this.updateById(userIncrement);
@@ -181,7 +193,11 @@ public class UserIncrementServiceImpl extends ServiceImpl<IUserIncrementMapper,
 
         userService.update(wrapper);
         agentNewService.subNum(agentNewVo,user.getId(),incrementType,1,param.getTotalTime(),1);
-
+        if(userIncrement.getCameraId() != null){
+            ScenePayStatusVo scenePayStatusVo = new ScenePayStatusVo(userIncrement.getCameraId());
+            Map<String, Object> map = BeanUtil.beanToMap(scenePayStatusVo);
+            rabbitMqProducer.sendByWorkQueue(ucenterScenePayStatusQueue, map);
+        }
     }
 
     @Override
@@ -201,4 +217,19 @@ public class UserIncrementServiceImpl extends ServiceImpl<IUserIncrementMapper,
     public List<Long> getByAgentId(CameraParam param) {
         return this.getBaseMapper().getByAgentId(param.getAgentId(),param.getIncrementStatus(),param.getIncrementTypeId());
     }
+
+    @Override
+    public DateTime getAddUserIncrementTime(UserIncrementParam param) {
+        IncrementType incrementType = incrementTypeService.getById(param.getIncrementTypeId());
+        return this.getDateTime(incrementType,param.getId(),param.getCount());
+    }
+
+    public DateTime getDateTime(IncrementType incrementType, Long userIncrementId, Integer count) {
+        Date userTime = new Date();
+        if(userIncrementId != null){
+            UserIncrement userIncrement = this.getById(userIncrementId);
+            userTime = DateUtils.getDate(userIncrement.getIncrementEndTime());
+        }
+        return  DateUtils.getDateTime(userTime, incrementType,count);
+    }
 }

+ 21 - 3
src/main/java/com/fdkankan/agent/util/Dateutils.java

@@ -1,6 +1,8 @@
 package com.fdkankan.agent.util;
 
+import com.fdkankan.agent.entity.IncrementType;
 import org.apache.commons.lang3.StringUtils;
+import org.joda.time.DateTime;
 
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
@@ -8,7 +10,7 @@ import java.util.Calendar;
 import java.util.Date;
 import java.util.List;
 
-public class Dateutils {
+public class DateUtils {
 
     public static int  DAY =  Calendar.DAY_OF_MONTH;
     public static int  WEEK =  Calendar.WEEK_OF_MONTH;
@@ -117,7 +119,7 @@ public class Dateutils {
 
     public static String formatStartTime(String startTime) {
         if(StringUtils.isBlank(startTime)){
-            startTime = Dateutils.getHalfYearStr();
+            startTime = DateUtils.getHalfYearStr();
         }
         if(startTime.length() <12){  //月,开始时间到1号 0点
             startTime +=  " 00:00:00";
@@ -126,7 +128,7 @@ public class Dateutils {
     }
     public static String formatEndTime(String endTime) {
         if(StringUtils.isBlank(endTime)){
-            endTime = Dateutils.getDate(new Date());
+            endTime = DateUtils.getDate(new Date());
         }
         if(endTime.length() <12 ){  //月,开始时间到1号 0点
             endTime +=  " 23:59:59";
@@ -165,4 +167,20 @@ public class Dateutils {
         Date date = new Date();
         return simpleDateFormat.format(date);
     }
+
+    public static DateTime getDateTime(Date userTime, IncrementType incrementType, Integer count) {
+        DateTime dateTime = new DateTime();
+        if(userTime.getTime() >new Date().getTime()){
+            dateTime = new DateTime(userTime);
+        }
+        if(count == null){
+            count = 1;
+        }
+        switch (incrementType.getValidTimeType()){
+            case 0 : return dateTime.plusYears(incrementType.getValidTime() * count);
+            case 1 : return dateTime.plusMonths(incrementType.getValidTime() * count);
+            case 2 : return dateTime.plusDays(incrementType.getValidTime() * count);
+            default: return dateTime;
+        }
+    }
 }

+ 4 - 0
src/main/resources/bootstrap-dev.yml

@@ -21,6 +21,10 @@ spring:
             group: DEFAULT_GROUP
             refresh: true
 
+          - data-id: common-rabbitmq-config.yaml
+            group: DEFAULT_GROUP
+            refresh: true
+
       discovery:
         server-addr: ${spring.cloud.nacos.config.server-addr}
         namespace: ${spring.cloud.nacos.config.namespace}

+ 3 - 0
src/main/resources/bootstrap-prod-eur.yml

@@ -21,6 +21,9 @@ spring:
             group: DEFAULT_GROUP
             refresh: true
 
+          - data-id: common-rabbitmq-config.yaml
+            group: DEFAULT_GROUP
+            refresh: true
       discovery:
         server-addr: ${spring.cloud.nacos.config.server-addr}
         namespace: ${spring.cloud.nacos.config.namespace}

+ 4 - 0
src/main/resources/bootstrap-prod.yml

@@ -20,6 +20,10 @@ spring:
           - data-id: forest-config.yaml
             group: DEFAULT_GROUP
             refresh: true
+
+          - data-id: common-rabbitmq-config.yaml
+            group: DEFAULT_GROUP
+            refresh: true
       discovery:
         server-addr: ${spring.cloud.nacos.config.server-addr}
         namespace: ${spring.cloud.nacos.config.namespace}

+ 4 - 0
src/main/resources/bootstrap-test-eur.yml

@@ -21,6 +21,10 @@ spring:
             group: DEFAULT_GROUP
             refresh: true
 
+          - data-id: common-rabbitmq-config.yaml
+            group: DEFAULT_GROUP
+            refresh: true
+
       discovery:
         server-addr: ${spring.cloud.nacos.config.server-addr}
         namespace: ${spring.cloud.nacos.config.namespace}

+ 3 - 0
src/main/resources/bootstrap-test.yml

@@ -21,6 +21,9 @@ spring:
             group: DEFAULT_GROUP
             refresh: true
 
+          - data-id: common-rabbitmq-config.yaml
+            group: DEFAULT_GROUP
+            refresh: true
       discovery:
         server-addr: ${spring.cloud.nacos.config.server-addr}
         namespace: ${spring.cloud.nacos.config.namespace}