套餐订单查询订单详情接口
This commit is contained in:
parent
63b58ac6b7
commit
39a759a984
|
@ -371,7 +371,7 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
|
|||
|
||||
//判断金额是否满足代金券金额最少消费额度
|
||||
if(payMoney.compareTo(couponMinMoney) < 0){
|
||||
return Result.error("当前应付总金额不满足优惠券使用的最小额度,请重新选择优惠卷!");
|
||||
return Result.error("当前应付总金额不满足优惠券使用的最小额度,请重新选择优惠券!");
|
||||
}
|
||||
|
||||
//减去代金券的金额
|
||||
|
@ -1332,7 +1332,7 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
|
|||
orders.setMassageTypeId(massageType.getMassageTypeId());
|
||||
orders.setEntryName(massageType.getTitle());
|
||||
|
||||
//获取原优惠卷
|
||||
//获取原优惠券
|
||||
List<String> oldCouponList = Lists.newArrayList();
|
||||
String oldCouponId = oldOrders.getCouponId();
|
||||
if (oldCouponId.length() > 0) {
|
||||
|
@ -1344,7 +1344,7 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
|
|||
}
|
||||
}
|
||||
|
||||
//判断新优惠卷是否可用
|
||||
//判断新优惠券是否可用
|
||||
BigDecimal couponMinMoney = BigDecimal.ZERO;//所有代金券的使用额度总和
|
||||
//获取并判断代金券信息
|
||||
List<CouponUser> CouponUserList = Lists.newArrayList();
|
||||
|
@ -1365,7 +1365,7 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
|
|||
if (!isGoon) {
|
||||
if (oldCouponList.size() > 0) {
|
||||
if (oldCouponList.contains(couponIdStr)) {
|
||||
isGoon = true;//被占用的新优惠卷在原优惠卷中存在则继续
|
||||
isGoon = true;//被占用的新优惠券在原优惠券中存在则继续
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1447,7 +1447,7 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
|
|||
|
||||
//判断金额是否满足代金券金额最少消费额度
|
||||
if (payMoney.compareTo(couponMinMoney) < 0) {
|
||||
return Result.error("当前应付总金额不满足优惠券使用的最小额度,请重新选择优惠卷!");
|
||||
return Result.error("当前应付总金额不满足优惠券使用的最小额度,请重新选择优惠券!");
|
||||
}
|
||||
|
||||
//减去代金券的金额
|
||||
|
@ -1607,7 +1607,7 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
|
|||
ordersMassageService.save(ordersMassage);
|
||||
}
|
||||
|
||||
//释放原优惠卷
|
||||
//释放原优惠券
|
||||
if (oldCouponList.size() > 0) {
|
||||
for (String couponIdStr : oldCouponList) {
|
||||
CouponUser couponUser = new CouponUser();
|
||||
|
@ -5625,7 +5625,7 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
|
|||
treeNode.putExtra("serveTime", object.getServeTime());//服务时间
|
||||
treeNode.putExtra("payTime", object.getPayTime());//下单时间
|
||||
treeNode.putExtra("ordersNo", object.getOrdersNo());//订单号
|
||||
treeNode.putExtra("couponMoney", object.getCouponMoney());//优惠卷金额
|
||||
treeNode.putExtra("couponMoney", object.getCouponMoney());//优惠券金额
|
||||
treeNode.putExtra("price", object.getPrice());//服务金额
|
||||
treeNode.putExtra("artificerRate", object.getArtificerRate());//提成比例
|
||||
treeNode.putExtra("projectBenefits", object.getProjectBenefits());//项目收益
|
||||
|
|
|
@ -23,4 +23,5 @@ public interface MassagePackageDetailDao extends BaseMapper<MassagePackageDetail
|
|||
int delete(MassagePackageDetail massagePackageDetail);
|
||||
MassagePackage findPackagePrice(MassagePackageDetail massagePackageDetail);
|
||||
MassagePackageDetail getAppPackageDetail(Long id);
|
||||
MassagePackageDetail findCkLcDetailCount(Long mainId);
|
||||
}
|
|
@ -46,12 +46,17 @@ public class MassagePackageDetail implements Serializable {
|
|||
/**
|
||||
* 服务次数
|
||||
*/
|
||||
private Long serviceCount;
|
||||
private Integer serviceCount;
|
||||
|
||||
/**
|
||||
* 间隔天数
|
||||
*/
|
||||
private Integer intervalDays;
|
||||
/**
|
||||
* 疗程描述
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private String intervalDaysStr;
|
||||
|
||||
/**
|
||||
* 图片
|
||||
|
|
|
@ -21,7 +21,7 @@ public class AppUserPackageOrderController {
|
|||
@Autowired
|
||||
private UserPackageOrderService service;
|
||||
|
||||
// @Login
|
||||
@Login
|
||||
@PostMapping("/insertOrders")
|
||||
@ApiOperation("添加订单")
|
||||
public Result insertOrders(@RequestBody UserPackageOrder userPackageOrder){
|
||||
|
@ -29,7 +29,7 @@ public class AppUserPackageOrderController {
|
|||
return service.insertOrders(userPackageOrder);
|
||||
}
|
||||
|
||||
// @Login
|
||||
@Login
|
||||
@PostMapping("/payOrder")
|
||||
@ApiOperation("钱包支付订单")
|
||||
public Result payOrder(Long ordersId){
|
||||
|
@ -37,7 +37,7 @@ public class AppUserPackageOrderController {
|
|||
return service.payOrder(ordersId);
|
||||
}
|
||||
|
||||
// @Login
|
||||
@Login
|
||||
@PostMapping("/findUserPackageOrders")
|
||||
@ApiOperation("查询服务包订单")
|
||||
public Result findUserPackageOrders(@RequestBody UserPackageOrder userPackageOrder){
|
||||
|
@ -45,4 +45,13 @@ public class AppUserPackageOrderController {
|
|||
return service.findUserPackageOrders(userPackageOrder);
|
||||
}
|
||||
|
||||
@Login
|
||||
@PostMapping("/selectOrdersDetails")
|
||||
@ApiOperation("获取订单详情")
|
||||
public Result selectOrdersDetails(Long ordersId){
|
||||
//入参:ordersId
|
||||
return service.selectOrdersDetails(ordersId);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.IdType;
|
|||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.sqx.modules.coupon.entity.CouponUser;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
@ -120,6 +121,7 @@ public class UserPackageOrder implements Serializable {
|
|||
*/
|
||||
@TableField(exist = false)
|
||||
private Long type;
|
||||
|
||||
/**
|
||||
* 代金券名称
|
||||
*/
|
||||
|
@ -135,5 +137,8 @@ public class UserPackageOrder implements Serializable {
|
|||
@TableField(exist = false)
|
||||
private List<UserPackageOrdersMapping> ordersPackageList;
|
||||
|
||||
@TableField(exist = false)
|
||||
private List<CouponUser> couponUserList;
|
||||
|
||||
public UserPackageOrder() {}
|
||||
}
|
||||
|
|
|
@ -1,11 +1,13 @@
|
|||
package com.sqx.modules.bl.order.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* @description bl_user_package_order_mapping
|
||||
|
@ -40,5 +42,125 @@ public class UserPackageOrdersMapping implements Serializable {
|
|||
*/
|
||||
private Integer num;
|
||||
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private String title;
|
||||
|
||||
/**
|
||||
* 类型
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private Integer type;
|
||||
|
||||
/**
|
||||
* 原价
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private BigDecimal oldPrice;
|
||||
|
||||
/**
|
||||
* 现价
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private BigDecimal price;
|
||||
|
||||
/**
|
||||
* 图片
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private String packageImg;
|
||||
|
||||
/**
|
||||
* 内容
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private String content;
|
||||
|
||||
/**
|
||||
* 详细内容
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private String contentImg;
|
||||
|
||||
/**
|
||||
* 状态 1上 2下
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private Integer status;
|
||||
|
||||
/**
|
||||
* 加钟次数
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private Integer addNum;
|
||||
|
||||
/**
|
||||
* 好评率
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private BigDecimal esteemRate;
|
||||
|
||||
/**
|
||||
* 销量
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private Integer sales;
|
||||
|
||||
/**
|
||||
* 标签
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private String labels;
|
||||
|
||||
/**
|
||||
* 城市
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private String city;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private String createTime;
|
||||
|
||||
/**
|
||||
* 是否可用代金券 1是 2否
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private Integer isCanCoupon;
|
||||
|
||||
/**
|
||||
* 是否可用会员优惠 1是 2否
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private Integer isCanVip;
|
||||
|
||||
/**
|
||||
* 服务分类ID
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private Long classifyId;
|
||||
|
||||
/**
|
||||
* 类型名称
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private String typeName;
|
||||
|
||||
/**
|
||||
* 次数
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private Integer serviceCount;
|
||||
|
||||
/**
|
||||
* 疗程描述
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private String intervalDaysStr;
|
||||
|
||||
public UserPackageOrdersMapping() {}
|
||||
}
|
||||
|
|
|
@ -11,6 +11,8 @@ public interface UserPackageOrderService extends IService<UserPackageOrder> {
|
|||
Result findCoupon(UserPackageOrder userPackageOrder);
|
||||
void refund(UserPackageOrder userPackageOrder);
|
||||
|
||||
Result selectOrdersDetails(Long ordersId);
|
||||
|
||||
Result insertOrders(UserPackageOrder userPackageOrder);
|
||||
|
||||
Result payOrder(Long ordersId);
|
||||
|
|
|
@ -8,14 +8,16 @@ 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.UserMoney;
|
||||
import com.sqx.modules.app.entity.UserMoneyDetails;
|
||||
import com.sqx.modules.app.entity.UserVip;
|
||||
import com.sqx.modules.app.entity.VipDetails;
|
||||
import com.sqx.modules.app.entity.*;
|
||||
import com.sqx.modules.app.service.UserMoneyDetailsService;
|
||||
import com.sqx.modules.app.service.UserMoneyService;
|
||||
import com.sqx.modules.app.service.UserVipService;
|
||||
import com.sqx.modules.artificer.entity.Artificer;
|
||||
import com.sqx.modules.artificer.entity.Orders;
|
||||
import com.sqx.modules.artificer.entity.OrdersMassage;
|
||||
import com.sqx.modules.bl.massage.dao.MassagePackageDetailDao;
|
||||
import com.sqx.modules.bl.massage.entity.MassagePackage;
|
||||
import com.sqx.modules.bl.massage.entity.MassagePackageDetail;
|
||||
import com.sqx.modules.bl.massage.service.MassagePackageService;
|
||||
import com.sqx.modules.bl.order.dao.UserPackageOrderDao;
|
||||
import com.sqx.modules.bl.order.entity.UserPackage;
|
||||
|
@ -69,6 +71,9 @@ public class UserPackageOrderServiceImpl extends ServiceImpl<UserPackageOrderDao
|
|||
@Autowired
|
||||
UserPackageOrdersMappingService userPackageOrdersMappingService;
|
||||
|
||||
@Autowired
|
||||
MassagePackageDetailDao massagePackageDetailDao;
|
||||
|
||||
@Autowired
|
||||
private CommonInfoService commonInfoService;
|
||||
|
||||
|
@ -119,6 +124,21 @@ public class UserPackageOrderServiceImpl extends ServiceImpl<UserPackageOrderDao
|
|||
userPackageService.updateStatusByOrder(userPackage);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Result selectOrdersDetails(Long ordersId){
|
||||
UserPackageOrder orders = baseMapper.selectById(ordersId);
|
||||
List<UserPackageOrdersMapping> ordersPackageList = userPackageOrdersMappingService.findListByOrdersId(ordersId);
|
||||
for (UserPackageOrdersMapping ordersPackage : ordersPackageList) {
|
||||
if(ordersPackage.getType() == 105 || ordersPackage.getType() == 106){
|
||||
MassagePackageDetail massagePackageDetail = massagePackageDetailDao.findCkLcDetailCount(ordersPackage.getPackageId());
|
||||
ordersPackage.setServiceCount(massagePackageDetail.getServiceCount());
|
||||
ordersPackage.setIntervalDaysStr(massagePackageDetail.getIntervalDaysStr());
|
||||
}
|
||||
}
|
||||
orders.setOrdersPackageList(ordersPackageList);
|
||||
return Result.success().put("data", orders);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Result insertOrders(UserPackageOrder userPackageOrder){
|
||||
reentrantReadWriteLock.writeLock().lock();
|
||||
|
@ -180,7 +200,7 @@ public class UserPackageOrderServiceImpl extends ServiceImpl<UserPackageOrderDao
|
|||
}
|
||||
|
||||
if(canCouponMoney.compareTo(couponMinMoney) < 0){
|
||||
return Result.error("当前应付总金额不满足优惠券使用的最小额度,请重新选择优惠卷!");
|
||||
return Result.error("当前应付总金额不满足优惠券使用的最小额度,请重新选择优惠券!");
|
||||
}
|
||||
|
||||
//获取用户VIP的优惠信息
|
||||
|
@ -211,7 +231,7 @@ public class UserPackageOrderServiceImpl extends ServiceImpl<UserPackageOrderDao
|
|||
BigDecimal unCanVipMoney = totalMoney.subtract(canVipMoney);//非会员优惠金额
|
||||
canVipMoney = canVipMoney.multiply(userPackageOrder.getVipRate()).divide(new BigDecimal(100));//对可用vip的金额进行优惠
|
||||
totalMoney = canVipMoney.add(unCanVipMoney);//优惠后的总金额
|
||||
totalMoney = totalMoney.subtract(userPackageOrder.getCouponMoney());//减去优惠卷额度后的总金额
|
||||
totalMoney = totalMoney.subtract(userPackageOrder.getCouponMoney());//减去优惠券额度后的总金额
|
||||
|
||||
userPackageOrder.setPayMoney(totalMoney);
|
||||
userPackageOrder.setCreateTime(simpleDateFormat.format(new Date()));
|
||||
|
@ -234,6 +254,7 @@ public class UserPackageOrderServiceImpl extends ServiceImpl<UserPackageOrderDao
|
|||
//更新用户代金卷表
|
||||
couponUserService.update(Wrappers.<CouponUser>lambdaUpdate().eq(CouponUser::getId, couponUser.getId()).set(CouponUser::getStatus, 1));
|
||||
}
|
||||
userPackageOrder.setCouponUserList(CouponUserList);
|
||||
}
|
||||
|
||||
//插入用户-服务包-订单-服务包与订单映射关系表
|
||||
|
|
|
@ -26,5 +26,4 @@ public class UserPackageOrdersMappingServiceImpl extends ServiceImpl<UserPackage
|
|||
public int insert(UserPackageOrdersMapping userPackageOrdersMapping){
|
||||
return baseMapper.insert(userPackageOrdersMapping);
|
||||
}
|
||||
|
||||
}
|
|
@ -122,7 +122,7 @@ public class CouponUserServiceImpl extends ServiceImpl<CouponUserDao, CouponUser
|
|||
if(daysBetween>7){
|
||||
return Result.error("已过新人优惠期");
|
||||
}
|
||||
//获取所有新人优惠卷
|
||||
//获取所有新人优惠券
|
||||
|
||||
QueryWrapper<Coupon> couponQueryWrapper = new QueryWrapper<Coupon>();
|
||||
couponQueryWrapper.eq("cou_type",1);
|
||||
|
|
|
@ -42,7 +42,7 @@ public class PayClassifyController {
|
|||
payClassify.setCreateTime(sdf.format(new Date()));
|
||||
payClassifyService.save(payClassify);
|
||||
|
||||
//删除以前的优惠卷
|
||||
//删除以前的优惠券
|
||||
QueryWrapper<PayClassifyDetail> query = new QueryWrapper<PayClassifyDetail>();
|
||||
query.eq("pay_classify_id",payClassify.getPayClassifyId());
|
||||
payClassifyDetailService.remove(query);
|
||||
|
@ -59,7 +59,7 @@ public class PayClassifyController {
|
|||
@ApiOperation("修改充值分类")
|
||||
public Result updatePayClassify(@RequestBody PayClassify payClassify){
|
||||
payClassifyService.updateById(payClassify);
|
||||
//删除以前的优惠卷
|
||||
//删除以前的优惠券
|
||||
QueryWrapper<PayClassifyDetail> query = new QueryWrapper<PayClassifyDetail>();
|
||||
query.eq("pay_classify_id",payClassify.getPayClassifyId());
|
||||
payClassifyDetailService.remove(query);
|
||||
|
@ -76,7 +76,7 @@ public class PayClassifyController {
|
|||
@ApiOperation("删除充值分类")
|
||||
public Result deletePayClassify(Long payClassifyId){
|
||||
payClassifyService.removeById(payClassifyId);
|
||||
//删除以前的优惠卷
|
||||
//删除以前的优惠券
|
||||
QueryWrapper<PayClassifyDetail> query = new QueryWrapper<PayClassifyDetail>();
|
||||
query.eq("pay_classify_id",payClassifyId);
|
||||
payClassifyDetailService.remove(query);
|
||||
|
|
|
@ -217,4 +217,12 @@
|
|||
where a.id = #{id}
|
||||
</select>
|
||||
|
||||
<select id="findCkLcDetailCount" resultType="com.sqx.modules.bl.massage.entity.MassagePackageDetail">
|
||||
select
|
||||
sum(service_count) as serviceCount,
|
||||
concat(round(sum(service_count)*avg(interval_days)),'天一疗程,每隔',round(avg(interval_days)),'天一次,共',round(sum(service_count)),'次') as interval_days_str
|
||||
from bl_massage_package_detail a
|
||||
where a.main_id = #{mainId}
|
||||
</select>
|
||||
|
||||
</mapper>
|
|
@ -22,13 +22,31 @@
|
|||
|
||||
<select id="findListByOrdersId" resultType="com.sqx.modules.bl.order.entity.UserPackageOrdersMapping">
|
||||
select
|
||||
mapping_id,
|
||||
orders_id,
|
||||
package_id,
|
||||
num
|
||||
from bl_user_package_order_mapping
|
||||
where orders_id=#{ordersId}
|
||||
order by mapping_id
|
||||
a.mapping_id,
|
||||
a.orders_id,
|
||||
a.package_id,
|
||||
a.num,
|
||||
b.title,
|
||||
b.type,
|
||||
b.old_price,
|
||||
b.price,
|
||||
b.package_img,
|
||||
b.content,
|
||||
b.content_img,
|
||||
b.status,
|
||||
b.add_num,
|
||||
b.esteem_rate,
|
||||
b.sales,
|
||||
b.labels,
|
||||
b.city,
|
||||
b.create_time,
|
||||
b.is_can_coupon,
|
||||
b.is_can_vip,
|
||||
b.classify_id
|
||||
from bl_user_package_order_mapping a
|
||||
inner join bl_massage_package b on a.package_id = b.id
|
||||
where a.orders_id=#{ordersId}
|
||||
order by a.mapping_id
|
||||
</select>
|
||||
|
||||
<insert id="insert" parameterType="com.sqx.modules.bl.order.entity.UserPackageOrdersMapping">
|
||||
|
|
Loading…
Reference in New Issue