Browse Source

初步完成清分功能完成清分功能

qiubo 4 years ago
parent
commit
870fd89144

+ 3 - 3
carbon-api-mbg/src/main/resources/generatorConfig.xml

@@ -37,8 +37,8 @@
         <javaClientGenerator type="XMLMAPPER" targetPackage="com.hcloud.microserver.mbg.mapper"
                              targetProject="carbon-api-mbg\src\main\java"/>
         <!--生成全部表tableName设为%-->
-        <table tableName="b_%">
-            <generatedKey column="guid" sqlStatement="MySql" identity="true"/>
-        </table>
+        <table tableName="t_goods_info"/>
+<!--            <generatedKey column="guid" sqlStatement="MySql" identity="true"/>-->
+<!--        </table>-->
     </context>
 </generatorConfiguration>

+ 5 - 0
carbon-back/carbon-back-service/pom.xml

@@ -114,6 +114,11 @@
             <version>3.1</version>
 
         </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-test</artifactId>
+            <scope>test</scope>
+        </dependency>
 
     </dependencies>
     <build>

+ 89 - 0
carbon-back/carbon-back-service/src/test/java/com/hcloud/microserver/system/test/CarbonUploadImg.java

@@ -0,0 +1,89 @@
+package com.hcloud.microserver.system.test;
+
+
+import cn.hutool.core.util.RandomUtil;
+import com.hcloud.microserver.commoncore.base.ResponseBase;
+import com.hcloud.microserver.commoncore.util.OrderNo;
+import com.hcloud.microserver.commoncore.util.UploadFileUtil;
+import com.hcloud.microserver.commoncore.util.string.StringUtils;
+import com.hcloud.microserver.mbg.mapper.TCollectiveFarmerMapper;
+import com.hcloud.microserver.mbg.mapper.TProductInfoMapper;
+import com.hcloud.microserver.mbg.modul.TCollectiveFarmer;
+import com.hcloud.microserver.mbg.modul.TCollectiveFarmerExample;
+import com.hcloud.microserver.mbg.modul.TProductInfo;
+import com.hcloud.microserver.mbg.modul.TProductInfoExample;
+import io.swagger.annotations.ApiOperation;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.File;
+import java.util.List;
+
+@SpringBootTest
+// 让 JUnit 运行 Spring 的测试环境, 获得 Spring 环境的上下文的支持
+@RunWith(SpringRunner.class)
+public class CarbonUploadImg {
+
+    @Autowired
+    private TProductInfoMapper mapper;
+    private String rootUrl = "C:/Users/Administrator/Desktop/";
+    @Test
+    public void test1(){
+
+        TProductInfoExample example = new TProductInfoExample();
+        List<TProductInfo> list =
+                mapper.selectByExample(example);
+
+        for (TProductInfo t:list){
+            String images = t.getProductImgs();
+            if (StringUtils.isNotEmpty(images)){
+
+                StringBuilder s = new StringBuilder("");
+                System.out.println(images);
+                String[] split = images.split(";");
+                int i = split.length;
+                for (int ii = 0;ii<i;ii++){
+                    String path = rootUrl+split[ii];
+                    File file = new File(path);
+                    if (file.exists()){
+                        s.append(uploadFile(path,null)+";");
+                    }
+                }
+
+
+
+
+                if (StringUtils.isNotEmpty(s)){
+                    String str = s.toString().substring(0,s.lastIndexOf(";"));
+                    System.out.println(str);
+                    TProductInfo f = new TProductInfo();
+                    f.setGuid(t.getGuid());
+                    f.setProductImgs(str);
+                    mapper.updateByPrimaryKeySelective(f);
+                }
+
+
+
+            }
+        }
+
+
+    }
+
+    @Autowired
+    private UploadFileUtil uploadFileUtil;
+
+    public String uploadFile(String url, String type){
+        type =1+ RandomUtil.randomNumbers(1);
+        String s = uploadFileUtil.uploadLocalFile(url, "cqcarbon/0/" + type + "/" + OrderNo.NextOrderNo());
+        return s;
+    }
+
+
+}

+ 5 - 0
carbon-bank/carbon-bank-service/src/main/java/com/hcloud/microserver/system/bank/controller/BankRallBackCheckController.java

@@ -2,9 +2,11 @@ package com.hcloud.microserver.system.bank.controller;
 
 
 import com.hcloud.microserver.commoncore.base.BaseController;
+import com.hcloud.microserver.system.bank.service.BankRallBackCheckService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
@@ -15,11 +17,14 @@ import org.springframework.web.bind.annotation.RestController;
 @Slf4j
 public class BankRallBackCheckController extends BaseController {
 
+    @Autowired
+    private BankRallBackCheckService bankRallBackCheckService;
     @ApiOperation("明细确认")
     @PostMapping
     public String rollDetail(){
         log.info("到此一游------------------------------------------------------------------------------------------------------------------------" +
                 "-");
+        bankRallBackCheckService.rollDetail();
         return "正确返回";
     }
 }

+ 18 - 0
carbon-bank/carbon-bank-service/src/main/java/com/hcloud/microserver/system/bank/service/BankRallBackCheckService.java

@@ -0,0 +1,18 @@
+package com.hcloud.microserver.system.bank.service;
+
+
+import com.hcloud.microserver.commoncore.base.BaseController;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+
+public interface BankRallBackCheckService{
+
+    public void rollDetail();
+
+    public void rollTrans();
+}

+ 1 - 1
carbon-bank/carbon-bank-service/src/main/java/com/hcloud/microserver/system/bank/service/impl/BTransferDetailServiceImpl.java

@@ -98,7 +98,7 @@ public class BTransferDetailServiceImpl implements BTransferDetailService {
     @Override
     public int updateByGuid(BTransferDetail detail) {
         if (detail != null && StringUtils.isNotNull(detail.getGuid())){
-            return bTransferDetailMapper.updateByPrimaryKey(detail);
+            return bTransferDetailMapper.updateByPrimaryKeySelective(detail);
         }
         return 0;
     }

+ 95 - 0
carbon-bank/carbon-bank-service/src/main/java/com/hcloud/microserver/system/bank/service/impl/BankRallBackCheckServiceImpl.java

@@ -0,0 +1,95 @@
+package com.hcloud.microserver.system.bank.service.impl;
+
+
+import com.hcloud.microserver.commoncore.util.string.StringUtils;
+import com.hcloud.microserver.mbg.mapper.BTransferDetailMapper;
+import com.hcloud.microserver.mbg.mapper.BTransferDetailRequestMapper;
+import com.hcloud.microserver.mbg.mapper.BTransferMapper;
+import com.hcloud.microserver.mbg.modul.BTransferDetail;
+import com.hcloud.microserver.mbg.modul.BTransferDetailExample;
+import com.hcloud.microserver.mbg.modul.BTransferDetailRequest;
+import com.hcloud.microserver.mbg.modul.BTransferDetailRequestExample;
+import com.hcloud.microserver.system.bank.carbon.entity.SingleTransferInstructionQueryEntity;
+import com.hcloud.microserver.system.bank.carbon.form.TransactionOrderStatusQueryForm;
+import com.hcloud.microserver.system.bank.service.BankRallBackCheckService;
+import com.hcloud.microserver.system.bank.service.BankTransferService;
+import com.hcloud.microserver.system.bank.util.BankStringUtils;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Slf4j
+@Service
+public class BankRallBackCheckServiceImpl implements BankRallBackCheckService {
+
+
+
+    @Autowired
+    private BTransferDetailMapper bTransferDetailMapper;
+
+    @Autowired
+    private BankTransferService bankTransferService;
+
+    @Autowired
+    private BTransferDetailRequestMapper requestMapper;
+    @Override
+    public void rollDetail() {
+        BTransferDetailExample example = new BTransferDetailExample();
+
+        BTransferDetailExample.Criteria criteria = example.createCriteria();
+        criteria.andStateEqualTo(1);
+
+        List<BTransferDetail> details = bTransferDetailMapper.selectByExample(example);
+        if (details != null){
+            for (BTransferDetail detail:details){
+                TransactionOrderStatusQueryForm form = new TransactionOrderStatusQueryForm();
+                form.setType(1);
+                form.setGuid(detail.getGuid());
+                SingleTransferInstructionQueryEntity entity = bankTransferService.singleTransferInstruction(form);
+                if (entity == null){
+                    log.info("------>定时任务处理获取返回信息为空:"+detail.getGuid());
+                    return;
+                }
+                String msg = null;
+                if (BankStringUtils.getSuccess().containsKey(entity.getOrderStatus())){
+                    detail.setState(2);
+                    msg = BankStringUtils.getSuccess().get(entity.getOrderStatus());
+                }else if(BankStringUtils.getFail().containsKey(entity.getOrderStatus())){
+                    detail.setState(3);
+                    msg = BankStringUtils.getFail().get(entity.getOrderStatus());
+                }else {
+                    log.info("清分中 不处理"+detail.getGuid());
+                    if (BankStringUtils.getSuccess().containsKey(entity.getOrderStatus())){
+                        msg = BankStringUtils.getSuccess().get(entity.getOrderStatus());
+                    }
+                    msg = "银行处理中";
+                    return;
+                }
+                BTransferDetailRequestExample requestExample = new BTransferDetailRequestExample();
+                BTransferDetailRequestExample.Criteria requestCriteria = requestExample.createCriteria();
+                requestCriteria.andFkTransferDetailIdEqualTo(detail.getGuid());
+                requestExample.setOrderByClause("create_time desc");
+
+                List<BTransferDetailRequest> requests = requestMapper.selectByExample(requestExample);
+                if (requests != null){
+                    BTransferDetailRequest detailRequest = requests.get(0);
+                    detailRequest.setHandFee(entity.getHandFee());
+                    detailRequest.setPostFee(entity.getPostFee());
+                    detailRequest.setPayStatus(entity.getOrderStatus());
+                    detailRequest.setPayMsg(msg);
+                    detailRequest.setRetCode(entity.getReturnCod());
+                    detailRequest.setErrorMsg(entity.getReturnFailMsg());
+                    requestMapper.updateByPrimaryKeySelective(detailRequest);
+                }
+                bTransferDetailMapper.updateByPrimaryKeySelective(detail);
+            }
+        }
+    }
+
+    @Override
+    public void rollTrans() {
+
+    }
+}

+ 1 - 0
carbon-bank/carbon-bank-service/src/main/java/com/hcloud/microserver/system/bank/service/impl/MakeClearingServiceImpl.java

@@ -320,6 +320,7 @@ public class MakeClearingServiceImpl implements MakeClearingService {
             }
 
             if (flag){
+                b.setState(1);
                 bTransferDetailService.insertRequest(body);
                 bTransferDetailService.updateByGuid(b);
             }

+ 43 - 0
carbon-bank/carbon-bank-service/src/main/java/com/hcloud/microserver/system/bank/util/BankStringUtils.java

@@ -0,0 +1,43 @@
+package com.hcloud.microserver.system.bank.util;
+
+import java.util.HashMap;
+import java.util.Map;
+
+public class BankStringUtils {
+
+    private static Map<String,String> success = new HashMap<>();
+
+    private static Map<String,String> undone = new HashMap<>();
+
+    private static  Map<String,String> fail = new HashMap<>();
+    static {
+        undone.put("50","银行处理中");
+        success.put("90","交易成功");
+        fail.put("91","交易失败");
+        fail.put("93","银行拒绝");
+        fail.put("94","交易失败");
+        undone.put("99","交易结果不确定");
+        undone.put("00","等待企业复核");
+        fail.put("01","复核被企业拒绝");
+        undone.put("10","等待企业授权");
+        fail.put("11","授权被企业拒绝");
+        fail.put("12","强制授权被企业拒绝");
+        undone.put("20","等待银行自动发送");
+        undone.put("21","等待企业手工发送");
+        fail.put("51","已经退汇");
+        fail.put("52","已经冲正");
+    }
+
+    public static Map<String,String> getSuccess(){
+        return success;
+    }
+
+    public static Map<String,String> getFail(){
+        return fail;
+    }
+
+    public static Map<String,String> getUndone(){
+        return undone;
+    }
+
+}

+ 14 - 7
carbon-bank/carbon-bank-service/src/main/java/com/hcloud/microserver/system/bank/util/BankUtil.java

@@ -86,12 +86,12 @@ public class BankUtil {
             }
 
             Object o = JSONObject.toJSON(opReq);
-            RemoveNullAttr re = new RemoveNullAttr();
-            Object o1 = re.traverseJson(o);
+//            RemoveNullAttr re = new RemoveNullAttr();
+//            Object o1 = re.traverseJson(o);
 //            log.info(o1.toString());
 //            String s = JsonAndXmlUtils.JsonToXml((JSONObject)o1);
              //默认根节点
-            String s = JsonAndXmlUtils.jsonToXml(o1.toString(), "CQRCBBankData");
+            String s = JsonAndXmlUtils.jsonToXml(o.toString(), "CQRCBBankData");
 
             String url1 = "http://"+ip+":"+port+"/corporLink";
             String h = param.getSessionId()+"|"+param.getServiceId()+"|"+param.getSerialNo()+"|"+param.getReqTime()+"|#";
@@ -339,11 +339,18 @@ public class BankUtil {
         if (paramData == null){
             return null;
         }
-        JSONObject si = new JSONObject();
-        si.put("ReqParam",JSONObject.toJSON(paramData));
+        Object o = JSONObject.toJSON(paramData);
+//        RemoveNullAttr re = new RemoveNullAttr();
+//        Object o1 = re.traverseJson(o);
+//            log.info(o1.toString());
+//            String s = JsonAndXmlUtils.JsonToXml((JSONObject)o1);
+        //默认根节点
+        String fs = JsonAndXmlUtils.jsonToXml(o.toString(), "ReqParam");
 
-            String sJson = JsonAndXmlUtils.JsonToXml((JSONObject) JSONObject.parse(JSONObject.toJSONString(si)));
-            String substring = sJson.substring(sJson.lastIndexOf("<ReqParam>"));
+//        JSONObject si = new JSONObject();
+//        si.put("ReqParam",JSONObject.toJSON(paramData));
+//
+            String substring = fs.substring(fs.lastIndexOf("<ReqParam>"));
 
 
             log.info("签名后的数据:"+substring);

+ 5 - 5
carbon-bank/carbon-bank-service/src/main/java/com/hcloud/microserver/system/bank/util/JsonAndXmlUtils.java

@@ -267,10 +267,10 @@ public class JsonAndXmlUtils {
 
         /* 格式化xml */
         OutputFormat format = OutputFormat.createPrettyPrint();
-        String head = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
-        // 设置缩进为4个空格
-        format.setIndent(" ");
-        format.setIndentSize(4);
+        String head = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>";
+//        // 设置缩进为4个空格
+//        format.setIndent(" ");
+//        format.setIndentSize(4);
         format.setEncoding("UTF-8"); // 指定XML编码
         format.setExpandEmptyElements(true);//自动添加闭合标签
         document.setXMLEncoding("UTF-8");
@@ -278,7 +278,7 @@ public class JsonAndXmlUtils {
         XMLWriter writer = new XMLWriter(formatXml, format);
         writer.write(ee);
 
-        return head+formatXml.toString();
+        return head+ee.asXML();
     }
 
     /**