Просмотр исходного кода

[收银台][修改]:收银台未分账修补

release_toaliyun_real
Stormeye Wu 6 лет назад
Родитель
Сommit
e54e426aea
3 измененных файлов: 79 добавлений и 4 удалений
  1. +2
    -0
      mallinkService/src/main/java/com/iformall/mapper/WxPayOrderMapper.java
  2. +15
    -0
      mallinkService/src/main/resources/mapper/WxPayOrderMapper.xml
  3. +62
    -4
      mallinkSysAdmin/src/main/java/com/iformall/controller/datafix/DataInitController.java

+ 2
- 0
mallinkService/src/main/java/com/iformall/mapper/WxPayOrderMapper.java Просмотреть файл

@@ -10,4 +10,6 @@ public interface WxPayOrderMapper extends CommonMapper<WxPayOrder, Long> {
List<WxPayOrder> findList(WxPayOrder wxPayOrder);

List<WxPayOrderVo> findListOfPaidOrderByDate(Map dateMap);

List<WxPayOrder> findListForUnPs(WxPayOrder wxPayOrder);
}

+ 15
- 0
mallinkService/src/main/resources/mapper/WxPayOrderMapper.xml Просмотреть файл

@@ -149,6 +149,21 @@
<include refid="dynamicWhereConditions"/>
</select>

<select id="findListForUnPs" parameterType="com.iformall.domain.po.WxPayOrder" resultMap="BaseResultMap">
select
<include refid="allColumns"/>
from wx_pay_order
where 1=1
<if test=" null != tenantId "> and `tenant_id` = #{tenantId} </if>
<if test=" null != subTenantId "> and `sub_tenant_id` = #{subTenantId} </if>
and id not in (
select order_id from wx_profit_sharing_order where create_time>'2019-10-15'
)
and `create_time` > '2019-10-15'
and share = 1 and pay_order_status = 1 and `prepay_id` is null
and tenant_id in (select tenant_id from wx_pay_account where share =1) and tenant_id != '789' and tenant_id != '1000' ;
</select>

<resultMap id="VBaseResultMap" type="com.iformall.domain.vo.WxPayOrderVo">
<id column="id" jdbcType="BIGINT" property="id"/>
<result column="tenant_id" jdbcType="VARCHAR" property="tenantId"/>


mallinkSysAdmin/src/main/java/com/iformall/controller/sys/DataInitController.java → mallinkSysAdmin/src/main/java/com/iformall/controller/datafix/DataInitController.java Просмотреть файл

@@ -1,4 +1,4 @@
package com.iformall.controller.sys;
package com.iformall.controller.datafix;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.iformall.common.ErrorCode;
@@ -6,12 +6,17 @@ import com.iformall.common.IdWorker;
import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.po.*;
import com.iformall.domain.po.base.TenantEntity;
import com.iformall.enums.EnumMsgModel;
import com.iformall.enums.EnumScoreType;
import com.iformall.enums.EnumUserType;
import com.iformall.exception.MallinkException;
import com.iformall.mapper.*;
import com.iformall.service.*;
import lombok.extern.slf4j.Slf4j;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;

@@ -24,9 +29,9 @@ import java.util.stream.Collectors;
*/
@Slf4j
@RestController
@RequestMapping("sys")
@RequestMapping("data")
public class DataInitController extends BaseController {
private final Logger logger = LoggerFactory.getLogger(this.getClass());

@Resource
private WxMallMapper mallMapper;
@@ -53,6 +58,12 @@ public class DataInitController extends BaseController {
@Resource
private WxMerchantBUserMapper merchantBUserMapper;

@Autowired
private WxOrderService wxOrderService;

@Resource
private WxPayOrderMapper wxPayOrderMapper;


@PostMapping("/createMsgModel")
public ResultData createMsgModel(@RequestParam String content, @RequestParam Integer code) {
@@ -109,7 +120,7 @@ public class DataInitController extends BaseController {
}

/**
* 核销积分数据修复
* 招商数据修复
*
* @return
*/
@@ -121,6 +132,27 @@ public class DataInitController extends BaseController {
addInvestRemind();
return new ResultData();
}
} catch (Exception e) {
log.error("DataInitController::addInvestMsgModel error ", e);
return new ResultData(ErrorCode.MSG_METHOD_REQUEST_ERROR, e.getMessage());
}

return new ResultData();
}

/**
* 收银台分账再发送
*
* @return
*/
@GetMapping("/microPayPs")
public ResultData microPayPs() {
try {
MallUserInfo userInfo = getUser();
if(userInfo.isFmSuperAdmin()) {
microPayFenzhang();
return new ResultData();
}
} catch (Exception e) {
log.error("DataInitController::fixCredit error ", e);
return new ResultData(ErrorCode.MSG_METHOD_REQUEST_ERROR, e.getMessage());
@@ -129,6 +161,8 @@ public class DataInitController extends BaseController {
return new ResultData();
}



@Transactional(rollbackFor = Exception.class)
public void doFixVerifyCredit() {
// 1 获取券码
@@ -207,6 +241,30 @@ public class DataInitController extends BaseController {
addBirthDayMsgModelToMall(EnumMsgModel.INVEST_REMIND, idWorker, "{mallName}您于{beginDate}{negotiationType}{customerName},请知悉!");
}

@Transactional(rollbackFor = Exception.class)
public void microPayFenzhang() {
// 1. 获取收银台未分账支付订单
WxPayOrder payOrderQ = new WxPayOrder();
payOrderQ.updateTenantInfo(new TenantEntity(){{
setTenantId("1008");
}});
List<WxPayOrder> payOrders = wxPayOrderMapper.findListForUnPs(payOrderQ);
for(WxPayOrder payOrder: payOrders) {
TenantEntity tenantEntity = payOrder;
Long orderId = payOrder.getOrderId();
Long payOrderId = payOrder.getId();
// 2. 分账
logger.info("收银台订单分账开始: orderId: {}, payOrderId: {}", orderId, payOrderId);
try {
wxOrderService.shareForMicroPay(tenantEntity, orderId, payOrderId);
} catch (MallinkException e) {
logger.error("收银台订单分账失败: orderId: {}, payOrderId: {}", orderId, payOrderId);
logger.error("收银台订单分账失败: " + e.getMessage());
}
logger.info("收银台订单分账结束: orderId: {}, payOrderId: {}", orderId, payOrderId);
}
}

private void addBirthDayMsgModelToMall(EnumMsgModel type, IdWorker idWorker, String content) {
//查找已经添加过的接口列表
WxMsgValidationcodeModel query = new WxMsgValidationcodeModel();

Загрузка…
Отмена
Сохранить