From 9454b49eeabd56894550f1419f14e96f9d10c2ef Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期六, 02 二月 2019 13:15:51 +0800
Subject: [PATCH] 调整日志信息

---
 UserService/src/main/java/com/java110/user/smo/impl/UserServiceSMOImpl.java |  103 ++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 97 insertions(+), 6 deletions(-)

diff --git a/UserService/src/main/java/com/java110/user/smo/impl/UserServiceSMOImpl.java b/UserService/src/main/java/com/java110/user/smo/impl/UserServiceSMOImpl.java
index f9f5b53..0e14431 100644
--- a/UserService/src/main/java/com/java110/user/smo/impl/UserServiceSMOImpl.java
+++ b/UserService/src/main/java/com/java110/user/smo/impl/UserServiceSMOImpl.java
@@ -3,22 +3,36 @@
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.JSONPath;
+import com.java110.common.cache.MappingCache;
+import com.java110.common.constant.KafkaConstant;
+import com.java110.common.constant.MappingConstant;
+import com.java110.common.constant.ResponseConstant;
 import com.java110.common.constant.StateConstant;
+import com.java110.common.exception.SMOException;
+import com.java110.common.kafka.KafkaFactory;
 import com.java110.common.log.LoggerEngine;
 import com.java110.common.util.Assert;
+import com.java110.common.util.DateUtil;
 import com.java110.common.util.ProtocolUtil;
-import com.java110.entity.merchant.BoMerchantMember;
+import com.java110.core.base.smo.BaseServiceSMO;
+import com.java110.core.context.BusinessServiceDataFlow;
+import com.java110.core.context.DataFlow;
+import com.java110.core.factory.DataFlowFactory;
+import com.java110.core.factory.DataTransactionFactory;
+import com.java110.entity.center.DataFlowLinksCost;
+import com.java110.entity.center.DataFlowLog;
 import com.java110.entity.order.BusiOrder;
 import com.java110.entity.user.BoCust;
 import com.java110.entity.user.BoCustAttr;
 import com.java110.entity.user.Cust;
 import com.java110.entity.user.CustAttr;
+import com.java110.event.service.BusinessServiceDataFlowEventPublishing;
 import com.java110.feign.base.IPrimaryKeyService;
 import com.java110.user.dao.IUserServiceDao;
 import com.java110.user.smo.IUserServiceSMO;
-import com.java110.core.base.smo.BaseServiceSMO;
-import org.apache.commons.lang.math.NumberUtils;
 import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -34,7 +48,9 @@
 @Transactional
 public class UserServiceSMOImpl extends BaseServiceSMO implements IUserServiceSMO {
 
-    @Autowired
+    private final static Logger logger = LoggerFactory.getLogger(UserServiceSMOImpl.class);
+
+    //@Autowired
     IPrimaryKeyService iPrimaryKeyService;
 
     @Autowired
@@ -148,7 +164,7 @@
     @Override
     public String soUserServiceForOrderService(JSONObject userInfoJson) throws Exception {
 
-        Assert.isNull(userInfoJson,"data","璇锋眰鎶ユ枃缂哄皯 data 鑺傜偣锛岃妫�鏌�");
+        Assert.isNotNull(userInfoJson,"data","璇锋眰鎶ユ枃缂哄皯 data 鑺傜偣锛岃妫�鏌�");
 
         JSONArray custInfos = userInfoJson.getJSONArray("data");
 
@@ -402,7 +418,7 @@
         for(int boIdIndex = 0 ; boIdIndex < datas.size(); boIdIndex++){
             JSONObject data = datas.getJSONObject(boIdIndex);
 
-            Assert.isNull(data,"boId","褰撳墠鑺傜偣涓病鏈夊寘鍚玝oId鑺傜偣鏍煎紡閿欒"+data);
+            Assert.isNotNull(data,"boId","褰撳墠鑺傜偣涓病鏈夊寘鍚玝oId鑺傜偣鏍煎紡閿欒"+data);
 
             // 澶嶅師Cust
             doDeleteBoCust(data);
@@ -746,6 +762,81 @@
         return preBoCustAttrs;
     }
 
+
+    @Override
+    public JSONObject service(BusinessServiceDataFlow businessServiceDataFlow) throws SMOException {
+        try {
+            Assert.hasLength(businessServiceDataFlow.getbId(),"bId 涓嶈兘涓虹┖");
+
+            BusinessServiceDataFlowEventPublishing.multicastEvent(businessServiceDataFlow);
+            Assert.notEmpty(businessServiceDataFlow.getResJson(),"鐢ㄦ埛鏈嶅姟["+businessServiceDataFlow.getCurrentBusiness().getServiceCode()+"]娌℃湁杩斿洖鍐呭");
+        } catch (Exception e) {
+            logger.error("鐢ㄦ埛淇℃伅澶勭悊寮傚父",e);
+            throw new SMOException(ResponseConstant.RESULT_PARAM_ERROR,"鐢ㄦ埛淇℃伅澶勭悊寮傚父"+e.getMessage());
+        }finally {
+            if(businessServiceDataFlow == null){
+                return null;
+            }
+
+            //杩欓噷璁板綍鏃ュ織
+            Date endDate = DateUtil.getCurrentDate();
+
+            businessServiceDataFlow.setEndDate(endDate);
+            //娣诲姞鑰楁椂
+            DataFlowFactory.addCostTime(businessServiceDataFlow, "service", "涓氬姟澶勭悊鎬昏�楁椂",
+                    businessServiceDataFlow.getStartDate(), businessServiceDataFlow.getEndDate());
+            //淇濆瓨鑰楁椂
+            saveCostTimeLogMessage(businessServiceDataFlow);
+            //淇濆瓨鏃ュ織
+            saveLogMessage(businessServiceDataFlow);
+        }
+        return businessServiceDataFlow.getResJson();
+    }
+
+
+    /**
+     * 淇濆瓨鏃ュ織淇℃伅
+     * @param businessServiceDataFlow
+     */
+    private void saveLogMessage(BusinessServiceDataFlow businessServiceDataFlow){
+
+        try{
+            if(MappingConstant.VALUE_ON.equals(MappingCache.getValue(MappingConstant.KEY_LOG_ON_OFF))){
+                for(DataFlowLog dataFlowLog :businessServiceDataFlow.getLogDatas()) {
+                    KafkaFactory.sendKafkaMessage(KafkaConstant.TOPIC_LOG_NAME, "", JSONObject.toJSONString(dataFlowLog));
+                }
+            }
+        }catch (Exception e){
+            logger.error("鎶ラ敊鏃ュ織鍑洪敊浜嗭紝",e);
+        }
+    }
+
+    /**
+     * 淇濆瓨鑰楁椂淇℃伅
+     * @param businessServiceDataFlow
+     */
+    private void saveCostTimeLogMessage(BusinessServiceDataFlow businessServiceDataFlow){
+        try{
+            if(MappingConstant.VALUE_ON.equals(MappingCache.getValue(MappingConstant.KEY_COST_TIME_ON_OFF))){
+                List<DataFlowLinksCost> dataFlowLinksCosts = businessServiceDataFlow.getLinksCostDates();
+                JSONObject costDate = new JSONObject();
+                JSONArray costDates = new JSONArray();
+                JSONObject newObj = null;
+                for(DataFlowLinksCost dataFlowLinksCost : dataFlowLinksCosts){
+                    newObj = JSONObject.parseObject(JSONObject.toJSONString(dataFlowLinksCost));
+                    newObj.put("dataFlowId",businessServiceDataFlow.getDataFlowId());
+                    newObj.put("transactionId",businessServiceDataFlow.getTransactionId());
+                    costDates.add(newObj);
+                }
+                costDate.put("costDates",costDates);
+
+                KafkaFactory.sendKafkaMessage(KafkaConstant.TOPIC_COST_TIME_LOG_NAME,"",costDate.toJSONString());
+            }
+        }catch (Exception e){
+            logger.error("鎶ラ敊鏃ュ織鍑洪敊浜嗭紝",e);
+        }
+    }
+
     public IPrimaryKeyService getiPrimaryKeyService() {
         return iPrimaryKeyService;
     }

--
Gitblit v1.8.0