From 3fb9626167fe2daa37d0ce8a0bd33a02d4bdf36a Mon Sep 17 00:00:00 2001 From: xhxu Date: Sun, 12 Mar 2023 17:51:41 +0800 Subject: [PATCH] //card --- .../controller/WxCardInfoController.java | 46 +++++++++++++++++-- .../com/iformall/domain/vo/WxCardCVo.java | 3 ++ .../service/impl/WxCardSpendServiceImpl.java | 2 +- .../impl/WxCouponOrderServiceImpl.java | 10 ++++ .../main/resources/mapper/TtCUserMapper.xml | 6 ++- .../main/resources/mapper/WxCUserMapper.xml | 6 ++- .../resources/mapper/WxCouponOrderMapper.xml | 6 +++ 7 files changed, 73 insertions(+), 6 deletions(-) diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxCardInfoController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxCardInfoController.java index cc6a4c892..aca5205a2 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxCardInfoController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxCardInfoController.java @@ -1,12 +1,16 @@ package com.iformall.controller; import com.iformall.common.ErrorCode; +import com.iformall.common.Result; import com.iformall.common.ResultData; import com.iformall.common.SysConfigConstant; import com.iformall.domain.po.*; +import com.iformall.domain.po.base.BaseEntity; +import com.iformall.domain.vo.WxCardCVo; import com.iformall.domain.vo.WxCardSpendVo; import com.iformall.domain.vo.WxCouponOrderCVo; import com.iformall.enums.EnumCardInfoType; +import com.iformall.enums.EnumCouponOrderStatus; import com.iformall.enums.EnumYesOrNo; import com.iformall.exception.MallinkException; import com.iformall.pay.WxPayConstant; @@ -24,9 +28,7 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; -import java.util.Date; -import java.util.HashMap; -import java.util.Map; +import java.util.*; @RestController @RequestMapping("/api/cardInfo") @@ -40,11 +42,49 @@ public class WxCardInfoController extends BaseController { @Autowired private WxCouponPasswordService couponPasswordService; + @Autowired + private WxCUserBasicInfoService wxCUserBasicInfoService; + @Autowired private SysConfigService sysConfigService; @Autowired private WxCouponService wxCouponService; + + @Autowired + private WxCouponOrderService wxCouponOrderService; + + + @ApiOperation("卡包分页列表接口") + @GetMapping("list") + @ApiImplicitParams({ + @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), + @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true), + }) + public ResultData cardList(@ModelAttribute WxCardCVo cardCVo, Integer pageNum, Integer pageSize) { + if(cardCVo == null || StringUtils.isBlank(cardCVo.getUserPhone())){ + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); + } + WxCUserBasicInfo basicInfo = wxCUserBasicInfoService.findInfoByPhone(getTenantInfo(), cardCVo.getUserPhone()); + if(basicInfo == null){ + return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"该手机号未查询到用户"); + } + if(pageNum == null){ + pageNum = 1; + } + if(pageSize == null){ + pageNum = 5; + } + + cardCVo.updateTenantInfo(getTenantInfo()); + cardCVo.setOwnerId(basicInfo.getId()); + cardCVo.setMerchantId(getLoginBUser().getMerchantId()); + + cardCVo.setCouponOrderStatus(EnumCouponOrderStatus.CARD_USING.getCode()); + cardCVo.setSortColumns(BaseEntity.SortField.CreateDate_DESC); + + return wxCouponOrderService.listCardVoAsPage(cardCVo, pageNum, pageSize); + } @ApiOperation(value = "查询卡信息") @GetMapping("detail") diff --git a/mallinkService/src/main/java/com/iformall/domain/vo/WxCardCVo.java b/mallinkService/src/main/java/com/iformall/domain/vo/WxCardCVo.java index 219b2c3ce..4853a6cca 100644 --- a/mallinkService/src/main/java/com/iformall/domain/vo/WxCardCVo.java +++ b/mallinkService/src/main/java/com/iformall/domain/vo/WxCardCVo.java @@ -59,6 +59,9 @@ public class WxCardCVo extends WxCouponOrder { @TableField(exist = false) protected String statusStr; + + @TableField(exist = false) + private String userPhone; private WxCardInfo wxCardInfo; 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 76f6db630..e37a82e91 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCardSpendServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCardSpendServiceImpl.java @@ -168,7 +168,7 @@ public class WxCardSpendServiceImpl implements WxCardSpendService { // 4. 扣减计算 Double paymentD = 1.0 * cardInfo.getSaleAmount() * record.getDeductionAmount() / cardInfo.getAmount(); - Integer payment = paymentD.intValue(); + Integer payment = paymentD.intValue();//实际金额 int iChargeFee = PayUtils.getPayRate(payment, payAccount.getRealRate(), false); Integer real_payment = payment - iChargeFee; Integer remain_real_pament = cardInfo.getRemainingShareFeeAmount() - real_payment; diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java index 2f4049331..6ec2689b4 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java @@ -2313,6 +2313,16 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { @Override public ResultData listCardVoAsPage(WxCardCVo record, Integer pageIndex, Integer pageSize) { + if(record.getMerchantId() != null){ + List merchantIds = new ArrayList(); + merchantIds.add(record.getMerchantId()); + List merchantCouponIds = wxCouponMerchantMapper.findMerchantProductIds(record.getTenantId(), merchantIds, null); + if(merchantCouponIds == null || merchantCouponIds.isEmpty()){ + record.setId(-999L); + }else{ + record.setCouponIds(merchantCouponIds); + } + } //List cardTransList = wxCardTransferInfoMapper.findCardListOfCUser(record); PageInfo pageInfo = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCouponOrderMapper.findCardListOfCUser(record)); PageInfo retPageInfo = new PageInfo(); diff --git a/mallinkService/src/main/resources/mapper/TtCUserMapper.xml b/mallinkService/src/main/resources/mapper/TtCUserMapper.xml index 5b43596f7..76630969b 100644 --- a/mallinkService/src/main/resources/mapper/TtCUserMapper.xml +++ b/mallinkService/src/main/resources/mapper/TtCUserMapper.xml @@ -236,10 +236,14 @@ select open_id from wx_c_user - where `tenant_id` = #{tenantId} + where user_id is not null + and `tenant_id` = #{tenantId} and `parent_tenant_id` = #{parentTenantId} + + and DATE_SUB(CURDATE(), INTERVAL 100 DAY) <= date(active_time) + and user_id in diff --git a/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml b/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml index e6b537e2d..e823ad043 100644 --- a/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml @@ -1068,6 +1068,12 @@ #{sItem} + + and co.coupon_id in + + #{couponIdItem} + + order by ${sortColumns}