diff --git a/mallinkAdmin/src/main/java/com/iformall/config/MyExecutorConfig.java b/mallinkAdmin/src/main/java/com/iformall/config/MyExecutorConfig.java new file mode 100644 index 000000000..c60425e84 --- /dev/null +++ b/mallinkAdmin/src/main/java/com/iformall/config/MyExecutorConfig.java @@ -0,0 +1,26 @@ +package com.iformall.config; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.core.task.AsyncTaskExecutor; +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; + +import java.util.concurrent.ThreadPoolExecutor; + +@Configuration +public class MyExecutorConfig { + /** + * 自定义异步线程池 + * + * @return + */ + @Bean + public AsyncTaskExecutor taskExecutor() { + ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); + executor.setThreadNamePrefix("Anno-Executor"); + executor.setMaxPoolSize(100); + executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy()); + return executor; + } +} + diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/WxCUserBasicInfoController.java b/mallinkAdmin/src/main/java/com/iformall/controller/WxCUserBasicInfoController.java index 3a655f131..661487e78 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/WxCUserBasicInfoController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/WxCUserBasicInfoController.java @@ -1,6 +1,7 @@ package com.iformall.controller; import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.github.pagehelper.PageInfo; import com.iformall.common.ErrorCode; @@ -263,6 +264,7 @@ public class WxCUserBasicInfoController extends BaseController { public ResultData queryTemplateCount() { String userId = getUser().getId().toString(); Map entries = stringRedisTemplate.opsForHash().entries(userId); + logger.info(JSONArray.toJSONString(entries) + ">>>>>>>>>>>>>>>>>>>>>1"); if (entries.size() < 4) { entries.clear(); return new ResultData(Result.SUCCESS, "ok", entries); @@ -273,6 +275,7 @@ public class WxCUserBasicInfoController extends BaseController { String failCount = entries.get("failCount").toString(); if (allCount.equals(failCount)) {//stringRedisTemplate.expire(userId,1,TimeUnit.SECONDS); + logger.info(JSONArray.toJSONString(entries) + ">>>>>>>>>>>>>>>>>>>>>2"); //完全失败 stringRedisTemplate.opsForHash().delete(userId, "allCount"); stringRedisTemplate.opsForHash().delete(userId, "allSuccessCount"); diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/WxCardPayController.java b/mallinkAdmin/src/main/java/com/iformall/controller/WxCardPayController.java index 582e236ce..6b043e982 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/WxCardPayController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/WxCardPayController.java @@ -58,7 +58,7 @@ public class WxCardPayController extends BaseController { @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) public ResultData cardOrderList(@ModelAttribute WxCardVo wxCardVo, Integer pageNum, Integer pageSize) { String ipStr = getIpAddr(); - logger.info("cardOrderList: " + ipStr); + logger.info("cardPay/cardOrderList: " + ipStr); if (wxCardVo == null) wxCardVo = new WxCardVo(); MallUserInfo user = getUser(); wxCardVo.setTenantId(user.getTenantId()); @@ -83,7 +83,7 @@ public class WxCardPayController extends BaseController { @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) public ResultData cardSpendlist(@ModelAttribute WxCardSpendVo wxCardSpendVo, Integer pageNum, Integer pageSize) { String ipStr = getIpAddr(); - logger.info("cardSpendlist: " + ipStr); + logger.info("cardPay/cardSpendlist: " + ipStr); if (wxCardSpendVo == null) { return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "过滤条件为空"); } @@ -107,7 +107,7 @@ public class WxCardPayController extends BaseController { @GetMapping("sum") public ResultData sumCardSpendList(@ModelAttribute WxCardSpendVo wxCardSpend) { String ipStr = getIpAddr(); - logger.info("sumCardSpendList: " + ipStr + " :" + wxCardSpend.toString()); + logger.info("cardPay/sumCardSpendList: " + ipStr + " :" + wxCardSpend.toString()); if (wxCardSpend == null) { return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "过滤条件为空"); } @@ -120,7 +120,7 @@ public class WxCardPayController extends BaseController { @ApiOperation("交易流水导出") @GetMapping("/exportData") public void exportData(@ModelAttribute WxCardSpendVo wxCardSpendVo, HttpServletRequest request, HttpServletResponse response) { - logger.info("[" + getIpAddr() + "] WxCardPayController::exportData"); + logger.info("[" + getIpAddr() + "] cardPay/exportData"); if (wxCardSpendVo == null) { throw new MallinkException(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "过滤条件为空"); } @@ -138,19 +138,31 @@ public class WxCardPayController extends BaseController { wxCardSpendService.exportData(wxCardSpendVo, request, response); } - @ApiOperation("更新补贴记录") - @PostMapping("update") - public ResultData update(@RequestBody WxCardSpendVo wxCardSpendVo) { + @ApiOperation("更新卡消费支付状态") + @PostMapping("/updatePayStatus") + public ResultData update(@RequestBody WxCardSpend wxCardSpend) { String ipStr = getIpAddr(); - logger.info("subsidy/update: " + ipStr + " :" + wxCardSpendVo.toString()); - if (wxCardSpendVo == null) { + logger.info("cardPay/updatePayStatus: " + ipStr + " :" + wxCardSpend.toString()); + if (wxCardSpend == null) { return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "过滤条件为空"); } MallUserInfo user = getUser(); - wxCardSpendVo.setTenantId(user.getTenantId()); - wxCardSpendVo.setStatus(EnumCardSpendStatus.MANUAL_PAY.getCode()); - wxCardSpendVo.setUpdateDate(new Date()); - int num = wxCardSpendService.update(wxCardSpendVo); - return new ResultData(num); + wxCardSpend.setTenantId(user.getTenantId()); + wxCardSpendService.update(wxCardSpend); + return new ResultData(); + } + + @ApiOperation("卡完结") + @PostMapping("/finishCard") + public ResultData finishCard(@RequestBody WxCardInfo wxCardInfo) { + String ipStr = getIpAddr(); + logger.info("cardPay/finishCard: " + ipStr + " :" + wxCardInfo.toString()); + if (wxCardInfo == null) { + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "过滤条件为空"); + } + MallUserInfo user = getUser(); + wxCardInfo.setTenantId(user.getTenantId()); + int remainShareAmount = wxCardSpendService.finishCard(user.getTenantId(), wxCardInfo.getId()); + return new ResultData(remainShareAmount); } } diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/WxMerchantMicroPayController.java b/mallinkAdmin/src/main/java/com/iformall/controller/WxMerchantMicroPayController.java index 5bd35d38e..6558df02b 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/WxMerchantMicroPayController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/WxMerchantMicroPayController.java @@ -4,22 +4,15 @@ import com.github.pagehelper.PageInfo; import com.iformall.common.ResultData; import com.iformall.domain.dto.WxOrderReportDto; import com.iformall.domain.vo.WxMerchantMicroPayVo; -import com.iformall.domain.vo.WxMerchantTradeDailyVo; +import com.iformall.enums.EnumOrderStatus; import com.iformall.enums.EnumOrderType; import com.iformall.service.MarkingDataReportService; -import com.iformall.service.WxMerchantTradeDailyService; -import com.iformall.service.WxOrderService; -import io.swagger.annotations.ApiImplicitParam; -import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; -import java.text.SimpleDateFormat; -import java.util.Calendar; -import java.util.Date; @RestController @RequestMapping("wxMerchantMicroPay") @@ -36,6 +29,7 @@ public class WxMerchantMicroPayController extends BaseController { WxOrderReportDto wxOrderReportDto = new WxOrderReportDto(); wxOrderReportDto.setTenantId(getTenantId()); wxOrderReportDto.setType(EnumOrderType.MICROPAY.getCode()); + wxOrderReportDto.setOrderStatus(EnumOrderStatus.ORDER_STATUS_PAYMENT_SUCCESS.getCode()); return new ResultData(markingDataReportService.listOrderReportByDate(wxOrderReportDto)); } diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/WxUserStructureController.java b/mallinkAdmin/src/main/java/com/iformall/controller/WxUserStructureController.java index 0d1e3771c..f1da51168 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/WxUserStructureController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/WxUserStructureController.java @@ -590,6 +590,7 @@ public class WxUserStructureController extends BaseController { logger.error(ErrorCode.USER_IS_EMPTY.getMessage()); return new ResultData(ErrorCode.USER_IS_EMPTY); } + info.setPoins(info.getPoins() == null ? 0 : info.getPoins()); if(info.getPoins() < score) { logger.error(ErrorCode.MEM_SCORE_NOT_ENOUGH.getMessage()); return new ResultData(ErrorCode.MEM_SCORE_NOT_ENOUGH); diff --git a/mallinkService/src/main/java/com/iformall/common/ErrorCode.java b/mallinkService/src/main/java/com/iformall/common/ErrorCode.java index 648d274de..aeca60fa5 100644 --- a/mallinkService/src/main/java/com/iformall/common/ErrorCode.java +++ b/mallinkService/src/main/java/com/iformall/common/ErrorCode.java @@ -150,6 +150,12 @@ public enum ErrorCode{ */ CARD_IS_NOT_FOUND(9001, "优惠卡不存在"), CARD_REMAIN_AMOUNT_IS_NOT_ENOUGH(9002, "优惠卡余额不足"), + CARD_IS_NOT_COST(9003, "优惠卡未消费,退款请用卡券退款,钱直接退回购买人手里"), + + /** + * 卡消费 + */ + CARD_SPEND_IS_PAID(9050, "卡消费已支付"), diff --git a/mallinkService/src/main/java/com/iformall/domain/dto/WxOrderReportDto.java b/mallinkService/src/main/java/com/iformall/domain/dto/WxOrderReportDto.java index 72384278f..8b98d5f15 100644 --- a/mallinkService/src/main/java/com/iformall/domain/dto/WxOrderReportDto.java +++ b/mallinkService/src/main/java/com/iformall/domain/dto/WxOrderReportDto.java @@ -1,10 +1,13 @@ package com.iformall.domain.dto; +import lombok.Data; + import java.util.Date; /** * Created by syf on 2018/8/30. */ +@Data public class WxOrderReportDto { private String tenantId; private Long merchantId; @@ -12,52 +15,5 @@ public class WxOrderReportDto { private Date startTime; private Date endTime; private Integer type; - - public String getTenantId() { - return tenantId; - } - - public void setTenantId(String tenantId) { - this.tenantId = tenantId; - } - - public Long getMerchantId() { - return merchantId; - } - - public void setMerchantId(Long merchantId) { - this.merchantId = merchantId; - } - - public String getMerchantName() { - return merchantName; - } - - public void setMerchantName(String merchantName) { - this.merchantName = merchantName; - } - - public Integer getType() { - return type; - } - - public void setType(Integer type) { - this.type = type; - } - - public Date getStartTime() { - return startTime; - } - - public void setStartTime(Date startTime) { - this.startTime = startTime; - } - - public Date getEndTime() { - return endTime; - } - - public void setEndTime(Date endTime) { - this.endTime = endTime; - } + private Integer orderStatus; } diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxCardSpend.java b/mallinkService/src/main/java/com/iformall/domain/po/WxCardSpend.java index 3df6bc13e..18d912c9b 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxCardSpend.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxCardSpend.java @@ -77,6 +77,14 @@ public class WxCardSpend implements Serializable { @Transient protected String payStatusStr; + @Transient + @io.swagger.annotations.ApiModelProperty(value="开始时间",name="startdate") + private Date startdate; + + @Transient + @io.swagger.annotations.ApiModelProperty(value="结束时间",name="enddate") + private Date enddate; + public static enum Field { Id_ASC("`id` ASC"),Id_DESC("`id` DESC") diff --git a/mallinkService/src/main/java/com/iformall/domain/vo/WxCardSpendVo.java b/mallinkService/src/main/java/com/iformall/domain/vo/WxCardSpendVo.java index ecdc7681f..d067ad62c 100644 --- a/mallinkService/src/main/java/com/iformall/domain/vo/WxCardSpendVo.java +++ b/mallinkService/src/main/java/com/iformall/domain/vo/WxCardSpendVo.java @@ -40,11 +40,4 @@ public class WxCardSpendVo extends WxCardSpend { @io.swagger.annotations.ApiModelProperty(value="持有人绑定的手机号",name="ouPhone") private String ouPhone; - @Transient - @io.swagger.annotations.ApiModelProperty(value="开始时间",name="startdate") - private Date startdate; - - @Transient - @io.swagger.annotations.ApiModelProperty(value="结束时间",name="enddate") - private Date enddate; } diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxCardSpendMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxCardSpendMapper.java index 8d8e92759..6a0bfa2aa 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxCardSpendMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxCardSpendMapper.java @@ -9,7 +9,7 @@ public interface WxCardSpendMapper extends CommonMapper { List findList(WxCardSpend wxCardSpend); - int updateByCond(WxCardSpend wxCardSpend); + void updateByCond(WxCardSpend wxCardSpend); List findCardSpendVoList(WxCardSpend wxCardSpend); diff --git a/mallinkService/src/main/java/com/iformall/service/WxCardSpendService.java b/mallinkService/src/main/java/com/iformall/service/WxCardSpendService.java index 4d259b410..f568cbcc1 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxCardSpendService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxCardSpendService.java @@ -73,7 +73,15 @@ public interface WxCardSpendService { * * @param record */ - int update(WxCardSpendVo record); + void update(WxCardSpend record); + + /** + * 卡完结 + * + * @param tenantId + * @param cardId + */ + int finishCard(String tenantId, Long cardId); /** * 根据Id删除实体 @@ -84,7 +92,7 @@ public interface WxCardSpendService { /** * cardPay分账 - * + * @param tenantId * @param orderId * @param cardSpendId */ diff --git a/mallinkService/src/main/java/com/iformall/service/impl/DataTowerServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/DataTowerServiceImpl.java index 6ffd2aabe..a88051ba2 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/DataTowerServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/DataTowerServiceImpl.java @@ -494,7 +494,7 @@ public class DataTowerServiceImpl implements DataTowerService { return m.get("carcount"); })); - TreeMap historymap = new TreeMap<>(); + Map historymap = new LinkedHashMap<>(); for (String date : tjTimeList) { Object o = collect.get(date); if (o == null) { diff --git a/mallinkService/src/main/java/com/iformall/service/impl/MarkingDataReportServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/MarkingDataReportServiceImpl.java index d4db682d5..9ac9bb905 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/MarkingDataReportServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/MarkingDataReportServiceImpl.java @@ -6,10 +6,7 @@ import com.iformall.domain.dto.MarkingCouponDataReportDto; import com.iformall.domain.dto.WxOrderReportDto; import com.iformall.domain.po.WxCoupon; import com.iformall.domain.vo.*; -import com.iformall.enums.EnumCarCmd; -import com.iformall.enums.EnumCouponSendSendType; -import com.iformall.enums.EnumCouponType; -import com.iformall.enums.EnumOrderType; +import com.iformall.enums.*; import com.iformall.mapper.*; import com.iformall.service.MarkingDataReportService; import com.iformall.utils.DateUtils; @@ -430,6 +427,7 @@ public class MarkingDataReportServiceImpl implements MarkingDataReportService { params.put("endTime", addDay(1)); } params.put("type", wxOrderReportDto.getType()); + params.put("orderStatus", wxOrderReportDto.getOrderStatus()); List list = wxOrderMapper.listOrderReportByDate(params); String startdate = DateUtils.getTimeBefore(30, new Date()); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxBrandServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxBrandServiceImpl.java index fe457ad52..657c92551 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxBrandServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxBrandServiceImpl.java @@ -74,7 +74,7 @@ public class WxBrandServiceImpl implements WxBrandService { } try { wxBrand.setUpdatetime(new Date()); - wxBrandMapper.updateByPrimaryKeySelective(wxBrand); + wxBrandMapper.updateByPrimaryKey(wxBrand); return new ResultData(Result.SUCCESS, "操作成功"); } catch (Exception e) { logger.error("更新租赁合同信息失败,e:" + e.getMessage()); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCardSpendServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCardSpendServiceImpl.java index 167edc19a..ffd358f0b 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCardSpendServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCardSpendServiceImpl.java @@ -275,8 +275,62 @@ public class WxCardSpendServiceImpl implements WxCardSpendService { } @Override - public int update(WxCardSpendVo record) { - return wxCardSpendMapper.updateByCond(record); + public void update(WxCardSpend record) { + // 1. 检查符合条件的卡消费记录是否已支付 + List cardSpends = wxCardSpendMapper.findList(record); + if (cardSpends.stream().anyMatch((cs->(!cs.getPayStatus().equals(EnumCardSpendStatus.NOT_PAY.getCode()))))){ + throw new MallinkException(ErrorCode.CARD_SPEND_IS_PAID); + } + // 2. 更新支付状态 + record.setPayStatus(EnumCardSpendStatus.MANUAL_PAY.getCode()); + record.setUpdateDate(new Date()); + wxCardSpendMapper.updateByCond(record); + } + + @Override + public int finishCard(String tenantId, Long cardId) { + // admin用户手动帮已用卡消费用户退卡, 此卡需要分账完结, 买卡的钱进商场账户 + WxCardInfo cardInfo = null; + try { + cardInfo = wxCardInfoMapper.selectByPrimaryKey(cardId); + } catch (Exception e) { + logger.error("微信分账: " + e.getMessage()); + throw new MallinkException(ErrorCode.DB_FAIL.getCode(), e.getMessage()); + } + if(cardInfo != null) { + if (cardInfo.getRemainingAmount().equals(cardInfo.getAmount())){ + logger.error("请用订单退款接口: "); + throw new MallinkException(ErrorCode.CARD_IS_NOT_COST); + } else if(cardInfo.getRemainingAmount() > 0){ + // 卡已消费, 余额不为0 + int remainShareFeeAmount = cardInfo.getRemainingShareFeeAmount(); + try { + WxCouponOrder couponOrder = wxCouponOrderMapper.selectByPrimaryKey(cardInfo.getId()); + // 更新 coupon order状态 + couponOrder.setCouponOrderStatus(EnumCouponOrderStatus.CARD_RETURNED.getCode()); + couponOrder.setUpdateDate(new Date()); + wxCouponOrderMapper.updateByPrimaryKeySelective(couponOrder); + // 卡余额 + WxCardInfo cardInfo1 = new WxCardInfo(); + cardInfo1.setId(cardInfo.getId()); + cardInfo1.setRemainingAmount(0); + cardInfo1.setUpdateDate(new Date()); + wxCardInfoMapper.updateByPrimaryKeySelective(cardInfo1); + + // 分账完结 + WxSharingOrderDto shareOrder = new WxSharingOrderDto(); + shareOrder.setcUserId(couponOrder.getOwnerId()); + shareOrder.setTenantId(tenantId); + shareOrder.setTransactionId(cardInfo.getTransactionId()); + cardShareFinished(cardInfo, shareOrder); + } catch (MallinkException e) { + logger.error("微信分账: " + e.getMessage()); + throw new MallinkException(e.getErrorCode(), e.getMessage()); + } + return remainShareFeeAmount; + } + } + return 0; } @Override @@ -364,6 +418,8 @@ public class WxCardSpendServiceImpl implements WxCardSpendService { } } + + /** * 卡分账完结 * @param cardInfo @@ -393,7 +449,7 @@ public class WxCardSpendServiceImpl implements WxCardSpendService { logger.error("card spend insert error"); return; } - // card info 更新 余额 + // card info 更新 分账 余额 WxCardInfo cardInfo1 = new WxCardInfo(); cardInfo1.setId(cardInfo.getId()); cardInfo1.setRemainingShareFeeAmount(0); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxRefundOrderServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxRefundOrderServiceImpl.java index 471f45251..f7f205af2 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxRefundOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxRefundOrderServiceImpl.java @@ -341,7 +341,11 @@ public class WxRefundOrderServiceImpl implements WxRefundOrderService { } // 更改 couponOrder 状态 - wxCouponOrder.setCouponOrderStatus(EnumCouponOrderStatus.COUPON_ORDER_INVALID.getCode()); //3退款,券作废 + if(wxCouponOrder.getCouponType().equals(EnumCouponType.CARD_MULTIMCH.getCode())) { + wxCouponOrder.setCouponOrderStatus(EnumCouponOrderStatus.CARD_RETURNED.getCode()); // 卡线下退款 + } else { + wxCouponOrder.setCouponOrderStatus(EnumCouponOrderStatus.COUPON_ORDER_INVALID.getCode()); //3退款,券作废 + } if (payType == EnumPayType.PAY_B_REFUND) { wxCouponOrder.setBUserId(bUserId); } else{ diff --git a/mallinkService/src/main/resources/mapper/WxBrandMapper.xml b/mallinkService/src/main/resources/mapper/WxBrandMapper.xml index 10ba41804..82a6971d9 100644 --- a/mallinkService/src/main/resources/mapper/WxBrandMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxBrandMapper.xml @@ -9,7 +9,7 @@ - + diff --git a/mallinkService/src/main/resources/mapper/WxCardSpendMapper.xml b/mallinkService/src/main/resources/mapper/WxCardSpendMapper.xml index 5dfc7007f..ec0d54f8e 100644 --- a/mallinkService/src/main/resources/mapper/WxCardSpendMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCardSpendMapper.xml @@ -1,136 +1,151 @@ - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + `id`,`tenant_id`,`card_id`,`owner_id`,`merchant_id`,`order_id`,`deduction_amount`,`payment`,`real_payment`, `card_remain_amount`,`card_before_amount`,`card_remain_real_amount`,`card_before_real_amount`, `create_date`,`update_date`, `pay_status` - - where 1 = 1 - - and `id` = #{id} - - - and `tenant_id` = #{tenantId} - - - and `card_id` = #{cardId} - - - and `owner_id` = #{ownerId} - - - and `merchant_id` = #{merchantId} - - - and `order_id` = #{orderId} - + + where 1 = 1 + + and `id` = #{id} + + + and `tenant_id` = #{tenantId} + + + and `card_id` = #{cardId} + + + and `owner_id` = #{ownerId} + + + and `merchant_id` = #{merchantId} + + + and `order_id` = #{orderId} + and `deduction_amount` = #{deductionAmount} and `payment` = #{payment} - - and `real_payment` = #{realPayment} - - - and `card_remain_amount` = #{cardRemainAmount} - - - and `card_before_amount` = #{cardBeforeAmount} - + + and `real_payment` = #{realPayment} + + + and `card_remain_amount` = #{cardRemainAmount} + + + and `card_before_amount` = #{cardBeforeAmount} + and `card_remain_real_amount` = #{cardRemainRealAmount} and `card_before_real_amount` = #{cardBeforeRealAmount} - - and `create_date` = #{createDate} - - - and `update_date` = #{updateDate} - - - and `pay_status` = #{payStatus} - - - and `create_date` between #{startdate} and #{enddate} - - - and id in - - #{idItem} - - - order by ${sortColumns} - - - + + and `create_date` = #{createDate} + + + and `update_date` = #{updateDate} + + + and `pay_status` = #{payStatus} + + + and `create_date` between #{startdate} and #{enddate} + + + and id in + + #{idItem} + + + order by ${sortColumns} + + + - + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - + - - - + + + - - - + + + - + cs.`id`,cs.`tenant_id`,cs.`card_id`,cs.`owner_id`,cs.`merchant_id`,cs.`order_id`,cs.`deduction_amount`,cs.`payment`,cs.`real_payment`, cs.`card_remain_amount`,cs.`card_before_amount`,cs.`card_remain_real_amount`,cs.`card_before_real_amount`, cs.`create_date`,cs.`update_date`, cs.`pay_status`, @@ -139,125 +154,125 @@ ou.`nick_name` as onick_name, ou.`phone` as ou_phone - - where 1 = 1 - - and cs.`id` = #{id} - - - and cs.`tenant_id` = #{tenantId} - - - and cs.`card_id` = #{cardId} - - - and cs.`owner_id` = #{ownerId} - - - and cs.`merchant_id` = #{merchantId} - - - and cs.`order_id` = #{orderId} - - - and cs.`deduction_amount` = #{deductionAmount} - - - and cs.`payment` = #{payment} - - - and cs.`real_payment` = #{realPayment} - - - and cs.`card_remain_amount` = #{cardRemainAmount} - - - and cs.`card_before_amount` = #{cardBeforeAmount} - - - and cs.`card_remain_real_amount` = #{cardRemainRealAmount} - - - and cs.`card_before_real_amount` = #{cardBeforeRealAmount} - - - and cs.`create_date` = #{createDate} - - - and cs.`update_date` = #{updateDate} - - - and cs.`pay_status` = #{payStatus} - - - and ms.`status` = #{status} - - - and ou.`phone` = #{ouPhone} - - - and cs.`create_date` between #{startdate} and #{enddate} - - - and cs.`pay_status` in - - #{sItem} - - - - and cs.id in - - #{idItem} - - - + + where 1 = 1 + + and cs.`id` = #{id} + + + and cs.`tenant_id` = #{tenantId} + + + and cs.`card_id` = #{cardId} + + + and cs.`owner_id` = #{ownerId} + + + and cs.`merchant_id` = #{merchantId} + + + and cs.`order_id` = #{orderId} + + + and cs.`deduction_amount` = #{deductionAmount} + + + and cs.`payment` = #{payment} + + + and cs.`real_payment` = #{realPayment} + + + and cs.`card_remain_amount` = #{cardRemainAmount} + + + and cs.`card_before_amount` = #{cardBeforeAmount} + + + and cs.`card_remain_real_amount` = #{cardRemainRealAmount} + + + and cs.`card_before_real_amount` = #{cardBeforeRealAmount} + + + and cs.`create_date` = #{createDate} + + + and cs.`update_date` = #{updateDate} + + + and cs.`pay_status` = #{payStatus} + + + and ms.`status` = #{status} + + + and ou.`phone` = #{ouPhone} + + + and cs.`create_date` between #{startdate} and #{enddate} + + + and cs.`pay_status` in + + #{sItem} + + + + and cs.id in + + #{idItem} + + + - + select + + from wx_card_spend cs left join wx_coupon_order co on co.id = cs.card_id left join wx_coupon c on c.id = co.coupon_id - left join wx_merchant m on m.id = cs.merchant_id + left join wx_merchant m on m.id = cs.merchant_id left join wx_merchant_subsidy ms on ms.order_id = cs.order_id - left join wx_c_user ou on ou.id = co.owner_id - + left join wx_c_user ou on ou.id = co.owner_id + order by cs.create_date DESC - + + + + + - - - - diff --git a/mallinkService/src/main/resources/mapper/WxOrderMapper.xml b/mallinkService/src/main/resources/mapper/WxOrderMapper.xml index 2da3e4adb..41ca18f0e 100644 --- a/mallinkService/src/main/resources/mapper/WxOrderMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxOrderMapper.xml @@ -323,9 +323,20 @@