Commit 27da4172 by huluobin

update

parent 5f3b64f7
......@@ -7,6 +7,8 @@ import com.gogirl.application.market.timescard.TimesCardCustomerRelevanceService
import com.gogirl.application.market.timescard.TimesCardUsedRecordService;
import com.gogirl.application.order.market.ICouponOrderService;
import com.gogirl.application.order.serve.OrderServeService;
import com.gogirl.application.product.serve.BaseProduceService;
import com.gogirl.application.product.serve.BaseServeService;
import com.gogirl.domain.market.coupon.Coupon;
import com.gogirl.domain.market.coupon.CouponCustomerRelevance;
import com.gogirl.domain.market.coupon.CouponOrderRelevance;
......@@ -687,6 +689,10 @@ public class MarketServiceImpl implements MarketService {
StoreTechnicianMapper storeTechnicianMapper;
@Resource
OwnProduceMapper ownProduceMapper;
@Resource
BaseServeService baseServeService;
@Resource
BaseProduceService baseProduceService;
@Override
public void orderAmountReCalc(Integer orderId) {
......@@ -722,7 +728,7 @@ public class MarketServiceImpl implements MarketService {
orderServe.setBindTimesCard(2);
orderServe.setBindOuterCoupon(2);
BaseServe baseServe = baseServeMapper.selectById(orderServe.getServeId());
BaseServe baseServe = baseServeService.getAggregate(orderServe.getServeId());
BaseType baseType = baseTypeMapper.selectById(baseServe.getTypeId());
//如果修改的订单服务 闲时折扣作废
......@@ -760,7 +766,7 @@ public class MarketServiceImpl implements MarketService {
orderServe.setIsOwnProduce(baseServe.getIsOwnProduce());
if (orderServe.getProduceId() != null) {
BaseProduce baseProduce = baseProduceMapper.selectById(orderServe.getProduceId());
BaseProduce baseProduce = baseProduceService.getProduceForDetail(orderServe.getProduceId());
//款式原价
orderServe.setProduceBargainPrice(baseProduce.getBargainPrice());
//款式现价
......
......@@ -7,13 +7,14 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.binarywang.wxpay.bean.notify.WxPayOrderNotifyResult;
import com.gogirl.application.common.xcx.GogirlTokenService;
import com.gogirl.application.market.coupon.CouponCustomerRelevanceService;
import com.gogirl.application.market.coupon.CouponService;
import com.gogirl.application.market.coupon.ICouponsGiftService;
import com.gogirl.application.market.coupon.MarketService;
import com.gogirl.application.market.timescard.TimesCardUsedRecordService;
import com.gogirl.application.order.serve.OrderManageService;
import com.gogirl.application.order.serve.OrderRecordService;
import com.gogirl.application.order.serve.OrderServeSkuService;
import com.gogirl.application.product.serve.BaseProduceService;
import com.gogirl.application.product.serve.BaseServeService;
import com.gogirl.application.user.customer.CustomerBalanceService;
import com.gogirl.application.user.customer.CustomerService;
import com.gogirl.domain.common.xcx.GogirlToken;
......@@ -115,11 +116,13 @@ public class OrderManageServiceImpl extends ServiceImpl<OrderManageMapper, Order
@Resource
private ProducePromotionTimeMapper producePromotionTimeMapper;
@Resource
private CouponService couponService;
@Resource
private ScheduleServeMapper scheduleServeMapper;
@Resource
OwnProduceMapper ownProduceMapper;
@Resource
BaseServeService baseServeService;
@Resource
BaseProduceService baseProduceService;
@Override
public BigDecimal countSumPay(Integer customerId, Integer departmentId) {
......@@ -142,7 +145,7 @@ public class OrderManageServiceImpl extends ServiceImpl<OrderManageMapper, Order
//更新订单服务、新增订单服务
param.getListOrderServer().forEach(orderServeParam -> {
BaseServe baseServe = baseServeMapper.selectById(orderServeParam.getServeId());
BaseServe baseServe = baseServeService.getAggregate(orderServeParam.getServeId());
BaseType baseType = baseTypeMapper.selectById(baseServe.getTypeId());
if (StringUtils.isEmpty(orderServeParam.getTechnicianId())) {
......@@ -179,7 +182,7 @@ public class OrderManageServiceImpl extends ServiceImpl<OrderManageMapper, Order
//款式信息
if (orderServeParam.getProduceId() != null) {
BaseProduce baseProduce = baseProduceMapper.selectById(orderServeParam.getProduceId());
BaseProduce baseProduce = baseProduceService.getProduceForDetail(orderServeParam.getProduceId());
builder.produceBargainPrice(baseProduce.getBargainPrice())
.produceCurrentPrice(baseProduce.getCurrentPrice())
.produceId(baseProduce.getId())
......@@ -533,7 +536,7 @@ public class OrderManageServiceImpl extends ServiceImpl<OrderManageMapper, Order
//更新已选择的款式
if (param.getProduceId() != null) {
OrderServe orderServe = orderServeMapper.selectById(param.getId());
BaseProduce baseProduce = baseProduceMapper.selectById(param.getProduceId());
BaseProduce baseProduce = baseProduceService.getProduceForDetail(param.getProduceId());
//step1.更新订单对应的款式
orderServe.setProduceId(baseProduce.getId());
......@@ -824,7 +827,7 @@ public class OrderManageServiceImpl extends ServiceImpl<OrderManageMapper, Order
orderManage.setEnvironmentStar(cmd.getEnvironmentStar());
orderManageMapper.updateById(orderManage);
couponsGiftService.sendGift(orderManage.getOrderUser(), CouponsGift.BEHAVIOR_COMMENT,null);
couponsGiftService.sendGift(orderManage.getOrderUser(), CouponsGift.BEHAVIOR_COMMENT, null);
return orderManage.getListOrderServer();
}
......
......@@ -8,6 +8,8 @@ import com.gogirl.application.order.serve.OrderServeService;
import com.gogirl.application.order.serve.OrderServeSkuService;
import com.gogirl.application.order.serve.ScheduleManageService;
import com.gogirl.application.order.serve.ScheduleServeService;
import com.gogirl.application.product.serve.BaseProduceService;
import com.gogirl.application.product.serve.BaseServeService;
import com.gogirl.application.product.serve.BaseTypeService;
import com.gogirl.application.store.store.StoreClassesTechnicianService;
import com.gogirl.application.user.customer.CustomerService;
......@@ -104,6 +106,9 @@ public class ScheduleManageServiceImpl extends ServiceImpl<ScheduleManageMapper,
private final TechnicianPushService technicianPushService;
private final BaseServeService baseServeService;
private final BaseProduceService baseProduceService;
@Override
public List<StoreTechnicianPeriod> queryStoreTechnicianPeriod(Integer scheduledId,
Integer departmentId,
......@@ -248,9 +253,9 @@ public class ScheduleManageServiceImpl extends ServiceImpl<ScheduleManageMapper,
//预约服务时长和图片
qry.getListScheduleServer().forEach(scheduleServeQuery -> {
if (scheduleServeQuery.getProduceId() == null) {
scheduleServeQuery.setLengthTimeForEndTime(baseServeMapper.selectById(scheduleServeQuery.getServeId()).getServiceDuration());
scheduleServeQuery.setLengthTimeForEndTime(baseServeService.getAggregate(scheduleServeQuery.getServeId()).getServiceDuration());
} else {
scheduleServeQuery.setLengthTimeForEndTime(baseProduceMapper.selectById(scheduleServeQuery.getProduceId()).getServiceDuration());
scheduleServeQuery.setLengthTimeForEndTime(baseProduceService.getProduceForDetail(scheduleServeQuery.getProduceId()).getServiceDuration());
}
BaseServe baseServe = baseServeMapper.selectById(scheduleServeQuery.getServeId());
scheduleServeQuery.setServePicturePath(baseServe.getPicturePath());
......@@ -968,7 +973,7 @@ public class ScheduleManageServiceImpl extends ServiceImpl<ScheduleManageMapper,
*/
private List<StoreTechnician> queryLeisureTechnician(LeisureScheduleServeResp leisureScheduleServeResp) throws ParseException {
//闲时服务
BaseServe baseServe = baseServeMapper.selectById(leisureScheduleServeResp.getServeId());
BaseServe baseServe = baseServeService.getAggregate(leisureScheduleServeResp.getServeId());
//服务开始时间
LocalDateTime startTime = leisureScheduleServeResp.getDateTime();
//服务结束时间
......@@ -1328,7 +1333,7 @@ public class ScheduleManageServiceImpl extends ServiceImpl<ScheduleManageMapper,
BigDecimal orderServePrice = scheduleServeVar.getPrice();
BaseServe baseServe = baseServeMapper.selectById(scheduleServeVar.getServeId());
BaseServe baseServe = baseServeService.getAggregate(scheduleServeVar.getServeId());
OrderServe orderServe = OrderServe.builder()
//服务参数
.technicianId(String.valueOf(scheduleServeVar.getTechnicianIds()))
......@@ -1504,7 +1509,7 @@ public class ScheduleManageServiceImpl extends ServiceImpl<ScheduleManageMapper,
StoreManage storeManage = storeManageMapper.selectById(departmentId);
List<ScheduleServe> scheduleServeList = scheduleServeMapper.selectList(new LambdaQueryWrapper<ScheduleServe>().eq(ScheduleServe::getSchId, scheduleId));
BaseServe baseServe = baseServeMapper.selectById(scheduleServeList.get(0).getServeId());
BaseServe baseServe = baseServeService.getAggregate(scheduleServeList.get(0).getServeId());
BaseType baseType = baseTypeService.getById(baseServe.getTypeId());
StoreTechnician storeTechnician = storeTechnicianMapper.selectById(scheduleServeList.get(0).getTechnicianId());
......
......@@ -4,8 +4,6 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gogirl.domain.product.serve.BaseServe;
import java.time.LocalDateTime;
/**
* Created by yinyong on 2018/8/21.
* 美容服务 服务接口
......@@ -25,9 +23,8 @@ public interface BaseServeService extends IService<BaseServe> {
* 查询服务聚合
*
* @param id
* @param date
* @return
*/
BaseServe getAggregate(Integer id, LocalDateTime date, Integer departmentId);
BaseServe getAggregate(Integer id);
}
package com.gogirl.application.product.serve;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gogirl.domain.product.serve.BaseProduce;
import com.gogirl.domain.product.serve.ProduceStorePrice;
import java.util.List;
/**
* <p>
* 店铺特殊价格配置 服务类
* </p>
*
* @author robbendev
* @since 2020-12-15
*/
public interface IProduceStorePriceService extends IService<ProduceStorePrice> {
void setProduceStorePrice(BaseProduce baseProduce);
void setProduceStorePrice(List<BaseProduce> baseProduceList);
}
package com.gogirl.application.product.serve;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gogirl.domain.product.serve.ServiceStorePrice;
/**
* <p>
* 店铺特殊价格配置 服务类
* </p>
*
* @author robbendev
* @since 2020-12-15
*/
public interface IServiceStorePriceService extends IService<ServiceStorePrice> {
}
......@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.gogirl.application.product.serve.BaseProduceService;
import com.gogirl.application.product.serve.IProduceStorePriceService;
import com.gogirl.domain.product.serve.BaseFeatures;
import com.gogirl.domain.product.serve.BaseProduce;
import com.gogirl.domain.product.serve.PraiseRecord;
......@@ -31,10 +32,13 @@ public class BaseProduceServiceImpl extends ServiceImpl<BaseProduceMapper, BaseP
private final BaseProduceMapper baseProduceMapper;
private final BaseFeaturesMapper baseFeaturesMapper;
private final IProduceStorePriceService produceStorePriceService;
@Override
public BaseProduce getProduceForDetail(Integer id) {
return baseProduceMapper.getProduceForDetail(id);
BaseProduce baseProduce = baseProduceMapper.getProduceForDetail(id);
produceStorePriceService.setProduceStorePrice(baseProduce);
return baseProduce;
}
......@@ -67,6 +71,7 @@ public class BaseProduceServiceImpl extends ServiceImpl<BaseProduceMapper, BaseP
}
});
produceStorePriceService.setProduceStorePrice(page.getRecords());
return page;
}
......
package com.gogirl.application.product.serve.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.gogirl.application.product.serve.BaseServeService;
import com.gogirl.domain.product.serve.BaseServe;
import com.gogirl.domain.product.serve.ServiceStorePrice;
import com.gogirl.infrastructure.common.util.SessionUtils;
import com.gogirl.infrastructure.mapper.product.serve.BaseServeMapper;
import com.gogirl.infrastructure.mapper.product.serve.ServiceStorePriceMapper;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@Service
@AllArgsConstructor
public class BaseServeServiceImpl extends ServiceImpl<BaseServeMapper, BaseServe> implements BaseServeService {
private final BaseServeMapper baseServeMapper;
private final ServiceStorePriceMapper serviceStorePriceMapper;
@Override
public IPage<BaseServe> listServeForPage(IPage<BaseServe> page, BaseServe param) {
return baseServeMapper.listServeForPage(page, param);
IPage<BaseServe> result = baseServeMapper.listServeForPage(page, param);
List<Integer> serveIdList = result.getRecords().stream().map(BaseServe::getId).collect(Collectors.toList());
Integer departmentId = SessionUtils.getCustomerDepartmentId();
List<ServiceStorePrice> serviceStorePriceList = serviceStorePriceMapper.selectList(new LambdaQueryWrapper<ServiceStorePrice>()
.eq(ServiceStorePrice::getStoreId, departmentId)
.in(ServiceStorePrice::getServiceId, serveIdList));
Map<Integer, ServiceStorePrice> map = serviceStorePriceList.stream()
.collect(Collectors.toMap(ServiceStorePrice::getServiceId, serviceStorePrice -> serviceStorePrice));
result.getRecords().forEach(baseServe -> {
ServiceStorePrice serviceStorePrice = map.get(baseServe.getId());
if (serviceStorePrice != null) {
baseServe.setPrice(serviceStorePrice.getPrice());
}
});
return result;
}
@Override
public BaseServe getAggregate(Integer id, LocalDateTime date, Integer departmentId) {
public BaseServe getAggregate(Integer id) {
BaseServe baseServe = baseServeMapper.selectById(id);
Integer departmentId = SessionUtils.getCustomerDepartmentId();
ServiceStorePrice serviceStorePrice = serviceStorePriceMapper.selectOne(new LambdaQueryWrapper<ServiceStorePrice>()
.eq(ServiceStorePrice::getStoreId, departmentId)
.eq(ServiceStorePrice::getServiceId, id));
if (serviceStorePrice != null) {
baseServe.setPrice(serviceStorePrice.getPrice());
}
return baseServe;
}
}
package com.gogirl.application.product.serve.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.gogirl.application.product.serve.IProduceStorePriceService;
import com.gogirl.domain.product.serve.BaseProduce;
import com.gogirl.domain.product.serve.ProduceStorePrice;
import com.gogirl.infrastructure.common.util.SessionUtils;
import com.gogirl.infrastructure.mapper.product.serve.ProduceStorePriceMapper;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* <p>
* 店铺特殊价格配置 服务实现类
* </p>
*
* @author robbendev
* @since 2020-12-15
*/
@Service
public class ProduceStorePriceServiceImpl extends ServiceImpl<ProduceStorePriceMapper, ProduceStorePrice> implements IProduceStorePriceService {
@Override
public void setProduceStorePrice(BaseProduce baseProduce) {
Integer departmentId = SessionUtils.getCustomerDepartmentId();
ProduceStorePrice produceStorePrice = baseMapper.selectOne(new LambdaQueryWrapper<ProduceStorePrice>()
.eq(ProduceStorePrice::getProduceId, baseProduce.getId())
.eq(ProduceStorePrice::getStoreId, departmentId));
if (produceStorePrice != null) {
baseProduce.setBargainPrice(produceStorePrice.getBargainPrice());
}
if (produceStorePrice != null) {
baseProduce.setBargainPrice(produceStorePrice.getBargainPrice());
}
}
@Override
public void setProduceStorePrice(List<BaseProduce> baseProduceList) {
Integer departmentId = SessionUtils.getCustomerDepartmentId();
List<ProduceStorePrice> produceStorePriceList = baseMapper.selectList(new LambdaQueryWrapper<ProduceStorePrice>()
.in(ProduceStorePrice::getProduceId, baseProduceList.stream().map(BaseProduce::getId).collect(Collectors.toList()))
.eq(ProduceStorePrice::getStoreId, departmentId));
Map<Integer, ProduceStorePrice> map = produceStorePriceList.stream().collect(Collectors.toMap(ProduceStorePrice::getProduceId, produceStorePrice -> produceStorePrice));
baseProduceList.forEach(baseProduce -> {
ProduceStorePrice produceStorePrice = map.get(baseProduce.getId());
if (produceStorePrice != null) {
baseProduce.setBargainPrice(produceStorePrice.getBargainPrice());
}
if (produceStorePrice != null) {
baseProduce.setBargainPrice(produceStorePrice.getBargainPrice());
}
});
}
}
package com.gogirl.application.product.serve.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.gogirl.application.product.serve.IServiceStorePriceService;
import com.gogirl.domain.product.serve.ServiceStorePrice;
import com.gogirl.infrastructure.mapper.product.serve.ServiceStorePriceMapper;
import org.springframework.stereotype.Service;
/**
* <p>
* 店铺特殊价格配置 服务实现类
* </p>
*
* @author robbendev
* @since 2020-12-15
*/
@Service
public class ServiceStorePriceServiceImpl extends ServiceImpl<ServiceStorePriceMapper, ServiceStorePrice> implements IServiceStorePriceService {
}
......@@ -2,6 +2,7 @@ package com.gogirl.application.product.serve.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.gogirl.application.product.serve.BaseServeService;
import com.gogirl.application.product.serve.ITechniqueSkuService;
import com.gogirl.domain.order.serve.OrderServe;
import com.gogirl.domain.order.serve.ScheduleServe;
......@@ -66,6 +67,8 @@ public class TechniqueSkuServiceImpl extends ServiceImpl<TechniqueSkuMapper, Tec
BaseServeMapper baseServeMapper;
@Resource
OrderServeMapper orderServeMapper;
@Resource
BaseServeService baseServeService;
private static final String TECH_REMOVE_ARMOR = "卸甲";
private static final String TECH_EXTEND = "光疗延长";
......@@ -80,16 +83,14 @@ public class TechniqueSkuServiceImpl extends ServiceImpl<TechniqueSkuMapper, Tec
LambdaQueryWrapper<TechniqueCategory> wrapper = new LambdaQueryWrapper<>();
if (serveId != null) {
BaseServe baseServe = baseServeMapper.selectById(serveId);
BaseServe baseServe = baseServeService.getAggregate(serveId);
wrapper.eq(TechniqueCategory::getServiceTypeId, baseServe.getTypeId());
}
if (scheduleServeId != null) {
ScheduleServe scheduleServe = scheduleServeMapper.selectById(scheduleServeId);
// BaseServe baseServe = baseServeMapper.selectById(scheduleServe.getServeId());
// wrapper.eq(TechniqueCategory::getServiceTypeId, baseServe.getTypeId());
//
ScheduleServe subRemoveArmor = scheduleServeMapper.subRemoveArmor(scheduleServe.getServeId(), scheduleServe.getSchId());
ScheduleServe subExtend = scheduleServeMapper.subExtend(scheduleServe.getServeId(), scheduleServe.getSchId());
......
......@@ -3,6 +3,7 @@ package com.gogirl.application.store.store.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.gogirl.application.product.serve.BaseProduceService;
import com.gogirl.application.store.store.CareerCmdService;
import com.gogirl.application.store.store.WorksImagesService;
import com.gogirl.domain.product.purchase.PurchaseSku;
......@@ -14,7 +15,6 @@ import com.gogirl.infrastructure.common.exception.RRException;
import com.gogirl.infrastructure.common.util.ListUtil;
import com.gogirl.infrastructure.common.util.SessionUtils;
import com.gogirl.infrastructure.mapper.product.purchase.PurchaseSkuMapper;
import com.gogirl.infrastructure.mapper.product.serve.BaseProduceMapper;
import com.gogirl.infrastructure.mapper.store.career.CareerMapper;
import com.gogirl.infrastructure.mapper.store.career.CareerWorksImagesMapper;
import com.gogirl.infrastructure.mapper.store.career.WorksMapper;
......@@ -42,7 +42,7 @@ public class CareerCmdServiceImpl implements CareerCmdService {
private final WorksImagesService worksImagesService;
private final PurchaseSkuMapper purchaseSkuMapper;
private final BaseProduceMapper baseProduceMapper;
private final BaseProduceService baseProduceService;
@Override
public void submitWorks(SubmitWorksCommand cmd) {
......@@ -61,7 +61,7 @@ public class CareerCmdServiceImpl implements CareerCmdService {
works.setTechnicianId(cmd.getTechnicianId());
works.setProduceId(cmd.getProduceId());
BaseProduce baseProduce = baseProduceMapper.selectById(works.getProduceId());
BaseProduce baseProduce = baseProduceService.getProduceForDetail(works.getProduceId());
works.setProduceName(baseProduce.getName());
worksMapper.insert(works);
......
......@@ -9,6 +9,7 @@ import com.gogirl.application.common.xcx.GogirlTokenService;
import com.gogirl.application.common.xcx.QRCodeService;
import com.gogirl.application.common.xcx.WechatService;
import com.gogirl.application.order.serve.OrderManageService;
import com.gogirl.application.product.serve.BaseServeService;
import com.gogirl.application.user.customer.CustomerDetailService;
import com.gogirl.application.user.customer.CustomerService;
import com.gogirl.domain.common.AgentConfig;
......@@ -56,13 +57,12 @@ public class CustomerServiceImpl extends ServiceImpl<CustomerMapper, Customer> i
@Resource
private CustomerMapper customerMapper;
@Resource
private WechatService wechatService;
@Resource
private GogirlTokenService gogirlTokenService;
@Resource
BaseServeService baseServeService;
@Resource
private CustomerDetailMapper customerDetailMapper;
......@@ -368,7 +368,7 @@ public class CustomerServiceImpl extends ServiceImpl<CustomerMapper, Customer> i
orderServeList.forEach(orderServe -> {
OrderRecord orderRecord = orderRecordMapper.selectOne(new LambdaQueryWrapper<OrderRecord>().eq(OrderRecord::getOrderServeId, orderServe.getId()));
BaseServe baseServe = baseServeMapper.selectById(orderServe.getServeId());
BaseServe baseServe = baseServeService.getAggregate(orderServe.getServeId());
orderServe.setOrderRecord(orderRecord);
orderServe.setServe(baseServe);
});
......
package com.gogirl.domain.product.serve;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* <p>
* 店铺特殊价格配置
* </p>
*
* @author robbendev
* @since 2020-12-15
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="ProduceStorePrice对象", description="店铺特殊价格配置")
public class ProduceStorePrice implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
private Integer produceId;
@ApiModelProperty(value = "原价")
private BigDecimal bargainPrice;
@ApiModelProperty(value = "店铺id")
private Integer storeId;
@ApiModelProperty(value = "现价")
private BigDecimal currentPrice;
}
package com.gogirl.domain.product.serve;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* <p>
* 店铺特殊价格配置
* </p>
*
* @author robbendev
* @since 2020-12-15
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="ServiceStorePrice对象", description="店铺特殊价格配置")
public class ServiceStorePrice implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
private Integer serviceId;
@ApiModelProperty(value = "价格")
private BigDecimal price;
@ApiModelProperty(value = "店铺id")
private Integer storeId;
}
......@@ -3,6 +3,7 @@ package com.gogirl.infrastructure.common.interceptor;
import com.gogirl.application.common.xcx.GogirlTokenService;
import com.gogirl.domain.common.xcx.GogirlToken;
import com.gogirl.infrastructure.common.util.SessionUtils;
import com.gogirl.infrastructure.common.util.StringUtils;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
......@@ -23,13 +24,13 @@ public class SessionHandlerInterceptor implements HandlerInterceptor {
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
String token = request.getHeader("token");
String sourceFrom = request.getHeader("sourceFrom");
String departmentId = request.getHeader("customerDepartmentId");
SessionUtils.putSourceFrom(sourceFrom);
if (sourceFrom == null) {
return true;
}
if (sourceFrom.equals("customer")) {
SessionUtils.putCustomerDepartmentId(departmentId);
if (StringUtils.isNotEmpty(sourceFrom) && sourceFrom.equals("customer")) {
GogirlToken gogirlToken = gogirlTokenService.getByToken(token);
if (gogirlToken != null) {
SessionUtils.putCustomerToken(gogirlToken);
......@@ -37,7 +38,7 @@ public class SessionHandlerInterceptor implements HandlerInterceptor {
HandlerMethod h = (HandlerMethod) handler;
}
if (sourceFrom.equals("technician")) {
if (StringUtils.isNotEmpty(sourceFrom) && sourceFrom.equals("technician")) {
GogirlToken gogirlToken = gogirlTokenService.getByToken(token);
if (gogirlToken != null) {
SessionUtils.putTechnicianToken(gogirlToken);
......@@ -51,6 +52,7 @@ public class SessionHandlerInterceptor implements HandlerInterceptor {
SessionUtils.removeCustomerToken();
SessionUtils.removeTechnicianToken();
SessionUtils.removeSourceFrom();
SessionUtils.removeCustomerDepartmentId();
}
}
......@@ -18,6 +18,8 @@ public class SessionUtils {
private static final ThreadLocal<GogirlToken> customerTokenThreadLocal = new ThreadLocal<>();
/*请求来源线程变量*/
private static final ThreadLocal<String> sourceFromThreadLocal = new ThreadLocal<>();
/*请求来源线程变量*/
private static final ThreadLocal<Integer> customerDepartmentIdThreadLocal = new ThreadLocal<>();
/**
* 保存美甲师登录信息到本地线程变量
......@@ -138,4 +140,20 @@ public class SessionUtils {
public static boolean isSourceFromTechnician() {
return sourceFromThreadLocal.get().equals("technician");
}
public static Integer getCustomerDepartmentId() {
return customerDepartmentIdThreadLocal.get();
}
public static void removeCustomerDepartmentId() {
customerDepartmentIdThreadLocal.remove();
}
public static void putCustomerDepartmentId(String customerDepartmentId) {
try {
customerDepartmentIdThreadLocal.set(Integer.valueOf(customerDepartmentId));
} catch (Exception ignore) {
}
}
}
......@@ -10,4 +10,6 @@ public interface CouponMapper extends BaseMapper<Coupon> {
List<Coupon> getOrderExternalCoupon(Integer departmentId);
List<Coupon> selectUpdateUserTimes();
}
package com.gogirl.infrastructure.mapper.product.serve;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.gogirl.domain.product.serve.ProduceStorePrice;
/**
* <p>
* 店铺特殊价格配置 Mapper 接口
* </p>
*
* @author robbendev
* @since 2020-12-15
*/
public interface ProduceStorePriceMapper extends BaseMapper<ProduceStorePrice> {
}
package com.gogirl.infrastructure.mapper.product.serve;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.gogirl.domain.product.serve.ServiceStorePrice;
/**
* <p>
* 店铺特殊价格配置 Mapper 接口
* </p>
*
* @author robbendev
* @since 2020-12-15
*/
public interface ServiceStorePriceMapper extends BaseMapper<ServiceStorePrice> {
}
......@@ -7,6 +7,7 @@ import com.gogirl.application.common.xcx.GogirlTokenService;
import com.gogirl.application.market.discount.IVipServeService;
import com.gogirl.application.order.serve.ScheduleManageService;
import com.gogirl.application.order.serve.ScheduleServeService;
import com.gogirl.application.product.serve.BaseProduceService;
import com.gogirl.application.user.customer.CustomerBalanceService;
import com.gogirl.assembler.PurchaseSkuDTOAssembler;
import com.gogirl.assembler.ScheduleManageDTOAssembler;
......@@ -60,6 +61,8 @@ public class ScheduleManageController {
private final ScheduleManageDTOAssembler scheduleManageDTOAssembler;
private final IVipServeService vipServeService;
private final BaseProduceService baseProduceService;
@ApiModelProperty("查询可预约时间列表")
@PostMapping("/customer/schedule/queryIdleTime")
public JsonResult<List<IdleTimeDTO>> queryIdleTime(@RequestBody IdleTimeQuery qry) throws ParseException, ExecutionException, InterruptedException {
......@@ -203,7 +206,7 @@ public class ScheduleManageController {
List<PurchaseSkuDTO> purchaseSkuDTOList = purchaseSkuMapper.selectByProduceId(scheduleServeDTO.getProduceId()).stream().map(purchaseSkuDTOAssembler).collect(Collectors.toList());
scheduleServeDTO.setPurchaseSkuDTOList(purchaseSkuDTOList);
BaseProduce baseProduce = baseProduceMapper.selectById(scheduleServeDTO.getProduceId());
BaseProduce baseProduce = baseProduceService.getProduceForDetail(scheduleServeDTO.getProduceId());
scheduleServeDTO.setProducePractice(baseProduce.getPractice());
}
});
......
package com.gogirl.interfaces.product.serve;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 店铺特殊价格配置 前端控制器
* </p>
*
* @author robbendev
* @since 2020-12-15
*/
@RestController
@RequestMapping("/produce-store-price")
public class ProduceStorePriceController {
}
......@@ -47,7 +47,7 @@ public class ServeController {
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss", iso = DateTimeFormat.ISO.DATE_TIME) LocalDateTime date,
@RequestParam(required = false) Integer departmentId) {
BaseServe baseServe = baseServeService.getAggregate(id, date, departmentId);
BaseServe baseServe = baseServeService.getAggregate(id);
return JsonResult.success(baseServe);
}
......@@ -58,7 +58,7 @@ public class ServeController {
@RequestParam(required = false)
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss", iso = DateTimeFormat.ISO.DATE_TIME) LocalDateTime date,
@RequestParam(required = false) Integer departmentId) {
BaseServe baseServe = baseServeService.getAggregate(id, date, departmentId);
BaseServe baseServe = baseServeService.getAggregate(id);
return JsonResult.success(baseServe);
}
......
package com.gogirl.interfaces.product.serve;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 店铺特殊价格配置 前端控制器
* </p>
*
* @author robbendev
* @since 2020-12-15
*/
@RestController
@RequestMapping("/service-store-price")
public class ServiceStorePriceController {
}
......@@ -11,4 +11,9 @@
and t1.state = 1
and (t2.store_id = #{departmentId} or t2.store_id = -1 or t2.store_id is null)
</select>
<select id="selectUpdateUserTimes" resultType="com.gogirl.domain.market.coupon.Coupon">
SELECT t1.id , count(t2.id) as use_quantity from coupon t1
LEFT JOIN coupon_customer_relevance t2 on t1.id =t2.coupon_id and t2.state = 2
group by t1.id
</select>
</mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.gogirl.infrastructure.mapper.product.serve.ProduceStorePriceMapper">
</mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.gogirl.infrastructure.mapper.product.serve.ServiceStorePriceMapper">
</mapper>
......@@ -16,6 +16,7 @@ import com.gogirl.application.user.customer.CustomerBalanceService;
import com.gogirl.domain.common.xcx.GogirlToken;
import com.gogirl.domain.common.xcx.TimeNode;
import com.gogirl.domain.common.xcx.WeekConfig;
import com.gogirl.domain.market.coupon.Coupon;
import com.gogirl.domain.market.coupon.CouponCustomerRelevance;
import com.gogirl.domain.market.discount.DiscountConfig;
import com.gogirl.domain.order.pay.OrderPay;
......@@ -38,6 +39,7 @@ import com.gogirl.infrastructure.common.util.SessionUtils;
import com.gogirl.infrastructure.mapper.common.xcx.TimeNodeMapper;
import com.gogirl.infrastructure.mapper.common.xcx.WeekConfigMapper;
import com.gogirl.infrastructure.mapper.market.coupon.CouponCustomerRelevanceMapper;
import com.gogirl.infrastructure.mapper.market.coupon.CouponMapper;
import com.gogirl.infrastructure.mapper.market.discount.DiscountConfigMapper;
import com.gogirl.infrastructure.mapper.market.discount.LeisureDiscountConfigWeekMapper;
import com.gogirl.infrastructure.mapper.market.timescard.TimesCardCustomerRelevanceMapper;
......@@ -86,7 +88,7 @@ import java.util.stream.Collectors;
@RunWith(SpringRunner.class)
@SpringBootTest
@Slf4j
@ActiveProfiles("pre")
@ActiveProfiles("prod")
@EnableAsync
public class Test {
......@@ -765,6 +767,15 @@ public class Test {
chargeOrderService.chargeCustomerCard("", "97008305", 3000d, 5, "101", "");
}
@Resource
CouponMapper couponMapper;
@org.junit.Test
public void updateUserTimes(){
List<Coupon> couponList = couponMapper.selectUpdateUserTimes();
couponService.updateBatchById(couponList);
}
@org.junit.Test
public void sendCoupon() {
couponService.sendCoupon(154, 23508);
......
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