Parcourir la source

暂时去掉三方支付

qin il y a 1 an
Parent
commit
39e7dcf24c

+ 47 - 13
src/main/java/com/poteviohealth/ym/ipos/controller/app/SettlementAppController.java

@@ -1,19 +1,20 @@
 package com.poteviohealth.ym.ipos.controller.app;
 
+import com.google.common.collect.Lists;
 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.filter.TokenContext;
 import com.poteviohealth.cgp.common.integrated.StringParams;
 import com.poteviohealth.cgp.common.integrated.customer.CustomerFeignClient;
-import com.poteviohealth.cgp.common.integrated.customer.model.GroupLeaderDTO;
-import com.poteviohealth.cgp.common.integrated.customer.model.GroupLeaderParams;
 import com.poteviohealth.cgp.common.model.CommonPage;
 import com.poteviohealth.cgp.common.model.VaultsResponse;
+import com.poteviohealth.cgp.common.utils.CgpTool;
 import com.poteviohealth.ym.ipos.model.split.SplitWithdraw;
 import com.poteviohealth.ym.ipos.model.split.back.AccountBalanceBack;
 import com.poteviohealth.ym.ipos.model.split.back.SettlementQueryBack;
 import com.poteviohealth.ym.ipos.model.split.back.WithdrawBack;
+import com.poteviohealth.ym.ipos.model.split.detail.AccountBalanceList;
 import com.poteviohealth.ym.ipos.model.split.detail.SettlementQueryDetail;
 import com.poteviohealth.ym.ipos.model.split.dto.SplitWithdrawDto;
 import com.poteviohealth.ym.ipos.model.split.dto.WithdrawDto;
@@ -22,12 +23,15 @@ import com.poteviohealth.ym.ipos.service.ISplitWithdrawService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.apache.commons.lang.StringUtils;
+import org.springframework.beans.factory.annotation.Value;
 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;
+import java.util.Date;
+import java.util.List;
 
 /**
  * 结算管理app
@@ -44,7 +48,8 @@ public class SettlementAppController extends BaseWebController {
     private ISplitWithdrawService splitWithdrawService;
     @Resource
     private CustomerFeignClient customerFeignClient;
-
+    @Value("${sync.dbName}")
+    private String dbName;
 
     @PostMapping("/merchantQuery")
     @ApiOperation(value = "结算查询")
@@ -62,7 +67,8 @@ public class SettlementAppController extends BaseWebController {
     @OperationLog(type = OperateType.SELECT, description ="单账户查询")
     public VaultsResponse<AccountBalanceBack> accountBalanceQuery(@RequestBody StringParams params) {
 
-        if(StringUtils.isEmpty(params.getId())){
+        //TODO 暂时去掉三方支付
+      /*  if(StringUtils.isEmpty(params.getId())){
             String ipos = TokenContext.cureMiniUser().getIposMerchantId();
             if(StringUtils.isEmpty(ipos)){
                 return VaultsResponse.failed("账户未激活,请联系管理员");
@@ -70,7 +76,16 @@ public class SettlementAppController extends BaseWebController {
             params.setId(TokenContext.cureMiniUser().getIposMerchantId());
         }
 
-        return splitService.accountBalanceQuery(params.getId());
+        return splitService.accountBalanceQuery(params.getId());*/
+
+        Integer money = splitWithdrawService.getGroupLeaderWithdrawSumPrice(TokenContext.cureOperatorId(),dbName, TokenContext.cureMiniUser().getGroupLeaderId());
+        AccountBalanceBack balanceBack = new AccountBalanceBack();
+        List<AccountBalanceList> list = Lists.newArrayList();
+        AccountBalanceList abList = new AccountBalanceList();
+        abList.setBalance_amt(money);
+        list.add(abList);
+        balanceBack.setList(list);
+        return VaultsResponse.success(balanceBack);
     }
 
 
@@ -79,7 +94,10 @@ public class SettlementAppController extends BaseWebController {
     @OperationLog(type = OperateType.SELECT, description ="可提现金额查询")
     public VaultsResponse<Long> accountBalanceUse() {
 
-        if(StringUtils.isEmpty(TokenContext.cureMiniUser().getIposMerchantId())){
+        //TODO 暂时去掉三方支付
+        Long money = splitWithdrawService.getGroupLeaderWithdrawPrice(TokenContext.cureOperatorId(),dbName, TokenContext.cureMiniUser().getGroupLeaderId());
+        return VaultsResponse.success(money<0L?0L:money);
+        /*if(StringUtils.isEmpty(TokenContext.cureMiniUser().getIposMerchantId())){
             return VaultsResponse.success(0L);
         }
         GroupLeaderParams groupLeaderParams = new GroupLeaderParams();
@@ -98,14 +116,15 @@ public class SettlementAppController extends BaseWebController {
            }catch (Exception e){
                e.printStackTrace();
                return VaultsResponse.success(0L);
-           }
+           }*/
     }
 
     @PostMapping("/withdraw")
     @ApiOperation(value = "取现")
     @OperationLog(type = OperateType.SELECT, description ="取现")
     public VaultsResponse<WithdrawBack> withdraw(@RequestBody WithdrawDto dto) {
-        if(StringUtils.isEmpty(dto.getMerchantId())){
+        //TODO 暂时去掉三方支付
+       /* if(StringUtils.isEmpty(dto.getMerchantId())){
             String ipos = TokenContext.cureMiniUser().getIposMerchantId();
             if(StringUtils.isEmpty(ipos)){
                 return VaultsResponse.failed("账户未激活,请联系管理员");
@@ -118,12 +137,24 @@ public class SettlementAppController extends BaseWebController {
         VaultsResponse<GroupLeaderDTO>  vaultsResponse = customerFeignClient.getGroupLeaderById(groupLeaderParams);
         GroupLeaderDTO groupLeaderDTO = vaultsResponse.getData();
 
-       /* if(groupLeaderDTO.getRemainedAmt()>=dto.getAmount()){
+       *//* if(groupLeaderDTO.getRemainedAmt()>=dto.getAmount()){
             DecimalFormat df = new DecimalFormat("#0.00");
             return VaultsResponse.failed("留存保证金为:"+new BigDecimal(df.format(groupLeaderDTO.getRemainedAmt() / 100.0))+"元,可提现金额不足");
-        }*/
+        }*//*
         dto.setAmount(dto.getAmount());
-        return splitService.withdraw(dto);
+        return splitService.withdraw(dto);*/
+
+        SplitWithdraw splitWithdraw = new SplitWithdraw();
+        splitWithdraw.setOperatorId(TokenContext.cureOperatorId());
+        splitWithdraw.setWithdrawId(CgpTool.generateKey());
+        splitWithdraw.setWithdrawSeq(CgpTool.generateKey().toString());
+        splitWithdraw.setMerchantId("TZ"+TokenContext.cureMiniUser().getGroupLeaderId());
+        splitWithdraw.setAmount(dto.getAmount());
+        splitWithdraw.setTransDate(new Date());
+        splitWithdraw.setTransStatus("p");
+        splitWithdraw.setAcctStatus("p");
+        splitWithdrawService.save(splitWithdraw);
+        return VaultsResponse.success();
     }
 
 
@@ -141,13 +172,16 @@ public class SettlementAppController extends BaseWebController {
     @PostMapping("/list")
     @ApiOperation(value = "取现记录",notes = "list")
     public VaultsResponse<CommonPage<SplitWithdraw>> list(@RequestBody SplitWithdrawDto dto){
-        if(StringUtils.isEmpty(dto.getIposMerchantId())){
+        //TODO 暂时去掉三方支付
+        /*if(StringUtils.isEmpty(dto.getIposMerchantId())){
             String ipos = TokenContext.cureMiniUser().getIposMerchantId();
             if(StringUtils.isEmpty(ipos)){
                 return VaultsResponse.failed("账户未激活,请联系管理员");
             }
             dto.setIposMerchantId(TokenContext.cureMiniUser().getIposMerchantId());
-        }
+        }*/
+
+        dto.setIposMerchantId("TZ"+TokenContext.cureMiniUser().getGroupLeaderId());
         return VaultsResponse.success(splitWithdrawService.pageList(dto));
     }
 }

+ 8 - 0
src/main/java/com/poteviohealth/ym/ipos/mapper/SplitWithdrawMapper.java

@@ -1,7 +1,9 @@
 package com.poteviohealth.ym.ipos.mapper;
 
+import com.baomidou.mybatisplus.annotation.SqlParser;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.poteviohealth.ym.ipos.model.split.SplitWithdraw;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * 分账提现记录
@@ -9,4 +11,10 @@ import com.poteviohealth.ym.ipos.model.split.SplitWithdraw;
  */
 public interface SplitWithdrawMapper extends BaseMapper<SplitWithdraw> {
 
+
+    @SqlParser(filter = true)
+    Long getGroupLeaderWithdrawPrice(@Param("operatorId")Integer operatorId,@Param("dbName")String dbName,@Param("groupLeaderId")Long groupLeaderId);
+
+    @SqlParser(filter = true)
+    Integer getGroupLeaderWithdrawSumPrice(@Param("operatorId")Integer operatorId,@Param("dbName")String dbName,@Param("groupLeaderId")Long groupLeaderId);
 }

+ 4 - 0
src/main/java/com/poteviohealth/ym/ipos/service/ISplitWithdrawService.java

@@ -19,4 +19,8 @@ public interface ISplitWithdrawService extends IService<SplitWithdraw>{
      */
     CommonPage<SplitWithdraw> pageList(SplitWithdrawDto dto);
 
+    Long getGroupLeaderWithdrawPrice(Integer operatorId,String dbName,Long groupLeaderId);
+
+    Integer getGroupLeaderWithdrawSumPrice(Integer operatorId,String dbName,Long groupLeaderId);
+
 }

+ 11 - 0
src/main/java/com/poteviohealth/ym/ipos/service/impl/SplitWithdrawServiceImpl.java

@@ -34,4 +34,15 @@ public class SplitWithdrawServiceImpl extends ServiceImpl<SplitWithdrawMapper, S
         ret.setRecords(result.getRecords());
         return ret;
     }
+
+    @Override
+    public Long getGroupLeaderWithdrawPrice(Integer operatorId, String dbName, Long groupLeaderId) {
+
+        return baseMapper.getGroupLeaderWithdrawPrice(operatorId,dbName,groupLeaderId);
+    }
+
+    @Override
+    public Integer getGroupLeaderWithdrawSumPrice(Integer operatorId, String dbName, Long groupLeaderId) {
+        return baseMapper.getGroupLeaderWithdrawSumPrice(operatorId,dbName,groupLeaderId);
+    }
 }

+ 4 - 1
src/main/resources/develop/application.yml

@@ -45,4 +45,7 @@ logging:
 
 ribbon:
  ReadTimeout: 5000
- ConnectTimeout: 5000
+ ConnectTimeout: 5000
+
+sync:
+  dbName: rz

+ 28 - 0
src/main/resources/mapper/ipos/SplitWithdrawMapper.xml

@@ -1,4 +1,32 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.poteviohealth.ym.ipos.mapper.SplitWithdrawMapper">
+
+    <select id="getGroupLeaderWithdrawPrice" resultType="java.lang.Long">
+        SELECT
+            IFNULL(sum(od.group_commission_money),0) - 10000
+        FROM
+            ${dbName}_order.o_order_detail_${operatorId} od,
+            ${dbName}_order.o_order_${operatorId} o
+        WHERE
+            o.order_id = od.order_id
+          AND od.split_status = 2
+          AND od.pay_status = 3
+          AND o.order_status = 6
+          AND o.group_leader_id =#{groupLeaderId}
+    </select>
+
+    <select id="getGroupLeaderWithdrawSumPrice" resultType="java.lang.Integer">
+        SELECT
+            IFNULL(sum(od.group_commission_money),0)
+        FROM
+            ${dbName}_order.o_order_detail_${operatorId} od,
+            ${dbName}_order.o_order_${operatorId} o
+        WHERE
+            o.order_id = od.order_id
+          AND od.split_status >0
+          AND od.pay_status = 3
+          AND o.order_status = 6
+          AND o.group_leader_id =#{groupLeaderId}
+    </select>
 </mapper>

+ 4 - 1
src/main/resources/production/application.yml

@@ -45,4 +45,7 @@ logging:
 
 ribbon:
   ReadTimeout: 5000
-  ConnectTimeout: 5000
+  ConnectTimeout: 5000
+
+sync:
+  dbName: rz

+ 4 - 1
src/main/resources/uat/application.yml

@@ -75,4 +75,7 @@ pay:
 
 ribbon:
   ReadTimeout: 50000
-  ConnectTimeout: 50000
+  ConnectTimeout: 50000
+
+sync:
+  dbName: rz

+ 4 - 1
src/main/resources/zky/application.yml

@@ -75,4 +75,7 @@ pay:
 
 ribbon:
   ReadTimeout: 50000
-  ConnectTimeout: 50000
+  ConnectTimeout: 50000
+
+sync:
+  dbName: rz