Commit a0878418 by 吕明尚

Merge branch 'dev' into test

parents f4a0854f e5b2b132
...@@ -23,6 +23,7 @@ import share.common.enums.CouponTypeEnum; ...@@ -23,6 +23,7 @@ import share.common.enums.CouponTypeEnum;
import share.common.enums.RoomType; import share.common.enums.RoomType;
import share.common.enums.StoreType; import share.common.enums.StoreType;
import share.system.domain.SCoupon; import share.system.domain.SCoupon;
import share.system.domain.vo.SCouponVo;
import share.system.service.ISCouponService; import share.system.service.ISCouponService;
import share.common.utils.poi.ExcelUtil; import share.common.utils.poi.ExcelUtil;
import share.common.core.page.TableDataInfo; import share.common.core.page.TableDataInfo;
...@@ -58,10 +59,7 @@ public class SCouponController extends BaseController ...@@ -58,10 +59,7 @@ public class SCouponController extends BaseController
@PreAuthorize("@ss.hasPermi('system:coupon:list')") @PreAuthorize("@ss.hasPermi('system:coupon:list')")
@GetMapping("/list/duration") @GetMapping("/list/duration")
public TableDataInfo listDuration(SCoupon sCoupon) { public TableDataInfo listDuration(SCoupon sCoupon) {
startPage(); return sCouponService.listDuration(sCoupon);
sCoupon.setCouponType(CouponTypeEnum.DURATION.getCode());
List<SCoupon> list = sCouponService.listDuration(sCoupon);
return getDataTable(list);
} }
/** /**
......
package share.system.domain.vo;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import share.common.annotation.Excel;
import share.common.core.domain.BaseEntity;
import share.system.domain.SCoupon;
import java.math.BigDecimal;
import java.util.Date;
/**
* 优惠券对象 s_coupon
*
* @author ruoyi
* @date 2023-09-27
*/
@Data
public class SCouponVo extends SCoupon {
private Integer givNumber;
}
...@@ -5,6 +5,7 @@ import java.util.List; ...@@ -5,6 +5,7 @@ import java.util.List;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import share.system.domain.SCoupon; import share.system.domain.SCoupon;
import share.system.domain.SmsLog; import share.system.domain.SmsLog;
import share.system.domain.vo.SCouponVo;
/** /**
* 优惠券Mapper接口 * 优惠券Mapper接口
......
...@@ -3,8 +3,10 @@ package share.system.service; ...@@ -3,8 +3,10 @@ package share.system.service;
import java.util.List; import java.util.List;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import share.common.core.page.TableDataInfo;
import share.system.domain.DeviceLog; import share.system.domain.DeviceLog;
import share.system.domain.SCoupon; import share.system.domain.SCoupon;
import share.system.domain.vo.SCouponVo;
/** /**
* 优惠券Service接口 * 优惠券Service接口
...@@ -73,7 +75,7 @@ public interface ISCouponService extends IService<SCoupon> ...@@ -73,7 +75,7 @@ public interface ISCouponService extends IService<SCoupon>
List<SCoupon> queryShopDeal(); List<SCoupon> queryShopDeal();
List<SCoupon> listDuration(SCoupon sCoupon); TableDataInfo listDuration(SCoupon sCoupon);
List<SCoupon> selectSCouponByDealgroupId(Long dealgroupId); List<SCoupon> selectSCouponByDealgroupId(Long dealgroupId);
} }
...@@ -10,23 +10,24 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; ...@@ -10,23 +10,24 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dianping.openapi.sdk.api.tuangou.entity.TuangouDealQueryShopDealResponseEntity; import com.dianping.openapi.sdk.api.tuangou.entity.TuangouDealQueryShopDealResponseEntity;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
import share.common.core.page.PageDomain;
import share.common.core.page.TableDataInfo;
import share.common.core.page.TableSupport;
import share.common.enums.CouponTypeEnum; import share.common.enums.CouponTypeEnum;
import share.common.enums.RoomType; import share.common.enums.RoomType;
import share.common.enums.StoreType; import share.common.enums.StoreType;
import share.common.utils.DateUtils; import share.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import share.system.domain.SStore; import share.system.domain.*;
import share.system.domain.SmsLog; import share.system.domain.vo.SCouponVo;
import share.system.domain.vo.SRoomVo;
import share.system.mapper.SCouponMapper; import share.system.mapper.SCouponMapper;
import share.system.domain.SCoupon;
import share.system.mapper.SmsLogMapper; import share.system.mapper.SmsLogMapper;
import share.system.service.ISCouponService; import share.system.service.*;
import share.system.service.ISStoreService;
import share.system.service.QPService;
import share.system.service.SmsLogService;
/** /**
* 优惠券Service业务层处理 * 优惠券Service业务层处理
...@@ -42,6 +43,8 @@ public class SCouponServiceImpl extends ServiceImpl<SCouponMapper, SCoupon> impl ...@@ -42,6 +43,8 @@ public class SCouponServiceImpl extends ServiceImpl<SCouponMapper, SCoupon> impl
private ISStoreService storeService; private ISStoreService storeService;
@Autowired @Autowired
private QPService qpService; private QPService qpService;
@Autowired
private ISConsumerCouponService sConsumerCouponService;
//默认时长 //默认时长
private static final String DEFAULT_DURATION = "0"; private static final String DEFAULT_DURATION = "0";
//默认折扣最大时长 //默认折扣最大时长
...@@ -216,8 +219,49 @@ public class SCouponServiceImpl extends ServiceImpl<SCouponMapper, SCoupon> impl ...@@ -216,8 +219,49 @@ public class SCouponServiceImpl extends ServiceImpl<SCouponMapper, SCoupon> impl
} }
@Override @Override
public List<SCoupon> listDuration(SCoupon sCoupon) { public TableDataInfo listDuration(SCoupon sCoupon) {
return sCouponMapper.listDuration(sCoupon); sCoupon.setCouponType(CouponTypeEnum.DURATION.getCode());
List<SCoupon> sCouponList = sCouponMapper.listDuration(sCoupon);
List<SCouponVo> sCouponVoList = convertDoListToVoList(sCouponList);
//获取sCouponVoList的id集合
List<Long> ids = sCouponVoList.stream().map(SCoupon::getId).collect(Collectors.toList());
List<SConsumerCoupon> sConsumerCoupons = sConsumerCouponService.list(new LambdaQueryWrapper<>(SConsumerCoupon.class).in(SConsumerCoupon::getCouponId, ids));
//统计每个couponId的出现次数
Map<Long, Long> collect = sConsumerCoupons.stream().collect(Collectors.groupingBy(SConsumerCoupon::getCouponId, Collectors.counting()));
sCouponVoList.stream().forEach(item -> {
Long count = collect.get(item.getId());
if (ObjectUtils.isEmpty(count)) {
item.setGivNumber(0);
} else {
item.setGivNumber(count.intValue());
}
});
PageDomain pageDomain = TableSupport.buildPageRequest();
Integer pageNum = pageDomain.getPageNum();
Integer pageSize = pageDomain.getPageSize();
sCouponVoList.sort(Comparator.comparing(SCouponVo::getCreateTime).reversed());
int start = (pageNum - 1) * pageSize;
int end = Math.min(start + pageSize, sCouponVoList.size());
List<SCouponVo> pagedList = sCouponVoList.subList(start, end);
TableDataInfo tableDataInfo = new TableDataInfo();
tableDataInfo.setRows(pagedList);
tableDataInfo.setTotal(sCouponVoList.size());
tableDataInfo.setCode(200);
tableDataInfo.setMsg("查询成功");
return tableDataInfo;
}
private List<SCouponVo> convertDoListToVoList(List<SCoupon> roomList) {
List<SCouponVo> voList = new ArrayList<>();
if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(roomList)) {
roomList.stream().forEach(o -> {
SCouponVo vo = new SCouponVo();
BeanUtils.copyProperties(o, vo);
voList.add(vo);
});
}
return voList;
} }
@Override @Override
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment