init
This commit is contained in:
@@ -0,0 +1,63 @@
|
|||||||
|
package com.ruoyi.xq.controller.app;
|
||||||
|
|
||||||
|
import cn.dev33.satoken.annotation.SaIgnore;
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.ruoyi.common.annotation.Log;
|
||||||
|
import com.ruoyi.common.core.domain.PageModel;
|
||||||
|
import com.ruoyi.common.core.domain.PageQuery;
|
||||||
|
import com.ruoyi.common.core.domain.R;
|
||||||
|
import com.ruoyi.common.enums.BusinessType;
|
||||||
|
import com.ruoyi.common.helper.LoginHelper;
|
||||||
|
import com.ruoyi.common.utils.StringUtils;
|
||||||
|
import com.ruoyi.xq.dto.app.activity.ActivityShopAppInfo;
|
||||||
|
import com.ruoyi.xq.dto.app.activity.ActivityShopAppList;
|
||||||
|
import com.ruoyi.xq.dto.app.common.IdReq;
|
||||||
|
import com.ruoyi.xq.dto.app.im.ImMessageDTO;
|
||||||
|
import com.ruoyi.xq.dto.app.im.ImResp;
|
||||||
|
import com.ruoyi.xq.service.ActivityShopService;
|
||||||
|
import io.swagger.v3.oas.annotations.Operation;
|
||||||
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||||
|
import jdk.nashorn.internal.ir.annotations.Ignore;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
@Validated
|
||||||
|
@RestController
|
||||||
|
@Tag(name = "相亲会相关接口")
|
||||||
|
@RequestMapping("/xq/activity/matchmaking")
|
||||||
|
public class MatchmakingEventController {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private ActivityShopService activityShopService;
|
||||||
|
|
||||||
|
@GetMapping("/page")
|
||||||
|
@Operation(summary = "相亲会列表-分页")
|
||||||
|
@Log(title = "相亲会列表-分页", businessType = BusinessType.OTHER, isPrintResponseData = false, isSaveDb = false)
|
||||||
|
public R<PageModel<ActivityShopAppList>> page(PageQuery pageQuery){
|
||||||
|
IPage<ActivityShopAppList> page = activityShopService.pageApp(pageQuery);
|
||||||
|
return R.ok(PageModel.build(page));
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("/info")
|
||||||
|
@Operation(summary = "相亲详情")
|
||||||
|
@Log(title = "相亲会详情", businessType = BusinessType.OTHER, isPrintResponseData = false, isSaveDb = false)
|
||||||
|
@SaIgnore
|
||||||
|
public R<ActivityShopAppInfo> info(Long activityId, String activityCode){
|
||||||
|
if(activityId == null && StringUtils.isEmpty(activityCode)){
|
||||||
|
return R.ok();
|
||||||
|
}
|
||||||
|
ActivityShopAppInfo info = activityShopService.info(activityId, activityCode);
|
||||||
|
return R.ok(info);
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/join")
|
||||||
|
@Operation(summary = "参加相亲会")
|
||||||
|
@Log(title = "参加相亲会", businessType = BusinessType.OTHER)
|
||||||
|
public R<ActivityShopAppInfo> join(@RequestBody IdReq idReq){
|
||||||
|
Long userId = LoginHelper.getUserId();
|
||||||
|
activityShopService.join(userId,idReq.getId());
|
||||||
|
return R.ok();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,6 +1,5 @@
|
|||||||
package com.ruoyi.xq.controller.app;
|
package com.ruoyi.xq.controller.app;
|
||||||
|
|
||||||
import cn.dev33.satoken.annotation.SaIgnore;
|
|
||||||
import com.ruoyi.common.annotation.Log;
|
import com.ruoyi.common.annotation.Log;
|
||||||
import com.ruoyi.common.core.domain.R;
|
import com.ruoyi.common.core.domain.R;
|
||||||
import com.ruoyi.common.enums.BusinessType;
|
import com.ruoyi.common.enums.BusinessType;
|
||||||
|
|||||||
@@ -1,17 +1,12 @@
|
|||||||
package com.ruoyi.xq.domain;
|
package com.ruoyi.xq.domain;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.*;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
|
||||||
import java.io.Serializable;
|
|
||||||
import java.time.LocalDateTime;
|
|
||||||
import java.util.Date;
|
|
||||||
import java.math.BigDecimal;
|
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.Date;
|
import java.time.LocalDateTime;
|
||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
|
||||||
import com.ruoyi.common.core.domain.BaseEntity;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 相亲会订单对象 xq_activity_order
|
* 相亲会订单对象 xq_activity_order
|
||||||
@@ -77,7 +72,7 @@ public class ActivityOrder implements Serializable {
|
|||||||
/**
|
/**
|
||||||
* 支付时间
|
* 支付时间
|
||||||
*/
|
*/
|
||||||
private Date payTime;
|
private LocalDateTime payTime;
|
||||||
/**
|
/**
|
||||||
* appId
|
* appId
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -7,7 +7,6 @@ import lombok.Data;
|
|||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.util.Date;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 相亲会对象 xq_activity_shop
|
* 相亲会对象 xq_activity_shop
|
||||||
@@ -26,6 +25,8 @@ public class ActivityShop implements Serializable {
|
|||||||
*/
|
*/
|
||||||
@TableId(value = "id")
|
@TableId(value = "id")
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
|
private String activityCode;
|
||||||
/**
|
/**
|
||||||
* 活动标题
|
* 活动标题
|
||||||
*/
|
*/
|
||||||
@@ -37,11 +38,11 @@ public class ActivityShop implements Serializable {
|
|||||||
/**
|
/**
|
||||||
* 开始时间
|
* 开始时间
|
||||||
*/
|
*/
|
||||||
private Date startTime;
|
private LocalDateTime startTime;
|
||||||
/**
|
/**
|
||||||
* 结束时间
|
* 结束时间
|
||||||
*/
|
*/
|
||||||
private Date endTime;
|
private LocalDateTime endTime;
|
||||||
/**
|
/**
|
||||||
* 城市名称
|
* 城市名称
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package com.ruoyi.xq.dto.app.activity;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
@Data
|
||||||
|
public class ActivityShopAppInfo extends ActivityShopAppList {
|
||||||
|
/**
|
||||||
|
* 必须强制会员参与
|
||||||
|
*/
|
||||||
|
private Integer mustVip;
|
||||||
|
/**
|
||||||
|
* 必须强制实名用户参与
|
||||||
|
*/
|
||||||
|
private Integer mustAuth;
|
||||||
|
/**
|
||||||
|
* 费用说明
|
||||||
|
*/
|
||||||
|
private String priceText;
|
||||||
|
/**
|
||||||
|
* 已经参与女生人数
|
||||||
|
*/
|
||||||
|
private Integer joinWomenNum;
|
||||||
|
/**
|
||||||
|
* 已经参与男生人数
|
||||||
|
*/
|
||||||
|
private Integer joinManNum;
|
||||||
|
}
|
||||||
@@ -0,0 +1,71 @@
|
|||||||
|
package com.ruoyi.xq.dto.app.activity;
|
||||||
|
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class ActivityShopAppList implements Serializable {
|
||||||
|
|
||||||
|
@Schema(description = "id")
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
@Schema(description = "状态 0-未开始 1-已开始 2-已结束")
|
||||||
|
private Integer openStatus;
|
||||||
|
|
||||||
|
@Schema(description = "活动编码")
|
||||||
|
private String activityCode;
|
||||||
|
/**
|
||||||
|
* 活动标题
|
||||||
|
*/
|
||||||
|
@Schema(description = "活动标题")
|
||||||
|
private String activityTitle;
|
||||||
|
/**
|
||||||
|
* 活动展示图片
|
||||||
|
*/
|
||||||
|
@Schema(description = "活动展示图片")
|
||||||
|
private String activityBanner;
|
||||||
|
/**
|
||||||
|
* 开始时间
|
||||||
|
*/
|
||||||
|
@Schema(description = "开始时间")
|
||||||
|
private LocalDateTime startTime;
|
||||||
|
/**
|
||||||
|
* 结束时间
|
||||||
|
*/
|
||||||
|
@Schema(description = "结束时间")
|
||||||
|
private LocalDateTime endTime;
|
||||||
|
/**
|
||||||
|
* 城市名称
|
||||||
|
*/
|
||||||
|
@Schema(description = "城市名称")
|
||||||
|
private String cityName;
|
||||||
|
/**
|
||||||
|
* 城市编码
|
||||||
|
*/
|
||||||
|
@Schema(description = "城市编码")
|
||||||
|
private Integer cityCode;
|
||||||
|
/**
|
||||||
|
* 女生人数上限
|
||||||
|
*/
|
||||||
|
@Schema(description = "女生人数上限")
|
||||||
|
private Integer womenMaxNum;
|
||||||
|
/**
|
||||||
|
* 男生人数上限
|
||||||
|
*/
|
||||||
|
@Schema(description = "男生人数上限")
|
||||||
|
private Integer manMaxNum;
|
||||||
|
/**
|
||||||
|
* 女生参与价格
|
||||||
|
*/
|
||||||
|
@Schema(description = "女生参与价格")
|
||||||
|
private BigDecimal joinWomenPrice;
|
||||||
|
/**
|
||||||
|
* 男生参与价格
|
||||||
|
*/
|
||||||
|
@Schema(description = "男生参与价格")
|
||||||
|
private BigDecimal joinManPrice;
|
||||||
|
}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
package com.ruoyi.xq.dto.app.activity;
|
||||||
|
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class JoinResp {
|
||||||
|
|
||||||
|
@Schema(description = "是否成功加入")
|
||||||
|
private boolean joinSuccess;
|
||||||
|
@Schema(description = "失败原因 1-未实名认证 2-未开启VIP 3-需要支付 99-其他")
|
||||||
|
private Integer failCode;
|
||||||
|
@Schema(description = "失败原因说明")
|
||||||
|
private String failText;
|
||||||
|
@Schema(description = "需要支付的价格")
|
||||||
|
private BigDecimal price;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
package com.ruoyi.xq.enums.activity;
|
||||||
|
|
||||||
|
import lombok.Getter;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
@Getter
|
||||||
|
public enum ActivityShopStatusEnum {
|
||||||
|
NO_START(0,"未开启"),
|
||||||
|
STARTING(1,"开始中"),
|
||||||
|
ENDING(2,"已结束"),
|
||||||
|
;
|
||||||
|
private final Integer code;
|
||||||
|
private final String text;
|
||||||
|
|
||||||
|
ActivityShopStatusEnum(Integer code, String text) {
|
||||||
|
this.code = code;
|
||||||
|
this.text = text;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static ActivityShopStatusEnum getEnumByTime(LocalDateTime startTime, LocalDateTime endTime){
|
||||||
|
if(startTime == null || endTime == null){
|
||||||
|
return NO_START;
|
||||||
|
}
|
||||||
|
LocalDateTime now = LocalDateTime.now();
|
||||||
|
if(now.isBefore(startTime)){
|
||||||
|
return NO_START;
|
||||||
|
}
|
||||||
|
if(now.isAfter(endTime)){
|
||||||
|
return ENDING;
|
||||||
|
}
|
||||||
|
return STARTING;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@@ -1,7 +1,11 @@
|
|||||||
package com.ruoyi.xq.mapper;
|
package com.ruoyi.xq.mapper;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.ruoyi.xq.domain.ActivityShop;
|
import com.ruoyi.xq.domain.ActivityShop;
|
||||||
|
import com.ruoyi.xq.dto.app.activity.ActivityShopAppList;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 相亲会Mapper接口
|
* 相亲会Mapper接口
|
||||||
@@ -11,4 +15,5 @@ import com.ruoyi.xq.domain.ActivityShop;
|
|||||||
*/
|
*/
|
||||||
public interface ActivityShopMapper extends BaseMapper<ActivityShop> {
|
public interface ActivityShopMapper extends BaseMapper<ActivityShop> {
|
||||||
|
|
||||||
|
IPage<ActivityShopAppList> pageApp(@Param("build") Page<Object> build);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,12 @@
|
|||||||
package com.ruoyi.xq.service;
|
package com.ruoyi.xq.service;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import com.ruoyi.common.core.domain.PageQuery;
|
||||||
import com.ruoyi.xq.domain.ActivityShop;
|
import com.ruoyi.xq.domain.ActivityShop;
|
||||||
|
import com.ruoyi.xq.dto.app.activity.ActivityShopAppInfo;
|
||||||
|
import com.ruoyi.xq.dto.app.activity.ActivityShopAppList;
|
||||||
|
import com.ruoyi.xq.dto.app.activity.JoinResp;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 相亲会Service接口
|
* 相亲会Service接口
|
||||||
@@ -11,4 +16,12 @@ import com.ruoyi.xq.domain.ActivityShop;
|
|||||||
*/
|
*/
|
||||||
public interface ActivityShopService extends IService<ActivityShop> {
|
public interface ActivityShopService extends IService<ActivityShop> {
|
||||||
|
|
||||||
|
IPage<ActivityShopAppList> pageApp(PageQuery pageQuery);
|
||||||
|
|
||||||
|
ActivityShop getByCode(String activityCode);
|
||||||
|
|
||||||
|
ActivityShopAppInfo info(Long activityId, String activityCode);
|
||||||
|
|
||||||
|
JoinResp join(Long userId, Long activityId);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +1,31 @@
|
|||||||
package com.ruoyi.xq.service.impl;
|
package com.ruoyi.xq.service.impl;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.ruoyi.common.core.domain.PageQuery;
|
||||||
|
import com.ruoyi.common.exception.ServiceException;
|
||||||
|
import com.ruoyi.common.utils.StringUtils;
|
||||||
import com.ruoyi.xq.domain.ActivityShop;
|
import com.ruoyi.xq.domain.ActivityShop;
|
||||||
|
import com.ruoyi.xq.domain.User;
|
||||||
|
import com.ruoyi.xq.domain.UserAuth;
|
||||||
|
import com.ruoyi.xq.dto.app.activity.ActivityShopAppInfo;
|
||||||
|
import com.ruoyi.xq.dto.app.activity.ActivityShopAppList;
|
||||||
|
import com.ruoyi.xq.dto.app.activity.JoinResp;
|
||||||
|
import com.ruoyi.xq.enums.activity.ActivityShopStatusEnum;
|
||||||
|
import com.ruoyi.xq.enums.common.AuditEnum;
|
||||||
|
import com.ruoyi.xq.enums.userinfo.UserGenderEnum;
|
||||||
import com.ruoyi.xq.mapper.ActivityShopMapper;
|
import com.ruoyi.xq.mapper.ActivityShopMapper;
|
||||||
import com.ruoyi.xq.service.ActivityShopService;
|
import com.ruoyi.xq.service.ActivityShopService;
|
||||||
|
import com.ruoyi.xq.service.UserAuthService;
|
||||||
|
import com.ruoyi.xq.service.UserService;
|
||||||
|
import org.apache.commons.lang3.BooleanUtils;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 相亲会Service业务层处理
|
* 相亲会Service业务层处理
|
||||||
*
|
*
|
||||||
@@ -15,4 +35,141 @@ import org.springframework.stereotype.Service;
|
|||||||
@Service
|
@Service
|
||||||
public class ActivityShopServiceImpl extends ServiceImpl<ActivityShopMapper,ActivityShop> implements ActivityShopService {
|
public class ActivityShopServiceImpl extends ServiceImpl<ActivityShopMapper,ActivityShop> implements ActivityShopService {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private UserService userService;
|
||||||
|
@Autowired
|
||||||
|
private UserAuthService userAuthService;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public IPage<ActivityShopAppList> pageApp(PageQuery pageQuery) {
|
||||||
|
IPage<ActivityShopAppList> page = baseMapper.pageApp(pageQuery.build());
|
||||||
|
List<ActivityShopAppList> records = page.getRecords();
|
||||||
|
for (ActivityShopAppList record : records) {
|
||||||
|
record.setOpenStatus(ActivityShopStatusEnum.getEnumByTime(record.getStartTime(), record.getEndTime()).getCode());
|
||||||
|
}
|
||||||
|
return page;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ActivityShop getByCode(String activityCode){
|
||||||
|
return this.getOne(Wrappers.lambdaQuery(ActivityShop.class).eq(ActivityShop::getActivityCode, activityCode).last("limit 1"));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ActivityShopAppInfo info(Long activityId, String activityCode) {
|
||||||
|
ActivityShop activityShop = null;
|
||||||
|
if(activityId != null){
|
||||||
|
activityShop = this.getById(activityId);
|
||||||
|
}else if(StringUtils.isNotEmpty(activityCode)){
|
||||||
|
activityShop = getByCode(activityCode);
|
||||||
|
}
|
||||||
|
if(activityShop == null){
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
ActivityShopAppInfo appInfo = new ActivityShopAppInfo();
|
||||||
|
appInfo.setMustVip(activityShop.getMustVip());
|
||||||
|
appInfo.setMustAuth(activityShop.getMustAuth());
|
||||||
|
appInfo.setPriceText(activityShop.getPriceText());
|
||||||
|
appInfo.setJoinWomenNum(activityShop.getJoinWomenNum()+activityShop.getHandWomenNum());
|
||||||
|
appInfo.setJoinManNum(activityShop.getJoinManNum()+ activityShop.getHandManNum());
|
||||||
|
appInfo.setId(activityShop.getId());
|
||||||
|
appInfo.setOpenStatus(ActivityShopStatusEnum.getEnumByTime(activityShop.getStartTime(), activityShop.getEndTime()).getCode());
|
||||||
|
appInfo.setActivityCode(activityShop.getActivityCode());
|
||||||
|
appInfo.setActivityTitle(activityShop.getActivityTitle());
|
||||||
|
appInfo.setActivityBanner(activityShop.getActivityBanner());
|
||||||
|
appInfo.setStartTime(activityShop.getStartTime());
|
||||||
|
appInfo.setEndTime(activityShop.getEndTime());
|
||||||
|
appInfo.setCityName(activityShop.getCityName());
|
||||||
|
appInfo.setCityCode(activityShop.getCityCode());
|
||||||
|
appInfo.setWomenMaxNum(activityShop.getWomenMaxNum());
|
||||||
|
appInfo.setManMaxNum(activityShop.getManMaxNum());
|
||||||
|
appInfo.setJoinWomenPrice(activityShop.getJoinWomenPrice());
|
||||||
|
appInfo.setJoinManPrice(activityShop.getJoinManPrice());
|
||||||
|
return appInfo;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return 1-未实名认证 2-未开启VIP 3-需要支付
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public JoinResp join(Long userId, Long activityId) {
|
||||||
|
ActivityShop activityShop = this.getById(activityId);
|
||||||
|
if(activityShop == null){
|
||||||
|
throw new ServiceException("活动不存在");
|
||||||
|
}
|
||||||
|
User user = userService.getById(userId);
|
||||||
|
if(user == null){
|
||||||
|
throw new ServiceException("用户异常");
|
||||||
|
}
|
||||||
|
// 检测是否已经加入
|
||||||
|
// 人数检测
|
||||||
|
if(UserGenderEnum.MAN.getCode().equals(user.getGender())){
|
||||||
|
if(activityShop.getManMaxNum() <= activityShop.getJoinManNum() + activityShop.getHandManNum()){
|
||||||
|
JoinResp resp = new JoinResp();
|
||||||
|
resp.setJoinSuccess(false);
|
||||||
|
resp.setFailCode(99);
|
||||||
|
resp.setFailText("男用户报名人数已满");
|
||||||
|
return resp;
|
||||||
|
}
|
||||||
|
}else if(UserGenderEnum.WOMEN.getCode().equals(user.getGender())){
|
||||||
|
if(activityShop.getWomenMaxNum() <= activityShop.getJoinWomenNum() + activityShop.getHandWomenNum()){
|
||||||
|
JoinResp resp = new JoinResp();
|
||||||
|
resp.setJoinSuccess(false);
|
||||||
|
resp.setFailCode(99);
|
||||||
|
resp.setFailText("女用户报名人数已满");
|
||||||
|
return resp;
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
throw new ServiceException("用户异常");
|
||||||
|
}
|
||||||
|
// 实名检测
|
||||||
|
if(activityShop.getMustAuth() == 1){
|
||||||
|
UserAuth userAuth = userAuthService.getByUserId(userId);
|
||||||
|
if(userAuth == null){
|
||||||
|
throw new ServiceException("用户异常");
|
||||||
|
}
|
||||||
|
if(!AuditEnum.SUCCESS.getCode().equals(userAuth.getCardNumAuth())){
|
||||||
|
JoinResp resp = new JoinResp();
|
||||||
|
resp.setJoinSuccess(false);
|
||||||
|
resp.setFailCode(1);
|
||||||
|
resp.setFailText("未实名认证");
|
||||||
|
return resp;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// VIP检测
|
||||||
|
if(activityShop.getMustAuth() == 1){
|
||||||
|
if(BooleanUtils.isNotTrue(user.getOpenVip())){
|
||||||
|
JoinResp resp = new JoinResp();
|
||||||
|
resp.setJoinSuccess(false);
|
||||||
|
resp.setFailCode(2);
|
||||||
|
resp.setFailText("未开通VIP");
|
||||||
|
return resp;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 需要支付
|
||||||
|
if(UserGenderEnum.MAN.getCode().equals(user.getGender())){
|
||||||
|
if(activityShop.getJoinManPrice().compareTo(BigDecimal.ZERO) > 0){ // 大于0
|
||||||
|
JoinResp resp = new JoinResp();
|
||||||
|
resp.setJoinSuccess(false);
|
||||||
|
resp.setFailCode(3);
|
||||||
|
resp.setFailText("需要支付");
|
||||||
|
return resp;
|
||||||
|
}
|
||||||
|
}else if(UserGenderEnum.WOMEN.getCode().equals(user.getGender())){
|
||||||
|
if(activityShop.getJoinWomenPrice().compareTo(BigDecimal.ZERO) > 0){ // 大于0
|
||||||
|
JoinResp resp = new JoinResp();
|
||||||
|
resp.setJoinSuccess(false);
|
||||||
|
resp.setFailCode(3);
|
||||||
|
resp.setFailText("需要支付");
|
||||||
|
return resp;
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
throw new ServiceException("用户异常");
|
||||||
|
}
|
||||||
|
JoinResp resp = new JoinResp();
|
||||||
|
resp.setJoinSuccess(false);
|
||||||
|
resp.setFailCode(99);
|
||||||
|
resp.setFailText("加入失败");
|
||||||
|
return resp;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,4 +5,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
<mapper namespace="com.ruoyi.xq.mapper.ActivityShopMapper">
|
<mapper namespace="com.ruoyi.xq.mapper.ActivityShopMapper">
|
||||||
|
|
||||||
|
|
||||||
|
<select id="pageApp" resultType="com.ruoyi.xq.dto.app.activity.ActivityShopAppList">
|
||||||
|
select
|
||||||
|
t1.id, t1.activity_code, t1.activity_text, t1.activity_banner,
|
||||||
|
t1.start_time, t1.end_time, t1.city_code, t1.city_name,
|
||||||
|
t1.women_max_num, t1.man_max_num, t1.join_man_price, t1.join_women_price
|
||||||
|
from xq_activity_shop t1
|
||||||
|
order by ABS(TIMESTAMPDIFF(MINUTE,t1.start_time, now()))
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|||||||
Reference in New Issue
Block a user