Commit 8effeddd by huluobin

update

parent 2383146d
......@@ -6,8 +6,8 @@ import com.baomidou.mybatisplus.extension.service.IService;
import com.gogirl.domain.order.serve.ScheduleManage;
import com.gogirl.domain.order.serve.ScheduleServe;
import com.gogirl.domain.store.store.StoreTechnician;
import com.gogirl.dto.LeisureScheduleServe;
import com.gogirl.dto.LeisureScheduleServeQuery;
import com.gogirl.dto.LeisureScheduleServeResp;
import com.gogirl.shared.order.*;
import java.text.ParseException;
......@@ -144,7 +144,7 @@ public interface ScheduleManageService extends IService<ScheduleManage> {
* @param query
* @return
*/
IPage<LeisureScheduleServe> queryPageLeisureScheduleServe(LeisureScheduleServeQuery query);
IPage<LeisureScheduleServeResp> queryPageLeisureScheduleServe(LeisureScheduleServeQuery query);
/**
* 查询美甲师不可用时间段
......
......@@ -23,8 +23,8 @@ import com.gogirl.domain.store.store.StoreClassesTechnician;
import com.gogirl.domain.store.store.StoreManage;
import com.gogirl.domain.store.store.StoreTechnician;
import com.gogirl.domain.user.customer.Customer;
import com.gogirl.dto.LeisureScheduleServe;
import com.gogirl.dto.LeisureScheduleServeQuery;
import com.gogirl.dto.LeisureScheduleServeResp;
import com.gogirl.infrastructure.common.exception.RRException;
import com.gogirl.infrastructure.common.util.CloneUtil;
import com.gogirl.infrastructure.common.util.ListUtil;
......@@ -1119,37 +1119,37 @@ public class ScheduleManageServiceImpl extends ServiceImpl<ScheduleManageMapper,
}
@Override
public IPage<LeisureScheduleServe> queryPageLeisureScheduleServe(LeisureScheduleServeQuery query) {
IPage<LeisureScheduleServe> page = new Page<>(query.getPageNum(), query.getPageSize());
public IPage<LeisureScheduleServeResp> queryPageLeisureScheduleServe(LeisureScheduleServeQuery query) {
IPage<LeisureScheduleServeResp> page = new Page<>(query.getPageNum(), query.getPageSize());
page = scheduleManageMapper.queryPageLeisureScheduleServe(page, query.getLatitude(), query.getLongitude());
page.getRecords().forEach(leisureScheduleServe -> {
leisureScheduleServe.setDistance(MapDistanceUtils.getDistance(query.getLatitude().toString(),
page.getRecords().forEach(leisureScheduleServeResp -> {
leisureScheduleServeResp.setDistance(MapDistanceUtils.getDistance(query.getLatitude().toString(),
query.getLongitude().toString(),
leisureScheduleServe.getLatitude().toString(),
leisureScheduleServe.getLongitude().toString()));
leisureScheduleServe.setDateTime(LocalDateTime.of(leisureScheduleServe.getWeekDate(), leisureScheduleServe.getTimeNode()));
leisureScheduleServeResp.getLatitude().toString(),
leisureScheduleServeResp.getLongitude().toString()));
leisureScheduleServeResp.setDateTime(LocalDateTime.of(leisureScheduleServeResp.getWeekDate(), leisureScheduleServeResp.getTimeNode()));
});
List<LeisureScheduleServe> list = page.getRecords().stream()
.peek(leisureScheduleServe -> {
List<LeisureScheduleServeResp> list = page.getRecords().stream()
.peek(leisureScheduleServeResp -> {
try {
leisureScheduleServe.setStoreTechnicianList(this.queryLeisureTechnician(leisureScheduleServe));
leisureScheduleServeResp.setStoreTechnicianList(this.queryLeisureTechnician(leisureScheduleServeResp));
} catch (ParseException e) {
throw new RRException(e.getMessage());
}
})
.filter(leisureScheduleServe -> ListUtil.isNotEmpty(leisureScheduleServe.getStoreTechnicianList()))
.filter(leisureScheduleServeResp -> ListUtil.isNotEmpty(leisureScheduleServeResp.getStoreTechnicianList()))
.collect(Collectors.toList());
page.setRecords(list);
return page;
}
private List<StoreTechnician> queryLeisureTechnician(LeisureScheduleServe leisureScheduleServe) throws ParseException {
BaseServe baseServe = baseServeMapper.selectById(leisureScheduleServe.getServeId());
LocalDateTime startTime = leisureScheduleServe.getDateTime();
private List<StoreTechnician> queryLeisureTechnician(LeisureScheduleServeResp leisureScheduleServeResp) throws ParseException {
BaseServe baseServe = baseServeMapper.selectById(leisureScheduleServeResp.getServeId());
LocalDateTime startTime = leisureScheduleServeResp.getDateTime();
LocalDateTime endTime = startTime.plusMinutes(baseServe.getServiceDuration()).plusMinutes(60);
List<StoreTechnician> storeTechnicianList = this.queryLeisureTechnician(leisureScheduleServe.getDepartmentId(), baseServe.getId(), startTime, endTime);
List<StoreTechnician> storeTechnicianList = this.queryLeisureTechnician(leisureScheduleServeResp.getDepartmentId(), baseServe.getId(), startTime, endTime);
return storeTechnicianList;
}
......
......@@ -2,7 +2,7 @@ package com.gogirl.application.store.career;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gogirl.domain.store.career.TechScoreRules;
import com.gogirl.dto.TechScore;
import com.gogirl.dto.TechScoreResp;
/**
* <p>
......@@ -19,5 +19,5 @@ public interface ITechScoreRulesService extends IService<TechScoreRules> {
*
* @return
*/
TechScore getTechScore();
TechScoreResp getTechScore();
}
......@@ -3,7 +3,7 @@ package com.gogirl.application.store.career.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.gogirl.application.store.career.ITechScoreRulesService;
import com.gogirl.domain.store.career.TechScoreRules;
import com.gogirl.dto.TechScore;
import com.gogirl.dto.TechScoreResp;
import com.gogirl.dto.admin.AchievementsPersonaResult;
import com.gogirl.dto.admin.AchievementsPersonaResultPageApiRequest;
import com.gogirl.dto.admin.AdminPage;
......@@ -44,7 +44,7 @@ public class TechScoreRulesServiceImpl extends ServiceImpl<TechScoreRulesMapper,
GogirlProperties gogirlProperties;
@Override
public TechScore getTechScore() {
public TechScoreResp getTechScore() {
HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.setContentType(MediaType.APPLICATION_JSON);
......@@ -68,8 +68,8 @@ public class TechScoreRulesServiceImpl extends ServiceImpl<TechScoreRulesMapper,
AchievementsPersonaResult achievementsPersonaResult = result.getData().getItems().stream().findAny().orElseThrow(NullPointerException::new);
TechScore techScore = new TechScore();
techScore.setTechScore(achievementsPersonaResult.getMonth_score().doubleValue());
TechScoreResp techScoreResp = new TechScoreResp();
techScoreResp.setTechScore(achievementsPersonaResult.getMonth_score().doubleValue());
List<TechScoreRules> techScoreRulesList = new ArrayList<>();
String card = String.format("开卡得分:%s。开卡率:%s。权重:%s。规则:20%%该项满分、5%%该项0分。可以超过100分",
......@@ -107,7 +107,7 @@ public class TechScoreRulesServiceImpl extends ServiceImpl<TechScoreRulesMapper,
TechScoreRules t5 = TechScoreRules.builder().sort(5).techScoreRules(total).build();
techScoreRulesList.add(t5);
techScore.setTechScoreRulesList(techScoreRulesList);
return techScore;
techScoreResp.setTechScoreRulesList(techScoreRulesList);
return techScoreResp;
}
}
......@@ -4,7 +4,7 @@ package com.gogirl.application.store.store;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gogirl.domain.store.store.StoreClassesTechnician;
import com.gogirl.domain.store.store.StoreTechnician;
import com.gogirl.dto.ParmTechnicianClasses;
import com.gogirl.dto.UpdateDayTechnicianClassesReq;
import java.text.ParseException;
import java.util.Date;
......@@ -55,8 +55,8 @@ public interface StoreClassesTechnicianService extends IService<StoreClassesTech
/**
* 美甲师提交排班
*
* @param parmTechnicianClasses
* @param updateDayTechnicianClassesReq
*/
void updateDayTechnicianClasses(ParmTechnicianClasses parmTechnicianClasses) throws ParseException;
void updateDayTechnicianClasses(UpdateDayTechnicianClassesReq updateDayTechnicianClassesReq) throws ParseException;
}
......@@ -10,7 +10,7 @@ import com.gogirl.domain.store.store.StoreClassesTechnician;
import com.gogirl.domain.store.store.StoreTechnician;
import com.gogirl.domain.xcx.GogirlToken;
import com.gogirl.domain.xcx.SysLog;
import com.gogirl.dto.ParmTechnicianClasses;
import com.gogirl.dto.UpdateDayTechnicianClassesReq;
import com.gogirl.infrastructure.common.util.JsonUtilByFsJson;
import com.gogirl.infrastructure.common.util.ListUtil;
import com.gogirl.infrastructure.mapper.store.store.StoreClassesMapper;
......@@ -95,10 +95,10 @@ public class StoreClassesTechnicianServiceImpl extends ServiceImpl<StoreClassesT
}
@Override
public void updateDayTechnicianClasses(ParmTechnicianClasses parmTechnicianClasses) throws ParseException {
String token = parmTechnicianClasses.getToken();
public void updateDayTechnicianClasses(UpdateDayTechnicianClassesReq updateDayTechnicianClassesReq) throws ParseException {
String token = updateDayTechnicianClassesReq.getToken();
String dayString = parmTechnicianClasses.getDayString();
String dayString = updateDayTechnicianClassesReq.getDayString();
GogirlToken gogirlToken = gogirlTokenService.getByToken(token);
Date day = new SimpleDateFormat("yyyy-MM-dd").parse(dayString);
......@@ -111,7 +111,7 @@ public class StoreClassesTechnicianServiceImpl extends ServiceImpl<StoreClassesT
storeClassesTechnicianMapper.deleteBatchIds(ids);
}
List<StoreClassesTechnician> storeClassesTechnicianList = parmTechnicianClasses.getList()
List<StoreClassesTechnician> storeClassesTechnicianList = updateDayTechnicianClassesReq.getList()
.stream()
.filter(storeTechnician -> storeTechnician.getClassesTechnician().getClasses() != null)
.filter(storeTechnician -> storeTechnician.getClassesTechnician().getClasses() > -1)
......
......@@ -2,6 +2,8 @@ package com.gogirl.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.gogirl.domain.store.store.StoreTechnician;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
......@@ -10,35 +12,49 @@ import java.time.LocalDateTime;
import java.time.LocalTime;
import java.util.List;
@ApiModel("闲时折扣列表项")
@Data
public class LeisureScheduleServe {
public class LeisureScheduleServeResp {
@ApiModelProperty("闲时折扣")
private Integer leisureDiscountConfigId;
@ApiModelProperty("折扣率")
private BigDecimal discountRate;
@ApiModelProperty("店铺id")
private Integer departmentId;
@ApiModelProperty("时间节点")
@JsonFormat(pattern = "HH:mm:ss")
private LocalTime timeNode;
@ApiModelProperty("日期")
@JsonFormat(pattern = "yyyy-MM-dd")
private LocalDate weekDate;
@ApiModelProperty("服务")
private Integer serveId;
@ApiModelProperty("服务名")
private String serveName;
@ApiModelProperty("店铺名")
private String departmentName;
@ApiModelProperty("经度")
private Double latitude;
@ApiModelProperty("纬度")
private Double longitude;
@ApiModelProperty("距离")
private Double distance;
@ApiModelProperty("日期")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime dateTime;
@ApiModelProperty("可用美甲师")
private List<StoreTechnician> storeTechnicianList;
}
package com.gogirl.dto;
import com.gogirl.domain.store.store.StoreTechnician;
import java.util.List;
public class ParmTechnicianClasses {
String token;
String dayString;
List<StoreTechnician> list;
public String getToken() {
return token;
}
public void setToken(String token) {
this.token = token;
}
public String getDayString() {
return dayString;
}
public void setDayString(String dayString) {
this.dayString = dayString;
}
public List<StoreTechnician> getList() {
return list;
}
public void setList(List<StoreTechnician> list) {
this.list = list;
}
}
......@@ -2,7 +2,6 @@ package com.gogirl.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiOperation;
import lombok.Data;
import java.time.LocalDateTime;
......
package com.gogirl.dto;
import com.gogirl.domain.store.career.TechScoreRules;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
@Data
public class TechScore {
public class TechScoreResp {
@ApiModelProperty("美甲师评分规则")
private List<TechScoreRules> techScoreRulesList;
@ApiModelProperty("美甲师得分")
private Double techScore;
}
package com.gogirl.dto;
import lombok.Data;
import java.time.LocalDate;
import java.time.LocalTime;
@Data
public class TechnicianTimeNode {
private Integer technicianId;
private Integer departmentId;
private LocalTime timeNode;
private LocalDate serveData;
}
package com.gogirl.dto;
import com.gogirl.domain.store.store.StoreTechnician;
import lombok.Data;
import java.util.List;
@Data
public class UpdateDayTechnicianClassesReq {
String token;
String dayString;
List<StoreTechnician> list;
}
......@@ -4,11 +4,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.gogirl.domain.order.serve.ScheduleManage;
import com.gogirl.domain.order.serve.ScheduleServe;
import com.gogirl.dto.LeisureScheduleServe;
import com.gogirl.dto.TechnicianTimeNode;
import com.gogirl.dto.LeisureScheduleServeResp;
import org.apache.ibatis.annotations.Param;
import java.time.LocalDate;
import java.util.Date;
import java.util.List;
......@@ -29,7 +27,19 @@ public interface ScheduleManageMapper extends BaseMapper<ScheduleManage> {
List<ScheduleManage> selectUnFinish(Integer technicianId);
List<ScheduleServe> checkConflict(@Param("startTime") Date startTime, @Param("endTime") Date endTime, @Param("technicianId") Integer technicianId, @Param("scheduleId") Integer scheduleId);
/**
* 查询与时间冲突的服务
*
* @param startTime
* @param endTime
* @param technicianId
* @param scheduleId
* @return
*/
List<ScheduleServe> checkConflict(@Param("startTime") Date startTime,
@Param("endTime") Date endTime,
@Param("technicianId") Integer technicianId,
@Param("scheduleId") Integer scheduleId);
/**
* 闲时预约列表
......@@ -37,15 +47,8 @@ public interface ScheduleManageMapper extends BaseMapper<ScheduleManage> {
* @param page
* @return
*/
IPage<LeisureScheduleServe> queryPageLeisureScheduleServe(IPage<LeisureScheduleServe> page,
IPage<LeisureScheduleServeResp> queryPageLeisureScheduleServe(IPage<LeisureScheduleServeResp> page,
@Param("latitude") Double latitude,
@Param("longitude") Double longitude);
/**
* 查询某天美甲师已用时间节点列表
*
* @param localDate
* @return
*/
List<TechnicianTimeNode> queryTechnicianTimeNode(LocalDate localDate);
}
......@@ -2,7 +2,6 @@ package com.gogirl.interfaces.order.serve;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.gogirl.application.order.serve.OrderManageService;
import com.gogirl.application.order.serve.OrderServeService;
import com.gogirl.application.order.serve.ScheduleManageService;
......@@ -29,6 +28,7 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.*;
import java.time.LocalDateTime;
......@@ -248,9 +248,9 @@ public class OrderManageController {
public JsonResult<IPage<OrderComment>> getMyOrderComment(@RequestParam Integer pageNum,
@RequestParam Integer pageSize,
@RequestHeader String token,
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@RequestParam(required = false) LocalDateTime startTime,
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@RequestParam(required = false) LocalDateTime endTime) {
Integer technicianId = SessionUtils.getTechnicianId();
Page<OrderComment> page = new Page<>(pageNum, pageSize);
......
......@@ -14,8 +14,8 @@ import com.gogirl.domain.order.serve.ScheduleManage;
import com.gogirl.domain.product.serve.BaseProduce;
import com.gogirl.domain.store.store.StoreTechnician;
import com.gogirl.domain.xcx.GogirlToken;
import com.gogirl.dto.LeisureScheduleServe;
import com.gogirl.dto.LeisureScheduleServeQuery;
import com.gogirl.dto.LeisureScheduleServeResp;
import com.gogirl.dto.QueryLeisureTechnicianReq;
import com.gogirl.infrastructure.common.base.JsonResult;
import com.gogirl.infrastructure.common.exception.RRException;
......@@ -254,8 +254,8 @@ public class ScheduleManageController {
@ApiOperation("分页查询闲时服务")
@PostMapping("/customer/queryPageLeisureScheduleServe")
public JsonResult<IPage<LeisureScheduleServe>> queryPageLeisureScheduleServe(@RequestBody LeisureScheduleServeQuery query) {
IPage<LeisureScheduleServe> page = scheduleManageService.queryPageLeisureScheduleServe(query);
public JsonResult<IPage<LeisureScheduleServeResp>> queryPageLeisureScheduleServe(@RequestBody LeisureScheduleServeQuery query) {
IPage<LeisureScheduleServeResp> page = scheduleManageService.queryPageLeisureScheduleServe(query);
return JsonResult.success(page);
}
......
......@@ -2,7 +2,7 @@ package com.gogirl.interfaces.store.career;
import com.gogirl.application.store.career.ITechScoreRulesService;
import com.gogirl.dto.TechScore;
import com.gogirl.dto.TechScoreResp;
import com.gogirl.infrastructure.common.base.JsonResult;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
......@@ -27,9 +27,9 @@ public class TechScoreRulesController {
@ApiOperation("美甲师评分")
@GetMapping("/technician/getTechScore")
public JsonResult<TechScore> getTechScore() {
TechScore techScore = techScoreRulesService.getTechScore();
return JsonResult.success(techScore);
public JsonResult<TechScoreResp> getTechScore() {
TechScoreResp techScoreResp = techScoreRulesService.getTechScore();
return JsonResult.success(techScoreResp);
}
}
......@@ -8,7 +8,7 @@ import com.gogirl.application.xcx.GogirlTokenService;
import com.gogirl.domain.store.store.StoreClassesTechnician;
import com.gogirl.domain.store.store.StoreTechnician;
import com.gogirl.domain.xcx.GogirlToken;
import com.gogirl.dto.ParmTechnicianClasses;
import com.gogirl.dto.UpdateDayTechnicianClassesReq;
import com.gogirl.infrastructure.common.base.JsonResult;
import com.gogirl.infrastructure.mapper.store.store.StoreClassesTechnicianMapper;
import com.gogirl.infrastructure.mapper.xcx.SysLogMapper;
......@@ -56,9 +56,8 @@ public class ClassesTechnicianController {
@ApiOperation(value = "美甲师端提交当天店铺排班")
@PostMapping("/technician/classestechnician/updateDayTechnicianClasses")
public JsonResult<Void> updateDayTechnicianClasses(@RequestBody ParmTechnicianClasses parmTechnicianClasses) throws ParseException {
storeClassesTechnicianService.updateDayTechnicianClasses(parmTechnicianClasses);
public JsonResult<Void> updateDayTechnicianClasses(@RequestBody UpdateDayTechnicianClassesReq request) throws ParseException {
storeClassesTechnicianService.updateDayTechnicianClasses(request);
return JsonResult.success();
}
......
......@@ -206,7 +206,7 @@
and TO_DAYS(t1.start_time) = TO_DAYS(NOW())
and t2.id != #{scheduleId}
</select>
<select id="queryPageLeisureScheduleServe" resultType="com.gogirl.dto.LeisureScheduleServe">
<select id="queryPageLeisureScheduleServe" resultType="com.gogirl.dto.LeisureScheduleServeResp">
SELECT t1.id as leisure_discount_config_id,
t1.discount_rate,
t1.department_id,
......@@ -252,14 +252,7 @@
order by distance,week_date,time_node
</select>
<select id="queryTechnicianTimeNode" resultType="com.gogirl.dto.TechnicianTimeNode">
SELECT t1.technician_id,t2.department_id,t3.time_node,t1.serve_data from scheduled_serve t1
LEFT JOIN scheduled_manage t2 on t1.sch_id = t2.id
LEFT JOIN time_node t3 on start_time_node &lt;= time_node and end_time_node &gt; time_node
where t1.serve_data= '2020-03-07'
and (t2.`status` =1 or t2.`status`=8)
and (t1.`STATUS` =1 or t1.`status`=2)
</select>
</mapper>
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