master:档口购买正式版 或 会员内容调整;

pull/1121/head
liujiang 2025-11-05 22:00:42 +08:00
parent 3fe665d7a8
commit ef30d6b279
8 changed files with 32 additions and 60 deletions

View File

@ -100,9 +100,9 @@ public class StoreController extends XktBaseController {
}
@ApiOperation(value = "档口过期时间", httpMethod = "GET", response = R.class)
@GetMapping(value = "/expire/{storeId}/{target}")
public R<StoreExpireResVO> getExpireInfo(@PathVariable("storeId") Long storeId, @PathVariable("target") Integer target) {
return R.ok(BeanUtil.toBean(storeService.getExpireInfo(storeId, target), StoreExpireResVO.class));
@GetMapping(value = "/expire/{storeId}")
public R<StoreExpireResVO> getExpireInfo(@PathVariable("storeId") Long storeId) {
return R.ok(BeanUtil.toBean(storeService.getExpireInfo(storeId), StoreExpireResVO.class));
}

View File

@ -53,13 +53,6 @@ public class StoreMemberController extends XktBaseController {
}
@PreAuthorize("@ss.hasAnyRoles('admin,general_admin,store')||@ss.hasSupplierSubRole()")
@ApiOperation(value = "获取档口会员过期时间", httpMethod = "GET", response = R.class)
@GetMapping("/expire/{storeId}")
public R<StoreMemberExpireResVO> expire(@PathVariable Long storeId) {
return R.ok(BeanUtil.toBean(storeMemberService.expire(storeId), StoreMemberExpireResVO.class));
}
// TODO 每天获取档口会员过期提醒
// TODO 每天获取档口会员过期提醒

View File

@ -18,9 +18,13 @@ public class StoreExpireResVO {
@ApiModelProperty(value = "档口ID")
private Long storeId;
@ApiModelProperty(value = "目标 1[正式版] 2[实力质造会员]")
private Integer target;
@ApiModelProperty(value = "试用过期时间 正式版过期时间 会员过期时间")
@ApiModelProperty(value = "试用过期时间 正式版过期时间")
private Date serviceEndTime;
@ApiModelProperty(value = "试用金额 正式版金额")
private BigDecimal serviceAmount;
@ApiModelProperty(value = "会员过期时间")
private Date memberEndTime;
@ApiModelProperty(value = "会员金额")
private BigDecimal memberAmount;
}

View File

@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import java.math.BigDecimal;
import java.util.Date;
/**
@ -19,9 +20,13 @@ public class StoreExpireResDTO {
@ApiModelProperty(value = "档口ID")
private Long storeId;
@ApiModelProperty(value = "目标 1[正式版] 2[实力质造会员]")
private Integer target;
@ApiModelProperty(value = "试用过期时间 正式版过期时间 会员过期时间")
@ApiModelProperty(value = "试用过期时间 正式版过期时间")
private Date serviceEndTime;
@ApiModelProperty(value = "试用金额 正式版金额")
private BigDecimal serviceAmount;
@ApiModelProperty(value = "会员过期时间")
private Date memberEndTime;
@ApiModelProperty(value = "会员金额")
private BigDecimal memberAmount;
}

View File

@ -30,11 +30,4 @@ public interface IStoreMemberService {
*/
Page<StoreMemberPageResDTO> page(StoreMemberPageDTO pageDTO);
/**
*
*
* @param storeId ID
* @return StoreMemberExpireResDTO
*/
StoreMemberExpireResDTO expire(Long storeId);
}

View File

@ -196,8 +196,7 @@ public interface IStoreService {
*
*
* @param storeId ID
* @param target 1[] 2[]
* @return StoreExpireResDTO
*/
StoreExpireResDTO getExpireInfo(Long storeId, Integer target);
StoreExpireResDTO getExpireInfo(Long storeId);
}

View File

@ -135,25 +135,5 @@ public class StoreMemberServiceImpl implements IStoreMemberService {
: Page.convert(new PageInfo<>(list));
}
/**
*
*
* @param storeId ID
* @return StoreMemberExpireResDTO
*/
@Override
@Transactional(readOnly = true)
public StoreMemberExpireResDTO expire(Long storeId) {
// 用户是否为档口管理者或子账户
if (!SecurityUtils.isAdmin() && !SecurityUtils.isStoreManagerOrSub(storeId)) {
throw new ServiceException("当前用户非管理员账号,无权限操作!", HttpStatus.ERROR);
}
Date todayStart = Date.from(LocalDate.now().atStartOfDay(ZoneId.systemDefault()).toInstant());
StoreMember storeMember = this.storeMemberMapper.selectOne(new LambdaQueryWrapper<StoreMember>()
.eq(StoreMember::getStoreId, storeId).eq(StoreMember::getDelFlag, Constants.UNDELETED)
.le(StoreMember::getStartTime, todayStart));
return BeanUtil.toBean(storeMember, StoreMemberExpireResDTO.class);
}
}

View File

@ -434,26 +434,24 @@ public class StoreServiceImpl implements IStoreService {
*
*
* @param storeId ID
* @param target 1[] 2[]
* @return StoreExpireResDTO
*/
@Override
@Transactional(readOnly = true)
public StoreExpireResDTO getExpireInfo(Long storeId, Integer target) {
public StoreExpireResDTO getExpireInfo(Long storeId) {
Store store = Optional.ofNullable(storeMapper.selectById(storeId)).orElseThrow(() -> new ServiceException("档口不存在!", HttpStatus.ERROR));
StoreExpireResDTO expireDTO = new StoreExpireResDTO().setStoreId(storeId).setTarget(target);
// 购买正式版
if (Objects.equals(target, 1)) {
expireDTO.setServiceEndTime(store.getServiceEndTime());
// 购买档口会员
} else if (Objects.equals(target, 2)) {
// 获取档口会员
Date todayStart = Date.from(LocalDate.now().atStartOfDay(ZoneId.systemDefault()).toInstant());
StoreMember storeMember = this.storeMemberMapper.selectOne(new LambdaQueryWrapper<StoreMember>()
.eq(StoreMember::getStoreId, storeId).eq(StoreMember::getDelFlag, Constants.UNDELETED)
.le(StoreMember::getStartTime, todayStart));
expireDTO.setServiceEndTime(ObjectUtils.isNotEmpty(storeMember) ? storeMember.getEndTime() : null);
}
StoreExpireResDTO expireDTO = new StoreExpireResDTO().setStoreId(storeId).setServiceEndTime(store.getServiceEndTime());
// 获取档口会员
Date todayStart = Date.from(LocalDate.now().atStartOfDay(ZoneId.systemDefault()).toInstant());
StoreMember storeMember = this.storeMemberMapper.selectOne(new LambdaQueryWrapper<StoreMember>()
.eq(StoreMember::getStoreId, storeId).eq(StoreMember::getDelFlag, Constants.UNDELETED)
.le(StoreMember::getStartTime, todayStart));
expireDTO.setServiceEndTime(ObjectUtils.isNotEmpty(storeMember) ? storeMember.getEndTime() : null);
// TODO 获取购买正式版金额
// TODO 获取购买会员金额
return expireDTO;
}