Commit 645b8ccd by huluobin

update

parent a1a99c0d
...@@ -19,6 +19,11 @@ import com.gogirl.domain.market.timescard.TimesCardOrderServeDetail; ...@@ -19,6 +19,11 @@ import com.gogirl.domain.market.timescard.TimesCardOrderServeDetail;
import com.gogirl.domain.market.timescard.TimesCardUsedRecord; import com.gogirl.domain.market.timescard.TimesCardUsedRecord;
import com.gogirl.domain.order.serve.OrderManage; import com.gogirl.domain.order.serve.OrderManage;
import com.gogirl.domain.order.serve.OrderServe; import com.gogirl.domain.order.serve.OrderServe;
import com.gogirl.domain.order.serve.ProducePromotionTime;
import com.gogirl.domain.product.serve.BaseProduce;
import com.gogirl.domain.product.serve.BaseServe;
import com.gogirl.domain.product.serve.BaseType;
import com.gogirl.domain.store.store.StoreTechnician;
import com.gogirl.infrastructure.common.exception.RRException; import com.gogirl.infrastructure.common.exception.RRException;
import com.gogirl.infrastructure.common.util.ListUtil; import com.gogirl.infrastructure.common.util.ListUtil;
import com.gogirl.infrastructure.mapper.market.coupon.CouponCustomerRelevanceMapper; import com.gogirl.infrastructure.mapper.market.coupon.CouponCustomerRelevanceMapper;
...@@ -28,6 +33,12 @@ import com.gogirl.infrastructure.mapper.market.timescard.TimesCardCustomerReleva ...@@ -28,6 +33,12 @@ import com.gogirl.infrastructure.mapper.market.timescard.TimesCardCustomerReleva
import com.gogirl.infrastructure.mapper.market.timescard.TimesCardOrderServeDetailMapper; import com.gogirl.infrastructure.mapper.market.timescard.TimesCardOrderServeDetailMapper;
import com.gogirl.infrastructure.mapper.order.serve.OrderManageMapper; import com.gogirl.infrastructure.mapper.order.serve.OrderManageMapper;
import com.gogirl.infrastructure.mapper.order.serve.OrderServeMapper; import com.gogirl.infrastructure.mapper.order.serve.OrderServeMapper;
import com.gogirl.infrastructure.mapper.order.serve.OwnProduceMapper;
import com.gogirl.infrastructure.mapper.product.serve.BaseProduceMapper;
import com.gogirl.infrastructure.mapper.product.serve.BaseServeMapper;
import com.gogirl.infrastructure.mapper.product.serve.BaseTypeMapper;
import com.gogirl.infrastructure.mapper.product.serve.ProducePromotionTimeMapper;
import com.gogirl.infrastructure.mapper.store.store.StoreTechnicianMapper;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import lombok.Data; import lombok.Data;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
...@@ -686,6 +697,19 @@ public class MarketServiceImpl implements MarketService { ...@@ -686,6 +697,19 @@ public class MarketServiceImpl implements MarketService {
} }
@Resource
BaseServeMapper baseServeMapper;
@Resource
BaseTypeMapper baseTypeMapper;
@Resource
BaseProduceMapper baseProduceMapper;
@Resource
ProducePromotionTimeMapper producePromotionTimeMapper;
@Resource
StoreTechnicianMapper storeTechnicianMapper;
@Resource
OwnProduceMapper ownProduceMapper;
@Override @Override
public void orderAmountReCalc(Integer orderId) { public void orderAmountReCalc(Integer orderId) {
//订单使用的内部券 //订单使用的内部券
...@@ -719,8 +743,135 @@ public class MarketServiceImpl implements MarketService { ...@@ -719,8 +743,135 @@ public class MarketServiceImpl implements MarketService {
orderServe.setBindInnerCoupon(2); orderServe.setBindInnerCoupon(2);
orderServe.setBindTimesCard(2); orderServe.setBindTimesCard(2);
orderServe.setBindOuterCoupon(2); orderServe.setBindOuterCoupon(2);
BaseServe baseServe = baseServeMapper.selectById(orderServe.getServeId());
BaseType baseType = baseTypeMapper.selectById(baseServe.getTypeId());
//如果修改的订单服务 闲时折扣作废
if (!orderServe.getServeId().equals(orderServe.getServeId())) {
//设置折扣属性
orderServe.setLeisureDiscountConfigId(null);
orderServe.setDiscountRate(null);
orderServe.setLeisurePrice(null);
}
//服务改价
orderServe.setServeChangePrice(orderServe.getServeChangePrice());
//服务id
orderServe.setServeId(orderServe.getServeId());
//服务名称
orderServe.setServeName(baseServe.getName());
//服务数量
orderServe.setServeNumber(1);
//服务图片路径
orderServe.setServePicturePath(baseServe.getPicturePath());
//服务价格
orderServe.setServePrice(baseServe.getPrice());
//服务类型
orderServe.setServeType(baseType.getName());
//服务类型id
orderServe.setServeTypeId(baseType.getId());
//服务价格
orderServe.setPrice(baseServe.getPrice());
//服务业绩
orderServe.setAchievement(baseServe.getPrice());
orderServe.setDiscountPrice(BigDecimal.ZERO);
orderServe.setIsOwnProduce(baseServe.getIsOwnProduce());
if (orderServe.getProduceId() != null) {
BaseProduce baseProduce = baseProduceMapper.selectById(orderServe.getProduceId());
//款式原价
orderServe.setProduceBargainPrice(baseProduce.getBargainPrice());
//款式现价
orderServe.setProduceCurrentPrice(baseProduce.getCurrentPrice());
//款式Id
orderServe.setProduceId(baseProduce.getId());
//款式名称
orderServe.setProduceName(baseProduce.getName());
//款式图片
orderServe.setProducePicturePath(baseProduce.getPicturePath());
//价格
orderServe.setPrice(baseProduce.getCurrentPrice());
//实际支付金额
orderServe.setPayPrice(baseProduce.getCurrentPrice());
//业绩
orderServe.setAchievement(baseProduce.getCurrentPrice());
//服务时长=款式时长
orderServe.setServeDuration(baseProduce.getServiceDuration());
ProducePromotionTime producePromotionTime = producePromotionTimeMapper.queryByProduceId(
orderServe.getProduceId(),
orderServe.getStartTime().toString());
//如果款式有活动价格
if (producePromotionTime != null && producePromotionTime.isPromotion()) {
orderServe.setProducePromotionTimeId(producePromotionTime.getId());
//活动价格
orderServe.setPromotionPrice(producePromotionTime.getPrice());
//价格活动价格
orderServe.setPrice(producePromotionTime.getPrice());
}
}
//
else {
//服务时长=服务时长
orderServe.setServeDuration(baseServe.getServiceDuration());
orderServe.setProduceBargainPrice(null);
//款式现价
orderServe.setProduceCurrentPrice(null);
//款式Id
orderServe.setProduceId(null);
//款式名称
orderServe.setProduceName(null);
//款式图片
orderServe.setProducePicturePath(null);
orderServe.setProducePromotionTimeId(null);
orderServe.setPromotionPrice(null);
}
if (orderServe.getServeChangePrice() != null) {
//订单服务改价
orderServe.setServeChangePrice(orderServe.getServeChangePrice());
}
List<StoreTechnician> storeTechnicianList = storeTechnicianMapper.selectList(new LambdaQueryWrapper<StoreTechnician>().in(StoreTechnician::getId, Lists.newArrayList(orderServe.getTechnicianId().split(","))));
//美甲师id
orderServe.setTechnicianId(orderServe.getTechnicianId());
//美甲师姓名
orderServe.setTechnicianName(storeTechnicianList.stream().map(StoreTechnician::getName).collect(Collectors.joining(",")));
//订单服务评论状态
orderServe.setCommentStatus(orderServe.getCommentStatus());
//订单服务备注
orderServe.setRemark(orderServe.getRemark());
orderServe.setOwnProduceId(orderServe.getOwnProduceId());
//更新订单详情时校验自带款式是否设置
if (orderServe.getIsOwnProduce().equals(1)) {
if (orderServe.getOwnProduceId() == null) {
throw new RRException("请补全自带款式");
}
orderServe.setIsOwnProduce(1);
orderServe.setOwnProduce(ownProduceMapper.selectById(orderServe.getOwnProduceId()));
}
orderServe.calcPriceAndTimeLength();
orderServeMapper.updateById(orderServe);
}); });
List<OrderServe> updatedOrderServeList = orderServeMapper.selectList(new LambdaQueryWrapper<OrderServe>().eq(OrderServe::getOrderId, orderManage.getId()));
orderManage.setTotalPrice(updatedOrderServeList.stream().map(OrderServe::getPrice).reduce(BigDecimal.ZERO, BigDecimal::add));
orderManage.setChangePrice(updatedOrderServeList.stream().map(OrderServe::getServeChangePrice).reduce(BigDecimal.ZERO, BigDecimal::add));
orderManage.setTotalPaymentAmount(orderManage.getTotalPrice().subtract(orderManage.getChangePrice()));
orderManageMapper.updateById(orderManage);
//1、改价结算 //1、改价结算
//总支付金额等于 总价格+总改价 //总支付金额等于 总价格+总改价
orderManage.setTotalPaymentAmount(orderManage.getTotalPrice().add(orderManage.getChangePrice())); orderManage.setTotalPaymentAmount(orderManage.getTotalPrice().add(orderManage.getChangePrice()));
......
spring: spring:
profiles: profiles:
active: pre active: prod
servlet: servlet:
#文件上传最大容量 #文件上传最大容量
multipart: multipart:
......
...@@ -683,7 +683,7 @@ public class Test { ...@@ -683,7 +683,7 @@ public class Test {
@org.junit.Test @org.junit.Test
public void reCalcOrderAmount() { public void reCalcOrderAmount() {
marketService.orderAmountReCalc(14933); marketService.orderAmountReCalc(15120);
} }
@Resource @Resource
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment