From 79a21c191af3863040977b098e1762aa626f6a22 Mon Sep 17 00:00:00 2001 From: xiaohanzi Date: Mon, 21 Sep 2020 17:54:27 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8D=A1=E5=BB=B6=E6=9C=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/market/WxCouponController.java | 14 ++++++++++ .../com/iformall/mapper/WxCouponMapper.java | 2 ++ .../iformall/mapper/WxCouponOrderMapper.java | 3 ++ .../mapper/WxCouponPasswordMapper.java | 5 ++++ .../com/iformall/service/WxCouponService.java | 8 +++++- .../service/impl/WxCouponServiceImpl.java | 28 +++++++++++++++++++ .../main/resources/mapper/WxCouponMapper.xml | 4 +++ .../resources/mapper/WxCouponOrderMapper.xml | 4 +++ .../mapper/WxCouponPasswordMapper.xml | 4 +++ 9 files changed, 71 insertions(+), 1 deletion(-) diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponController.java b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponController.java index 57951886c..e1109293e 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponController.java @@ -397,5 +397,19 @@ public class WxCouponController extends BaseController { logger.debug("[" + getIpAddr() + "] WxCouponController::getHtmlById"); return new ResultData(wxCouponService.getHtmlById(id)); } + + @ApiOperation("卡延期") + @PostMapping("/cardDefer") + @SystemControllerLog(description = "卡延期") + public ResultData cardDefer(@RequestBody WxCoupon wxCoupon) { + if (wxCoupon.getId() == null) { + return new ResultData(ResultData.ERROR, "缺少id"); + } + if (wxCoupon.getValidEndDate() == null) { + return new ResultData(ResultData.ERROR, "缺少validEndDate"); + } + + return new ResultData(wxCouponService.cardDefer(wxCoupon.getId(),wxCoupon.getValidEndDate())); + } } diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxCouponMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxCouponMapper.java index 46eabed99..3ccfd203f 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxCouponMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxCouponMapper.java @@ -82,4 +82,6 @@ public interface WxCouponMapper extends CommonMapper { WxCoupon findCouponModel(WxCoupon wxCoupon); Integer findCouponListCount(WxCoupon wxCoupon); + + void updateValidEndDate(WxCoupon wxCoupon); } diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxCouponOrderMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxCouponOrderMapper.java index 87d641a0d..3fe1009e0 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxCouponOrderMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxCouponOrderMapper.java @@ -81,4 +81,7 @@ public interface WxCouponOrderMapper extends CommonMapper { /// POS接口 List findAvailCouponOrder(Map params); + + //卡延期,将过期的状态变为使用中 + void cardDefer(@Param("couponId")Long couponId); } diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxCouponPasswordMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxCouponPasswordMapper.java index 973bc37d6..b3cb51b4b 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxCouponPasswordMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxCouponPasswordMapper.java @@ -4,8 +4,11 @@ import com.iformall.common.CommonMapper; import com.iformall.domain.po.WxCouponPassword; import com.iformall.domain.vo.WxCouponPasswordCountInfoVO; +import java.util.Date; import java.util.List; +import org.apache.ibatis.annotations.Param; + public interface WxCouponPasswordMapper extends CommonMapper { List findList(WxCouponPassword wxCouponPassword); @@ -22,5 +25,7 @@ public interface WxCouponPasswordMapper extends CommonMapper tempList); void updatePostpone(WxCouponPassword wxCouponPassword); + + void updateExpiredTime(@Param("couponId")Long couponId,@Param("expiredTime")Date expiredTime); } diff --git a/mallinkService/src/main/java/com/iformall/service/WxCouponService.java b/mallinkService/src/main/java/com/iformall/service/WxCouponService.java index d8919e61f..011841b97 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxCouponService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxCouponService.java @@ -224,5 +224,11 @@ public interface WxCouponService { * @param remainInventory 当前库存 */ void backRemainInventory(Long id, Integer number, Integer remainInventory); - + + /** + * 卡延期 + * @param wxCoupon + * @return + */ + ResultData cardDefer(Long id,Date validEndDate); } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java index 82cfabbea..fb8805c47 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java @@ -8,6 +8,7 @@ import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.iformall.common.ErrorCode; import com.iformall.common.IdWorker; +import com.iformall.common.Result; import com.iformall.common.ResultData; import com.iformall.domain.dto.WxCouponMerchantDto; import com.iformall.domain.po.*; @@ -77,6 +78,9 @@ public class WxCouponServiceImpl implements WxCouponService { @Autowired WxPayAccountMapper payAccountMapper; + + @Autowired + WxCouponOrderMapper wxCouponOrderMapper; @Autowired @Qualifier("couponChannelRedisTemplate") @@ -742,4 +746,28 @@ public class WxCouponServiceImpl implements WxCouponService { } } + @Override + @Transactional(isolation= Isolation.SERIALIZABLE, propagation = Propagation.REQUIRED, rollbackFor = {Exception.class}) + public ResultData cardDefer(Long id,Date validEndDate) { + WxCoupon coupon = wxCouponMapper.selectById(id); + if (null == coupon) { + return new ResultData(Result.ERROR,id+"未查询到券信息."); + } + if (new Date().after(validEndDate)) { + return new ResultData(Result.ERROR,"有效期不能小于当前时间."); + } + //更新coupon信息 + coupon.setValidEndDate(validEndDate); + coupon.setUpdateDate(new Date()); + wxCouponMapper.updateValidEndDate(coupon); + + //更新coupon_order的状态,已过期的变为使用中 5-->4 + wxCouponOrderMapper.cardDefer(id); + + //更新coupon_passwd + couponPasswordMapper.updateExpiredTime(id, validEndDate); + + return new ResultData(); + } + } diff --git a/mallinkService/src/main/resources/mapper/WxCouponMapper.xml b/mallinkService/src/main/resources/mapper/WxCouponMapper.xml index 07cb51e3a..0af596860 100644 --- a/mallinkService/src/main/resources/mapper/WxCouponMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCouponMapper.xml @@ -1041,4 +1041,8 @@ and `parent_tenant_id` = #{parentTenantId} + + + update wx_coupon set valid_end_date = #{validEndDate} , update_date = #{updateDate} where id = #{id} + diff --git a/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml b/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml index a167bd8c3..1ff927370 100644 --- a/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml @@ -1393,5 +1393,9 @@ where co.coupon_id = c.id and co.id = a.id and co.id = #{id} + + + update wx_coupon_order set coupon_order_status = 4,update_date = now() where coupon_id = #{couponId} and coupon_order_status = 5 + \ No newline at end of file diff --git a/mallinkService/src/main/resources/mapper/WxCouponPasswordMapper.xml b/mallinkService/src/main/resources/mapper/WxCouponPasswordMapper.xml index 0ffe0e054..3d5357bed 100644 --- a/mallinkService/src/main/resources/mapper/WxCouponPasswordMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCouponPasswordMapper.xml @@ -195,5 +195,9 @@ and `parent_tenant_id` = #{parentTenantId} + + + update wx_coupon_password set expire_date = #{expiredTime} , update_date = now() where coupon_id = #{couponId} +