qin 2 жил өмнө
parent
commit
d905c686ec

+ 39 - 0
src/main/java/com/poteviohealth/ym/ipos/controller/SettlementController.java

@@ -0,0 +1,39 @@
+package com.poteviohealth.ym.ipos.controller;
+
+import com.poteviohealth.cgp.common.controller.BaseWebController;
+import com.poteviohealth.cgp.common.facade.log.OperateType;
+import com.poteviohealth.cgp.common.facade.log.OperationLog;
+import com.poteviohealth.cgp.common.model.VaultsResponse;
+import com.poteviohealth.ym.ipos.model.split.back.SettlementQueryBack;
+import com.poteviohealth.ym.ipos.model.split.detail.SettlementQueryDetail;
+import com.poteviohealth.ym.ipos.service.ISplitService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+
+/**
+ * 结算管理
+ * @author Qin
+ */
+@RestController
+@RequestMapping("/ipos/web/settlement")
+@Api(value = "SettlementController", tags = "结算管理")
+public class SettlementController extends BaseWebController {
+
+    @Resource
+    private ISplitService splitService;
+
+
+    @PostMapping("/merchantQuery")
+    @ApiOperation(value = "结算查询")
+    @OperationLog(type = OperateType.SELECT, description ="结算查询")
+    public VaultsResponse<SettlementQueryBack> merchantQuery(@RequestBody SettlementQueryDetail detail) {
+        return splitService.merchantSettlementQuery(detail);
+    }
+
+}

+ 3 - 3
src/main/java/com/poteviohealth/ym/ipos/service/ISplitService.java

@@ -3,10 +3,10 @@ package com.poteviohealth.ym.ipos.service;
 import com.poteviohealth.cgp.common.model.VaultsResponse;
 import com.poteviohealth.ym.ipos.model.back.BaseBack;
 import com.poteviohealth.ym.ipos.model.payment.PayRefundQuery;
-import com.poteviohealth.ym.ipos.model.split.SettlementQuery;
 import com.poteviohealth.ym.ipos.model.split.SplitRecords;
 import com.poteviohealth.ym.ipos.model.split.SplitRecordsDetail;
 import com.poteviohealth.ym.ipos.model.split.back.SettlementQueryBack;
+import com.poteviohealth.ym.ipos.model.split.detail.SettlementQueryDetail;
 
 import java.util.List;
 
@@ -48,8 +48,8 @@ public interface ISplitService {
 
     /**
      * 结算记录查询
-     * @param settlementQuery
+     * @param detail
      * @return
      */
-    SettlementQueryBack merchantSettlementQuery(SettlementQuery settlementQuery);
+    VaultsResponse<SettlementQueryBack> merchantSettlementQuery(SettlementQueryDetail detail);
 }

+ 28 - 2
src/main/java/com/poteviohealth/ym/ipos/service/impl/SplitServiceImpl.java

@@ -1,5 +1,8 @@
 package com.poteviohealth.ym.ipos.service.impl;
 
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.alibaba.fastjson.TypeReference;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.google.common.collect.Lists;
 import com.poteviohealth.cgp.common.model.VaultsResponse;
@@ -19,6 +22,7 @@ import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * 分账
@@ -152,7 +156,29 @@ public class SplitServiceImpl implements ISplitService {
     }
 
     @Override
-    public SettlementQueryBack merchantSettlementQuery(SettlementQuery settlementQuery) {
-        return null;
+    public VaultsResponse<SettlementQueryBack> merchantSettlementQuery(SettlementQueryDetail detail) {
+        SettlementQuery settlementQuery =  new SettlementQuery();
+        settlementQuery.setMerchant_settlementquery_request(detail);
+        SettlementQueryBack back = null;
+
+        try {
+            String val = (String) YmUtil.resultBack(settlementQuery,new SettlementQueryBack());
+            JSONObject jsonObject = new JSONObject(JSON.parseObject(val));
+            if(val.contains("list")){
+                List<SettlementQueryList> list = jsonObject.getJSONArray("list").stream().map(item -> JSON.parseObject(item.toString(), new TypeReference<SettlementQueryList>() {})).collect(Collectors.toList());
+                jsonObject.put("list",list);
+            }
+            back = JSONObject.toJavaObject(jsonObject, SettlementQueryBack.class);
+
+        } catch (IllegalAccessException e) {
+            e.printStackTrace();
+            return VaultsResponse.failed(e.getMessage());
+        }
+
+        if(YmUtil.SUCCESS.equals(back.getResult().getId())){
+            return VaultsResponse.success(back);
+        }
+
+        return VaultsResponse.failed(back.getResult().getComment());
     }
 }

+ 2 - 1
src/main/java/com/poteviohealth/ym/ipos/utils/YmUtil.java

@@ -31,7 +31,8 @@ public class YmUtil {
             log.info(clazz.getClass()+"===="+jsonObject);
             String val = HttpUtils.post(URL,jsonObject);
             log.info(clazz.getClass()+"==return=="+val);
-            if(clazz.getClass().toString().contains("UserSearchBack")){
+            if(clazz.getClass().toString().contains("UserSearchBack")
+                    || clazz.getClass().toString().contains("SettlementQueryBack")){
                 return val;
             }
             return JSONObject.parseObject(val, clazz.getClass());