123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
- package com.caimei.modules.coupon.service;
- import com.caimei.modules.coupon.dao.CmCouponClubDao;
- import com.caimei.modules.coupon.entity.CmCoupon;
- import com.caimei.modules.coupon.entity.CmCouponClub;
- import com.caimei.modules.coupon.entity.CmCouponRedemptionCode;
- import com.thinkgem.jeesite.common.persistence.Page;
- import com.thinkgem.jeesite.common.service.CrudService;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import org.springframework.transaction.annotation.Transactional;
- import java.util.Date;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- /**
- * 优惠券管理Service
- *
- * @author plf
- * @version 2021-08-10
- */
- @Service
- @Transactional(readOnly = true)
- public class CmCouponClubService extends CrudService<CmCouponClubDao, CmCouponClub> {
- @Autowired
- private CmCouponClubDao cmCouponClubDao;
- public CmCouponClub get(String id) {
- return super.get(id);
- }
- public List<CmCouponClub> findList(CmCouponClub cmCouponClub) {
- return super.findList(cmCouponClub);
- }
- public Page<CmCouponClub> findPage(Page<CmCouponClub> page, CmCouponClub cmCouponClub) {
- return super.findPage(page, cmCouponClub);
- }
- @Transactional(readOnly = false)
- public void save(CmCouponClub cmCouponClub) {
- super.save(cmCouponClub);
- }
- public Page<CmCouponClub> receivingUserList(Page<CmCouponClub> cmCouponClubPage, CmCouponClub cmCouponClub) {
- cmCouponClub.setPage(cmCouponClubPage);
- List<CmCouponClub> couponClubList = cmCouponClubDao.receivingUserList(cmCouponClub);
- cmCouponClubPage.setList(couponClubList);
- return cmCouponClubPage;
- }
- public Page<CmCouponClub> findCouponDetails(Page<CmCouponClub> couponClubPage, CmCouponClub cmCouponClub) {
- cmCouponClub.setPage(couponClubPage);
- List<CmCouponClub> couponList = cmCouponClubDao.findClubCoupon(cmCouponClub);
- if (couponList != null && couponList.size() > 0) {
- Date date = new Date();
- couponList.forEach(couponClub -> {
- if ("2".equals(couponClub.getCouponStatus())) {
- if (date.compareTo(couponClub.getStartDate()) < 0) {
- couponClub.setCouponStatus("0");
- } else if (date.compareTo(couponClub.getEndDate()) > 0) {
- couponClub.setCouponStatus("3");
- } else {
- couponClub.setCouponStatus("1");
- }
- }
- });
- }
- couponClubPage.setList(couponList);
- return couponClubPage;
- }
- @Transactional(readOnly = false)
- public Map<String, Object> redeemCoupons(CmCouponRedemptionCode redemptionCode) {
- Map<String, Object> map = new HashMap<>();
- CmCouponRedemptionCode cmCouponRedemptionCode = cmCouponClubDao.findCouponRedemptionCode(redemptionCode.getRedemptionCode());
- if (cmCouponRedemptionCode == null) {
- map.put("code", -1);
- map.put("msg", "请输入正确的兑换码");
- return map;
- }
- if ("2".equals(cmCouponRedemptionCode.getStatus())) {
- map.put("code", -1);
- map.put("msg", "兑换码已使用,请更换兑换码进行兑换");
- return map;
- }
- CmCoupon coupon = cmCouponClubDao.getCoupons(redemptionCode.getCouponId());
- Date date = new Date();
- if (coupon == null || date.compareTo(coupon.getStartDate()) < 0 || date.compareTo(coupon.getEndDate()) > 0) {
- map.put("code", -1);
- map.put("msg", "兑换的优惠券已失效");
- return map;
- }
- CmCouponClub couponClub = new CmCouponClub();
- couponClub.setCouponId(redemptionCode.getCouponId());
- couponClub.setUserId(redemptionCode.getUserId());
- couponClub.setSource("4");
- couponClub.setStatus("1");
- couponClub.setCreateDate(new Date());
- couponClub.setDelFlag("0");
- cmCouponClubDao.insertCouponClub(couponClub);
- cmCouponClubDao.updateRedemptionCode(cmCouponRedemptionCode.getId(), couponClub.getId());
- map.put("code", 0);
- map.put("msg", "优惠券兑换成功");
- return map;
- }
- }
|