From 960ca22db0523040a244dfa128ba9393d5c27ce8 Mon Sep 17 00:00:00 2001 From: Stormeye Wu Date: Thu, 19 Sep 2019 14:16:19 +0800 Subject: [PATCH] =?UTF-8?q?[=E5=8D=A1=E5=88=B8][=E4=BF=AE=E6=94=B9]:?= =?UTF-8?q?=E5=8D=A1=E5=AF=86=E6=89=B9=E9=87=8F=E7=94=9F=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/market/WxCouponController.java | 1 + .../mapper/WxCouponPasswordMapper.java | 1 + .../service/WxCouponPasswordService.java | 8 ++++ .../impl/WxCouponPasswordServiceImpl.java | 42 +++++++++++++------ .../service/impl/WxCouponServiceImpl.java | 5 ++- .../mapper/WxCouponPasswordMapper.xml | 19 +++++++-- 6 files changed, 60 insertions(+), 16 deletions(-) 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 40871032b..b5fad77ba 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponController.java @@ -79,6 +79,7 @@ public class WxCouponController extends BaseController { @SystemControllerLog(description = "券投放-新增") public ResultData add(@RequestBody WxCoupon wxCoupon) { logger.debug("[" + getIpAddr() + "] WxCouponController::add"); + wxCoupon.setTenantId(getTenantId()); ResultData resultData = wxCouponService.saveOrUpdate(wxCoupon); if(resultData.code != 200){ diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxCouponPasswordMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxCouponPasswordMapper.java index b1c032cf9..b7338242d 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxCouponPasswordMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxCouponPasswordMapper.java @@ -8,6 +8,7 @@ public interface WxCouponPasswordMapper extends CommonMapper findList(WxCouponPassword wxCouponPassword); + void insertCouponPasswds(List pwdlist); int updateStatusByCouponId(Long couponId); List findCouponGroupList(WxCouponPassword wxCouponPassword); diff --git a/mallinkService/src/main/java/com/iformall/service/WxCouponPasswordService.java b/mallinkService/src/main/java/com/iformall/service/WxCouponPasswordService.java index 0482007d6..8cfef2b3b 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxCouponPasswordService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxCouponPasswordService.java @@ -36,6 +36,14 @@ public interface WxCouponPasswordService { * @param id */ void deleteById(Long id); + + /** + * 生产卡密 + * @param tenantId + * @param couponId + * @param inventory + */ + void mkPasswords(String tenantId, Long couponId, Integer inventory); 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 eab4c84d7..427898dbf 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponPasswordServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponPasswordServiceImpl.java @@ -3,6 +3,7 @@ package com.iformall.service.impl; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.iformall.domain.po.WxCouponPassword; +import com.iformall.enums.EnumCouponPasswordStatus; import com.iformall.mapper.WxCouponPasswordMapper; import com.iformall.service.WxCouponPasswordService; import org.springframework.beans.factory.annotation.Autowired; @@ -10,6 +11,7 @@ import org.springframework.stereotype.Service; import com.iformall.common.IdWorker; import java.util.ArrayList; +import java.util.Date; import java.util.List; import java.util.Random; @@ -47,11 +49,18 @@ public class WxCouponPasswordServiceImpl implements WxCouponPasswordService { wxCouponPasswordMapper.deleteByPrimaryKey(id); } + @Override public void mkPasswords(String tenantId, Long couponId, Integer inventory) { - // 获取 coupon short 1 - int couponShort = 0; - // 随机字符 String strAll = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; + // 1.获取 coupon short 1 + int couponShort = 0; + String couponShortStr = "0"; + WxCouponPassword pwQ = new WxCouponPassword(); + pwQ.setTenantId(tenantId); + List pwgList = wxCouponPasswordMapper.findCouponGroupList(pwQ); + couponShort = pwgList.size(); + couponShortStr = String.valueOf(strAll.charAt(couponShort)); + // 2.随机字符 Random rand = new Random(); List pwList = new ArrayList<>(); while (true) { @@ -60,7 +69,7 @@ public class WxCouponPasswordServiceImpl implements WxCouponPasswordService { int f = (int) (Math.random() * 62); sb.append(strAll.charAt(f)); if (j == 4) { - sb.append(strAll.charAt(couponShort)); + sb.append(couponShortStr); } } String pwd = sb.toString(); @@ -74,12 +83,26 @@ public class WxCouponPasswordServiceImpl implements WxCouponPasswordService { break; } } - // save to db + // 3. save to db + final IdWorker idWorker = IdWorker.get(); + Date curDate = new Date(); + List couponPasswords = new ArrayList<>(); for (int i=0;i + + INSERT INTO wx_coupon_password (`id`,`tenant_id`,`coupon_id`,`coupon_short`,`password`,`status`,`create_date`,`update_date`) + VALUES + + ( + #{item.id},#{item.tenantId},#{item.couponId},#{item.couponShort},#{item.password},#{item.status}, + #{item.createDate},#{item.updateDate} + ) + + + - update wx_card_password set status=4, update_date=now() + update wx_coupon_password + set status=4, update_date=now() where status != 3 and tenant_id = #{tenantId} and coupon_id=#{couponId}