Procházet zdrojové kódy

任务提交 维护信息增加快充慢充,和客户维护

张均强 před 4 roky
rodič
revize
46d2dbb091

+ 3 - 0
common/fire-dto/src/main/java/com/fire/dto/OperatorMaintenance.java

@@ -55,6 +55,9 @@ public class OperatorMaintenance {
     @ApiModelProperty(value = "创建者时间")
     private String createTime;
 
+    @ApiModelProperty(value = "客户id")
+    private Long customerId;
+
     @ApiModelProperty(value = "充值类型。默认为快充 快充:1  慢充:2")
     private Integer rechargeType;
 

+ 1 - 1
modules/admin/src/main/resources/logback-spring.xml

@@ -54,7 +54,7 @@
     <logger name="org.mybatis.spring" level="INFO" additivity="false"/>
     <logger name="com.github.miemiedev.mybatis.paginator" level="INFO" additivity="false"/>
     <!-- 把>=DEBUG级别的日志都输出到控制台 -->
-    <root level="INFO">
+    <root level="DEBUG">
         <appender-ref ref="console"/>
         <!--<appender-ref ref="file" />-->
         <appender-ref ref="log_info"/>

+ 1 - 1
modules/callback-customer/src/main/java/com/fire/customer/callback/service/impl/CallbackCustomerServiceImpl.java

@@ -51,7 +51,7 @@ public class CallbackCustomerServiceImpl implements CallbackCustomerService {
         content.setOrderId(orderInfo.getOrderId());
         content.setPrice(orderInfo.getPrice());
         content.setCode(String.valueOf(orderInfo.getStatus()));
-        content.setStatus(orderInfo.getNote());
+        content.setStatus(orderInfo.getGwStatus());
         //设置header中的参数
         header.setTimestamp(oldTimestamp);
         header.setAppId(orderInfo.getAppId());

+ 1 - 1
modules/distribution/src/main/java/com/fire/dist/mapper/DistributeGroupMapper.java

@@ -16,7 +16,7 @@ public interface DistributeGroupMapper {
      *
      * @return 实例对象list
      */
-    List<DistributeGroup> queryAll();
+    List<DistributeGroup> queryAll(Integer isValid);
 
 }
 

+ 3 - 1
modules/distribution/src/main/java/com/fire/dist/service/impl/CacheServiceImpl.java

@@ -15,6 +15,8 @@ import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
 
+import static com.fire.dto.enums.ValidStatus.VALID;
+
 /**
  * 客户服务实现层
  *
@@ -87,7 +89,7 @@ public class CacheServiceImpl implements CacheService {
     public void cacheChannel() {
         List<ChannelProductInfo> productInfos = channelProductInfoMapper.queryAll();
         List<ChannelInfo> channelInfos = channelInfoMapper.queryAll();
-        List<DistributeGroup> distributeGroups = distributeGroupMapper.queryAll();
+        List<DistributeGroup> distributeGroups = distributeGroupMapper.queryAll(VALID.status());
         List<ChannelGroup> channelGroups = channelGroupMapper.queryAll();
 
         if (CollectionUtils.isNotEmpty(productInfos) && CollectionUtils.isNotEmpty(channelInfos) && CollectionUtils.isNotEmpty(distributeGroups) && CollectionUtils.isNotEmpty(channelGroups)) {

+ 1 - 0
modules/distribution/src/main/java/com/fire/dist/service/impl/OrderUpdateServiceImpl.java

@@ -52,6 +52,7 @@ public class OrderUpdateServiceImpl implements OrderUpdateService {
         Long orderId = orderInfo.getOrderId();
         //如果订单失败 客户退款
         if(ORDER_FAIL.status().equals(orderInfo.getStatus())){
+            orderInfo.setGwStatus(ORDER_FAIL.message());
             Long afterAmount = redisAmountScript.changeAmount(SUPPLIER_AMOUNT.key(), orderInfo.getCustomerId(), ADD.oper(), orderInfo.getPrice(), 100000000000L);
             Long transSeq = jedisCluster.incr(GLOBAL_ID_INCR.key());
             TransactionFlow transaction = TransactionFlow.builder()

+ 1 - 0
modules/distribution/src/main/resources/mapper/DistributeGroupMapper.xml

@@ -20,6 +20,7 @@
     <!--查询所有-->
     <select id="queryAll" resultMap="DistributeGroupMap">
         <include refid="baseSql"/>
+        where is_valid = #{isValid}
     </select>
 
 

+ 11 - 2
modules/make-order/src/main/java/com/fire/order/service/impl/CacheServiceImpl.java

@@ -6,6 +6,7 @@ import com.fire.dto.*;
 import com.fire.order.data.DataPool;
 import com.fire.order.mapper.*;
 import com.fire.order.service.CacheService;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
@@ -21,6 +22,7 @@ import java.util.stream.Collectors;
  * @author ZJQ 2021年5月14日17:13:54
  */
 @Service
+@Slf4j
 public class CacheServiceImpl implements CacheService {
 
     @Resource
@@ -86,6 +88,7 @@ public class CacheServiceImpl implements CacheService {
     @Override
     public void cacheBlacklist() {
         List<BlacklistPhone> phones = blacklistPhoneMapper.queryAll();
+        log.debug("缓存黑名单:" + phones);
         if (CollectionUtils.isNotEmpty(phones)) {
             DataPool.blackList = phones.stream().collect(Collectors.toMap(BlacklistPhone::getPhoneNo, a -> Optional.ofNullable(a.getNote()).orElse("黑名单"), (k1, k2) -> k2));
         } else {
@@ -99,6 +102,7 @@ public class CacheServiceImpl implements CacheService {
     @Override
     public void cacheVirtualNum() {
         List<VirtualNum> virtualNums = virtualNumMapper.queryAll();
+        log.debug("缓存虚拟号段:" + virtualNums);
         if (CollectionUtils.isNotEmpty(virtualNums)) {
             DataPool.virtualMap = virtualNums.stream().collect(Collectors.toMap(VirtualNum::getVirtualNum, a -> Optional.ofNullable(a.getNote()).orElse("虚拟号段"), (k1, k2) -> k2));
         } else {
@@ -124,11 +128,16 @@ public class CacheServiceImpl implements CacheService {
     @Override
     public void cacheMaintenance() {
         List<OperatorMaintenance> maintenances = operatorMaintenanceMapper.queryAll();
+        log.debug("缓存维护信息:" + maintenances);
         if (CollectionUtils.isNotEmpty(maintenances)) {
             Map<String, OperatorMaintenance> maintenanceMap = new HashMap<>();
             for (OperatorMaintenance om : maintenances) {
-                //维护信息的key为 省.运营商.面额
-                String key = om.getProvince() + "." + om.getOperator() + "." + om.getFacePrice();
+                //维护信息的key为 充值类型.运营商.省.面额.客户
+                String key = om.getRechargeType() + "." +
+                        om.getOperator() + "." +
+                        om.getProvince() + "." +
+                        om.getFacePrice() + "." +
+                        om.getCustomerId();
                 maintenanceMap.put(key, om);
             }
             DataPool.maintenanceMap = maintenanceMap;

+ 16 - 24
modules/make-order/src/main/java/com/fire/order/service/impl/MakeOrderServiceImpl.java

@@ -262,31 +262,23 @@ public class MakeOrderServiceImpl implements MakeOrderService {
         }
         //校验维护信息
         //组装提取维护信息的key
-        //key1 全国 + 运营商 + 面额
-        String key1 = QG_ALL.getCode() + "." + product.getOperator() + "." + product.getFacePrice();
-        //key2 全国 + 运营商 + 所有面额
-        String key2 = QG_ALL.getCode() + "." + product.getOperator() + "." + 0;
-        //key3 省 + 运营商 + 面额
-        String key3 = product.getAreaNum() + "." + product.getOperator() + "." + product.getFacePrice();
-        //key4 省 + 运营商 + 所有面额
-        String key4 = product.getAreaNum() + "." + product.getOperator() + "." + 0;
+        //list key
+        List<String> keys = new ArrayList<>();
+        keys.add(flowAppInfo.getRechargeType() + "." + product.getOperator() + "." + product.getAreaNum() + "." + product.getFacePrice() + "." + product.getCustomerId());
+        keys.add(flowAppInfo.getRechargeType() + "." + product.getOperator() + "." + QG_ALL.getCode() + "." + product.getFacePrice() + "." + product.getCustomerId());
+        keys.add(flowAppInfo.getRechargeType() + "." + product.getOperator() + "." + product.getAreaNum() + "." + 0 + "." + product.getCustomerId());
+        keys.add(flowAppInfo.getRechargeType() + "." + product.getOperator() + "." + QG_ALL.getCode() + "." + 0 + "." + product.getCustomerId());
+        keys.add(flowAppInfo.getRechargeType() + "." + product.getOperator() + "." + product.getAreaNum() + "." + product.getFacePrice() + "." + 0);
+        keys.add(flowAppInfo.getRechargeType() + "." + product.getOperator() + "." + QG_ALL.getCode() + "." + product.getFacePrice() + "." + 0);
+        keys.add(flowAppInfo.getRechargeType() + "." + product.getOperator() + "." + product.getAreaNum() + "." + 0 + "." + 0);
+        keys.add(flowAppInfo.getRechargeType() + "." + product.getOperator() + "." + QG_ALL.getCode() + "." + 0 + "." + 0);
         //存储所有的时候适合的维护信息
-        List<OperatorMaintenance> maintenances = new ArrayList<>(4);
-        OperatorMaintenance maintenance1 = DataPool.maintenanceMap.get(key1);
-        OperatorMaintenance maintenance2 = DataPool.maintenanceMap.get(key2);
-        OperatorMaintenance maintenance3 = DataPool.maintenanceMap.get(key3);
-        OperatorMaintenance maintenance4 = DataPool.maintenanceMap.get(key4);
-        if (maintenance1 != null) {
-            maintenances.add(maintenance1);
-        }
-        if (maintenance2 != null) {
-            maintenances.add(maintenance2);
-        }
-        if (maintenance3 != null) {
-            maintenances.add(maintenance3);
-        }
-        if (maintenance4 != null) {
-            maintenances.add(maintenance4);
+        List<OperatorMaintenance> maintenances = new ArrayList<>(8);
+        for (String key : keys) {
+            OperatorMaintenance maintenance = DataPool.maintenanceMap.get(key);
+            if (maintenance != null) {
+                maintenances.add(maintenance);
+            }
         }
         if (CollectionUtils.isNotEmpty(maintenances)) {
             //遍历,如果维护信息时间能对应上 那么返回运营商维护

+ 3 - 1
modules/make-order/src/main/resources/mapper/FlowAppInfoMapper.xml

@@ -16,6 +16,7 @@
         <result property="dispatchChannel" column="dispatch_channel" jdbcType="VARCHAR"/>
         <result property="totalCount" column="total_count" jdbcType="INTEGER"/>
         <result property="time" column="time" jdbcType="INTEGER"/>
+        <result property="rechargeType" column="recharge_type" jdbcType="INTEGER"/>
     </resultMap>
 
     <!--查询全部-->
@@ -35,7 +36,8 @@
                callback_url,
                ip_address,
                dispatch_channel,
-               total_count
+               total_count,
+               recharge_type
         from flow_app_info
     </sql>
 

+ 5 - 1
modules/make-order/src/main/resources/mapper/OperatorMaintenanceMapper.xml

@@ -9,6 +9,8 @@
         <result property="startTime" column="start_time" jdbcType="TIMESTAMP"/>
         <result property="endTime" column="end_time" jdbcType="TIMESTAMP"/>
         <result property="facePrice" column="face_price" jdbcType="INTEGER"/>
+        <result property="customerId" column="customer_id" jdbcType="BIGINT"/>
+        <result property="rechargeType" column="recharge_type" jdbcType="INTEGER"/>
     </resultMap>
 
     <!--查询全部-->
@@ -23,7 +25,9 @@
                status,
                start_time,
                end_time,
-               face_price
+               face_price,
+               customer_id,
+               recharge_type
         from operator_maintenance
     </sql>
 </mapper>