diff --git a/src/main/java/com/sqx/modules/bl/order/dao/UserPackageDao.java b/src/main/java/com/sqx/modules/bl/order/dao/UserPackageDao.java new file mode 100644 index 0000000..34091f6 --- /dev/null +++ b/src/main/java/com/sqx/modules/bl/order/dao/UserPackageDao.java @@ -0,0 +1,12 @@ +package com.sqx.modules.bl.order.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.sqx.modules.bl.massage.entity.MassagePackage; +import com.sqx.modules.bl.order.entity.UserPackage; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface UserPackageDao extends BaseMapper { + + int insert(UserPackage userPackage); +} \ No newline at end of file diff --git a/src/main/java/com/sqx/modules/bl/order/dao/UserPackageDetailDao.java b/src/main/java/com/sqx/modules/bl/order/dao/UserPackageDetailDao.java index d7a41e0..9898b9e 100644 --- a/src/main/java/com/sqx/modules/bl/order/dao/UserPackageDetailDao.java +++ b/src/main/java/com/sqx/modules/bl/order/dao/UserPackageDetailDao.java @@ -11,4 +11,8 @@ public interface UserPackageDetailDao extends BaseMapper { List findDetailUsedQuantity(UserPackageDetail userPackageDetail); + List findMassagePackageDetails(UserPackageDetail userPackageDetail); + + int insert(UserPackageDetail userPackageDetail); + } \ No newline at end of file diff --git a/src/main/java/com/sqx/modules/bl/order/dao/UserPackageOrderDao.java b/src/main/java/com/sqx/modules/bl/order/dao/UserPackageOrderDao.java index 80b48d0..efc371b 100644 --- a/src/main/java/com/sqx/modules/bl/order/dao/UserPackageOrderDao.java +++ b/src/main/java/com/sqx/modules/bl/order/dao/UserPackageOrderDao.java @@ -18,4 +18,8 @@ public interface UserPackageOrderDao extends BaseMapper { int refund(UserPackageOrder userPackageOrder); + int insertOrders(UserPackageOrder userPackageOrder); + + int insertCoupon(UserPackageOrder userPackageOrder); + } \ No newline at end of file diff --git a/src/main/java/com/sqx/modules/bl/order/entity/UserPackageDetail.java b/src/main/java/com/sqx/modules/bl/order/entity/UserPackageDetail.java index e4e479b..5c78280 100644 --- a/src/main/java/com/sqx/modules/bl/order/entity/UserPackageDetail.java +++ b/src/main/java/com/sqx/modules/bl/order/entity/UserPackageDetail.java @@ -133,6 +133,12 @@ public class UserPackageDetail implements Serializable { @TableField(exist = false) private String jianjie; + /** + * 次数 + */ + @TableField(exist = false) + private Integer serviceCount; + /** * 订单id */ diff --git a/src/main/java/com/sqx/modules/bl/order/entity/UserPackageOrder.java b/src/main/java/com/sqx/modules/bl/order/entity/UserPackageOrder.java index b54419e..8ec4bf5 100644 --- a/src/main/java/com/sqx/modules/bl/order/entity/UserPackageOrder.java +++ b/src/main/java/com/sqx/modules/bl/order/entity/UserPackageOrder.java @@ -40,6 +40,7 @@ public class UserPackageOrder implements Serializable { /** * 姓名 */ + @TableField(exist = false) private String userName; /** @@ -127,6 +128,11 @@ public class UserPackageOrder implements Serializable { */ private BigDecimal refundMoney; + /** + * 用户优惠券id + */ + private Long userCouponId; + /** * 代金券名称 */ diff --git a/src/main/java/com/sqx/modules/bl/order/service/UserPackageDetailService.java b/src/main/java/com/sqx/modules/bl/order/service/UserPackageDetailService.java index 621226b..233c8f6 100644 --- a/src/main/java/com/sqx/modules/bl/order/service/UserPackageDetailService.java +++ b/src/main/java/com/sqx/modules/bl/order/service/UserPackageDetailService.java @@ -4,6 +4,10 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.sqx.common.utils.Result; import com.sqx.modules.bl.order.entity.UserPackageDetail; +import java.util.List; + public interface UserPackageDetailService extends IService { Result findDetailUsedQuantity(UserPackageDetail userPackageDetail); + List findMassagePackageDetails(UserPackageDetail userPackageDetail); + int insert(UserPackageDetail userPackageDetail); } diff --git a/src/main/java/com/sqx/modules/bl/order/service/UserPackageOrderService.java b/src/main/java/com/sqx/modules/bl/order/service/UserPackageOrderService.java index 7a00fb8..ffcb99d 100644 --- a/src/main/java/com/sqx/modules/bl/order/service/UserPackageOrderService.java +++ b/src/main/java/com/sqx/modules/bl/order/service/UserPackageOrderService.java @@ -8,4 +8,6 @@ public interface UserPackageOrderService extends IService { Result findPage(UserPackageOrder userPackageOrder); Result findCoupon(UserPackageOrder userPackageOrder); int refund(UserPackageOrder userPackageOrder); + + void buy(UserPackageOrder userPackageOrder); } diff --git a/src/main/java/com/sqx/modules/bl/order/service/UserPackageService.java b/src/main/java/com/sqx/modules/bl/order/service/UserPackageService.java new file mode 100644 index 0000000..76e4668 --- /dev/null +++ b/src/main/java/com/sqx/modules/bl/order/service/UserPackageService.java @@ -0,0 +1,9 @@ +package com.sqx.modules.bl.order.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.sqx.modules.bl.order.entity.UserPackage; + +public interface UserPackageService extends IService { + + int insert(UserPackage userPackage); +} \ No newline at end of file diff --git a/src/main/java/com/sqx/modules/bl/order/service/impl/UserPackageDetailServiceImpl.java b/src/main/java/com/sqx/modules/bl/order/service/impl/UserPackageDetailServiceImpl.java index c30b31a..4182f9f 100644 --- a/src/main/java/com/sqx/modules/bl/order/service/impl/UserPackageDetailServiceImpl.java +++ b/src/main/java/com/sqx/modules/bl/order/service/impl/UserPackageDetailServiceImpl.java @@ -7,6 +7,8 @@ import com.sqx.modules.bl.order.entity.UserPackageDetail; import com.sqx.modules.bl.order.service.UserPackageDetailService; import org.springframework.stereotype.Service; +import java.util.List; + @Service public class UserPackageDetailServiceImpl extends ServiceImpl implements UserPackageDetailService { @@ -15,4 +17,14 @@ public class UserPackageDetailServiceImpl extends ServiceImpl findMassagePackageDetails(UserPackageDetail userPackageDetail){ + return baseMapper.findMassagePackageDetails(userPackageDetail); + } + + @Override + public int insert(UserPackageDetail userPackageDetail){ + return baseMapper.insert(userPackageDetail); + } + } \ No newline at end of file diff --git a/src/main/java/com/sqx/modules/bl/order/service/impl/UserPackageOrderServiceImpl.java b/src/main/java/com/sqx/modules/bl/order/service/impl/UserPackageOrderServiceImpl.java index 62f4254..04d114c 100644 --- a/src/main/java/com/sqx/modules/bl/order/service/impl/UserPackageOrderServiceImpl.java +++ b/src/main/java/com/sqx/modules/bl/order/service/impl/UserPackageOrderServiceImpl.java @@ -1,20 +1,56 @@ package com.sqx.modules.bl.order.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.google.common.collect.Lists; import com.sqx.common.utils.PageUtils; import com.sqx.common.utils.Result; +import com.sqx.modules.app.dao.VipDetailsDao; +import com.sqx.modules.app.entity.UserVip; +import com.sqx.modules.app.entity.VipDetails; +import com.sqx.modules.app.service.UserVipService; +import com.sqx.modules.bl.massage.entity.MassagePackage; +import com.sqx.modules.bl.massage.service.MassagePackageService; import com.sqx.modules.bl.order.dao.UserPackageOrderDao; +import com.sqx.modules.bl.order.entity.UserPackage; +import com.sqx.modules.bl.order.entity.UserPackageDetail; import com.sqx.modules.bl.order.entity.UserPackageOrder; +import com.sqx.modules.bl.order.service.UserPackageDetailService; import com.sqx.modules.bl.order.service.UserPackageOrderService; +import com.sqx.modules.bl.order.service.UserPackageService; +import com.sqx.modules.coupon.entity.CouponUser; +import com.sqx.modules.coupon.service.CouponUserService; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.util.Date; +import java.util.List; @Service public class UserPackageOrderServiceImpl extends ServiceImpl implements UserPackageOrderService { + @Autowired + UserVipService userVipService; + + @Autowired + VipDetailsDao vipDetailsDao; + + @Autowired + MassagePackageService massagePackageService; + + @Autowired + CouponUserService couponUserService; + + @Autowired + UserPackageService userPackageService; + + @Autowired + UserPackageDetailService userPackageDetailService; + @Override public Result findPage(UserPackageOrder userPackageOrder){ Page pages=new Page<>(userPackageOrder.getPage(),userPackageOrder.getLimit()); @@ -33,4 +69,137 @@ public class UserPackageOrderServiceImpl extends ServiceImpl= System.currentTimeMillis()) { + VipDetails vipDetails = vipDetailsDao.selectOne(new QueryWrapper().eq("vip_name_type", userVip.getVipNameType())); + if(vipDetails != null){ + vipRate = vipDetails.getRate(); + } + } + } catch (Exception e) { + e.getMessage(); + } + } + } + userPackageOrder.setVipRate(vipRate); + + //获取服务包信息 + MassagePackage massagePackage = massagePackageService.getById(packageId); + BigDecimal price = massagePackage.getPrice(); + userPackageOrder.setPackageName(massagePackage.getTitle()); + userPackageOrder.setType(massagePackage.getType()); + userPackageOrder.setPrice(price); + BigDecimal oldSumMoney = (price.multiply(new BigDecimal(quantity))); + userPackageOrder.setOldSumMoney(oldSumMoney); + BigDecimal sumMoney = oldSumMoney.multiply(vipRate).divide(new BigDecimal(100)); + userPackageOrder.setSumMoney(sumMoney); + + List CouponUserList = Lists.newArrayList(); + if(payMoney != null && payMoney.compareTo(new BigDecimal(0)) > 0){ + //不做处理 + }else{ + //获取代金券,计算 + if(couponIds.length()>0){ + String[] couponArr = couponIds.trim().split(","); + BigDecimal couponMoney = new BigDecimal(0); + int count = 0; + for(int i=0;i0){ + for(int i=0;ilambdaUpdate().eq(CouponUser::getId, couponUser.getId()).set(CouponUser::getStatus, 1)); + } + } + + for(int i=0;i userPackageDetailList = userPackageDetailService.findMassagePackageDetails(userPackageDetail); + if(userPackageDetailList.size()>0){ + for(int j=0;j implements UserPackageService { + + @Override + public int insert(UserPackage userPackage){ + return baseMapper.insert(userPackage); + } + +} \ No newline at end of file diff --git a/src/main/resources/mapper/bl/order/UserPackageDao.xml b/src/main/resources/mapper/bl/order/UserPackageDao.xml new file mode 100644 index 0000000..25b2a5c --- /dev/null +++ b/src/main/resources/mapper/bl/order/UserPackageDao.xml @@ -0,0 +1,40 @@ + + + + + + + insert into bl_user_package( + user_id, + package_id, + orders_id, + orders_no, + create_time, + title, + type, + old_price, + price, + package_img, + content, + content_img, + labels, + city + )values( + #{userId}, + #{packageId}, + #{ordersId}, + #{ordersNo}, + #{createTime}, + #{title}, + #{type}, + #{oldPrice}, + #{price}, + #{packageImg}, + #{content}, + #{contentImg}, + #{labels}, + #{city} + ) + + + \ No newline at end of file diff --git a/src/main/resources/mapper/bl/order/UserPackageDetailDao.xml b/src/main/resources/mapper/bl/order/UserPackageDetailDao.xml index 3e96c5b..854fae5 100644 --- a/src/main/resources/mapper/bl/order/UserPackageDetailDao.xml +++ b/src/main/resources/mapper/bl/order/UserPackageDetailDao.xml @@ -18,4 +18,79 @@ order by a.massage_type_id + + + + INSERT INTO bl_user_package_detail( + main_id, + package_detail_id, + massage_type_id, + status, + package_price, + interval_days, + create_time, + title, + massage_img, + content, + old_price, + price, + duration, + is_sex, + city, + content_img, + labels, + parent_id, + classify_id, + apply_people, + jianjie + )values( + #{mainId}, + #{packageDetailId}, + #{massageTypeId}, + #{status}, + #{packagePrice}, + #{intervalDays}, + #{createTime}, + #{title}, + #{massageImg}, + #{content}, + #{oldPrice}, + #{price}, + #{duration}, + #{isSex}, + #{city}, + #{contentImg}, + #{labels}, + #{parentId}, + #{classifyId}, + #{applyPeople}, + #{jianjie} + ) + + \ No newline at end of file diff --git a/src/main/resources/mapper/bl/order/UserPackageOrderDao.xml b/src/main/resources/mapper/bl/order/UserPackageOrderDao.xml index 896f2d4..6f81d1c 100644 --- a/src/main/resources/mapper/bl/order/UserPackageOrderDao.xml +++ b/src/main/resources/mapper/bl/order/UserPackageOrderDao.xml @@ -5,42 +5,42 @@