Compare commits
2 Commits
6da11b1880
...
5a4684c710
Author | SHA1 | Date |
---|---|---|
|
5a4684c710 | |
|
194f2e28e3 |
|
@ -32,7 +32,6 @@ public class MassagePackageController {
|
|||
return Result.success();
|
||||
}
|
||||
|
||||
|
||||
@PostMapping("/updateEsteemRate")
|
||||
@ApiOperation("修改好评")
|
||||
public Result updateEsteemRate(MassagePackage massagePackage){
|
||||
|
@ -40,6 +39,20 @@ public class MassagePackageController {
|
|||
return Result.success();
|
||||
}
|
||||
|
||||
@PostMapping("/updateCoupon")
|
||||
@ApiOperation("修改代金券可用")
|
||||
public Result updateCoupon(MassagePackage massagePackage){
|
||||
service.updateCoupon(massagePackage);
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
@PostMapping("/updateVip")
|
||||
@ApiOperation("修改VIP可用")
|
||||
public Result updateVip(MassagePackage massagePackage){
|
||||
service.updateVip(massagePackage);
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
@PostMapping("/updateStatus")
|
||||
@ApiOperation("修改状态")
|
||||
public Result updateStatus(MassagePackage massagePackage){
|
||||
|
|
|
@ -13,6 +13,8 @@ public interface MassagePackageDao extends BaseMapper<MassagePackage> {
|
|||
IPage<MassagePackage> findPage(Page<MassagePackage> page,@Param("params") MassagePackage massagePackage);
|
||||
int updateSales(MassagePackage massagePackage);
|
||||
int updateEsteemRate(MassagePackage massagePackage);
|
||||
int updateCoupon(MassagePackage massagePackage);
|
||||
int updateVip(MassagePackage massagePackage);
|
||||
int updateStatus(MassagePackage massagePackage);
|
||||
int updatePrice(MassagePackage massagePackage);
|
||||
int delete(MassagePackage massagePackage);
|
||||
|
|
|
@ -97,6 +97,16 @@ public class MassagePackage implements Serializable {
|
|||
*/
|
||||
private String createTime;
|
||||
|
||||
/**
|
||||
* 是否可用代金券 1是 2否
|
||||
*/
|
||||
private Integer isCanCoupon;
|
||||
|
||||
/**
|
||||
* 是否可用会员优惠 1是 2否
|
||||
*/
|
||||
private Integer isCanVip;
|
||||
|
||||
@TableField(exist = false)
|
||||
private Integer page;
|
||||
|
||||
|
|
|
@ -9,6 +9,8 @@ public interface MassagePackageService extends IService<MassagePackage> {
|
|||
Result findPage(MassagePackage massagePackage);
|
||||
int updateSales(MassagePackage massagePackage);
|
||||
int updateEsteemRate(MassagePackage massagePackage);
|
||||
int updateCoupon(MassagePackage massagePackage);
|
||||
int updateVip(MassagePackage massagePackage);
|
||||
int updateStatus(MassagePackage massagePackage);
|
||||
int updatePrice(MassagePackage massagePackage);
|
||||
int delete(MassagePackage massagePackage);
|
||||
|
|
|
@ -28,6 +28,15 @@ public class MassagePackageServiceImpl extends ServiceImpl<MassagePackageDao, Ma
|
|||
return baseMapper.updateEsteemRate(massagePackage);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int updateCoupon(MassagePackage massagePackage){
|
||||
return baseMapper.updateCoupon(massagePackage);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int updateVip(MassagePackage massagePackage){
|
||||
return baseMapper.updateVip(massagePackage);
|
||||
}
|
||||
@Override
|
||||
public int updateStatus(MassagePackage massagePackage){
|
||||
return baseMapper.updateStatus(massagePackage);
|
||||
|
|
|
@ -118,11 +118,31 @@ public class UserPackageOrderServiceImpl extends ServiceImpl<UserPackageOrderDao
|
|||
@Override
|
||||
public Result insertOrders(UserPackageOrder userPackageOrder){
|
||||
reentrantReadWriteLock.writeLock().lock();
|
||||
try {
|
||||
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
try {
|
||||
BigDecimal canCouponMoney = BigDecimal.ZERO;//当可用代金券时的金额
|
||||
BigDecimal canVipMoney = BigDecimal.ZERO;//当可用vip时的金额
|
||||
BigDecimal totalMoney = BigDecimal.ZERO;//总金额
|
||||
List<UserPackageOrdersMapping> ordersPackageList = userPackageOrder.getOrdersPackageList();
|
||||
for (UserPackageOrdersMapping ordersPackage : ordersPackageList) {
|
||||
MassagePackage massagePackage = massagePackageService.getById(ordersPackage.getPackageId());
|
||||
BigDecimal sum = massagePackage.getPrice().multiply(new BigDecimal(ordersPackage.getNum()));
|
||||
if(massagePackage.getIsCanCoupon() == 1){
|
||||
canCouponMoney = canCouponMoney.add(sum);
|
||||
}
|
||||
if(massagePackage.getIsCanVip() == 1){
|
||||
canVipMoney = canVipMoney.add(sum);
|
||||
}
|
||||
totalMoney = totalMoney.add(sum);
|
||||
}
|
||||
|
||||
BigDecimal couponMinMoney = BigDecimal.ZERO;//所有代金券的使用额度总和
|
||||
List<CouponUser> CouponUserList = Lists.newArrayList();
|
||||
String couponIds = userPackageOrder.getCouponId();
|
||||
if(couponIds.length()>0){
|
||||
if(canCouponMoney.compareTo(BigDecimal.ZERO)==0){
|
||||
return Result.error("此次购买的服务不支持优惠券!");
|
||||
}
|
||||
String[] couponArr = couponIds.trim().split(",");
|
||||
BigDecimal couponMoney = new BigDecimal(0);
|
||||
int count = 0;
|
||||
|
@ -133,6 +153,7 @@ public class UserPackageOrderServiceImpl extends ServiceImpl<UserPackageOrderDao
|
|||
if (!couponUser.getStatus().equals(0)) {
|
||||
return Result.error("优惠券已被使用!");
|
||||
}
|
||||
couponMinMoney = couponMinMoney.add(couponUser.getMinMoney());
|
||||
CouponUserList.add(couponUser);
|
||||
BigDecimal money= couponUser.getMoney();
|
||||
couponMoney = couponMoney.add(money);
|
||||
|
@ -146,19 +167,24 @@ public class UserPackageOrderServiceImpl extends ServiceImpl<UserPackageOrderDao
|
|||
userPackageOrder.setCouponMoney(BigDecimal.ZERO);
|
||||
}
|
||||
|
||||
if(userPackageOrder.getVipRate() == null || BigDecimal.ZERO.compareTo(userPackageOrder.getVipRate()) == 0){
|
||||
if(canCouponMoney.compareTo(couponMinMoney) < 0){
|
||||
return Result.error("当前应付总金额不满足优惠券使用的最小额度,请重新选择优惠卷!");
|
||||
}
|
||||
|
||||
//获取用户VIP的优惠信息
|
||||
BigDecimal vipRate = new BigDecimal(100);
|
||||
//服务包支持vip时,获取vip优惠比例
|
||||
if(canVipMoney.compareTo(BigDecimal.ZERO)>0) {
|
||||
UserVip userVip = userVipService.selectUserVipByUserId(userPackageOrder.getUserId());
|
||||
if (userVip != null) {
|
||||
if(userVip.getIsVip() == 1){
|
||||
if (userVip.getIsVip() == 1) {
|
||||
//获取用户到期时间
|
||||
Date date = null;
|
||||
try {
|
||||
date = simpleDateFormat.parse(userVip.getEndTime());
|
||||
if (date.getTime() >= System.currentTimeMillis()) {
|
||||
VipDetails vipDetails = vipDetailsDao.selectOne(new QueryWrapper<VipDetails>().eq("vip_name_type", userVip.getVipNameType()));
|
||||
if(vipDetails != null){
|
||||
if (vipDetails != null) {
|
||||
vipRate = vipDetails.getRate();
|
||||
}
|
||||
}
|
||||
|
@ -167,21 +193,18 @@ public class UserPackageOrderServiceImpl extends ServiceImpl<UserPackageOrderDao
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
userPackageOrder.setVipRate(vipRate);
|
||||
}
|
||||
|
||||
if(userPackageOrder.getSumMoney() == null || BigDecimal.ZERO.compareTo(userPackageOrder.getSumMoney()) == 0){
|
||||
BigDecimal oldSumMoney = userPackageOrder.getOldSumMoney();
|
||||
BigDecimal sumMoney = oldSumMoney.multiply(userPackageOrder.getVipRate()).divide(new BigDecimal(100));
|
||||
userPackageOrder.setSumMoney(sumMoney);
|
||||
}
|
||||
BigDecimal unCanVipMoney = totalMoney.subtract(canVipMoney);//非会员优惠金额
|
||||
canVipMoney = canVipMoney.multiply(userPackageOrder.getVipRate()).divide(new BigDecimal(100));//对可用vip的金额进行优惠
|
||||
totalMoney = canVipMoney.add(unCanVipMoney);//优惠后的总金额
|
||||
totalMoney = totalMoney.subtract(userPackageOrder.getCouponMoney());//减去优惠卷额度后的总金额
|
||||
|
||||
userPackageOrder.setPayMoney(totalMoney);
|
||||
userPackageOrder.setCreateTime(simpleDateFormat.format(new Date()));
|
||||
userPackageOrder.setStatus(0);
|
||||
userPackageOrder.setOrdersNo(getGeneralOrder());
|
||||
if(userPackageOrder.getPayMoney() == null || BigDecimal.ZERO.compareTo(userPackageOrder.getPayMoney()) == 0){
|
||||
BigDecimal payMoney = userPackageOrder.getSumMoney().subtract(userPackageOrder.getCouponMoney());
|
||||
userPackageOrder.setPayMoney(payMoney);
|
||||
}
|
||||
//插入订单表
|
||||
baseMapper.insertOrders(userPackageOrder);
|
||||
Long ordersId = userPackageOrder.getOrdersId();
|
||||
|
@ -202,7 +225,6 @@ public class UserPackageOrderServiceImpl extends ServiceImpl<UserPackageOrderDao
|
|||
}
|
||||
|
||||
//插入用户-服务包-订单-服务包与订单映射关系表
|
||||
List<UserPackageOrdersMapping> ordersPackageList = userPackageOrder.getOrdersPackageList();
|
||||
for (UserPackageOrdersMapping ordersPackage : ordersPackageList) {
|
||||
ordersPackage.setOrdersId(ordersId);
|
||||
userPackageOrdersMappingService.insert(ordersPackage);
|
||||
|
|
|
@ -30,6 +30,14 @@
|
|||
update bl_massage_package set esteem_rate=#{esteemRate} where id=#{id}
|
||||
</update>
|
||||
|
||||
<update id="updateCoupon" parameterType="com.sqx.modules.bl.massage.entity.MassagePackage">
|
||||
update bl_massage_package set is_can_coupon=#{isCanCoupon} where id=#{id}
|
||||
</update>
|
||||
|
||||
<update id="updateVip" parameterType="com.sqx.modules.bl.massage.entity.MassagePackage">
|
||||
update bl_massage_package set is_can_vip=#{isCanVip} where id=#{id}
|
||||
</update>
|
||||
|
||||
<update id="updateStatus" parameterType="com.sqx.modules.bl.massage.entity.MassagePackage">
|
||||
update bl_massage_package set status=#{status} where id=#{id}
|
||||
</update>
|
||||
|
|
Loading…
Reference in New Issue