Commit 3fc2bb83 by huluobin

update

parent c5b6597e
...@@ -45,14 +45,6 @@ public interface CouponService extends IService<Coupon> { ...@@ -45,14 +45,6 @@ public interface CouponService extends IService<Coupon> {
List<Coupon> getOrderExternalCoupon(Integer orderId); List<Coupon> getOrderExternalCoupon(Integer orderId);
/** /**
* 美甲师提交订单
*
* @param orderId 订单id
* @param couponIds 外部券配置id list
*/
void techSubmitCoupons(Integer orderId, List<Integer> couponIds);
/**
* 卡券集合中是否存在冲突的卡券 * 卡券集合中是否存在冲突的卡券
* *
* @param couponIdList 卡券配置id * @param couponIdList 卡券配置id
......
package com.gogirl.application.market.coupon; package com.gogirl.application.market.coupon;
import com.gogirl.shared.market.SetTimesCardCommand; import java.util.List;
import com.gogirl.shared.market.SetUpInnerCouponCommand;
import com.gogirl.shared.market.SetUpOuterCouponCommand;
public interface MarketService { public interface MarketService {
/** /**
* 预约订单使用内部券 * 预约订单使用内部券
* *
* @param cmd * @param orderId
* @param innerCouponIds
*/ */
void setUpInnerCoupon(SetUpInnerCouponCommand cmd); void setUpInnerCoupon(Integer orderId, List<Integer> innerCouponIds);
/** /**
* 预约订单使用外部券 * 预约订单使用外部券
* *
* @param cmd * @param orderId
* @param outerCouponIds
*/ */
void setUpOuterCoupon(SetUpOuterCouponCommand cmd); void setUpOuterCoupon(Integer orderId, List<Integer> outerCouponIds, Integer orderUser);
/** /**
* 预约使用次卡 * 预约使用次卡
* *
* @param cmd * @param orderId
* @param timesCardCustomerIds
*/ */
void setTimesCard(SetTimesCardCommand cmd); void setTimesCard(Integer orderId, List<Integer> timesCardCustomerIds);
/** /**
* 预约订单完成支付 * 预约订单完成支付
......
...@@ -17,7 +17,6 @@ import com.gogirl.infrastructure.mapper.market.coupon.CouponMapper; ...@@ -17,7 +17,6 @@ import com.gogirl.infrastructure.mapper.market.coupon.CouponMapper;
import com.gogirl.infrastructure.mapper.market.discount.DiscountConfigMapper; import com.gogirl.infrastructure.mapper.market.discount.DiscountConfigMapper;
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.shared.market.SetUpOuterCouponCommand;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -139,12 +138,7 @@ public class CouponCustomerRelevanceServiceImpl extends ServiceImpl<CouponCustom ...@@ -139,12 +138,7 @@ public class CouponCustomerRelevanceServiceImpl extends ServiceImpl<CouponCustom
//查询订单 //查询订单
OrderManage orderManage = orderManageMapper.selectById(orderId); OrderManage orderManage = orderManageMapper.selectById(orderId);
SetUpOuterCouponCommand cmd = SetUpOuterCouponCommand.builder() marketService.setUpOuterCoupon(orderId, couponIds, orderManage.getOrderUser());
.customerId(orderManage.getOrderUser())
.orderId(orderId)
.outerCouponIds(couponIds)
.build();
marketService.setUpOuterCoupon(cmd);
marketService.calcOrderAmount(orderId); marketService.calcOrderAmount(orderId);
} }
......
...@@ -4,7 +4,6 @@ package com.gogirl.application.market.coupon.impl; ...@@ -4,7 +4,6 @@ package com.gogirl.application.market.coupon.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.gogirl.application.market.coupon.CouponService; import com.gogirl.application.market.coupon.CouponService;
import com.gogirl.application.market.coupon.MarketService;
import com.gogirl.domain.market.coupon.Coupon; import com.gogirl.domain.market.coupon.Coupon;
import com.gogirl.domain.market.coupon.CouponCustomerRelevance; import com.gogirl.domain.market.coupon.CouponCustomerRelevance;
import com.gogirl.domain.market.coupon.CouponExcludeDetailed; import com.gogirl.domain.market.coupon.CouponExcludeDetailed;
...@@ -22,9 +21,7 @@ import com.gogirl.infrastructure.mapper.market.discount.DiscountConfigMapper; ...@@ -22,9 +21,7 @@ import com.gogirl.infrastructure.mapper.market.discount.DiscountConfigMapper;
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.xcx.GogirlConfigMapper; import com.gogirl.infrastructure.mapper.xcx.GogirlConfigMapper;
import com.gogirl.shared.market.SetUpOuterCouponCommand;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
...@@ -50,13 +47,8 @@ public class CouponServiceImpl extends ServiceImpl<CouponMapper, Coupon> impleme ...@@ -50,13 +47,8 @@ public class CouponServiceImpl extends ServiceImpl<CouponMapper, Coupon> impleme
private OrderManageMapper orderManageMapper; private OrderManageMapper orderManageMapper;
@Resource @Resource
private GogirlConfigMapper gogirlConfigMapper; private GogirlConfigMapper gogirlConfigMapper;
@Lazy
@Resource
private MarketService marketService;
@Resource @Resource
CouponExcludeDetailedMapper couponExcludeDetailedMapper; CouponExcludeDetailedMapper couponExcludeDetailedMapper;
@Resource @Resource
private DiscountConfigMapper discountConfigMapper; private DiscountConfigMapper discountConfigMapper;
...@@ -78,7 +70,7 @@ public class CouponServiceImpl extends ServiceImpl<CouponMapper, Coupon> impleme ...@@ -78,7 +70,7 @@ public class CouponServiceImpl extends ServiceImpl<CouponMapper, Coupon> impleme
//用户的订单 //用户的订单
Integer orderTimes = orderManageMapper.countOrderTimes(customerId); Integer orderTimes = orderManageMapper.countOrderTimes(customerId);
//不是新人返回null //如果用户已经有订单或者已经领取过新人券,就不是新人,返回null
if (list.size() > 0 || orderTimes > 0) { if (list.size() > 0 || orderTimes > 0) {
return null; return null;
} }
...@@ -99,6 +91,8 @@ public class CouponServiceImpl extends ServiceImpl<CouponMapper, Coupon> impleme ...@@ -99,6 +91,8 @@ public class CouponServiceImpl extends ServiceImpl<CouponMapper, Coupon> impleme
@Override @Override
public Coupon sendCoupon(Integer couponId, Integer customerId) { public Coupon sendCoupon(Integer couponId, Integer customerId) {
log.info("发放优惠券customerId:{},发放优惠券couponId:{}", customerId, couponId);
/*1、发券校验*/ /*1、发券校验*/
Coupon coupon = this.getById(couponId); Coupon coupon = this.getById(couponId);
if (coupon == null) { if (coupon == null) {
...@@ -165,21 +159,6 @@ public class CouponServiceImpl extends ServiceImpl<CouponMapper, Coupon> impleme ...@@ -165,21 +159,6 @@ public class CouponServiceImpl extends ServiceImpl<CouponMapper, Coupon> impleme
} }
@Override @Override
public void techSubmitCoupons(Integer orderId, List<Integer> couponIds) {
//查询订单
OrderManage orderManage = orderManageMapper.selectById(orderId);
SetUpOuterCouponCommand cmd = SetUpOuterCouponCommand.builder()
.customerId(orderManage.getOrderUser())
.orderId(orderId)
.outerCouponIds(couponIds)
.build();
marketService.setUpOuterCoupon(cmd);
marketService.calcOrderAmount(orderId);
}
@Override
public Boolean existCouponConflict(Collection<Integer> couponIdList) { public Boolean existCouponConflict(Collection<Integer> couponIdList) {
LinkedList<Integer> linkList = new LinkedList<>(couponIdList); LinkedList<Integer> linkList = new LinkedList<>(couponIdList);
if (linkList.size() < 2) { if (linkList.size() < 2) {
......
...@@ -28,9 +28,6 @@ import com.gogirl.infrastructure.mapper.market.timescard.TimesCardCustomerReleva ...@@ -28,9 +28,6 @@ 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.shared.market.SetTimesCardCommand;
import com.gogirl.shared.market.SetUpInnerCouponCommand;
import com.gogirl.shared.market.SetUpOuterCouponCommand;
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;
...@@ -107,15 +104,15 @@ public class MarketServiceImpl implements MarketService { ...@@ -107,15 +104,15 @@ public class MarketServiceImpl implements MarketService {
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
public void setUpInnerCoupon(SetUpInnerCouponCommand cmd) { public void setUpInnerCoupon(Integer orderId, List<Integer> innerCouponIds) {
if (cmd.getOrderId() == null) { if (orderId == null) {
throw new InvalidParameterException(); throw new InvalidParameterException();
} }
/*1、将订单之前绑定的内部券设置为未使用*/ /*1、将订单之前绑定的内部券设置为未使用*/
List<CouponCustomerRelevance> setCouponCustomerRelevanceList = couponCustomerRelevanceService.list(new LambdaQueryWrapper<CouponCustomerRelevance>() List<CouponCustomerRelevance> setCouponCustomerRelevanceList = couponCustomerRelevanceService.list(new LambdaQueryWrapper<CouponCustomerRelevance>()
.eq(CouponCustomerRelevance::getOrderId, cmd.getOrderId()) .eq(CouponCustomerRelevance::getOrderId, orderId)
.eq(CouponCustomerRelevance::getSourceType, CouponCustomerRelevance.SOURCE_TYPE_INNER)); .eq(CouponCustomerRelevance::getSourceType, CouponCustomerRelevance.SOURCE_TYPE_INNER));
setCouponCustomerRelevanceList.forEach(couponCustomerRelevance -> { setCouponCustomerRelevanceList.forEach(couponCustomerRelevance -> {
...@@ -130,15 +127,15 @@ public class MarketServiceImpl implements MarketService { ...@@ -130,15 +127,15 @@ public class MarketServiceImpl implements MarketService {
//删除这些卡券对应的卡券订单折扣详情 //删除这些卡券对应的卡券订单折扣详情
couponOrderRelevanceService.remove(new LambdaQueryWrapper<CouponOrderRelevance>() couponOrderRelevanceService.remove(new LambdaQueryWrapper<CouponOrderRelevance>()
.eq(CouponOrderRelevance::getOrderId, cmd.getOrderId()) .eq(CouponOrderRelevance::getOrderId, orderId)
.in(CouponOrderRelevance::getCouponCustomerRelevanceId, setCouponCustomerRelevanceList.stream().map(CouponCustomerRelevance::getId).collect(Collectors.toList()))); .in(CouponOrderRelevance::getCouponCustomerRelevanceId, setCouponCustomerRelevanceList.stream().map(CouponCustomerRelevance::getId).collect(Collectors.toList())));
} }
/*2、设置卡券关联*/ /*2、设置卡券关联*/
if (ListUtil.isNotEmpty(cmd.getInnerCouponCustomerRelevanceIds())) { if (ListUtil.isNotEmpty(innerCouponIds)) {
List<CouponCustomerRelevance> couponCustomerRelevanceList = (List<CouponCustomerRelevance>) couponCustomerRelevanceService List<CouponCustomerRelevance> couponCustomerRelevanceList = (List<CouponCustomerRelevance>) couponCustomerRelevanceService
.listByIds(cmd.getInnerCouponCustomerRelevanceIds()); .listByIds(innerCouponIds);
if (ListUtil.isNotEmpty(couponCustomerRelevanceList)) { if (ListUtil.isNotEmpty(couponCustomerRelevanceList)) {
...@@ -146,7 +143,7 @@ public class MarketServiceImpl implements MarketService { ...@@ -146,7 +143,7 @@ public class MarketServiceImpl implements MarketService {
Integer usedOrderId = couponCustomerRelevance.getOrderId(); Integer usedOrderId = couponCustomerRelevance.getOrderId();
couponCustomerRelevance.setOrderId(cmd.getOrderId()); couponCustomerRelevance.setOrderId(orderId);
//选择使用 //选择使用
couponCustomerRelevance.setState(CouponCustomerRelevance.STATE_CHOSE); couponCustomerRelevance.setState(CouponCustomerRelevance.STATE_CHOSE);
couponCustomerRelevanceMapper.updateById(couponCustomerRelevance); couponCustomerRelevanceMapper.updateById(couponCustomerRelevance);
...@@ -165,7 +162,7 @@ public class MarketServiceImpl implements MarketService { ...@@ -165,7 +162,7 @@ public class MarketServiceImpl implements MarketService {
} }
couponService.checkCouponConflict(couponCustomerRelevanceMapper.selectList(new LambdaQueryWrapper<CouponCustomerRelevance>() couponService.checkCouponConflict(couponCustomerRelevanceMapper.selectList(new LambdaQueryWrapper<CouponCustomerRelevance>()
.eq(CouponCustomerRelevance::getOrderId, cmd.getOrderId()) .eq(CouponCustomerRelevance::getOrderId, orderId)
.eq(CouponCustomerRelevance::getState, CouponCustomerRelevance.STATE_CHOSE)) .eq(CouponCustomerRelevance::getState, CouponCustomerRelevance.STATE_CHOSE))
.stream() .stream()
.map(CouponCustomerRelevance::getCouponId) .map(CouponCustomerRelevance::getCouponId)
...@@ -175,26 +172,25 @@ public class MarketServiceImpl implements MarketService { ...@@ -175,26 +172,25 @@ public class MarketServiceImpl implements MarketService {
} }
@Override @Override
public void setUpOuterCoupon(SetUpOuterCouponCommand cmd) { public void setUpOuterCoupon(Integer orderId, List<Integer> outerCouponIds, Integer orderUser) {
if (orderId == null) {
if (cmd.getOrderId() == null) {
throw new InvalidParameterException(); throw new InvalidParameterException();
} }
//删除订单的外部卡券关联 //删除订单的外部卡券关联
couponCustomerRelevanceService.remove( couponCustomerRelevanceService.remove(
new LambdaQueryWrapper<CouponCustomerRelevance>() new LambdaQueryWrapper<CouponCustomerRelevance>()
.eq(CouponCustomerRelevance::getOrderId, cmd.getOrderId()) .eq(CouponCustomerRelevance::getOrderId, orderId)
.eq(CouponCustomerRelevance::getSourceType, CouponCustomerRelevance.SOURCE_TYPE_OUTER) .eq(CouponCustomerRelevance::getSourceType, CouponCustomerRelevance.SOURCE_TYPE_OUTER)
); );
cmd.getOuterCouponIds().forEach(outerCouponId -> { outerCouponIds.forEach(outerCouponId -> {
Coupon coupon = couponMapper.selectById(outerCouponId); Coupon coupon = couponMapper.selectById(outerCouponId);
//根据卡券类型发一张券并且设置状态 已选择 //根据卡券类型发一张券并且设置状态 已选择
CouponCustomerRelevance couponCustomerRelevance = CouponCustomerRelevance.getInstance(coupon); CouponCustomerRelevance couponCustomerRelevance = CouponCustomerRelevance.getInstance(coupon);
couponCustomerRelevance.setOrderId(cmd.getOrderId()); couponCustomerRelevance.setOrderId(orderId);
couponCustomerRelevance.setCustomerId(cmd.getCustomerId()); couponCustomerRelevance.setCustomerId(orderUser);
//选择 //选择
couponCustomerRelevance.setState(CouponCustomerRelevance.STATE_CHOSE); couponCustomerRelevance.setState(CouponCustomerRelevance.STATE_CHOSE);
...@@ -205,7 +201,7 @@ public class MarketServiceImpl implements MarketService { ...@@ -205,7 +201,7 @@ public class MarketServiceImpl implements MarketService {
}); });
couponService.checkCouponConflict(couponCustomerRelevanceMapper.selectList(new LambdaQueryWrapper<CouponCustomerRelevance>() couponService.checkCouponConflict(couponCustomerRelevanceMapper.selectList(new LambdaQueryWrapper<CouponCustomerRelevance>()
.eq(CouponCustomerRelevance::getOrderId, cmd.getOrderId()) .eq(CouponCustomerRelevance::getOrderId, orderId)
.eq(CouponCustomerRelevance::getState, CouponCustomerRelevance.STATE_CHOSE)) .eq(CouponCustomerRelevance::getState, CouponCustomerRelevance.STATE_CHOSE))
.stream() .stream()
.map(CouponCustomerRelevance::getCouponId) .map(CouponCustomerRelevance::getCouponId)
...@@ -214,15 +210,15 @@ public class MarketServiceImpl implements MarketService { ...@@ -214,15 +210,15 @@ public class MarketServiceImpl implements MarketService {
} }
@Override @Override
public void setTimesCard(SetTimesCardCommand cmd) { public void setTimesCard(Integer orderId, List<Integer> timesCardCustomerIds) {
if (cmd.getOrderId() == null) { if (orderId == null) {
throw new InvalidParameterException(); throw new InvalidParameterException();
} }
//删除订单已经绑定的次卡 //删除订单已经绑定的次卡
List<TimesCardUsedRecord> removeTimesCardUsedRecordList = timesCardUsedRecordService.list( List<TimesCardUsedRecord> removeTimesCardUsedRecordList = timesCardUsedRecordService.list(
new LambdaQueryWrapper<TimesCardUsedRecord>() new LambdaQueryWrapper<TimesCardUsedRecord>()
.eq(TimesCardUsedRecord::getOrderId, cmd.getOrderId())); .eq(TimesCardUsedRecord::getOrderId, orderId));
removeTimesCardUsedRecordList.forEach(timesCardUsedRecord -> { removeTimesCardUsedRecordList.forEach(timesCardUsedRecord -> {
TimesCardCustomerRelevance timesCardCustomerRelevance = timesCardCustomerRelevanceMapper.selectById(timesCardUsedRecord.getCardRelevanceCustomerId()); TimesCardCustomerRelevance timesCardCustomerRelevance = timesCardCustomerRelevanceMapper.selectById(timesCardUsedRecord.getCardRelevanceCustomerId());
timesCardCustomerRelevance.setUsedTimes(timesCardCustomerRelevance.getUsedTimes() - 1); timesCardCustomerRelevance.setUsedTimes(timesCardCustomerRelevance.getUsedTimes() - 1);
...@@ -230,7 +226,7 @@ public class MarketServiceImpl implements MarketService { ...@@ -230,7 +226,7 @@ public class MarketServiceImpl implements MarketService {
timesCardUsedRecordService.removeById(timesCardUsedRecord.getId()); timesCardUsedRecordService.removeById(timesCardUsedRecord.getId());
}); });
cmd.getTimesCardIds().forEach(id -> { timesCardCustomerIds.forEach(id -> {
//用户次卡 //用户次卡
TimesCardCustomerRelevance cardCustomerRelevance = timesCardCustomerRelevanceService.getById(id); TimesCardCustomerRelevance cardCustomerRelevance = timesCardCustomerRelevanceService.getById(id);
//当前次卡所有使用记录 //当前次卡所有使用记录
...@@ -249,7 +245,7 @@ public class MarketServiceImpl implements MarketService { ...@@ -249,7 +245,7 @@ public class MarketServiceImpl implements MarketService {
if (cardCustomerRelevance.getSumTimes() > timesCardUsedRecordList.size()) { if (cardCustomerRelevance.getSumTimes() > timesCardUsedRecordList.size()) {
TimesCardUsedRecord timesCardUsedRecord = TimesCardUsedRecord.builder() TimesCardUsedRecord timesCardUsedRecord = TimesCardUsedRecord.builder()
//订单id //订单id
.orderId(cmd.getOrderId()) .orderId(orderId)
//次卡类型id //次卡类型id
.cardTypeId(cardCustomerRelevance.getCardTypeId()) .cardTypeId(cardCustomerRelevance.getCardTypeId())
//次卡名称 //次卡名称
...@@ -282,7 +278,7 @@ public class MarketServiceImpl implements MarketService { ...@@ -282,7 +278,7 @@ public class MarketServiceImpl implements MarketService {
.orElseThrow(NullPointerException::new); .orElseThrow(NullPointerException::new);
//更新次卡选择记录对应的订单 //更新次卡选择记录对应的订单
timesCardUsedRecord.setOrderId(cmd.getOrderId()); timesCardUsedRecord.setOrderId(orderId);
timesCardUsedRecord.setTime(new Date()); timesCardUsedRecord.setTime(new Date());
timesCardUsedRecordService.saveOrUpdate(timesCardUsedRecord); timesCardUsedRecordService.saveOrUpdate(timesCardUsedRecord);
} }
...@@ -1356,10 +1352,7 @@ public class MarketServiceImpl implements MarketService { ...@@ -1356,10 +1352,7 @@ public class MarketServiceImpl implements MarketService {
@Async @Async
@Override @Override
public void asyncAutoSetCoupon(Integer couponCustomerRelevanceId, Integer orderId) { public void asyncAutoSetCoupon(Integer couponCustomerRelevanceId, Integer orderId) {
this.setUpInnerCoupon(SetUpInnerCouponCommand.builder() this.setUpInnerCoupon(orderId,Lists.newArrayList(couponCustomerRelevanceId));
.orderId(orderId)
.innerCouponCustomerRelevanceIds(Lists.newArrayList(couponCustomerRelevanceId))
.build());
//结算订单 //结算订单
this.calcOrderAmount(orderId); this.calcOrderAmount(orderId);
} }
......
...@@ -7,9 +7,7 @@ import com.gogirl.application.product.serve.BaseServeService; ...@@ -7,9 +7,7 @@ import com.gogirl.application.product.serve.BaseServeService;
import com.gogirl.domain.market.discount.LeisureDiscountConfig; import com.gogirl.domain.market.discount.LeisureDiscountConfig;
import com.gogirl.domain.product.serve.BaseServe; import com.gogirl.domain.product.serve.BaseServe;
import com.gogirl.infrastructure.mapper.market.discount.LeisureDiscountConfigMapper; import com.gogirl.infrastructure.mapper.market.discount.LeisureDiscountConfigMapper;
import com.gogirl.infrastructure.mapper.product.serve.BaseProduceMapper;
import com.gogirl.infrastructure.mapper.product.serve.BaseServeMapper; import com.gogirl.infrastructure.mapper.product.serve.BaseServeMapper;
import com.gogirl.infrastructure.mapper.product.serve.ProducePromotionTimeMapper;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -22,7 +20,6 @@ public class BaseServeServiceImpl extends ServiceImpl<BaseServeMapper, BaseServe ...@@ -22,7 +20,6 @@ public class BaseServeServiceImpl extends ServiceImpl<BaseServeMapper, BaseServe
private final BaseServeMapper baseServeMapper; private final BaseServeMapper baseServeMapper;
private final LeisureDiscountConfigMapper leisureDiscountConfigMapper; private final LeisureDiscountConfigMapper leisureDiscountConfigMapper;
private final BaseProduceMapper baseProduceMapper;
@Override @Override
...@@ -30,16 +27,11 @@ public class BaseServeServiceImpl extends ServiceImpl<BaseServeMapper, BaseServe ...@@ -30,16 +27,11 @@ public class BaseServeServiceImpl extends ServiceImpl<BaseServeMapper, BaseServe
return baseServeMapper.listServeForPage(page, param, serveIdList); return baseServeMapper.listServeForPage(page, param, serveIdList);
} }
private final ProducePromotionTimeMapper producePromotionTimeMapper;
@Override @Override
public BaseServe getAggregate(Integer id, LocalDateTime date, Integer departmentId) { public BaseServe getAggregate(Integer id, LocalDateTime date, Integer departmentId) {
BaseServe baseServe = baseServeMapper.selectById(id); BaseServe baseServe = baseServeMapper.selectById(id);
// List<BaseProduce> baseProduceList = baseProduceMapper.selectList(new LambdaQueryWrapper<BaseProduce>()
// .eq(BaseProduce::getServiceId, baseServe.getId()));
//
// baseServe.setListProduce(baseProduceList);
if (date != null) { if (date != null) {
LeisureDiscountConfig leisureDiscountConfig = leisureDiscountConfigMapper.selectLeisureDiscount(id, LeisureDiscountConfig leisureDiscountConfig = leisureDiscountConfigMapper.selectLeisureDiscount(id,
date.toLocalTime().toString(), date.toLocalTime().toString(),
......
...@@ -137,4 +137,5 @@ public interface CustomerService extends IService<Customer> { ...@@ -137,4 +137,5 @@ public interface CustomerService extends IService<Customer> {
* @return 用户数据完整度 * @return 用户数据完整度
*/ */
Double countDataCompleteRate(Customer c, CustomerDetail record); Double countDataCompleteRate(Customer c, CustomerDetail record);
} }
...@@ -21,6 +21,7 @@ import com.gogirl.domain.xcx.GogirlConfig; ...@@ -21,6 +21,7 @@ import com.gogirl.domain.xcx.GogirlConfig;
import com.gogirl.domain.xcx.GogirlToken; import com.gogirl.domain.xcx.GogirlToken;
import com.gogirl.infrastructure.common.exception.RRException; import com.gogirl.infrastructure.common.exception.RRException;
import com.gogirl.infrastructure.common.util.StringUtils; import com.gogirl.infrastructure.common.util.StringUtils;
import com.gogirl.infrastructure.mapper.market.coupon.CouponCustomerRelevanceMapper;
import com.gogirl.infrastructure.mapper.order.serve.OrderManageMapper; import com.gogirl.infrastructure.mapper.order.serve.OrderManageMapper;
import com.gogirl.infrastructure.mapper.order.serve.OrderRecordMapper; import com.gogirl.infrastructure.mapper.order.serve.OrderRecordMapper;
import com.gogirl.infrastructure.mapper.order.serve.OrderServeMapper; import com.gogirl.infrastructure.mapper.order.serve.OrderServeMapper;
...@@ -581,4 +582,9 @@ public class CustomerServiceImpl extends ServiceImpl<CustomerMapper, Customer> i ...@@ -581,4 +582,9 @@ public class CustomerServiceImpl extends ServiceImpl<CustomerMapper, Customer> i
return source; return source;
} }
} }
@Resource
CouponCustomerRelevanceMapper couponCustomerRelevanceMapper;
} }
package com.gogirl.interfaces.market.coupon; package com.gogirl.interfaces.market.coupon;
import com.gogirl.application.market.coupon.CouponService; import com.gogirl.application.market.coupon.CouponService;
import com.gogirl.application.xcx.GogirlTokenService;
import com.gogirl.domain.market.coupon.Coupon; import com.gogirl.domain.market.coupon.Coupon;
import com.gogirl.infrastructure.common.base.JsonResult; import com.gogirl.infrastructure.common.base.JsonResult;
import com.gogirl.infrastructure.common.exception.RRException;
import com.gogirl.infrastructure.util.SessionUtils; import com.gogirl.infrastructure.util.SessionUtils;
import com.gogirl.infrastructure.util.lock.CustomerIdLock; import com.gogirl.infrastructure.util.lock.CustomerIdLock;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.List; import java.util.List;
...@@ -22,7 +23,6 @@ import java.util.List; ...@@ -22,7 +23,6 @@ import java.util.List;
public class CouponController { public class CouponController {
private final CouponService couponService; private final CouponService couponService;
private final GogirlTokenService gogirlTokenService;
@ApiOperation(value = "根据配置id查询优惠券配置详情") @ApiOperation(value = "根据配置id查询优惠券配置详情")
@GetMapping("/customer/selectCouponByPrimaryKey") @GetMapping("/customer/selectCouponByPrimaryKey")
...@@ -34,7 +34,7 @@ public class CouponController { ...@@ -34,7 +34,7 @@ public class CouponController {
@ApiOperation(value = "查询是否可领新人优惠券,是新人返回券信息,不是新人返回null;") @ApiOperation(value = "查询是否可领新人优惠券,是新人返回券信息,不是新人返回null;")
@GetMapping("/customer/checkNewCustomer") @GetMapping("/customer/checkNewCustomer")
public JsonResult<Coupon> checkNewCustomer(@RequestHeader String token) { public JsonResult<Coupon> checkNewCustomer() {
Integer customerId = SessionUtils.getCustomerId(); Integer customerId = SessionUtils.getCustomerId();
Coupon coupon = couponService.checkNewCustomer(customerId); Coupon coupon = couponService.checkNewCustomer(customerId);
return JsonResult.success(coupon); return JsonResult.success(coupon);
...@@ -42,7 +42,7 @@ public class CouponController { ...@@ -42,7 +42,7 @@ public class CouponController {
@ApiOperation(value = "发放新人优惠券") @ApiOperation(value = "发放新人优惠券")
@PostMapping("/customer/sendNewCustomerCouponXcx") @PostMapping("/customer/sendNewCustomerCouponXcx")
public JsonResult<Coupon> sendNewCustomerCouponXcx(@RequestHeader String token) { public JsonResult<Coupon> sendNewCustomerCouponXcx() {
Integer customerId = SessionUtils.getCustomerId(); Integer customerId = SessionUtils.getCustomerId();
CustomerIdLock lock = CustomerIdLock.getInstance(); CustomerIdLock lock = CustomerIdLock.getInstance();
try { try {
...@@ -56,27 +56,15 @@ public class CouponController { ...@@ -56,27 +56,15 @@ public class CouponController {
@ApiOperation(value = "小程序发券") @ApiOperation(value = "小程序发券")
@PostMapping("/customer/sendCouponXcx") @PostMapping("/customer/sendCouponXcx")
public JsonResult<Coupon> sendCouponXcx(@RequestHeader String token, public JsonResult<Coupon> sendCouponXcx(@RequestParam Integer couponId) {
@RequestParam Integer couponId) { Coupon coupon = couponService.sendCoupon(couponId, SessionUtils.getCustomerId());
Integer customerId = SessionUtils.getCustomerId();
if (couponId == null) {
throw new RRException("卡券不存在");
}
log.info("发放优惠券customerId:" + customerId.toString());
log.info("发放优惠券couponId:" + couponId.toString());
//返回消息
Coupon coupon = couponService.sendCoupon(couponId, customerId);
return JsonResult.success(coupon); return JsonResult.success(coupon);
} }
@ApiOperation(value = "美甲师根据订单号查询可用外部券") @ApiOperation(value = "美甲师根据订单号查询可用外部券")
@GetMapping("/technician/getOrderExternalCoupon") @GetMapping("/technician/getOrderExternalCoupon")
public JsonResult<List<Coupon>> getOrderExternalCoupon(@RequestHeader String token, public JsonResult<List<Coupon>> getOrderExternalCoupon(@RequestParam Integer orderId) {
@RequestParam Integer orderId) {
log.info("用户根据订单号查询可用优惠券");
List<Coupon> couponList = couponService.getOrderExternalCoupon(orderId); List<Coupon> couponList = couponService.getOrderExternalCoupon(orderId);
return JsonResult.success(couponList); return JsonResult.success(couponList);
} }
......
...@@ -4,19 +4,19 @@ import com.baomidou.mybatisplus.core.metadata.IPage; ...@@ -4,19 +4,19 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.gogirl.application.market.coupon.CouponCustomerRelevanceService; import com.gogirl.application.market.coupon.CouponCustomerRelevanceService;
import com.gogirl.application.market.coupon.MarketService; import com.gogirl.application.market.coupon.MarketService;
import com.gogirl.domain.market.coupon.CouponCustomerRelevance; import com.gogirl.domain.market.coupon.CouponCustomerRelevance;
import com.gogirl.domain.xcx.GogirlToken;
import com.gogirl.infrastructure.common.base.JsonResult; import com.gogirl.infrastructure.common.base.JsonResult;
import com.gogirl.infrastructure.common.util.StringUtils; import com.gogirl.infrastructure.common.util.StringUtils;
import com.gogirl.infrastructure.util.SessionUtils; import com.gogirl.infrastructure.util.SessionUtils;
import com.gogirl.shared.market.SetTimesCardCommand;
import com.gogirl.shared.market.SetUpInnerCouponCommand;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -32,8 +32,7 @@ public class CouponCustomerRelevanceController { ...@@ -32,8 +32,7 @@ public class CouponCustomerRelevanceController {
@ApiOperation(value = "用户根据订单号查询可用优惠券") @ApiOperation(value = "用户根据订单号查询可用优惠券")
@GetMapping("/customer/getOrderCoupon") @GetMapping("/customer/getOrderCoupon")
public JsonResult<List<CouponCustomerRelevance>> getOrderCoupon(@RequestHeader String token, public JsonResult<List<CouponCustomerRelevance>> getOrderCoupon(@RequestParam Integer orderId) {
@RequestParam Integer orderId) {
Integer currentCustomerId = SessionUtils.getCustomerToken().getCustomerId(); Integer currentCustomerId = SessionUtils.getCustomerToken().getCustomerId();
List<CouponCustomerRelevance> list = couponCustomerRelevanceService.getOrderCoupon(currentCustomerId, orderId); List<CouponCustomerRelevance> list = couponCustomerRelevanceService.getOrderCoupon(currentCustomerId, orderId);
...@@ -42,24 +41,18 @@ public class CouponCustomerRelevanceController { ...@@ -42,24 +41,18 @@ public class CouponCustomerRelevanceController {
@ApiOperation(value = "我的优惠券列表") @ApiOperation(value = "我的优惠券列表")
@GetMapping("/customer/getMyCoupon") @GetMapping("/customer/getMyCoupon")
public JsonResult<IPage<CouponCustomerRelevance>> getMyCoupon(@RequestHeader String token, public JsonResult<IPage<CouponCustomerRelevance>> getMyCoupon(@RequestParam(required = false, defaultValue = "1") Integer pageNum,
@RequestParam(required = false, defaultValue = "1") Integer pageNum,
@RequestParam(required = false, defaultValue = "20") Integer pageSize, @RequestParam(required = false, defaultValue = "20") Integer pageSize,
@RequestParam Integer state) { @RequestParam Integer state) {
Integer customerId = SessionUtils.getCustomerId(); Integer customerId = SessionUtils.getCustomerId();
log.info("查询领取优惠券的用户列表CouponCustomerRelevance:" + customerId.toString());
IPage<CouponCustomerRelevance> pageInfo = couponCustomerRelevanceService.selectMyCoupon(customerId, pageNum, pageSize, state); IPage<CouponCustomerRelevance> pageInfo = couponCustomerRelevanceService.selectMyCoupon(customerId, pageNum, pageSize, state);
return JsonResult.success(pageInfo); return JsonResult.success(pageInfo);
} }
@ApiOperation(value = "美甲师提交外部券") @ApiOperation(value = "美甲师提交外部券")
@PostMapping("/technician/techSubmitCoupons") @PostMapping("/technician/techSubmitCoupons")
public JsonResult<Void> techSubmitCoupons(@RequestHeader String token, public JsonResult<Void> techSubmitCoupons(@RequestParam Integer orderId,
@RequestParam Integer orderId,
@RequestParam String couponIds) { @RequestParam String couponIds) {
GogirlToken gogirlToken = SessionUtils.getTechnicianToken();
log.info("美甲师 {} 提交外部券,couponId", gogirlToken.getTechnicianId());
List<Integer> idList = StringUtils.isNotEmpty(couponIds) ? Lists.newArrayList(couponIds.split(",")).stream().map(Integer::valueOf).collect(Collectors.toList()) : Lists.newArrayList(); List<Integer> idList = StringUtils.isNotEmpty(couponIds) ? Lists.newArrayList(couponIds.split(",")).stream().map(Integer::valueOf).collect(Collectors.toList()) : Lists.newArrayList();
couponCustomerRelevanceService.techSubmitCoupons(orderId, idList); couponCustomerRelevanceService.techSubmitCoupons(orderId, idList);
return JsonResult.success(); return JsonResult.success();
...@@ -75,25 +68,13 @@ public class CouponCustomerRelevanceController { ...@@ -75,25 +68,13 @@ public class CouponCustomerRelevanceController {
log.info("用户提交优惠券 orderId:{},couponIds:{}", orderId, couponRelevanceIds); log.info("用户提交优惠券 orderId:{},couponIds:{}", orderId, couponRelevanceIds);
List<Integer> innerCouponIds = StringUtils.isNotEmpty(couponRelevanceIds)
? Lists.newArrayList(couponRelevanceIds.split(",")).stream().map(Integer::valueOf).collect(Collectors.toList())
: Lists.newArrayList();
//1、使用内部券 //1、使用内部券
marketService.setUpInnerCoupon(SetUpInnerCouponCommand.builder() List<Integer> innerCouponIds = StringUtils.isNotEmpty(couponRelevanceIds) ? Lists.newArrayList(couponRelevanceIds.split(",")).stream().map(Integer::valueOf).collect(Collectors.toList()) : Lists.newArrayList();
.innerCouponCustomerRelevanceIds(innerCouponIds) marketService.setUpInnerCoupon(orderId, innerCouponIds);
.orderId(orderId)
.build());
List<Integer> timesCardCustomerIds = StringUtils.isNotEmpty(timesCardIds)
? Lists.newArrayList(timesCardIds.split(",")).stream().map(Integer::valueOf).collect(Collectors.toList())
: Lists.newArrayList();
//2、使用外部券 //2、使用外部券
marketService.setTimesCard(SetTimesCardCommand.builder() List<Integer> timesCardCustomerIds = StringUtils.isNotEmpty(timesCardIds) ? Lists.newArrayList(timesCardIds.split(",")).stream().map(Integer::valueOf).collect(Collectors.toList()) : Lists.newArrayList();
.orderId(orderId) marketService.setTimesCard(orderId, timesCardCustomerIds);
.timesCardIds(timesCardCustomerIds)
.build());
//3、订单结算 //3、订单结算
marketService.calcOrderAmount(orderId); marketService.calcOrderAmount(orderId);
......
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