Procházet zdrojové kódy

商户支持订单查询和作废订单查询功能

wuxw7 před 8 roky
rodič
revize
67135095f2

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 222 - 1153
.idea/workspace.xml


+ 46 - 0
MerchantService/src/main/java/com/java110/merchant/rest/MerchantServiceRest.java

@@ -299,6 +299,52 @@ public class MerchantServiceRest extends BaseController implements IMerchantServ
     }
 
 
+    @RequestMapping("/merchantService/queryMerchantInfoByOlId")
+    public String queryMerchantInfoByOlId(@RequestParam("busiOrder") String busiOrder){
+
+
+        LoggerEngine.debug("queryMerchantInfoByOlId入参:" + busiOrder);
+
+
+        String resultMerchantInfo = null;
+
+        try {
+            this.simpleValidateJSON(busiOrder);
+            resultMerchantInfo = iMerchantServiceSMO.queryMerchantInfoByOlId(busiOrder);
+
+        } catch (Exception e) {
+            LoggerEngine.error("服务处理出现异常:", e);
+            resultMerchantInfo = ProtocolUtil.createResultMsg(ProtocolUtil.RETURN_MSG_ERROR,"服务处理出现异常"+e,null);
+        } finally {
+            LoggerEngine.debug("用户服务操作客户出参:" + resultMerchantInfo);
+            return resultMerchantInfo;
+        }
+    }
+
+    @RequestMapping("/merchantService/queryNeedDeleteMerchantInfoByOlId")
+    public String queryNeedDeleteMerchantInfoByOlId(@RequestParam("busiOrder") String busiOrder){
+
+
+        LoggerEngine.debug("queryMerchantInfoByOlId入参:" + busiOrder);
+
+
+        String resultMerchantInfo = null;
+
+        try {
+            this.simpleValidateJSON(busiOrder);
+            resultMerchantInfo = iMerchantServiceSMO.queryNeedDeleteMerchantInfoByOlId(busiOrder);
+
+        } catch (Exception e) {
+            LoggerEngine.error("服务处理出现异常:", e);
+            resultMerchantInfo = ProtocolUtil.createResultMsg(ProtocolUtil.RETURN_MSG_ERROR,"服务处理出现异常"+e,null);
+        } finally {
+            LoggerEngine.debug("用户服务操作客户出参:" + resultMerchantInfo);
+            return resultMerchantInfo;
+        }
+    }
+
+
+
     public IMerchantServiceSMO getiMerchantServiceSMO() {
         return iMerchantServiceSMO;
     }

+ 18 - 0
MerchantService/src/main/java/com/java110/merchant/smo/IMerchantServiceSMO.java

@@ -74,4 +74,22 @@ public interface IMerchantServiceSMO {
      * @throws Exception
      */
     public String queryMerchant(Merchant merchant) throws Exception;
+
+
+    /**
+     * 根据购物车信息查询
+     * @param busiOrder 订单项信息
+     * @return
+     * @throws Exception
+     */
+    public String queryMerchantInfoByOlId(String busiOrder) throws Exception;
+
+
+    /**
+     * 根据购物车信息查询 需要作废的发起的报文
+     * @param busiOrder 订单项信息
+     * @return
+     * @throws Exception
+     */
+    public String queryNeedDeleteMerchantInfoByOlId(String busiOrder) throws Exception;
 }

+ 127 - 0
MerchantService/src/main/java/com/java110/merchant/smo/impl/MerchantServiceSMOImpl.java

@@ -3,6 +3,7 @@ package com.java110.merchant.smo.impl;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.JSONPath;
+import com.java110.common.constant.StateConstant;
 import com.java110.common.log.LoggerEngine;
 import com.java110.common.util.Assert;
 import com.java110.common.util.ProtocolUtil;
@@ -11,6 +12,7 @@ import com.java110.entity.merchant.BoMerchant;
 import com.java110.entity.merchant.BoMerchantAttr;
 import com.java110.entity.merchant.Merchant;
 import com.java110.entity.merchant.MerchantAttr;
+import com.java110.entity.order.BusiOrder;
 import com.java110.feign.base.IPrimaryKeyService;
 import com.java110.merchant.dao.IMerchantServiceDao;
 import com.java110.merchant.smo.IMerchantServiceSMO;
@@ -433,6 +435,28 @@ public class MerchantServiceSMOImpl extends BaseServiceSMO implements IMerchantS
         return ProtocolUtil.createResultMsg(ProtocolUtil.RETURN_MSG_SUCCESS,"成功",JSONObject.parseObject(JSONObject.toJSONString(newMerchant)));
     }
 
+    /**
+     * 根据购物车信息查询
+     * @param busiOrder 订单项信息
+     * @return
+     * @throws Exception
+     */
+    @Override
+    public String queryMerchantInfoByOlId(String busiOrder) throws Exception {
+        return doQueryMerchantInfoByOlId(busiOrder,false);
+    }
+
+    /**
+     * 根据购物车信息查询 需要作废的发起的报文
+     * @param busiOrder 订单项信息
+     * @return
+     * @throws Exception
+     */
+    @Override
+    public String queryNeedDeleteMerchantInfoByOlId(String busiOrder) throws Exception {
+        return doQueryMerchantInfoByOlId(busiOrder,true);
+    }
+
     /**
      * 处理boMerchant 节点
      * @throws Exception
@@ -620,6 +644,109 @@ public class MerchantServiceSMOImpl extends BaseServiceSMO implements IMerchantS
         return preBoMerchantAttrs;
     }
 
+
+    /**
+     * 查询客户订单信息
+     * @param busiOrderStr 订单项信息
+     * @param isNeedDelete 是否是撤单报文 true 查询撤单报文 false
+     * @return
+     * @throws Exception
+     */
+    private String doQueryMerchantInfoByOlId(String busiOrderStr,Boolean isNeedDelete) throws Exception{
+        BusiOrder busiOrder = JSONObject.parseObject(busiOrderStr, BusiOrder.class);
+
+        if(busiOrder == null || "".equals(busiOrder.getOlId())){
+            throw new IllegalArgumentException("商户信息查询入参为空,olId 为空 "+busiOrderStr);
+        }
+
+        Merchant merchant = new Merchant();
+        merchant.setVersionId(busiOrder.getOlId());
+        //根据版本ID查询实例数据
+        Merchant newMerchant = iMerchantServiceDao.queryDataToMerchant(merchant);
+        JSONObject returnJson = JSONObject.parseObject("{'data':{}}");
+        if(newMerchant == null){
+            return returnJson.toJSONString();
+        }
+
+        BoMerchant boMerchant = new BoMerchant();
+
+        boMerchant.setBoId(busiOrder.getBoId());
+        boMerchant.setMerchantId(newMerchant.getMerchantId());
+        boMerchant.setVersionId(busiOrder.getOlId());
+
+        List<BoMerchant> boMerchants =  iMerchantServiceDao.queryBoMerchant(boMerchant);
+
+
+        //一般情况下没有这种情况存在,除非 人工 改了数据,或没按流程完成数据处理
+        if(boMerchants == null || boMerchants.size() == 0){
+            return returnJson.toJSONString();
+        }
+
+
+        JSONArray boMerchantArray = new JSONArray();
+        //单纯的删除 和单纯 增加
+        for(int boMerchantIndex = 0 ; boMerchantIndex < boMerchants.size();boMerchantIndex++) {
+            BoMerchant newBoMerchant = boMerchants.get(boMerchantIndex);
+            if(isNeedDelete) {
+                if (StateConstant.STATE_DEL.equals(newBoMerchant.getState())) {
+                    newBoMerchant.setBoId("");
+                    newBoMerchant.setState(StateConstant.STATE_ADD);
+                } else if (StateConstant.STATE_ADD.equals(newBoMerchant.getState())) {
+                    newBoMerchant.setState(StateConstant.STATE_DEL);
+                } else {
+                    newBoMerchant.setState(StateConstant.STATE_KIP);
+                }
+            }
+            boMerchantArray.add(newBoMerchant);
+        }
+        returnJson.getJSONObject("data").put("boMerchant",JSONObject.toJSONString(boMerchantArray));
+
+
+        //属性处理
+        MerchantAttr oldMerchantAttr = new MerchantAttr();
+        oldMerchantAttr.setMerchantId(newMerchant.getMerchantId());
+        oldMerchantAttr.setVersionId(busiOrder.getOlId());
+        List<MerchantAttr> custAttrs = iMerchantServiceDao.queryDataToMerchantAttr(oldMerchantAttr);
+        if(custAttrs == null || custAttrs.size() == 0){
+            return returnJson.toJSONString();
+        }
+        /**
+         * 查询客户查询的过程数据
+         */
+        BoMerchantAttr boMerchantAttr = new BoMerchantAttr();
+        boMerchantAttr.setMerchantId(newMerchant.getMerchantId());
+        boMerchantAttr.setVersionId(busiOrder.getOlId());
+        List<BoMerchantAttr> boMerchantAttrs = iMerchantServiceDao.queryBoMerchantAttr(boMerchantAttr);
+
+
+        //一般情况下没有这种情况存在,除非 人工 改了数据,或没按流程完成数据处理
+        if(boMerchantAttrs == null || boMerchantAttrs.size() == 0){
+            return returnJson.toJSONString();
+        }
+
+
+        JSONArray boMerchantAttrArray = new JSONArray();
+        //单纯的删除 和单纯 增加
+        for(BoMerchantAttr newBoMerchantAttr : boMerchantAttrs) {
+            if(isNeedDelete) {
+                if (StateConstant.STATE_DEL.equals(newBoMerchantAttr.getState())) {
+                    newBoMerchantAttr.setBoId("");
+                    newBoMerchantAttr.setState(StateConstant.STATE_ADD);
+                } else if (StateConstant.STATE_ADD.equals(newBoMerchantAttr.getState())) {
+                    newBoMerchantAttr.setState(StateConstant.STATE_DEL);
+                } else {
+                    newBoMerchantAttr.setState(StateConstant.STATE_KIP);
+                }
+            }
+            boMerchantAttrArray.add(newBoMerchantAttr);
+        }
+
+        returnJson.getJSONObject("data").put("boMerchantAttr",JSONObject.toJSONString(boMerchantAttrArray));
+
+        return returnJson.toJSONString();
+
+    }
+
     public IPrimaryKeyService getiPrimaryKeyService() {
         return iPrimaryKeyService;
     }

+ 3 - 1
bean/src/main/java/com/java110/entity/merchant/BoMerchant.java

@@ -1,6 +1,8 @@
 package com.java110.entity.merchant;
 
 
+import com.java110.entity.DefaultBoEntity;
+
 import java.util.Date;
 import java.util.List;
 
@@ -8,7 +10,7 @@ import java.util.List;
  * 对应商户 过程表 bo_merchant
  * Created by wuxw on 2017/5/20.
  */
-public class BoMerchant implements Comparable{
+public class BoMerchant extends DefaultBoEntity implements Comparable{
 
     private String boId;
 

+ 3 - 1
bean/src/main/java/com/java110/entity/merchant/BoMerchantAttr.java

@@ -1,13 +1,15 @@
 package com.java110.entity.merchant;
 
 
+import com.java110.entity.DefaultBoAttrEntity;
+
 import java.util.Date;
 
 /**
  * 商户属性表 bo_merchant_type
  * Created by wuxw on 2017/5/20.
  */
-public class BoMerchantAttr implements Comparable {
+public class BoMerchantAttr extends DefaultBoAttrEntity implements Comparable {
 
     private String boId;
 

+ 9 - 0
feign/src/main/java/com/java110/feign/merchant/IMerchantService.java

@@ -1,5 +1,7 @@
 package com.java110.feign.merchant;
 
+import com.java110.common.log.LoggerEngine;
+import com.java110.common.util.ProtocolUtil;
 import org.springframework.cloud.netflix.feign.FeignClient;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
@@ -169,4 +171,11 @@ public interface IMerchantService {
     @RequestMapping("/merchantService/soDeleteMerchantService")
     public String soDeleteMerchantService(@RequestParam("data") String data);
 
+
+    @RequestMapping("/merchantService/queryMerchantInfoByOlId")
+    public String queryMerchantInfoByOlId(@RequestParam("busiOrder") String busiOrder);
+
+    @RequestMapping("/merchantService/queryNeedDeleteMerchantInfoByOlId")
+    public String queryNeedDeleteMerchantInfoByOlId(@RequestParam("busiOrder") String busiOrder);
+
 }

+ 10 - 0
feign/src/main/java/com/java110/feign/merchant/MerchantServiceFallback.java

@@ -42,4 +42,14 @@ public class MerchantServiceFallback implements IMerchantService {
     public String soDeleteMerchantService(@RequestParam("data") String data) {
         return ProtocolUtil.createResultMsg(ProtocolUtil.RETURN_MSG_ERROR,"调用服务超时",null);
     }
+
+    @Override
+    public String queryMerchantInfoByOlId(String busiOrder) {
+        return ProtocolUtil.createResultMsg(ProtocolUtil.RETURN_MSG_ERROR,"调用服务超时",null);
+    }
+
+    @Override
+    public String queryNeedDeleteMerchantInfoByOlId(String busiOrder) {
+        return ProtocolUtil.createResultMsg(ProtocolUtil.RETURN_MSG_ERROR,"调用服务超时",null);
+    }
 }

+ 5 - 0
logs/eureka.log

@@ -2307,3 +2307,8 @@ java.io.FileNotFoundException: class path resource [templates/] cannot be resolv
 2017-09-22 17:13:10.128 DEBUG 13520 --- [main] o.s.w.c.s.StandardServletEnvironment     : Adding [server.ports] PropertySource with highest search precedence
 2017-09-22 17:13:10.134  INFO 13520 --- [main] c.j.e.ConfigServerEurekaApplication      : Started ConfigServerEurekaApplication in 31.768 seconds (JVM running for 33.028)
 2017-09-22 17:14:09.873  INFO 13520 --- [Eureka-EvictionTimer] c.n.e.registry.AbstractInstanceRegistry  : Running the evict task with compensationTime 0ms
+2017-09-22 17:15:09.873  INFO 13520 --- [Eureka-EvictionTimer] c.n.e.registry.AbstractInstanceRegistry  : Running the evict task with compensationTime 0ms
+2017-09-22 17:16:09.877  INFO 13520 --- [Eureka-EvictionTimer] c.n.e.registry.AbstractInstanceRegistry  : Running the evict task with compensationTime 3ms
+2017-09-22 17:17:09.878  INFO 13520 --- [Eureka-EvictionTimer] c.n.e.registry.AbstractInstanceRegistry  : Running the evict task with compensationTime 1ms
+2017-09-22 17:18:09.879  INFO 13520 --- [Eureka-EvictionTimer] c.n.e.registry.AbstractInstanceRegistry  : Running the evict task with compensationTime 0ms
+2017-09-22 17:19:09.879  INFO 13520 --- [Eureka-EvictionTimer] c.n.e.registry.AbstractInstanceRegistry  : Running the evict task with compensationTime 0ms