|
@@ -5,9 +5,12 @@ import com.caimei.modules.coupon.dao.CmCouponDao;
|
|
import com.caimei.modules.coupon.entity.CmCoupon;
|
|
import com.caimei.modules.coupon.entity.CmCoupon;
|
|
import com.caimei.modules.coupon.entity.CmCouponAssociate;
|
|
import com.caimei.modules.coupon.entity.CmCouponAssociate;
|
|
import com.caimei.modules.coupon.entity.CmCouponClub;
|
|
import com.caimei.modules.coupon.entity.CmCouponClub;
|
|
|
|
+import com.caimei.modules.coupon.entity.CmCouponRedemptionCode;
|
|
import com.caimei.modules.miniprogram.utils.UploadPicUtils;
|
|
import com.caimei.modules.miniprogram.utils.UploadPicUtils;
|
|
|
|
+import com.caimei.modules.order.utils.RandomCode;
|
|
import com.caimei.modules.product.dao.ProductDao;
|
|
import com.caimei.modules.product.dao.ProductDao;
|
|
import com.caimei.modules.product.entity.Product;
|
|
import com.caimei.modules.product.entity.Product;
|
|
|
|
+import com.caimei.modules.user.dao.NewCmShopDao;
|
|
import com.caimei.modules.user.entity.CmUser;
|
|
import com.caimei.modules.user.entity.CmUser;
|
|
import com.caimei.modules.user.entity.NewCmShop;
|
|
import com.caimei.modules.user.entity.NewCmShop;
|
|
import com.caimei.utils.AppUtils;
|
|
import com.caimei.utils.AppUtils;
|
|
@@ -34,14 +37,20 @@ public class CmCouponService extends CrudService<CmCouponDao, CmCoupon> {
|
|
private CmCouponDao cmCouponDao;
|
|
private CmCouponDao cmCouponDao;
|
|
@Autowired
|
|
@Autowired
|
|
private ProductDao productDao;
|
|
private ProductDao productDao;
|
|
|
|
+ @Autowired
|
|
|
|
+ private NewCmShopDao newCmShopDao;
|
|
|
|
|
|
public CmCoupon get(String id) {
|
|
public CmCoupon get(String id) {
|
|
CmCoupon coupon = super.get(id);
|
|
CmCoupon coupon = super.get(id);
|
|
setCouponStatus(coupon, new Date());
|
|
setCouponStatus(coupon, new Date());
|
|
- if (coupon.getCouponType() == 3) {
|
|
|
|
|
|
+ if (coupon.getCouponType() == 3 && coupon.getShopId() != null) {
|
|
//店铺券
|
|
//店铺券
|
|
- List<NewCmShop> shopList = cmCouponDao.findCouponShop(coupon.getId());
|
|
|
|
- coupon.setShopList(shopList);
|
|
|
|
|
|
+ NewCmShop shop = newCmShopDao.get(coupon.getShopId().toString());
|
|
|
|
+ coupon.setShop(shop);
|
|
|
|
+ }
|
|
|
|
+ if ("1".equals(coupon.getCouponsMode())) {
|
|
|
|
+ Integer codeNum = cmCouponDao.findRedemptionCodeNum(coupon.getId());
|
|
|
|
+ coupon.setCodeNum(codeNum);
|
|
}
|
|
}
|
|
return coupon;
|
|
return coupon;
|
|
}
|
|
}
|
|
@@ -56,7 +65,7 @@ public class CmCouponService extends CrudService<CmCouponDao, CmCoupon> {
|
|
Date date = new Date();
|
|
Date date = new Date();
|
|
couponList.forEach(coupon -> {
|
|
couponList.forEach(coupon -> {
|
|
setCouponStatus(coupon, date);
|
|
setCouponStatus(coupon, date);
|
|
- if (2 == cmCoupon.getCouponType()) {
|
|
|
|
|
|
+ if (2 == coupon.getCouponType()) {
|
|
//用户专享劵
|
|
//用户专享劵
|
|
CmCouponClub couponClub = cmCouponDao.findCouponClub(coupon.getId());
|
|
CmCouponClub couponClub = cmCouponDao.findCouponClub(coupon.getId());
|
|
if (couponClub == null) {
|
|
if (couponClub == null) {
|
|
@@ -65,10 +74,6 @@ public class CmCouponService extends CrudService<CmCouponDao, CmCoupon> {
|
|
coupon.setClaimStatus("2");
|
|
coupon.setClaimStatus("2");
|
|
}
|
|
}
|
|
coupon.setCouponClub(couponClub);
|
|
coupon.setCouponClub(couponClub);
|
|
- } else if (3 == cmCoupon.getCouponType()) {
|
|
|
|
- //店铺券
|
|
|
|
- List<NewCmShop> shopList = cmCouponDao.findCouponShop(coupon.getId());
|
|
|
|
- coupon.setShopList(shopList);
|
|
|
|
}
|
|
}
|
|
});
|
|
});
|
|
return couponPage;
|
|
return couponPage;
|
|
@@ -103,9 +108,7 @@ public class CmCouponService extends CrudService<CmCouponDao, CmCoupon> {
|
|
Date date = new Date();
|
|
Date date = new Date();
|
|
cmCoupon.setCreateDate(date);
|
|
cmCoupon.setCreateDate(date);
|
|
setCouponStatus(cmCoupon, date);
|
|
setCouponStatus(cmCoupon, date);
|
|
- if (StringUtils.isBlank(cmCoupon.getCouponsMode())) {
|
|
|
|
- cmCoupon.setCouponsMode("0");
|
|
|
|
- }
|
|
|
|
|
|
+ cmCoupon.setCouponsMode("0");
|
|
super.save(cmCoupon);
|
|
super.save(cmCoupon);
|
|
List<Integer> associateIds = cmCouponDao.findByCouponId(cmCoupon.getId());
|
|
List<Integer> associateIds = cmCouponDao.findByCouponId(cmCoupon.getId());
|
|
if (0 == cmCoupon.getCouponType()) {
|
|
if (0 == cmCoupon.getCouponType()) {
|
|
@@ -124,21 +127,6 @@ public class CmCouponService extends CrudService<CmCouponDao, CmCoupon> {
|
|
}
|
|
}
|
|
});
|
|
});
|
|
}
|
|
}
|
|
- } else if (3 == cmCoupon.getCouponType()) {
|
|
|
|
- //店铺券
|
|
|
|
- if (StringUtils.isNotBlank(cmCoupon.getShopInfo())) {
|
|
|
|
- List<CmCouponAssociate> associateList = JSON.parseArray(cmCoupon.getShopInfo(), CmCouponAssociate.class);
|
|
|
|
- associateList.forEach(a -> {
|
|
|
|
- if (a.getId() == null) {
|
|
|
|
- a.setDelFlag("0");
|
|
|
|
- a.setCouponId(Integer.valueOf(cmCoupon.getId()));
|
|
|
|
- a.setAddTime(date);
|
|
|
|
- cmCouponDao.insertCouponAssociate(a);
|
|
|
|
- } else {
|
|
|
|
- associateIds.removeIf(id -> id.equals(a.getId()));
|
|
|
|
- }
|
|
|
|
- });
|
|
|
|
- }
|
|
|
|
}
|
|
}
|
|
if (associateIds != null && associateIds.size() > 0) {
|
|
if (associateIds != null && associateIds.size() > 0) {
|
|
associateIds.forEach(id -> {
|
|
associateIds.forEach(id -> {
|
|
@@ -194,17 +182,52 @@ public class CmCouponService extends CrudService<CmCouponDao, CmCoupon> {
|
|
return userPage;
|
|
return userPage;
|
|
}
|
|
}
|
|
|
|
|
|
- public Page<NewCmShop> findShopList(Page<NewCmShop> newCmShopPage, NewCmShop newCmShop, String shopIds) {
|
|
|
|
|
|
+ public Page<NewCmShop> findShopList(Page<NewCmShop> newCmShopPage, NewCmShop newCmShop) {
|
|
newCmShop.setPage(newCmShopPage);
|
|
newCmShop.setPage(newCmShopPage);
|
|
List<NewCmShop> shopList = cmCouponDao.findShopList(newCmShop);
|
|
List<NewCmShop> shopList = cmCouponDao.findShopList(newCmShop);
|
|
- if (StringUtils.isNotBlank(shopIds)) {
|
|
|
|
- shopList.forEach(s -> {
|
|
|
|
- if (shopIds.contains(s.getShopID().toString())) {
|
|
|
|
- s.setChoose(true);
|
|
|
|
- }
|
|
|
|
- });
|
|
|
|
- }
|
|
|
|
newCmShopPage.setList(shopList);
|
|
newCmShopPage.setList(shopList);
|
|
return newCmShopPage;
|
|
return newCmShopPage;
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ @Transactional(readOnly = false)
|
|
|
|
+ public void redemptionCodeCouponSave(CmCoupon cmCoupon) {
|
|
|
|
+ Date date = new Date();
|
|
|
|
+ cmCoupon.setCreateDate(date);
|
|
|
|
+ setCouponStatus(cmCoupon, date);
|
|
|
|
+ cmCoupon.setCouponsMode("1");
|
|
|
|
+ super.save(cmCoupon);
|
|
|
|
+ if (cmCoupon.getCodeNum() != null && cmCoupon.getCodeNum() > 0) {
|
|
|
|
+ Integer codeNum = cmCouponDao.findRedemptionCodeNum(cmCoupon.getId());
|
|
|
|
+ int num = cmCoupon.getCodeNum() - codeNum;
|
|
|
|
+ CmCouponRedemptionCode code = new CmCouponRedemptionCode();
|
|
|
|
+ code.setAddTime(new Date());
|
|
|
|
+ code.setCouponId(Integer.valueOf(cmCoupon.getId()));
|
|
|
|
+ code.setStatus("1");
|
|
|
|
+ for (int i = 0; i < num; i++) {
|
|
|
|
+ //生成对应数量兑换码
|
|
|
|
+ String redemptionCode = generateRedemptionCode();
|
|
|
|
+ code.setRedemptionCode(redemptionCode);
|
|
|
|
+ cmCouponDao.insertRedemptionCode(code);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 生成不重复的兑换码
|
|
|
|
+ */
|
|
|
|
+ public String generateRedemptionCode() {
|
|
|
|
+ String redemptionCode = RandomCode.generateShortLink(16);
|
|
|
|
+ CmCouponRedemptionCode code = cmCouponDao.findByRedemptionCode(redemptionCode);
|
|
|
|
+ if (code != null) {
|
|
|
|
+ generateRedemptionCode();
|
|
|
|
+ }
|
|
|
|
+ return redemptionCode;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public Page<CmCouponRedemptionCode> redemptionCodeList(Page<CmCouponRedemptionCode> codePage, CmCouponRedemptionCode redemptionCode) {
|
|
|
|
+ redemptionCode.setPage(codePage);
|
|
|
|
+ List<CmCouponRedemptionCode> redemptionCodeList = cmCouponDao.findRedemptionCode(redemptionCode);
|
|
|
|
+ codePage.setList(redemptionCodeList);
|
|
|
|
+ return codePage;
|
|
|
|
+ }
|
|
}
|
|
}
|