Commit 72917a88 by huluobin

用户端我的客照

parent 1c49b377
package com.gogirl.application.order.serve;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gogirl.domain.order.serve.OrderRecord;
import com.gogirl.shared.order.OrderPhotoResp;
/**
* 订单完成后记录
*/
public interface OrderRecordService extends IService<OrderRecord> {
/**
* 查询我的客照
*
* @param pageNum
* @param pageSize
* @return
*/
Page<OrderPhotoResp> queryMyOrderPhoto(Integer pageNum, Integer pageSize);
}
package com.gogirl.application.order.serve.impl;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.gogirl.application.order.serve.OrderRecordService;
import com.gogirl.domain.order.serve.OrderRecord;
import com.gogirl.infrastructure.mapper.order.serve.OrderRecordMapper;
import com.gogirl.infrastructure.util.SessionUtils;
import com.gogirl.shared.order.OrderPhotoResp;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* Created by yinyong on 2018/12/3.
*/
......@@ -17,4 +22,17 @@ import org.springframework.stereotype.Service;
@AllArgsConstructor
public class OrderRecordServiceImpl extends ServiceImpl<OrderRecordMapper, OrderRecord> implements OrderRecordService {
private final OrderRecordMapper orderRecordMapper;
@Override
public Page<OrderPhotoResp> queryMyOrderPhoto(Integer pageNum, Integer pageSize) {
List<OrderPhotoResp> list = orderRecordMapper.queryMyOrderPhoto(SessionUtils.getCustomerId(), (pageNum - 1) * pageSize, pageSize);
Integer count = orderRecordMapper.queryMyOrderPhotoCount(SessionUtils.getCustomerId(), (pageNum - 1) * pageSize, pageSize);
Page<OrderPhotoResp> photoRespPage = new Page<>(pageNum, pageSize, count);
photoRespPage.setRecords(list);
return photoRespPage;
}
}
......@@ -3,7 +3,10 @@ package com.gogirl.infrastructure.mapper.order.serve;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.gogirl.domain.order.serve.OrderRecord;
import org.apache.ibatis.annotations.Mapper;
import com.gogirl.shared.order.OrderPhotoResp;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* Created by yinyong on 2018/9/21.
......@@ -11,4 +14,7 @@ import org.apache.ibatis.annotations.Mapper;
public interface OrderRecordMapper extends BaseMapper<OrderRecord> {
List<OrderPhotoResp> queryMyOrderPhoto(@Param("customerId") Integer customerId, @Param("index") Integer index, @Param("offset") Integer offset);
Integer queryMyOrderPhotoCount(@Param("customerId") Integer customerId, @Param("index") Integer index, @Param("offset") Integer offset);
}
......@@ -3,6 +3,7 @@ package com.gogirl.interfaces.order.serve;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.gogirl.application.order.serve.OrderManageService;
import com.gogirl.application.order.serve.OrderRecordService;
import com.gogirl.application.order.serve.OrderServeService;
import com.gogirl.application.order.serve.ScheduleManageService;
import com.gogirl.application.xcx.GogirlTokenService;
......@@ -15,7 +16,6 @@ import com.gogirl.domain.product.purchase.PurchaseSku;
import com.gogirl.domain.xcx.GogirlToken;
import com.gogirl.infrastructure.common.base.JsonResult;
import com.gogirl.infrastructure.common.exception.RRException;
import com.gogirl.infrastructure.common.util.ListUtil;
import com.gogirl.infrastructure.common.util.StringUtils;
import com.gogirl.infrastructure.mapper.order.serve.OrderCommentMapper;
import com.gogirl.infrastructure.mapper.order.serve.OrderServeDescribeMapper;
......@@ -24,6 +24,7 @@ import com.gogirl.infrastructure.util.SessionUtils;
import com.gogirl.infrastructure.util.lock.OrderIdLock;
import com.gogirl.shared.order.ListOrderQuery;
import com.gogirl.shared.order.OrderManageDTO;
import com.gogirl.shared.order.OrderPhotoResp;
import com.gogirl.shared.order.RecordOrderDataRequest;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
......@@ -36,7 +37,6 @@ import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.stream.Collectors;
@Api(tags = "预约订单接口")
@RestController
......@@ -66,22 +66,32 @@ public class OrderManageController {
private final OrderCommentMapper orderCommentMapper;
private final OrderManageDTOAssembler orderManageDTOAssembler;
private final ScheduleManageService scheduleManageService;
private final OrderRecordService orderRecordService;
// @ApiOperation(value = "查询我的客照")
// @GetMapping(value = "/customer/ordermanage/queryMyOrderPhoto")
// public JsonResult<Page<OrderManageDTO>> queryMyOrderPhoto(@RequestHeader String token,
// @RequestParam Integer pageNum,
// @RequestParam Integer pageSize) {
//
// GogirlToken gogirlToken = gogirlTokenService.getByToken(token);
// ListOrderQuery qry = new ListOrderQuery();
// qry.setCustomerId(gogirlToken.getCustomerId());
// qry.setPageNum(pageNum);
// qry.setPageSize(pageSize);
//
// Page<OrderManageDTO> orderManageDTOPage = (Page<OrderManageDTO>) orderManageService.queryListOrder(qry).convert(orderManageDTOAssembler);
// orderManageDTOPage.setRecords(orderManageDTOPage.getRecords().stream().peek(OrderManageDTO::setImages).filter(orderManageDTO -> ListUtil.isNotEmpty(orderManageDTO.getImages())).collect(Collectors.toList()));
// return JsonResult.success(orderManageDTOPage);
// }
@ApiOperation(value = "查询我的客照")
@GetMapping(value = "/customer/ordermanage/queryMyOrderPhoto")
public JsonResult<Page<OrderManageDTO>> queryMyOrderPhoto(@RequestHeader String token,
public JsonResult<Page<OrderPhotoResp>> queryMyOrderPhoto(@RequestHeader String token,
@RequestParam Integer pageNum,
@RequestParam Integer pageSize) {
GogirlToken gogirlToken = gogirlTokenService.getByToken(token);
ListOrderQuery qry = new ListOrderQuery();
qry.setCustomerId(gogirlToken.getCustomerId());
qry.setPageNum(pageNum);
qry.setPageSize(pageSize);
Page<OrderManageDTO> orderManageDTOPage = (Page<OrderManageDTO>) orderManageService.queryListOrder(qry).convert(orderManageDTOAssembler);
orderManageDTOPage.setRecords(orderManageDTOPage.getRecords().stream().peek(OrderManageDTO::setImages).filter(orderManageDTO -> ListUtil.isNotEmpty(orderManageDTO.getImages())).collect(Collectors.toList()));
return JsonResult.success(orderManageDTOPage);
Page<OrderPhotoResp> orderPhotoRespPage = orderRecordService.queryMyOrderPhoto(pageNum, pageSize);
return JsonResult.success(orderPhotoRespPage);
}
@ApiOperation(value = "查询我的订单")
......
package com.gogirl.shared.order;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* <p>
*
* </p>
*
* @author robbendev
* @since 2020/5/18 10:04 上午
*/
@Data
public class OrderPhotoResp {
@ApiModelProperty("order_record.id")
private Integer id;
@ApiModelProperty("客照 逗号分隔")
private Integer picturePath;
@ApiModelProperty("服务实际开始时间")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date startTime;
@ApiModelProperty("服务名称")
private Integer serveName;
@ApiModelProperty("服务id")
private Integer serveId;
@ApiModelProperty("款式id")
private Integer produceId;
@ApiModelProperty("款式名称")
private String produceName;
@ApiModelProperty("美甲师id 逗号分隔")
private String technicianId;
@ApiModelProperty("美甲师姓名 逗号分隔")
private String technicianName;
@ApiModelProperty("美甲师头像,逗号分隔")
private String technicianPicturePath;
}
......@@ -4,4 +4,42 @@
<mapper namespace="com.gogirl.infrastructure.mapper.order.serve.OrderRecordMapper">
<select id="queryMyOrderPhoto" resultType="com.gogirl.shared.order.OrderPhotoResp">
SELECT a.*
, GROUP_CONCAT(b.`name`) technician_name
, GROUP_CONCAT(b.`picture_path`) technician_picture_path
from (
SELECT t1.id,
t1.picture_path,
t2.start_time,
t2.serve_name,
t2.serve_id,
t2.produce_id,
t2.produce_name,
t2.technician_id
from order_record t1
INNER JOIN order_serve t2 on t1.order_serve_id = t2.id
LEFT JOIN order_manage t3 on t2.order_id = t3.id
where t1.picture_path is not null
and t1.picture_path != ''
and t3.order_user = #{customerId}
GROUP BY t1.picture_path
LIMIT #{index},#{offset}
) a
LEFT JOIN store_technician b on FIND_IN_SET(b.id, a.technician_id)
GROUP BY a.id
</select>
<select id="queryMyOrderPhotoCount" resultType="java.lang.Integer">
select count(a.id)
from (
SELECT t1.id
from order_record t1
INNER JOIN order_serve t2 on t1.order_serve_id = t2.id
LEFT JOIN order_manage t3 on t2.order_id = t3.id
where t1.picture_path is not null
and t1.picture_path != ''
and t3.order_user = #{customerId}
GROUP BY t1.picture_path
) a
</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