diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxMemController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxMemController.java index e5d544786..5471a9395 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxMemController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxMemController.java @@ -4,6 +4,7 @@ import com.iformall.common.ErrorCode; import com.iformall.common.ResultData; import com.iformall.domain.po.*; import com.iformall.domain.vo.WxCUserVo; +import com.iformall.domain.vo.WxCouponOrderCVo; import com.iformall.domain.vo.WxLevelMerchantCVo; import com.iformall.enums.EnumCreditLockedStatus; import com.iformall.enums.EnumLevelConfigDiscountStatus; @@ -11,6 +12,8 @@ import com.iformall.service.WxCUserBasicInfoService; import com.iformall.service.WxCUserService; import com.iformall.service.WxLevelConfigService; import com.iformall.service.WxMerchantService; +import com.iformall.utils.DateUtils; + import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.apache.commons.lang3.StringUtils; @@ -22,6 +25,7 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.util.Date; import java.util.List; import java.util.Map; @@ -56,6 +60,17 @@ public class WxMemController extends BaseController { logger.error("memCode不能为空"); return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "memCode不能为空"); } + + String _memberId = WxCouponOrderCVo.getDecodeExpiredCouponOrderId(memCode); + if (_memberId.contains(WxCouponOrderCVo.arg)) { + String[] decodeids = _memberId.split(WxCouponOrderCVo.arg); + memCode = 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 id = null; try { diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxUserGrantController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxUserGrantController.java index 4e00b65f9..bacd09d83 100755 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxUserGrantController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxUserGrantController.java @@ -9,9 +9,11 @@ import com.iformall.annotation.TenantIgnore; 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.TenantEntity; import com.iformall.domain.vo.WxCUserVo; +import com.iformall.domain.vo.WxCouponOrderCVo; import com.iformall.domain.vo.WxLevelMerchantCVo; import com.iformall.enums.*; import com.iformall.exception.MallinkException; @@ -92,6 +94,9 @@ public class WxUserGrantController extends BaseController { @Autowired private QrCodeService qrCodeService; + + @Autowired + SysConfigService sysConfigService; /** @@ -772,9 +777,16 @@ public class WxUserGrantController extends BaseController { levelMerchant.updateTenantInfo(getTenantInfo()); levelMerchant.setLevelId(levelId); List levelMerchantList = wxLevelConfigService.findListCVo(levelMerchant); + + SysConfig sysConfig = sysConfigService.getByKey(SysConfigConstant.member_seconds_key, getTenantInfo()); + if (null == sysConfig || StringUtils.isBlank(sysConfig.getConfigItemValue())) { + return new ResultData(ErrorCode.SYS_CONFIG_VIERFY_SECODES_UNSET); + } Map result = new HashMap(); result.put("id", member.getId()); + result.put("dynamicId", WxCouponOrderCVo.calcuteExpiredCouponOrderId(String.valueOf(member.getId()),Integer.parseInt(sysConfig.getConfigItemValue()),null)); + result.put("expiredSeconds", Integer.parseInt(sysConfig.getConfigItemValue())); result.put("level", level); result.put("levelMerchantList", levelMerchantList); return new ResultData(result); diff --git a/mallinkService/src/main/java/com/iformall/common/SysConfigConstant.java b/mallinkService/src/main/java/com/iformall/common/SysConfigConstant.java index a79c45bd5..309dca9c7 100644 --- a/mallinkService/src/main/java/com/iformall/common/SysConfigConstant.java +++ b/mallinkService/src/main/java/com/iformall/common/SysConfigConstant.java @@ -7,5 +7,6 @@ public class SysConfigConstant { public static final String default_merchant_b_user = "defaultMerchantBUserId"; public static final String coupon_detail_show_selled = "couponDetailShowSelled"; public static final String coupon_list_show_selled = "couponListShowSelled"; + public static final String member_seconds_key="memberSeconds"; }