瀏覽代碼

可能是最后一次提交了

Levi.u 4 年之前
父節點
當前提交
e8bf4eed86

+ 1 - 0
src/main/java/com/ebei/screen/common/constants/CommonConstants.java

@@ -46,6 +46,7 @@ public interface CommonConstants {
     String PARK = "park";
     String PARK_TYPE = "4";
     String PARK_ORDER = PARK + ORDER_PREFIX;
+    String PARK_SPLIT = PARK + "Split";
 
     /**
      * 今日车场流量分析 1入场 2出场 3异常

+ 8 - 8
src/main/java/com/ebei/screen/common/constants/PayTypeCode.java

@@ -12,14 +12,14 @@ import lombok.Getter;
 @Getter
 @AllArgsConstructor
 public enum PayTypeCode {
-    A("WX", "微信"),
-    B("ZFB", "支付宝"),
-    C("YL", "银联"),
-    D("JYF", "捷钱包"),
-    E("YFB", "易付宝"),
-    F("YZF", "翼支付"),
-    G("XJ", "现金"),
-    H("OTHER", "其他");
+    A("1", "支付宝"),
+    B("2", "微信"),
+    C("13", "现金"),
+    D("47", "交行聚合支付"),
+    E("52", "VIP停车时间"),
+    F("53", "购物小票"),
+    G("54", "VIP积分兑换"),
+    H("57", "先行后付");
 
     private String code;
     private String type;

+ 2 - 7
src/main/java/com/ebei/screen/common/util/ParkUtils.java

@@ -132,10 +132,9 @@ public class ParkUtils {
      * 获取封装后的结果集
      *
      * @param params
-     * @param image  如果要查询图片 则传入 空不查
      * @return
      */
-    public static Map<String, List<Map>> getInsertMap(Map params, String image) {
+    public static Map<String, List<Map>> getInsertMap(Map params) {
         List<Map> dataItems = JSON.parseObject((String) params.get("dataItems"), List.class);
         if (CollUtil.isEmpty(dataItems)) {
             return null;
@@ -157,10 +156,6 @@ public class ParkUtils {
         return result;
     }
 
-    public static Map<String, List<Map>> getInsertMap(Map params) {
-        return getInsertMap(params, null);
-    }
-
     /**
      * 获取某批推送的时间点
      *
@@ -185,7 +180,7 @@ public class ParkUtils {
      * @param type   类型 入场或出场
      */
     public static void parkInOrOut(Map params, ParkType type) {
-        Map<String, List<Map>> insertMap = ParkUtils.getInsertMap(params, type.getImage());
+        Map<String, List<Map>> insertMap = ParkUtils.getInsertMap(params);
         String pno = params.get("pno").toString();
         if (MapUtil.isNotEmpty(insertMap)) {
             insertMap.keySet().forEach(key -> {

+ 2 - 4
src/main/java/com/ebei/screen/controller/eba/EbaSystemController.java

@@ -1,6 +1,5 @@
 package com.ebei.screen.controller.eba;
 
-import com.alibaba.fastjson.JSON;
 import com.ebei.screen.common.constants.CommonConstants;
 import com.ebei.screen.common.response.ResponseBean;
 import com.ebei.screen.common.util.EbaUtils;
@@ -26,11 +25,10 @@ public class EbaSystemController {
     @Autowired
     private EbaSystemService ebaSystemService;
 
-    @ApiOperation("实时数据回调接口")
+    // @ApiOperation("实时数据回调接口")
     @PostMapping(value = "/realTimeCallback", produces = "application/json; charset=utf-8")
     public Integer realTimeCallback(@RequestBody Map params) {
-        System.out.println("实时数据回调接口:" + JSON.toJSONString(params));
-        return null;
+        return ebaSystemService.realTimeCallback(params);
     }
 
     @ApiOperation("获取项目列表 ✔")

+ 1 - 1
src/main/java/com/ebei/screen/controller/park/ParkSystemController.java

@@ -67,7 +67,7 @@ public class ParkSystemController {
     @PostMapping("/parkCharge")
     public Levi parkCharge(@RequestBody Map params) {
         parkSystemService.parkCharge(params);
-        return Levi.by("resultCode", 0).set("message", "处理成功");
+        return Levi.by("code", 1).set("msg", "成功");
     }
 
     @ApiOperation("服务信息数据推送")

+ 20 - 1
src/main/java/com/ebei/screen/service/impl/EbaSystemServiceImpl.java

@@ -595,6 +595,23 @@ public class EbaSystemServiceImpl implements EbaSystemService {
                 update2.set("data", crmIds);
                 mongoTemplate.upsert(query2, update2, CommonConstants.PARK_ORDER);
             }
+            // 更新是否拆分 是拆分 否不拆分 默认否
+            if (StringUtils.isNotBlank(params.get("split"))) {
+                JSONObject obj3 = mongoTemplate.findById(CommonConstants.PARK_SPLIT, JSONObject.class, CommonConstants.PARK_SPLIT);
+                List<String> crmIds2 = obj3 != null ? obj3.getJSONArray("data").toJavaList(String.class) : new JSONArray().toJavaList(String.class);
+                // 无脑删除 如果拆分则新增
+                crmIds2.remove(params.get("crmId"));
+                // 拆分则新增
+                if ("是".equals(params.get("split"))) {
+                    crmIds2.add(params.get("crmId"));
+                }
+                // 更新需要拆分的集合
+                Query query3 = new Query();
+                query3.addCriteria(Criteria.where("_id").is(CommonConstants.PARK_SPLIT));
+                Update update3 = new Update();
+                update3.set("data", crmIds2);
+                mongoTemplate.upsert(query3, update3, CommonConstants.PARK_SPLIT);
+            }
             return ResponseBuilder.ok("车场项目顺序调整成功");
         } else {
             return ResponseBuilder.fail("未找到相关项目");
@@ -690,8 +707,10 @@ public class EbaSystemServiceImpl implements EbaSystemService {
             List<Map> list = new ArrayList<>();
             JSONObject obj2 = mongoTemplate.findById(CommonConstants.PARK_ORDER, JSONObject.class, CommonConstants.PARK_ORDER);
             List<String> ebeiProjects = obj2 != null ? obj2.getJSONArray("data").toJavaList(String.class) : new JSONArray().toJavaList(String.class);
+            JSONObject obj3 = mongoTemplate.findById(CommonConstants.PARK_SPLIT, JSONObject.class, CommonConstants.PARK_SPLIT);
+            List<String> splitProjects = obj3 != null ? obj3.getJSONArray("data").toJavaList(String.class) : new JSONArray().toJavaList(String.class);
             AtomicInteger i = new AtomicInteger(1);
-            ebeiProjects.forEach(x -> list.add(Levi.by("parkProjectId", data.get(x) == null ? "" : data.get(x)).set("parkProjectName", data.get(x) == null ? "" : parkInfo.get(data.get(x).toString())).set("ebeiProjectId", x).set("ebeiProjectName", crmProjectInfo.getString(x)).set("no", i.getAndIncrement())));
+            ebeiProjects.forEach(x -> list.add(Levi.by("parkProjectId", data.get(x) == null ? "" : data.get(x)).set("parkProjectName", data.get(x) == null ? "" : parkInfo.get(data.get(x).toString())).set("ebeiProjectId", x).set("ebeiProjectName", crmProjectInfo.getString(x)).set("no", i.getAndIncrement()).set("split", splitProjects.contains(x) ? "是" : "否")));
             Supplier<Stream<Map>> resStream = () -> list.stream();
             List<Map> results = resStream.get().skip((pageBean.getPageNum() - 1) * pageBean.getPageSize()).limit(pageBean.getPageSize()).collect(Collectors.toList());
             return ResponseBuilder.ok(PageBean.<Map>builder().total(resStream.get().count()).row(results).build());

+ 15 - 8
src/main/java/com/ebei/screen/service/impl/ParkSystemServiceImpl.java

@@ -32,10 +32,7 @@ import org.springframework.transaction.annotation.Transactional;
 
 import java.time.LocalDateTime;
 import java.time.temporal.ChronoUnit;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.concurrent.atomic.AtomicReference;
 import java.util.function.Supplier;
 import java.util.stream.Collectors;
@@ -159,8 +156,20 @@ public class ParkSystemServiceImpl implements ParkSystemService {
      */
     @Override
     public void parkCharge(Map params) {
-        Map<String, List<Map>> insertMap = ParkUtils.getInsertMap(params);
-        String pno = params.get("pno").toString();
+        List<Map> dataItems = (List<Map>) params.get("dataItems");
+        if (CollUtil.isEmpty(dataItems)) {
+            return;
+        }
+        Map<String, List<Map>> insertMap = new HashMap<>(16);
+        dataItems.forEach(x -> {
+            String parkCode = x.get("parkCode").toString();
+            List<Map> maps = new ArrayList<>();
+            if (insertMap.containsKey(parkCode)) {
+                maps = insertMap.get(parkCode);
+            }
+            maps.add(x);
+            insertMap.put(parkCode, maps);
+        });
         if (MapUtil.isNotEmpty(insertMap)) {
             insertMap.keySet().forEach(key -> insertMap.get(key).forEach(res -> {
                 String format = LocalDateTimeUtil.format(ParkUtils.getResultLocalDateTime(res, "feesTime"), DatePattern.PURE_DATE_PATTERN);
@@ -172,8 +181,6 @@ public class ParkSystemServiceImpl implements ParkSystemService {
                 data.addAll(insertMap.get(key));
                 List<Map> feesTime = ParkUtils.sortDateList(data, "feesTime", true);
                 update.set("data", feesTime);
-                update.set("pno", pno);
-                update.set("ts", params.get("ts"));
                 update.set("count", feesTime.size());
                 mongoTemplate.upsert(query, update, "parkCharge");
             }));