feat:h5领取食堂优惠券
This commit is contained in:
1 parent
cce4230f0d
commit
1344217733
16 files changed
+255
-26
No files matched your search
+7
@@ -11,8 +11,15 @@ public class ActCancelItemDto extends ActCancelItemEntity {
|
||||
|
||||
private List<Long> actIdList;
|
||||
|
||||
private List<String> actStatusList;
|
||||
|
||||
private List<Long> mchIdList;
|
||||
|
||||
private LocalDateTime[] cancelTimeList;
|
||||
|
||||
/**
|
||||
* 是否查询未过期的核销项
|
||||
*/
|
||||
private Boolean isFindNoExpire = false;
|
||||
|
||||
}
|
||||
+13
@@ -3,6 +3,19 @@ package com.bsd.pjcloud.wallet.api.dto.act;
|
||||
import com.bsd.pjcloud.wallet.api.entity.act.ActCouponRecordEntity;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class ActCouponRecordDto extends ActCouponRecordEntity {
|
||||
|
||||
/**
|
||||
* 是否查询未过期的核销项
|
||||
*/
|
||||
private Boolean isFindNoExpire = false;
|
||||
|
||||
private List<String> statusCodeList;
|
||||
|
||||
private LocalDateTime[] createTimeList;
|
||||
|
||||
}
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
package com.bsd.pjcloud.wallet.api.vo.act;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class ActUserTotalVo {
|
||||
|
||||
/**
|
||||
* 所有活动总数
|
||||
*/
|
||||
private Long allCount;
|
||||
|
||||
/**
|
||||
* 核销活动总数
|
||||
*/
|
||||
private Long cancelCount;
|
||||
|
||||
/**
|
||||
* 优惠券活动总数
|
||||
*/
|
||||
private Long couponCount;
|
||||
|
||||
}
|
||||
+14
@@ -9,6 +9,7 @@ import com.bsd.pjcloud.common.log.annotation.SysLog;
|
||||
import com.bsd.pjcloud.common.security.annotation.Inner;
|
||||
import com.bsd.pjcloud.common.security.service.PjcloudUser;
|
||||
import com.bsd.pjcloud.common.security.util.SecurityUtils;
|
||||
import com.bsd.pjcloud.wallet.api.constant.act.ActCancelStatusEnum;
|
||||
import com.bsd.pjcloud.wallet.api.dto.act.ActCancelItemDto;
|
||||
import com.bsd.pjcloud.wallet.api.entity.act.ActCancelItemEntity;
|
||||
import com.bsd.pjcloud.wallet.api.vo.act.ActCancelItemVo;
|
||||
@@ -22,6 +23,8 @@ import io.swagger.v3.oas.annotations.Operation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 核销活动项
|
||||
*/
|
||||
@@ -52,6 +55,17 @@ public class ActCancelItemController {
|
||||
|
||||
/* ************************************* start app start ************************************* */
|
||||
|
||||
@Operation(summary = "用户领取核销券列表", description = "用户领取核销券列表")
|
||||
@GetMapping("/app/user-list")
|
||||
public R<Page<ActCancelItemVo>> userList(@ParameterObject Page page) {
|
||||
PjcloudUser user = SecurityUtils.getUser();
|
||||
ActCancelItemDto dto = new ActCancelItemDto();
|
||||
dto.setReceiverUserId(user.getId());
|
||||
dto.setActStatusList(List.of(ActCancelStatusEnum.CANCEL_AWAIT.getCode()));
|
||||
dto.setIsFindNoExpire(true);
|
||||
return R.ok(actCancelItemService.pageList(page, dto));
|
||||
}
|
||||
|
||||
@Operation(summary = "app领取优惠券", description = "app领取优惠券")
|
||||
@PostMapping("/app/get")
|
||||
@Idempotent(expireTime = 2, key = "'/act/cancel/app/get/' + #dto.getReceiverUserId()", info = "正在领取中,请勿重复操作")
|
||||
|
||||
+9
@@ -8,6 +8,7 @@ import com.bsd.pjcloud.wallet.api.constant.act.ActTypeEnum;
|
||||
import com.bsd.pjcloud.wallet.api.constant.act.ActUserReceiveEnum;
|
||||
import com.bsd.pjcloud.wallet.api.vo.act.ActCouponVo;
|
||||
import com.bsd.pjcloud.wallet.api.vo.act.ActSimpleNotfiyVo;
|
||||
import com.bsd.pjcloud.wallet.api.vo.act.ActUserTotalVo;
|
||||
import com.bsd.pjcloud.wallet.service.ActComService;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.security.SecurityRequirement;
|
||||
@@ -50,4 +51,12 @@ public class ActComController {
|
||||
return R.ok(actComService.isEligibleForAct(actType, actId, user.getId()));
|
||||
}
|
||||
|
||||
@Operation(summary = "用户参加活动的数量统计", description = "用户参加活动的数量统计")
|
||||
@GetMapping("/app/user-total")
|
||||
public R<ActUserTotalVo> userTotal() {
|
||||
PjcloudUser user = SecurityUtils.getUser();
|
||||
return R.ok(actComService.userTotal(user.getId()));
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
+17
-24
@@ -10,9 +10,14 @@ import com.bsd.pjcloud.common.idempotent.annotation.Idempotent;
|
||||
import com.bsd.pjcloud.common.log.annotation.SysLog;
|
||||
import com.bsd.pjcloud.common.security.service.PjcloudUser;
|
||||
import com.bsd.pjcloud.common.security.util.SecurityUtils;
|
||||
import com.bsd.pjcloud.wallet.api.constant.act.ActCancelStatusEnum;
|
||||
import com.bsd.pjcloud.wallet.api.constant.act.ActCouponRecordStatusEnum;
|
||||
import com.bsd.pjcloud.wallet.api.dto.act.ActCancelItemDto;
|
||||
import com.bsd.pjcloud.wallet.api.dto.act.ActCouponReceiveDto;
|
||||
import com.bsd.pjcloud.wallet.api.dto.act.ActCouponRecordDto;
|
||||
import com.bsd.pjcloud.wallet.api.entity.act.ActCouponRecordEntity;
|
||||
import com.bsd.pjcloud.wallet.api.vo.act.ActCancelItemVo;
|
||||
import com.bsd.pjcloud.wallet.api.vo.act.ActCouponRecordVo;
|
||||
import com.bsd.pjcloud.wallet.service.ActCouponRecordService;
|
||||
import jakarta.validation.Valid;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
@@ -50,6 +55,16 @@ public class ActCouponRecordController {
|
||||
return R.ok(actCouponRecordService.appReceive(dto));
|
||||
}
|
||||
|
||||
@Operation(summary = "用户领取核销券列表", description = "用户领取核销券列表")
|
||||
@GetMapping("/app/user-list")
|
||||
public R<Page<ActCouponRecordVo>> userList(@ParameterObject Page page) {
|
||||
PjcloudUser user = SecurityUtils.getUser();
|
||||
ActCouponRecordDto dto = new ActCouponRecordDto();
|
||||
dto.setUserId(user.getId());
|
||||
dto.setStatusCodeList(List.of(ActCouponRecordStatusEnum.UNUSED.getCode()));
|
||||
dto.setIsFindNoExpire(true);
|
||||
return R.ok(actCouponRecordService.pageList(page, dto));
|
||||
}
|
||||
|
||||
/* ************************************* end app end ************************************* */
|
||||
|
||||
@@ -59,9 +74,8 @@ public class ActCouponRecordController {
|
||||
@Operation(summary = "分页查询", description = "分页查询")
|
||||
@GetMapping("/page")
|
||||
@PreAuthorize("@pms.hasPermission('wallet_actCouponRecord_view')")
|
||||
public R getActCouponRecordPage(@ParameterObject Page page, @ParameterObject ActCouponRecordDto dto) {
|
||||
LambdaQueryWrapper<ActCouponRecordEntity> wrapper = Wrappers.lambdaQuery();
|
||||
return R.ok(actCouponRecordService.page(page, wrapper));
|
||||
public R<Page<ActCouponRecordVo>> getActCouponRecordPage(@ParameterObject Page page, @ParameterObject ActCouponRecordDto dto) {
|
||||
return R.ok(actCouponRecordService.pageList(page, dto));
|
||||
}
|
||||
|
||||
|
||||
@@ -75,27 +89,6 @@ public class ActCouponRecordController {
|
||||
return R.ok(actCouponRecordService.getById(id));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增优惠券领取记录表
|
||||
*/
|
||||
@Operation(summary = "新增优惠券领取记录表", description = "新增优惠券领取记录表")
|
||||
@SysLog("新增优惠券领取记录表")
|
||||
@PostMapping
|
||||
@PreAuthorize("@pms.hasPermission('wallet_actCouponRecord_add')")
|
||||
public R save(@RequestBody ActCouponRecordEntity actCouponRecord) {
|
||||
return R.ok(actCouponRecordService.save(actCouponRecord));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改优惠券领取记录表
|
||||
*/
|
||||
@Operation(summary = "修改优惠券领取记录表", description = "修改优惠券领取记录表")
|
||||
@SysLog("修改优惠券领取记录表")
|
||||
@PutMapping
|
||||
@PreAuthorize("@pms.hasPermission('wallet_actCouponRecord_edit')")
|
||||
public R updateById(@RequestBody ActCouponRecordEntity actCouponRecord) {
|
||||
return R.ok(actCouponRecordService.updateById(actCouponRecord));
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id删除优惠券领取记录表
|
||||
|
||||
+1
@@ -15,4 +15,5 @@ public interface ActCancelItemMapper extends PjcloudBaseMapper<ActCancelItemEnti
|
||||
|
||||
List<ActCancelItemCountVo> count(@Param("dto") ActCancelItemDto dto);
|
||||
|
||||
Long userTotal(@Param("userId") Long userId, @Param("statusCodeList") List<String> statusCodeList);
|
||||
}
|
||||
+8
@@ -1,11 +1,19 @@
|
||||
package com.bsd.pjcloud.wallet.mapper.act;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.bsd.pjcloud.common.data.datascope.PjcloudBaseMapper;
|
||||
import com.bsd.pjcloud.wallet.api.dto.act.ActCouponRecordDto;
|
||||
import com.bsd.pjcloud.wallet.api.entity.act.ActCouponRecordEntity;
|
||||
import com.bsd.pjcloud.wallet.api.vo.act.ActCouponRecordVo;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Mapper
|
||||
public interface ActCouponRecordMapper extends PjcloudBaseMapper<ActCouponRecordEntity> {
|
||||
|
||||
Page<ActCouponRecordVo> pageList(Page page, @Param("dto") ActCouponRecordDto dto);
|
||||
|
||||
Long userTotal(@Param("userId") Long userId, @Param("statusCodeList") List<String> statusCodeList);
|
||||
}
|
||||
+5
@@ -42,4 +42,9 @@ public interface ActCancelItemService extends IService<ActCancelItemEntity> {
|
||||
* 查询详情
|
||||
*/
|
||||
ActCancelItemVo getDetail(Long cancelId);
|
||||
|
||||
/**
|
||||
* 用户参加活动的数量统计
|
||||
*/
|
||||
Long userTotal(Long userId);
|
||||
}
|
||||
+6
@@ -3,6 +3,7 @@ package com.bsd.pjcloud.wallet.service;
|
||||
|
||||
import com.bsd.pjcloud.wallet.api.constant.act.ActTypeEnum;
|
||||
import com.bsd.pjcloud.wallet.api.vo.act.ActSimpleNotfiyVo;
|
||||
import com.bsd.pjcloud.wallet.api.vo.act.ActUserTotalVo;
|
||||
|
||||
public interface ActComService {
|
||||
|
||||
@@ -20,4 +21,9 @@ public interface ActComService {
|
||||
* 判断用户是否可以参加活动
|
||||
*/
|
||||
String isEligibleForAct(ActTypeEnum actType, Long actId, Long userId);
|
||||
|
||||
/**
|
||||
* 用户参加活动的数量统计
|
||||
*/
|
||||
ActUserTotalVo userTotal(Long userId);
|
||||
}
|
||||
+14
@@ -1,12 +1,20 @@
|
||||
package com.bsd.pjcloud.wallet.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.bsd.pjcloud.wallet.api.constant.act.ActUserReceiveEnum;
|
||||
import com.bsd.pjcloud.wallet.api.dto.act.ActCouponReceiveDto;
|
||||
import com.bsd.pjcloud.wallet.api.dto.act.ActCouponRecordDto;
|
||||
import com.bsd.pjcloud.wallet.api.entity.act.ActCouponRecordEntity;
|
||||
import com.bsd.pjcloud.wallet.api.vo.act.ActCouponRecordVo;
|
||||
|
||||
public interface ActCouponRecordService extends IService<ActCouponRecordEntity> {
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
*/
|
||||
Page<ActCouponRecordVo> pageList(Page page, ActCouponRecordDto dto);
|
||||
|
||||
/**
|
||||
* 领取优惠券
|
||||
*/
|
||||
@@ -16,4 +24,10 @@ public interface ActCouponRecordService extends IService<ActCouponRecordEntity>
|
||||
* 判断用户是否可以参加活动
|
||||
*/
|
||||
ActUserReceiveEnum isEligibleForAct(Long actId, Long userId);
|
||||
|
||||
/**
|
||||
* 用户参加活动的数量统计
|
||||
*/
|
||||
Long userTotal(Long userId);
|
||||
|
||||
}
|
||||
+14
-1
@@ -1,6 +1,8 @@
|
||||
package com.bsd.pjcloud.wallet.service.impl.act;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.date.DatePattern;
|
||||
import cn.hutool.core.date.LocalDateTimeUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
@@ -15,6 +17,7 @@ import com.bsd.pjcloud.common.core.util.CollectionUtils;
|
||||
import com.bsd.pjcloud.common.security.service.PjcloudUser;
|
||||
import com.bsd.pjcloud.wallet.api.constant.WalletTypeEnum;
|
||||
import com.bsd.pjcloud.wallet.api.constant.act.ActCancelStatusEnum;
|
||||
import com.bsd.pjcloud.wallet.api.constant.act.ActCouponRecordStatusEnum;
|
||||
import com.bsd.pjcloud.wallet.api.constant.act.ActStatusEnum;
|
||||
import com.bsd.pjcloud.wallet.api.constant.act.ActUserReceiveEnum;
|
||||
import com.bsd.pjcloud.wallet.api.dto.act.ActCancelItemDto;
|
||||
@@ -67,6 +70,8 @@ public class ActCancelItemServiceImpl extends ServiceImpl<ActCancelItemMapper, A
|
||||
.like(ObjectUtil.isNotEmpty(dto.getReceiverUserName()), ActCancelItemEntity::getReceiverUserName, dto.getReceiverUserName())
|
||||
.eq(ObjectUtil.isNotEmpty(dto.getCancelUserId()), ActCancelItemEntity::getCancelUserId, dto.getCancelUserId())
|
||||
.eq(ObjectUtil.isNotEmpty(dto.getActStatus()), ActCancelItemEntity::getActStatus, dto.getActStatus())
|
||||
.in(ObjectUtil.isNotEmpty(dto.getActStatusList()), ActCancelItemEntity::getActStatus, dto.getActStatusList())
|
||||
.ge(ObjectUtil.isNotEmpty(dto.getIsFindNoExpire()) && dto.getIsFindNoExpire(), ActCancelItemEntity::getExpireTime, LocalDateTimeUtil.format(LocalDateTime.now(), DatePattern.NORM_DATETIME_PATTERN))
|
||||
.orderByDesc(ActCancelItemEntity::getReceiverTime)
|
||||
.orderByDesc(ActCancelItemEntity::getId)
|
||||
);
|
||||
@@ -315,7 +320,15 @@ public class ActCancelItemServiceImpl extends ServiceImpl<ActCancelItemMapper, A
|
||||
return result;
|
||||
}
|
||||
|
||||
// 判断车牌号是否重复
|
||||
/**
|
||||
* 用户参加活动的数量统计
|
||||
*/
|
||||
@Override
|
||||
public Long userTotal(Long userId) {
|
||||
return baseMapper.userTotal(userId, List.of(ActCancelStatusEnum.CANCEL_AWAIT.getCode()));
|
||||
}
|
||||
|
||||
// 判断用户是否已领取
|
||||
private boolean existAct(Long userId, Long actId) {
|
||||
Long count = baseMapper.selectCount(new LambdaQueryWrapper<ActCancelItemEntity>()
|
||||
.eq(ObjectUtil.isNotEmpty(userId), ActCancelItemEntity::getReceiverUserId, userId)
|
||||
|
||||
+17
@@ -6,6 +6,7 @@ import com.bsd.pjcloud.wallet.api.constant.act.ActUserReceiveEnum;
|
||||
import com.bsd.pjcloud.wallet.api.entity.act.ActCancelEntity;
|
||||
import com.bsd.pjcloud.wallet.api.entity.act.ActCouponEntity;
|
||||
import com.bsd.pjcloud.wallet.api.vo.act.ActSimpleNotfiyVo;
|
||||
import com.bsd.pjcloud.wallet.api.vo.act.ActUserTotalVo;
|
||||
import com.bsd.pjcloud.wallet.service.*;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -98,4 +99,20 @@ public class ActComServiceImpl implements ActComService {
|
||||
}
|
||||
return status.getCode();
|
||||
}
|
||||
|
||||
/**
|
||||
* 用户参加活动的数量统计
|
||||
*/
|
||||
@Override
|
||||
public ActUserTotalVo userTotal(Long userId) {
|
||||
ActUserTotalVo result = new ActUserTotalVo();
|
||||
// 查询用户参加核销活动的总数
|
||||
Long cancelCount = actCancelItemService.userTotal(userId);
|
||||
// 查询用户参加优惠券活动的总数
|
||||
Long couponCount = actCouponRecordService.userTotal(userId);
|
||||
result.setCancelCount(cancelCount);
|
||||
result.setCouponCount(couponCount);
|
||||
result.setAllCount(cancelCount + couponCount);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
+28
-1
@@ -1,6 +1,7 @@
|
||||
package com.bsd.pjcloud.wallet.service.impl.act;
|
||||
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.bsd.pjcloud.admin.api.dto.UserInfo;
|
||||
import com.bsd.pjcloud.admin.api.entity.SysUser;
|
||||
@@ -8,12 +9,15 @@ import com.bsd.pjcloud.admin.api.feign.RemoteUserService;
|
||||
import com.bsd.pjcloud.common.core.constant.enums.MerchantTypeEnum;
|
||||
import com.bsd.pjcloud.common.core.exception.ServiceException;
|
||||
import com.bsd.pjcloud.wallet.api.constant.WalletBizEnum;
|
||||
import com.bsd.pjcloud.wallet.api.constant.act.ActCouponRecordStatusEnum;
|
||||
import com.bsd.pjcloud.wallet.api.constant.act.ActUserReceiveEnum;
|
||||
import com.bsd.pjcloud.wallet.api.dto.WalletTransactionDto;
|
||||
import com.bsd.pjcloud.wallet.api.dto.act.ActCouponReceiveDto;
|
||||
import com.bsd.pjcloud.wallet.api.dto.act.ActCouponRecordDto;
|
||||
import com.bsd.pjcloud.wallet.api.entity.act.ActCouponEntity;
|
||||
import com.bsd.pjcloud.wallet.api.entity.act.ActCouponRecordEntity;
|
||||
import com.bsd.pjcloud.wallet.api.vo.MchManageVo;
|
||||
import com.bsd.pjcloud.wallet.api.vo.act.ActCouponRecordVo;
|
||||
import com.bsd.pjcloud.wallet.api.vo.transaction.WalletTransactionVo;
|
||||
import com.bsd.pjcloud.wallet.mapper.WalletTransactionMapper;
|
||||
import com.bsd.pjcloud.wallet.mapper.act.ActCouponMapper;
|
||||
@@ -46,6 +50,14 @@ public class ActCouponRecordServiceImpl extends ServiceImpl<ActCouponRecordMappe
|
||||
|
||||
private final RemoteUserService remoteUserService;
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
*/
|
||||
@Override
|
||||
public Page<ActCouponRecordVo> pageList(Page page, ActCouponRecordDto dto) {
|
||||
return baseMapper.pageList(page, dto);
|
||||
}
|
||||
|
||||
/**
|
||||
* 领取优惠券
|
||||
*/
|
||||
@@ -76,6 +88,9 @@ public class ActCouponRecordServiceImpl extends ServiceImpl<ActCouponRecordMappe
|
||||
}
|
||||
|
||||
public ActUserReceiveEnum specialCoupon(ActCouponEntity actCouponEntity, SysUser sysUser) {
|
||||
if (true) {
|
||||
return null;
|
||||
}
|
||||
// 食堂生日券
|
||||
if (ObjectUtil.equals(actCouponEntity.getUniqueCode(), "1qRgFo")) {
|
||||
// 判断是否为食堂用户
|
||||
@@ -112,9 +127,21 @@ public class ActCouponRecordServiceImpl extends ServiceImpl<ActCouponRecordMappe
|
||||
UserInfo userInfo = remoteUserService.getByUserId(userId).getData();
|
||||
ActCouponEntity actCouponEntity = actCouponMapper.selectById(actId);
|
||||
if (ObjectUtil.isNotEmpty(userInfo) && ObjectUtil.isNotEmpty(actCouponEntity)) {
|
||||
userReceiveEnum = specialCoupon(actCouponEntity, userInfo.getSysUser());
|
||||
ActUserReceiveEnum specialCouponStatus = specialCoupon(actCouponEntity, userInfo.getSysUser());
|
||||
if (ObjectUtil.isNotEmpty(specialCouponStatus)) {
|
||||
userReceiveEnum = specialCouponStatus;
|
||||
}
|
||||
}
|
||||
}
|
||||
return userReceiveEnum;
|
||||
}
|
||||
|
||||
/**
|
||||
* 用户参加活动的数量统计
|
||||
*/
|
||||
@Override
|
||||
public Long userTotal(Long userId) {
|
||||
return baseMapper.userTotal(userId, List.of(ActCouponRecordStatusEnum.UNUSED.getCode()));
|
||||
}
|
||||
|
||||
}
|
||||
+14
@@ -62,4 +62,18 @@
|
||||
group by a.act_id
|
||||
</select>
|
||||
|
||||
<select id="userTotal" resultType="java.lang.Long">
|
||||
select count(*)
|
||||
from act_cancel_item a
|
||||
where a.del_flag = '0'
|
||||
and a.expire_time >= now()
|
||||
and a.receiver_user_id = #{userId}
|
||||
<if test="statusCodeList != null and statusCodeList.size() != 0">
|
||||
and a.act_status in
|
||||
<foreach collection="statusCodeList" item="v" open="(" close=")" separator=",">
|
||||
#{v}
|
||||
</foreach>
|
||||
</if>
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
+65
@@ -3,8 +3,73 @@
|
||||
|
||||
<mapper namespace="com.bsd.pjcloud.wallet.mapper.act.ActCouponRecordMapper">
|
||||
<sql id="selectA">
|
||||
select a.id,
|
||||
a.coupon_id,
|
||||
a.user_id,
|
||||
a.user_name,
|
||||
a.coupon_code,
|
||||
a.status,
|
||||
a.coupon_name,
|
||||
a.coupon_type,
|
||||
a.face_value,
|
||||
a.min_point,
|
||||
a.start_time,
|
||||
a.end_time,
|
||||
a.use_time,
|
||||
a.order_id,
|
||||
a.use_amount,
|
||||
a.create_by,
|
||||
a.create_time,
|
||||
a.update_by,
|
||||
a.update_time,
|
||||
a.del_flag,
|
||||
a.tenant_id
|
||||
</sql>
|
||||
|
||||
<sql id="whereA">
|
||||
a.del_flag = '0'
|
||||
<if test="dto.couponId != null">
|
||||
and a.coupon_id = #{dto.couponId}
|
||||
</if>
|
||||
<if test="dto.userId != null">
|
||||
and a.user_id = #{dto.userId}
|
||||
</if>
|
||||
<if test="dto.status != null and dto.status != '' ">
|
||||
and a.status = #{dto.status}
|
||||
</if>
|
||||
<if test="dto.isFindNoExpire != null and dto.isFindNoExpire == true ">
|
||||
and a.end_time >= now()
|
||||
</if>
|
||||
<if test="dto.statusCodeList != null and dto.statusCodeList.size() != 0">
|
||||
and a.status IN
|
||||
<foreach collection="dto.statusCodeList" item="v" open="(" close=")" separator=",">
|
||||
#{v}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="dto.createTimeList != null and dto.createTimeList.length == 2">
|
||||
and a.create_time between #{dto.createTimeList[0]} and #{dto.createTimeList[1]}
|
||||
</if>
|
||||
</sql>
|
||||
|
||||
<select id="pageList" resultType="com.bsd.pjcloud.wallet.api.vo.act.ActCouponRecordVo">
|
||||
<include refid="selectA"/>
|
||||
from act_coupon_record a
|
||||
<where>
|
||||
<include refid="whereA"/>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="userTotal" resultType="java.lang.Long">
|
||||
select count(0)
|
||||
from act_coupon_record a
|
||||
where a.del_flag = '0'
|
||||
and a.end_time >= now()
|
||||
and a.user_id = #{userId}
|
||||
<if test="statusCodeList != null and statusCodeList.size() != 0">
|
||||
and a.status IN
|
||||
<foreach collection="statusCodeList" item="v" open="(" close=")" separator=",">
|
||||
#{v}
|
||||
</foreach>
|
||||
</if>
|
||||
</select>
|
||||
</mapper>
|
||||
Reference in new issue
Block a user