This commit is contained in:
张良(004796)
2024-05-13 11:24:53 +08:00
parent 931bf1ef7b
commit cead0b8183
2 changed files with 50 additions and 20 deletions

View File

@@ -89,10 +89,18 @@ public class ActivityShop implements Serializable {
* 女生参与价格
*/
private BigDecimal joinWomenPrice;
private BigDecimal vip0WomenPrice;
private BigDecimal vip1WomenPrice;
private BigDecimal vip2WomenPrice;
private BigDecimal vip3WomenPrice;
/**
* 男生参与价格
*/
private BigDecimal joinManPrice;
private BigDecimal vip0ManPrice;
private BigDecimal vip1ManPrice;
private BigDecimal vip2ManPrice;
private BigDecimal vip3ManPrice;
/**
* 必须强制会员参与
*/

View File

@@ -17,6 +17,7 @@ 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.enums.vip.VipTypeEnum;
import com.ruoyi.xq.kit.CodeKit;
import com.ruoyi.xq.mapper.ActivityShopMapper;
import com.ruoyi.xq.service.*;
@@ -219,32 +220,53 @@ public class ActivityShopServiceImpl extends ServiceImpl<ActivityShopMapper,Acti
}
}
// 需要支付
if(UserGenderEnum.MAN.getCode().equals(user.getGender())){
if(activityShop.getJoinManPrice().compareTo(BigDecimal.ZERO) > 0){ // 大于0
BigDecimal price = getJoinPrice(user,activityShop);
if(price.compareTo(BigDecimal.ZERO) > 0){
JoinResp resp = new JoinResp();
resp.setPrice(activityShop.getJoinManPrice());
resp.setPrice(price);
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.setPrice(activityShop.getJoinWomenPrice());
resp.setJoinSuccess(false);
resp.setFailCode(3);
resp.setFailText("需要支付");
return resp;
}
}else{
throw new ServiceException("用户异常");
}
JoinResp resp = new JoinResp();
resp.setJoinSuccess(true);
return resp;
}
private BigDecimal getJoinPrice(User user, ActivityShop activityShop) {
boolean openVip = BooleanUtils.isTrue(user.getOpenVip());
Integer vipType = user.getVipType();
if(UserGenderEnum.MAN.getCode().equals(user.getGender())){
if(openVip){
if(VipTypeEnum.THREE.getCode().equals(vipType)){
return activityShop.getVip3ManPrice();
}else if(VipTypeEnum.TWO.getCode().equals(vipType)){
return activityShop.getVip2ManPrice();
}else{
return activityShop.getVip1ManPrice();
}
} else {
return activityShop.getVip0ManPrice();
}
}else if(UserGenderEnum.WOMEN.getCode().equals(user.getGender())){
if(openVip){
if(VipTypeEnum.THREE.getCode().equals(vipType)){
return activityShop.getVip3WomenPrice();
}else if(VipTypeEnum.TWO.getCode().equals(vipType)){
return activityShop.getVip2WomenPrice();
}else{
return activityShop.getVip1WomenPrice();
}
} else {
return activityShop.getVip0WomenPrice();
}
}else{
throw new ServiceException("用户异常");
}
}
@Autowired
private AreaCodeService areaCodeService;
@Autowired