From bcd09bd9dda47c6f151f5ce57185659a0a634d7e Mon Sep 17 00:00:00 2001 From: lin <642018748@qq.com> Date: Thu, 23 Feb 2023 17:23:01 +0800 Subject: [PATCH 1/6] fix card --- .../market/WxCouponPasswordController.java | 22 +++++++++++++++++++ .../db/migration/V2023022800001__card.sql | 5 ++++- .../iformall/domain/po/WxCouponPassword.java | 8 ++++++- .../service/WxCouponPasswordService.java | 2 ++ .../impl/WxCouponPasswordServiceImpl.java | 17 ++++---------- .../mapper/WxCouponPasswordMapper.xml | 18 +++++++++++---- 6 files changed, 53 insertions(+), 19 deletions(-) diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponPasswordController.java b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponPasswordController.java index 5cd6903a6..585ac8b11 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponPasswordController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponPasswordController.java @@ -92,6 +92,28 @@ public class WxCouponPasswordController extends BaseController { final PageInfo page = wxCouponPasswordService.listVoAsPage(wxCouponPassword, pageNum, pageSize); return new ResultData(page); } + + @ApiOperation("启用/停用") + @PostMapping("/startOrStop") + @SystemControllerLog(description = "启用/停用") + public ResultData startOrStop(@RequestBody WxCouponPassword wxCouponPassword) { + // + if (wxCouponPassword.getCouponId() == null) { + logger.error("couponId不能为空: "); + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); + } + WxCouponPassword couponPassword = new WxCouponPassword(); + couponPassword.updateTenantInfo(getTenantInfo()); + couponPassword.setCouponId(wxCouponPassword.getCouponId()); + couponPassword.setExpireDate(wxCouponPassword.getExpireDate()); + try { + wxCouponPasswordService.postpone(couponPassword); + } catch (Exception e) { + logger.error(e.getMessage()); + return new ResultData(ErrorCode.COUPON_PASSWORD_POSTPONE_ERR); + } + return new ResultData(); + } } diff --git a/mallinkAdmin/src/main/resources/db/migration/V2023022800001__card.sql b/mallinkAdmin/src/main/resources/db/migration/V2023022800001__card.sql index 58100daf8..d691ad02e 100644 --- a/mallinkAdmin/src/main/resources/db/migration/V2023022800001__card.sql +++ b/mallinkAdmin/src/main/resources/db/migration/V2023022800001__card.sql @@ -3,7 +3,7 @@ alter table wx_card_info add column c_user_id bigint(20) comment '购买用户 alter table wx_card_info add column owner_user_id bigint(20) comment '持有用户编码'; alter table wx_card_info add column status int(1) not null default 0 comment '状态'; -###待做####### +###待做wx_card_info####### ##coupon_password_id,coupon_password,c_user_id,owner_user_id 刷数据,后两者不能为空 # 转赠验证wx_coupon_order的c_user_id不变 @@ -14,6 +14,9 @@ alter table wx_card_info add column status int(1) not null default 0 comment ' #set ci.c_user_id = co.c_user_id, ci.owner_user_id = co.owner_id +alter table wx_coupon_password add column is_stop int(1) not null default 0 comment '是否已停止1-是,0-否'; + + diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxCouponPassword.java b/mallinkService/src/main/java/com/iformall/domain/po/WxCouponPassword.java index 12d30c1fc..8d859a168 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxCouponPassword.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxCouponPassword.java @@ -17,7 +17,8 @@ public class WxCouponPassword extends TenantEntity { @Excel(name = "ID", width = 20, orderNum = "1") protected Long id; - + @TableField(exist = false) + private String idLike; @io.swagger.annotations.ApiModelProperty(value="卡券ID",name="couponId") private Long couponId; @io.swagger.annotations.ApiModelProperty(value="卡券短ID",name="couponShort") @@ -25,6 +26,8 @@ public class WxCouponPassword extends TenantEntity { @Excel(name = "兑换码", width = 20, orderNum = "2") @io.swagger.annotations.ApiModelProperty(value="商户名称",name="password") private String password; + @TableField(exist = false) + private String passwordLike; @Excel(name = "状态", width = 20, replace = {"初始_0", "发送中_1", "已发出_2", "已使用_3", "不可用_4"}, orderNum = "4") @io.swagger.annotations.ApiModelProperty(value="卡密状态: 0初始1信息发出中2信息已发出3已使用4已过期",name="status") private Integer status; @@ -44,6 +47,9 @@ public class WxCouponPassword extends TenantEntity { @io.swagger.annotations.ApiModelProperty(value = "发放ID", name = "presentId") private Long presentId; + + @io.swagger.annotations.ApiModelProperty(value="是否已停止EnumYesOrNo",name="isStop") + private Integer isStop; @TableField(exist = false) private String statusStr; diff --git a/mallinkService/src/main/java/com/iformall/service/WxCouponPasswordService.java b/mallinkService/src/main/java/com/iformall/service/WxCouponPasswordService.java index 1fc52b559..d851ce19d 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxCouponPasswordService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxCouponPasswordService.java @@ -75,4 +75,6 @@ public interface WxCouponPasswordService { List findList(WxCouponPassword wxCouponPassword); void postpone(WxCouponPassword wxCouponPassword); + + void startOrStop(WxCouponPassword wxCouponPassword); } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponPasswordServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponPasswordServiceImpl.java index 6a8221b39..53a851c00 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponPasswordServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponPasswordServiceImpl.java @@ -298,18 +298,9 @@ public class WxCouponPasswordServiceImpl implements WxCouponPasswordService { wxCouponPasswordMapper.updatePostpone(wxCouponPassword); } - /* - public static void main(String[] args) { - WxCouponPasswordServiceImpl ll = new WxCouponPasswordServiceImpl(); - long startTime = System.currentTimeMillis(); - System.out.println(startTime); - ll.mkPasswords("456", 12345L, 100); - long endTime = System.currentTimeMillis(); - System.out.println(endTime); - long usedTime = (endTime-startTime)/1000; - System.out.println("耗时:" + usedTime + "s"); - } - */ - + @Override + public void startOrStop(WxCouponPassword wxCouponPassword) { + //如果当前卡密是已兑换的状态,则更新对应的电子卡状态即可 + } } diff --git a/mallinkService/src/main/resources/mapper/WxCouponPasswordMapper.xml b/mallinkService/src/main/resources/mapper/WxCouponPasswordMapper.xml index 0f115e92f..794474c83 100644 --- a/mallinkService/src/main/resources/mapper/WxCouponPasswordMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCouponPasswordMapper.xml @@ -15,11 +15,11 @@ - + - `id`,`tenant_id`,`parent_tenant_id`,`coupon_id`,`coupon_short`,`password`,`status`,`sended_phone`,`card_id`,`create_date`,`update_date`,`expire_date`,`present_id` + `id`,`tenant_id`,`parent_tenant_id`,`coupon_id`,`coupon_short`,`password`,`status`,`sended_phone`,`card_id`,`create_date`,`update_date`,`expire_date`,`present_id`,`is_stop` @@ -27,6 +27,9 @@ and `id` = #{id} + + and `id` like concat('%',#{idLike},'%') + and `tenant_id` = #{tenantId} @@ -39,9 +42,12 @@ and `coupon_short` = #{couponShort} - + and `password` = #{password} - + + + and `password` like concat('%',#{passwordLike},'%') + and `status` = #{status} @@ -65,6 +71,10 @@ and `present_id` = #{presentId} + + and `is_stop` = #{isStop} + + and id in From a1e179a3287bf43550a8a2ae1afb7a5513ba0733 Mon Sep 17 00:00:00 2001 From: lin <642018748@qq.com> Date: Thu, 23 Feb 2023 17:46:12 +0800 Subject: [PATCH 2/6] fix card --- .../domain/vo/WxCouponPasswordVo.java | 21 +++++++++++-------- .../impl/WxCouponPasswordServiceImpl.java | 1 + 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/mallinkService/src/main/java/com/iformall/domain/vo/WxCouponPasswordVo.java b/mallinkService/src/main/java/com/iformall/domain/vo/WxCouponPasswordVo.java index cea226aa4..5476d4d81 100644 --- a/mallinkService/src/main/java/com/iformall/domain/vo/WxCouponPasswordVo.java +++ b/mallinkService/src/main/java/com/iformall/domain/vo/WxCouponPasswordVo.java @@ -34,29 +34,32 @@ public class WxCouponPasswordVo extends TenantEntity { @Excel(name = "卡密状态", width = 20, orderNum = "4", replace = {"初始化_0", "消息发送中_1", "消息已发送_2", "已兑换_3","已作废_4"},prefix = "`") @io.swagger.annotations.ApiModelProperty(value = "卡密状态", name = "remainPrice") private Integer status; - @Excel(name = "卡激活状态", width = 20, orderNum = "5",replace = {"未激活_0", "已激活_1"}, prefix = "`") + @Excel(name = "卡密是否停用", width = 20, orderNum = "5", replace = {"否_0", "是_1"},prefix = "`") + @io.swagger.annotations.ApiModelProperty(value = "卡密是否停用", name = "isStop") + private Integer isStop; + @Excel(name = "卡激活状态", width = 20, orderNum = "6",replace = {"未激活_0", "已激活_1"}, prefix = "`") @io.swagger.annotations.ApiModelProperty(value = "卡激活状态EnumYesOrNo", name = "used") private Integer used; - @Excel(name = "激活时间", width = 20, exportFormat = "yyyy-MM-dd HH:mm:ss", orderNum = "6") + @Excel(name = "激活时间", width = 20, exportFormat = "yyyy-MM-dd HH:mm:ss", orderNum = "7") @io.swagger.annotations.ApiModelProperty(value = "", name = "activeDate") private Date activeDate; - @Excel(name = "激活手机号", width = 20, orderNum = "7", prefix = "`") + @Excel(name = "激活手机号", width = 20, orderNum = "8", prefix = "`") @io.swagger.annotations.ApiModelProperty(value = "激活手机号", name = "phone") private String phone; - @Excel(name = "激活会员", width = 20, orderNum = "8", prefix = "`") + @Excel(name = "激活会员", width = 20, orderNum = "9", prefix = "`") @io.swagger.annotations.ApiModelProperty(value = "激活会员", name = "userName") private String userName; - @Excel(name = "电子卡卡号", width = 20, orderNum = "9", prefix = "`") + @Excel(name = "电子卡卡号", width = 20, orderNum = "10", prefix = "`") @io.swagger.annotations.ApiModelProperty(value = "电子卡卡号", name = "cardId") private Long cardId; - @Excel(name = "面额(元)", width = 20, orderNum = "10", prefix = "`") + @Excel(name = "面额(元)", width = 20, orderNum = "11", prefix = "`") @io.swagger.annotations.ApiModelProperty(value = "面额(元)", name = "price") private Double price; - @Excel(name = "余额(元)", width = 20, orderNum = "11", prefix = "`") + @Excel(name = "余额(元)", width = 20, orderNum = "12", prefix = "`") @io.swagger.annotations.ApiModelProperty(value = "余额(元)", name = "remainPrice") private Double remainPrice; - @Excel(name = "激活卡状态", width = 20, orderNum = "12",replace = {"正常_0", "已禁用_1"}, prefix = "`") - @io.swagger.annotations.ApiModelProperty(value = "激活卡状态EnumYesOrNo", name = "used") + @Excel(name = "电子卡状态", width = 20, orderNum = "13",replace = {"正常_0", "已禁用_1"}, prefix = "`") + @io.swagger.annotations.ApiModelProperty(value = "电子卡状态EnumYesOrNo", name = "used") private Integer cardStatus; } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponPasswordServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponPasswordServiceImpl.java index 53a851c00..fed19d4d9 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponPasswordServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponPasswordServiceImpl.java @@ -147,6 +147,7 @@ public class WxCouponPasswordServiceImpl implements WxCouponPasswordService { } co.setStatus(coo.getStatus()); co.setCreateDate(coo.getCreateDate()); + co.setIsStop(coo.getIsStop()); retList.add(co); } return retList; From e4fbcd3b70bdfa728a6096e4943bcb05a0434a54 Mon Sep 17 00:00:00 2001 From: lin <642018748@qq.com> Date: Thu, 23 Feb 2023 18:21:08 +0800 Subject: [PATCH 3/6] fix card --- .../controller/market/WxCardInfoController.java | 13 +++++++++++++ .../market/WxCouponPasswordController.java | 16 +++------------- .../iformall/controller/WxCardPayController.java | 11 ++++++++++- .../iformall/controller/WxCardPayController.java | 4 ++++ .../com/iformall/domain/po/WxCouponPassword.java | 2 +- .../com/iformall/mapper/WxCardInfoMapper.java | 4 ++-- .../iformall/mapper/WxCouponPasswordMapper.java | 2 ++ .../com/iformall/service/WxCardInfoService.java | 2 ++ .../com/iformall/service/WxCardSpendService.java | 1 + .../service/impl/WxCardInfoServiceImpl.java | 5 +++++ .../impl/WxCouponPasswordServiceImpl.java | 2 +- .../main/resources/mapper/WxCardInfoMapper.xml | 15 ++++++++++++--- .../resources/mapper/WxCouponPasswordMapper.xml | 4 ++++ 13 files changed, 60 insertions(+), 21 deletions(-) diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCardInfoController.java b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCardInfoController.java index e4e391cc3..46f9b39df 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCardInfoController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCardInfoController.java @@ -238,5 +238,18 @@ public class WxCardInfoController extends BaseController { wxCardSpendService.exportData(wxCardSpendVo, request, response); } + + @ApiOperation("启用/停用") + @PostMapping("/startOrStop") + @SystemControllerLog(description = "启用/停用") + public ResultData startOrStop(@RequestBody WxCardInfo WxCardInfo) { + try { + wxCardInfoService.startOrStop(WxCardInfo); + } catch (Exception e) { + logger.error(e.getMessage()); + return new ResultData(ErrorCode.COUPON_PASSWORD_POSTPONE_ERR.getCode(),"更新失败"); + } + return new ResultData(); + } } diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponPasswordController.java b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponPasswordController.java index 585ac8b11..1886954dd 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponPasswordController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponPasswordController.java @@ -87,8 +87,7 @@ public class WxCouponPasswordController extends BaseController { @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) public ResultData batchList(@ModelAttribute WxCouponPassword wxCouponPassword, Integer pageNum, Integer pageSize) { wxCouponPassword.updateTenantInfo(getTenantInfo()); - - wxCouponPassword.setSortColumns(BaseEntity.SortField.CreateDate_DESC, BaseEntity.SortField.Id_DESC); + wxCouponPassword.setSortColumns(BaseEntity.SortField.CreateDate_DESC); final PageInfo page = wxCouponPasswordService.listVoAsPage(wxCouponPassword, pageNum, pageSize); return new ResultData(page); } @@ -97,20 +96,11 @@ public class WxCouponPasswordController extends BaseController { @PostMapping("/startOrStop") @SystemControllerLog(description = "启用/停用") public ResultData startOrStop(@RequestBody WxCouponPassword wxCouponPassword) { - // - if (wxCouponPassword.getCouponId() == null) { - logger.error("couponId不能为空: "); - return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); - } - WxCouponPassword couponPassword = new WxCouponPassword(); - couponPassword.updateTenantInfo(getTenantInfo()); - couponPassword.setCouponId(wxCouponPassword.getCouponId()); - couponPassword.setExpireDate(wxCouponPassword.getExpireDate()); try { - wxCouponPasswordService.postpone(couponPassword); + wxCouponPasswordService.startOrStop(wxCouponPassword); } catch (Exception e) { logger.error(e.getMessage()); - return new ResultData(ErrorCode.COUPON_PASSWORD_POSTPONE_ERR); + return new ResultData(ErrorCode.COUPON_PASSWORD_POSTPONE_ERR.getCode(),"更新失败"); } return new ResultData(); } diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxCardPayController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxCardPayController.java index b6e4989c9..8655a295a 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxCardPayController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxCardPayController.java @@ -6,11 +6,13 @@ import com.iformall.common.Result; import com.iformall.common.ResultData; import com.iformall.domain.po.*; import com.iformall.domain.vo.WxCardSpendVo; +import com.iformall.enums.EnumCardInfoStatus; import com.iformall.enums.EnumCouponStatus; import com.iformall.enums.EnumCreditLockedStatus; import com.iformall.enums.EnumMerchantStatus; import com.iformall.enums.EnumMerchantSubsidySource; import com.iformall.enums.EnumPayWay; +import com.iformall.enums.EnumYesOrNo; import com.iformall.exception.MallinkException; import com.iformall.service.WxCUserBasicInfoService; import com.iformall.service.WxCardInfoService; @@ -142,11 +144,15 @@ public class WxCardPayController extends BaseController { logger.error("卡不存在: " + cardIdStr); return new ResultData(ErrorCode.CARD_IS_NOT_FOUND); } - return saveCardPayOrder(cUserId,cardInfo,merchantBUser,totalFeeStr,EnumPayWay.PAY_WAY_WECHAT); } private ResultData saveCardPayOrder(Long cUserId,WxCardInfo cardInfo,WxMerchantBUser merchantBUser,String totalFeeStr,EnumPayWay payWay) { + + if (EnumCardInfoStatus.STOP.getCode().intValue() == cardInfo.getStatus().intValue()) { + return new ResultData(ErrorCode.CARD_IS_NOT_FOUND.getCode(),"卡已被禁用."); + } + String ipStr = getIpAddr(); if (Constant.defaultCUserId != cUserId) { WxCUserBasicInfo wxCUserBasicInfo = wxCUserBasicInfoService.getById(cUserId,merchantBUser.getFinalTenantId()); @@ -250,6 +256,9 @@ public class WxCardPayController extends BaseController { if (null == couponPassword) { return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "卡未查询到"); } + if (EnumYesOrNo.YES.getCode().intValue() == couponPassword.getIsStop().intValue()) { + return new ResultData(ErrorCode.CARD_IS_NOT_FOUND.getCode(),"卡已被禁用."); + } WxCoupon coupon = wxCouponService.getById(couponPassword.getCouponId(),couponPassword.getTenantId()); if (coupon == null) { diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxCardPayController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxCardPayController.java index 7ecbf1a61..13d2c869d 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxCardPayController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxCardPayController.java @@ -32,6 +32,7 @@ import com.iformall.domain.po.WxCouponOrder; import com.iformall.domain.po.WxMerchant; import com.iformall.domain.po.WxOrder; import com.iformall.domain.vo.WxCardSpendVo; +import com.iformall.enums.EnumCardInfoStatus; import com.iformall.enums.EnumCreditLockedStatus; import com.iformall.enums.EnumMerchantStatus; import com.iformall.enums.EnumMerchantSubsidySource; @@ -137,6 +138,9 @@ public class WxCardPayController extends BaseController { logger.error("卡不存在: " + cardIdStr); return new ResultData(ErrorCode.CARD_IS_NOT_FOUND); } + if (EnumCardInfoStatus.STOP.getCode().intValue() == cardInfo.getStatus().intValue()) { + return new ResultData(ErrorCode.CARD_IS_NOT_FOUND.getCode(),"卡已被禁用."); + } if(payment > cardInfo.getRemainingAmount()) { logger.error("卡余额不足: " + cardIdStr); diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxCouponPassword.java b/mallinkService/src/main/java/com/iformall/domain/po/WxCouponPassword.java index 8d859a168..f06aa9cdb 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxCouponPassword.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxCouponPassword.java @@ -24,7 +24,7 @@ public class WxCouponPassword extends TenantEntity { @io.swagger.annotations.ApiModelProperty(value="卡券短ID",name="couponShort") private String couponShort; @Excel(name = "兑换码", width = 20, orderNum = "2") - @io.swagger.annotations.ApiModelProperty(value="商户名称",name="password") + @io.swagger.annotations.ApiModelProperty(value="卡密",name="password") private String password; @TableField(exist = false) private String passwordLike; diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxCardInfoMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxCardInfoMapper.java index 76bbfc27b..523f83787 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxCardInfoMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxCardInfoMapper.java @@ -8,12 +8,12 @@ import java.util.List; public interface WxCardInfoMapper extends CommonMapper { - //List findVoList(WxCardVo wxCardVo); - void updateTransferStatusByCouponId(Long couponId); List findList(WxCardInfo wxCardInfo); List findIdList(WxCardInfo wxCardInfo); + + void updateStatus(WxCardInfo wxCardInfo); } diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxCouponPasswordMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxCouponPasswordMapper.java index b3cb51b4b..7a5bb4ae6 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxCouponPasswordMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxCouponPasswordMapper.java @@ -27,5 +27,7 @@ public interface WxCouponPasswordMapper extends CommonMapper + + @@ -19,14 +21,13 @@ - - + `id`,`tenant_id`,`parent_tenant_id`,`coupon_id`,`c_user_id`,`owner_user_id`,`coupon_password_id`,`coupon_password`,`transaction_id`, `amount`,`sale_amount`,`remaining_amount`,`service_fee_amount`,`share_fee_amount`,`remaining_share_fee_amount`, - `rate_amount`,`create_date`,`update_date`,`support_transfer` + `rate_amount`,`create_date`,`update_date`,`support_transfer`,`status` @@ -91,6 +92,10 @@ and `create_date` <= #{enddate} + + and `status` = #{status} + + and coupon_password_id in @@ -139,4 +144,8 @@ + + update wx_card_info set status=#{status},update_date=now() where id=#{id} and tenant_id = #{tenantId} + + diff --git a/mallinkService/src/main/resources/mapper/WxCouponPasswordMapper.xml b/mallinkService/src/main/resources/mapper/WxCouponPasswordMapper.xml index 794474c83..fa6b58a54 100644 --- a/mallinkService/src/main/resources/mapper/WxCouponPasswordMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCouponPasswordMapper.xml @@ -209,5 +209,9 @@ update wx_coupon_password set expire_date = #{expiredTime} , update_date = now() where coupon_id = #{couponId} + + + update wx_coupon_password set is_stop = #{isStop} , update_date = now() where id = #{id} and tenant_id = #{tenantId} + From 0b7bde110d68ed90f463f33746d2e7a99a27ef09 Mon Sep 17 00:00:00 2001 From: lin <642018748@qq.com> Date: Thu, 23 Feb 2023 18:46:32 +0800 Subject: [PATCH 4/6] fix card --- .../src/main/java/com/iformall/domain/vo/WxCardVo.java | 2 ++ .../java/com/iformall/service/impl/WxCardInfoServiceImpl.java | 1 + 2 files changed, 3 insertions(+) diff --git a/mallinkService/src/main/java/com/iformall/domain/vo/WxCardVo.java b/mallinkService/src/main/java/com/iformall/domain/vo/WxCardVo.java index f48d90c1e..f6d57c660 100644 --- a/mallinkService/src/main/java/com/iformall/domain/vo/WxCardVo.java +++ b/mallinkService/src/main/java/com/iformall/domain/vo/WxCardVo.java @@ -112,4 +112,6 @@ public class WxCardVo extends WxCardInfo { private Date couponOnlineEndDate; @TableField(exist = false) private List couponIdList; + @TableField(exist = false) + private Integer cardInfoStatus; } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCardInfoServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCardInfoServiceImpl.java index 635c6d5dc..60c5cd3c0 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCardInfoServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCardInfoServiceImpl.java @@ -159,6 +159,7 @@ public class WxCardInfoServiceImpl implements WxCardInfoService { WxCardVo co = new WxCardVo(); try { BeanUtils.copyProperties(co, coo); + co.setCardInfoStatus(coo.getStatus()); //coupon WxCoupon coupon = couponMap.get(coo.getCouponId()); if (null != coupon) { From c936816ce35d7e53c9038e6347175b8d9546d911 Mon Sep 17 00:00:00 2001 From: lin <642018748@qq.com> Date: Thu, 23 Feb 2023 19:16:08 +0800 Subject: [PATCH 5/6] fix card --- .../main/java/com/iformall/mapper/WxCouponPasswordMapper.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxCouponPasswordMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxCouponPasswordMapper.java index 7a5bb4ae6..db4b0f8ea 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxCouponPasswordMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxCouponPasswordMapper.java @@ -28,6 +28,6 @@ public interface WxCouponPasswordMapper extends CommonMapper Date: Fri, 24 Feb 2023 10:55:45 +0800 Subject: [PATCH 6/6] fix card --- .../controller/WxCardPayController.java | 16 +++++++++++++ .../controller/WxCouponOrderController.java | 24 +++++++++++++++++++ .../java/com/iformall/common/ErrorCode.java | 1 + .../iformall/common/SysConfigConstant.java | 1 + 4 files changed, 42 insertions(+) diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxCardPayController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxCardPayController.java index 8655a295a..1be0ade73 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxCardPayController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxCardPayController.java @@ -6,6 +6,7 @@ import com.iformall.common.Result; import com.iformall.common.ResultData; import com.iformall.domain.po.*; import com.iformall.domain.vo.WxCardSpendVo; +import com.iformall.domain.vo.WxCouponOrderCVo; import com.iformall.enums.EnumCardInfoStatus; import com.iformall.enums.EnumCouponStatus; import com.iformall.enums.EnumCreditLockedStatus; @@ -23,6 +24,8 @@ import com.iformall.service.WxCouponService; import com.iformall.service.WxMerchantService; import com.iformall.service.WxOrderService; import com.iformall.utils.Constant; +import com.iformall.utils.DateUtils; + import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; @@ -34,6 +37,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.math.BigDecimal; import java.util.ArrayList; +import java.util.Date; import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletRequest; @@ -122,6 +126,18 @@ public class WxCardPayController extends BaseController { logger.error("cardId不能为空"); return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "cardId不能为空"); } + + String _decodeCouponOrderId = WxCouponOrderCVo.getDecodeExpiredCouponOrderId(cardIdStr); + if (_decodeCouponOrderId.contains(WxCouponOrderCVo.arg)) { + String[] decodeids = _decodeCouponOrderId.split(WxCouponOrderCVo.arg); + cardIdStr = decodeids[0]; + String expiredtimeStr = decodeids[1]; + Date expiredtime = DateUtils.string2Date(expiredtimeStr).getTime(); + if (expiredtime.before(new Date())) { + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"码已失效,请更新二维码后重试"); + } + } + Long cUserId = null; try { cUserId = Long.valueOf(cUserIdStr); diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxCouponOrderController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxCouponOrderController.java index 4b531f32d..ac28d4753 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxCouponOrderController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxCouponOrderController.java @@ -358,6 +358,30 @@ public class WxCouponOrderController extends BaseController { } return wxCouponOrderService.cardDetailCUserVo(memberId,getTenantInfo(), couponOrderId); } + + @ApiOperation(value = "手动核销方式,电子卡获取动态id") + @GetMapping("cardDynamicId") + @ApiImplicitParams({ + @ApiImplicitParam(name = "cardId", value = "卡ID", dataType = "string", paramType = "query", required = true), + @ApiImplicitParam(name = "cardTenantId", value = "券tenantID", dataType = "string", paramType = "query", required = false) + }) + public ResultData cardDynamicId(String cardId,String cardTenantId) { + + if (StringUtils.isBlank(cardId) || cardId.equalsIgnoreCase(Constant.UNDEFINED)) { + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); + } + + SysConfig sysConfig = sysConfigService.getByKey(SysConfigConstant.card_vierfy_seconds_key, getTenantInfo()); + if (null == sysConfig || StringUtils.isBlank(sysConfig.getConfigItemValue())) { + return new ResultData(ErrorCode.SYS_CONFIG_CARD_VIERFY_SECODES_UNSET); + } + + Map retmap = new HashMap(); + retmap.put("dynamicId", WxCouponOrderCVo.calcuteExpiredCouponOrderId(cardId,Integer.parseInt(sysConfig.getConfigItemValue()))); + retmap.put("expiredSeconds", Integer.parseInt(sysConfig.getConfigItemValue())); + retmap.put("cardTenantId", cardTenantId); + return new ResultData(retmap); + } @ApiOperation(value = "卡转赠领取") @PostMapping("cardAccept") diff --git a/mallinkService/src/main/java/com/iformall/common/ErrorCode.java b/mallinkService/src/main/java/com/iformall/common/ErrorCode.java index e1c740c4a..c9e904ac5 100644 --- a/mallinkService/src/main/java/com/iformall/common/ErrorCode.java +++ b/mallinkService/src/main/java/com/iformall/common/ErrorCode.java @@ -35,6 +35,7 @@ public enum ErrorCode{ * 系统配置 */ SYS_CONFIG_VIERFY_SECODES_UNSET(1030,"系统设置【券码刷新时间】未配置"), + SYS_CONFIG_CARD_VIERFY_SECODES_UNSET(1030,"系统设置【电子卡码刷新时间】未配置"), SYS_CONFIG_DEFAULT_MERCHANT_B_USER_UNSET(1031,"系统配置【外部设备核销默认商户员工编号】未配置"), /** diff --git a/mallinkService/src/main/java/com/iformall/common/SysConfigConstant.java b/mallinkService/src/main/java/com/iformall/common/SysConfigConstant.java index f02d3de56..be46607cf 100644 --- a/mallinkService/src/main/java/com/iformall/common/SysConfigConstant.java +++ b/mallinkService/src/main/java/com/iformall/common/SysConfigConstant.java @@ -3,6 +3,7 @@ package com.iformall.common; public class SysConfigConstant { public static final String vierfy_seconds_key="vierfySeconds"; + public static final String card_vierfy_seconds_key="cardVierfySeconds"; public static final String default_merchant_b_user = "defaultMerchantBUserId"; public static final String coupon_detail_show_selled = "couponDetailShowSelled"; }