Commit e0468c1e by huluobin

bug fix

parent bcc4b899
......@@ -96,7 +96,7 @@ public interface ScheduleManageService extends IService<ScheduleManage> {
* @param cmd
* @return
*/
void updateSchedule(UpdateScheduleCommand cmd);
void updateSchedule(SubmitScheduleCommand cmd);
/**
* 更新预约前检查
......
......@@ -679,6 +679,7 @@ public class ScheduleManageServiceImpl extends ServiceImpl<ScheduleManageMapper,
}
BaseServe baseServe = baseServeMapper.selectById(scheduleServeVar.getServeId());
OrderServe orderServe = OrderServe.builder()
//服务参数
.technicianId(String.valueOf(scheduleServeVar.getTechnicianIds()))
......@@ -692,6 +693,7 @@ public class ScheduleManageServiceImpl extends ServiceImpl<ScheduleManageMapper,
.serveNumber(1)
.servePrice(scheduleServeVar.getServePrice())
.serveType(scheduleServeVar.getServeType())
.serveTypeId(baseServe.getTypeId())
//款式参数
.produceBargainPrice(scheduleServeVar.getProduceBargainPrice())
//款式id
......@@ -947,10 +949,16 @@ public class ScheduleManageServiceImpl extends ServiceImpl<ScheduleManageMapper,
public void submitSchedule(SubmitScheduleCommand cmd) {
this.validSubmit(cmd);
//预约服务补充
this.setScheduleServe(cmd.getScheduleManageDTO(), cmd.getDefaultNodeList());
this.setScheduleServe(cmd);
ScheduleManageCommand scheduleManageCommand = cmd.getScheduleManageDTO();
ScheduleManage scheduleManage = new ScheduleManage();
scheduleManage.setArriveTime(scheduleManageCommand.getArriveTime());
scheduleManage.setDepartmentId(scheduleManageCommand.getDepartmentId());
//预约服务补充
StoreManage storeManage = storeManageMapper.selectById(scheduleManageCommand.getDepartmentId());
......@@ -984,7 +992,6 @@ public class ScheduleManageServiceImpl extends ServiceImpl<ScheduleManageMapper,
scheduleServeCommand.setTechnicianNames(scheduleServeCommand.getTechnicianName());
});
ScheduleManage scheduleManage = new ScheduleManage();
BeanUtils.copyProperties(scheduleManageCommand, scheduleManage);
......@@ -1002,23 +1009,12 @@ public class ScheduleManageServiceImpl extends ServiceImpl<ScheduleManageMapper,
scheduleServeList.forEach(scheduleServe -> scheduleServe.setCreateTime(new Date()));
Date date = scheduleManage.getArriveTime();
Calendar c = Calendar.getInstance();
c.setTime(date);
int weekday = c.get(Calendar.DAY_OF_WEEK);
if (weekday == 1) {
weekday = 7;
} else {
weekday = weekday - 1;
}
scheduleManageMapper.insert(scheduleManage);
scheduleServeList.forEach(scheduleServe -> scheduleServe.setSchId(scheduleManage.getId()));
int finalWeekday = weekday;
scheduleServeList.forEach(scheduleServe -> {
LeisureDiscountConfig leisureDiscountConfig = leisureDiscountConfigMapper.selectLeisureDiscount(scheduleServe.getServeId(), new SimpleDateFormat("HH:mm").format(date), finalWeekday);
int finalWeekday = DateUtils.getWeek(scheduleManage.getArriveTime());
LeisureDiscountConfig leisureDiscountConfig = leisureDiscountConfigMapper.selectLeisureDiscount(scheduleServe.getServeId(), new SimpleDateFormat("HH:mm").format(scheduleManage.getArriveTime()), finalWeekday);
if (leisureDiscountConfig != null) {
scheduleServe.setDiscountRate(leisureDiscountConfig.getDiscountRate());
scheduleServe.setLeisureDiscountConfigId(leisureDiscountConfig.getId());
......@@ -1030,7 +1026,7 @@ public class ScheduleManageServiceImpl extends ServiceImpl<ScheduleManageMapper,
}
@Override
public void updateSchedule(UpdateScheduleCommand cmd) {
public void updateSchedule(SubmitScheduleCommand cmd) {
log.info("更新预约:{}", cmd);
......@@ -1038,7 +1034,7 @@ public class ScheduleManageServiceImpl extends ServiceImpl<ScheduleManageMapper,
throw new RRException("入参错误");
}
this.setScheduleServe(cmd.getScheduleManageDTO(), cmd.getDefaultNodeList());
this.setScheduleServe(cmd);
ScheduleManageCommand scheduleManageCommand = cmd.getScheduleManageDTO();
......@@ -1048,8 +1044,6 @@ public class ScheduleManageServiceImpl extends ServiceImpl<ScheduleManageMapper,
scheduleManageCommand.setDepartmentId(oldScheduleManage.getDepartmentId());
this.setSeverProduce(scheduleManageCommand);
ScheduleManage scheduleManage = scheduleManageMapper.selectById(scheduleManageCommand.getId());
SpringBeanUtils.copyPropertiesIgnoreNull(scheduleManageCommand, scheduleManage);
scheduleManage.setScheduledUser(oldScheduleManage.getScheduledUser());
......@@ -1258,6 +1252,7 @@ public class ScheduleManageServiceImpl extends ServiceImpl<ScheduleManageMapper,
orderServePrice = scheduleServeVar.getServePrice();
}
BaseServe baseServe = baseServeMapper.selectById(scheduleServeVar.getServeId());
OrderServe orderServe = OrderServe.builder()
//服务参数
......@@ -1272,6 +1267,7 @@ public class ScheduleManageServiceImpl extends ServiceImpl<ScheduleManageMapper,
.serveNumber(1)
.servePrice(scheduleServeVar.getServePrice())
.serveType(scheduleServeVar.getServeType())
.serveTypeId(baseServe.getTypeId())
//款式参数
.produceBargainPrice(scheduleServeVar.getProduceBargainPrice())
//款式id
......@@ -1591,7 +1587,10 @@ public class ScheduleManageServiceImpl extends ServiceImpl<ScheduleManageMapper,
* @param cmd
* @param defaultNodeList
*/
private void setScheduleServe(ScheduleManageCommand cmd, List<TreeProgram> defaultNodeList) {
private void setScheduleServe(SubmitScheduleCommand submitScheduleCommand) {
ScheduleManageCommand cmd = submitScheduleCommand.getScheduleManageDTO();
List<TreeProgram> defaultNodeList = submitScheduleCommand.getDefaultNodeList();
List<ScheduleServeCommand> scheduleServeCommandList = cmd.getScheduleServeDTOList();
......@@ -1600,10 +1599,11 @@ public class ScheduleManageServiceImpl extends ServiceImpl<ScheduleManageMapper,
});
//如果defaultNodeList 不为空 根据defaultNodeList的参数设置服务时间
if (defaultNodeList != null) {
if (ListUtil.isNotEmpty(defaultNodeList)) {
defaultNodeList.forEach(defaultNode -> {
scheduleServeCommandList
.stream()
//服务id或者主服务id等于defaultNode.serveId
.filter(scheduleServe -> defaultNode.getScheduleServeQuery().getServeId().equals(scheduleServe.getServeId())
|| defaultNode.getScheduleServeQuery().getServeId().equals(scheduleServe.getMainServeId()))
.forEach(scheduleServeCommand -> {
......@@ -1614,6 +1614,7 @@ public class ScheduleManageServiceImpl extends ServiceImpl<ScheduleManageMapper,
scheduleServeCommand.setStartTime(new Date(schedulePeriod.getStartTime()));
scheduleServeCommand.setEndTime(new Date(schedulePeriod.getEndTime()));
scheduleServeCommand.setTechnicianId(storeTechnicianPeriod.getTechnicianId());
scheduleServeCommand.setTechnicianIds(String.valueOf(storeTechnicianPeriod.getTechnicianId()));
scheduleServeCommand.setServeNumber(1);
});
});
......@@ -1644,30 +1645,9 @@ public class ScheduleManageServiceImpl extends ServiceImpl<ScheduleManageMapper,
scheduleServeCommand.setEndTime(mainScheduleServeCommand.getEndTime());
});
}
/**
* 补充预约店铺信息
*
* @param scheduleManageCommand
*/
private void setDepartment(ScheduleManageCommand scheduleManageCommand) {
StoreManage storeManage = storeManageMapper.selectById(scheduleManageCommand.getDepartmentId());
//设置服务店铺姓名
scheduleManageCommand.setDepartmentName(storeManage.getName());
}
/**
* 设置服务款式信息
*
* @param scheduleManageCommand
*/
private void setSeverProduce(ScheduleManageCommand scheduleManageCommand) {
scheduleManageCommand.setTotalPrice(BigDecimal.ZERO);
scheduleManageCommand.getScheduleServeDTOList()
cmd.setTotalPrice(BigDecimal.ZERO);
cmd.getScheduleServeDTOList()
.stream()
.peek(scheduleServeCmd -> {
......@@ -1684,8 +1664,6 @@ public class ScheduleManageServiceImpl extends ServiceImpl<ScheduleManageMapper,
scheduleServeCmd.setTechnicianName(storeTechnician.getName());
scheduleServeCmd.setTechnicianId(storeTechnician.getId());
scheduleServeCmd.setServeType(baseType.getName());
// scheduleServeCmd.setTechnicianIds(String.valueOf(scheduleServeCmd.getTechnicianId()));
// scheduleServeCmd.setTechnicianNames(storeTechnicianDTO.getName());
//设置价格为服务价格
scheduleServeCmd.setPrice(baseServe.getPrice());
......@@ -1707,12 +1685,6 @@ public class ScheduleManageServiceImpl extends ServiceImpl<ScheduleManageMapper,
//如果有款式就设置款式价格
scheduleServeCmd.setPrice(baseProduce.getCurrentPrice());
// ProducePromotionTime producePromotionTime = producePromotionTimeMapper.selectOne(new LambdaQueryWrapper<ProducePromotionTime>().eq(ProducePromotionTime::getProduceId, scheduleServeCmd.getProduceId()));
//
// //如果在做活动 就设置活动价格
// if (producePromotionTime.isPromotion()) {
// scheduleServeCmd.setPrice(producePromotionTime.getPrice());
// }
}
scheduleServeCmd.setLengthTime(baseServe.getServiceDuration());
......@@ -1721,8 +1693,12 @@ public class ScheduleManageServiceImpl extends ServiceImpl<ScheduleManageMapper,
})
.forEach(scheduleServeCmd -> {
//累加总价
scheduleManageCommand.setTotalPrice(scheduleManageCommand.getTotalPrice().add(scheduleServeCmd.getPrice()));
cmd.setTotalPrice(cmd.getTotalPrice().add(scheduleServeCmd.getPrice()));
});
StoreManage storeManage = storeManageMapper.selectById(cmd.getDepartmentId());
//设置服务店铺姓名
cmd.setDepartmentName(storeManage.getName());
}
}
......@@ -96,7 +96,7 @@ public class ScheduleManageController {
@ApiOperation("用户更新预约")
@PostMapping("/customer/schedule/updateSchedule")
public JsonResult<Void> updateSchedule(@RequestHeader String token,
@RequestBody UpdateScheduleCommand cmd) {
@RequestBody SubmitScheduleCommand cmd) {
Integer currentCustomerId = Optional.ofNullable(gogirlTokenService.getByToken(token).getCustomerId())
.orElseThrow(() -> new RRException(500, "token不存在"));
......@@ -191,7 +191,7 @@ public class ScheduleManageController {
@ApiOperation("更新预约")
@PostMapping("/technician/schedule/updateSchedule")
public JsonResult<Void> updateSchedule(@RequestBody UpdateScheduleCommand cmd) {
public JsonResult<Void> updateSchedule(@RequestBody SubmitScheduleCommand cmd) {
scheduleManageService.updateSchedule(cmd);
return JsonResult.success();
......
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