Commit f84d97f9 authored by lining's avatar lining

feat: 订单分页查询接口完善分页字段

parent 3d6dd2c8
...@@ -17,9 +17,9 @@ public class ServiceOrderVO { ...@@ -17,9 +17,9 @@ public class ServiceOrderVO {
/** /**
* 地址相关信息 * 地址相关信息
*/ */
private String name;
private String phone; private String phone;
private String address; private String address;
private String name;
private Long addressId; private Long addressId;
......
...@@ -8,6 +8,6 @@ import java.util.List; ...@@ -8,6 +8,6 @@ import java.util.List;
public interface ServiceOrderMapper extends Mapper<ServiceOrder> { public interface ServiceOrderMapper extends Mapper<ServiceOrder> {
List<ServiceOrder> selectServiceOrderPage(@Param("orderStatus") Integer orderStatus); List<ServiceOrder> selectServiceOrderPage(@Param("orderStatus") Integer orderStatus, String month, String keyWord);
} }
\ No newline at end of file
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
<mapper namespace="com.onsiteservice.dao.mapper.service.ServiceOrderMapper"> <mapper namespace="com.onsiteservice.dao.mapper.service.ServiceOrderMapper">
<select id="selectServiceOrderPage" resultType="com.onsiteservice.entity.order.ServiceOrder"> <select id="selectServiceOrderPage" resultType="com.onsiteservice.entity.order.ServiceOrder">
<bind name="p1" value="'%' + keyWord + '%'"/>
select * select *
from service_order from service_order
where where
...@@ -10,6 +11,12 @@ ...@@ -10,6 +11,12 @@
<if test="orderStatus != 0"> <if test="orderStatus != 0">
and order_status = #{orderStatus,jdbcType=INTEGER} and order_status = #{orderStatus,jdbcType=INTEGER}
</if> </if>
<if test="month != null and month != ''">
and date_format(create_time,'%Y%m') = #{month}
</if>
<if test="keyWord != null and keyWord != ''">
and (service_name like #{p1} or address like #{p1} or name like #{p1})
</if>
order by create_time asc order by create_time asc
</select> </select>
......
...@@ -59,10 +59,18 @@ public class ServiceOrder implements Serializable { ...@@ -59,10 +59,18 @@ public class ServiceOrder implements Serializable {
@ApiModelProperty("服务地址id") @ApiModelProperty("服务地址id")
private Long addressId; private Long addressId;
@Column(name = "name")
@ApiModelProperty("客户名")
private String name;
@Column(name = "phone") @Column(name = "phone")
@ApiModelProperty("客户服务手机号") @ApiModelProperty("客户服务手机号")
private String phone; private String phone;
@Column(name = "address")
@ApiModelProperty("客户服务地址")
private String address;
/** /**
* 期望上门时间 * 期望上门时间
*/ */
......
...@@ -5,8 +5,9 @@ import io.swagger.annotations.ApiModel; ...@@ -5,8 +5,9 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.Length;
import java.util.Date; import javax.validation.constraints.Size;
/** /**
* <P></P> * <P></P>
...@@ -23,4 +24,11 @@ public class PageServiceOrderDTO extends PageParams { ...@@ -23,4 +24,11 @@ public class PageServiceOrderDTO extends PageParams {
@ApiModelProperty(value = "订单状态: 0表示全部,1表示...", required = true) @ApiModelProperty(value = "订单状态: 0表示全部,1表示...", required = true)
private Integer orderStatus; private Integer orderStatus;
@ApiModelProperty(value = "月份")
@Size(min = 6, max = 6, message = "月份格式不正确[yyyyMM]")
private String month;
@ApiModelProperty(value = "模糊查询关键字,可输入客户名,服务地址,服务类型")
private String keyWord;
} }
package com.onsiteservice.miniapp.service.order; package com.onsiteservice.miniapp.service.order;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.google.common.collect.Lists;
import com.onsiteservice.common.order.vo.ServiceOrderLogVO; import com.onsiteservice.common.order.vo.ServiceOrderLogVO;
import com.onsiteservice.common.order.vo.ServiceOrderVO; import com.onsiteservice.common.order.vo.ServiceOrderVO;
import com.onsiteservice.constant.constant.BizConstants; import com.onsiteservice.constant.constant.BizConstants;
...@@ -96,7 +97,7 @@ public class ServiceOrderBizService extends AbstractMapper<ServiceOrder> { ...@@ -96,7 +97,7 @@ public class ServiceOrderBizService extends AbstractMapper<ServiceOrder> {
log.info("order getPage dto: {}, userId: {}", dto, userId); log.info("order getPage dto: {}, userId: {}", dto, userId);
PageHelper.startPage(dto.getPage(), dto.getSize()); PageHelper.startPage(dto.getPage(), dto.getSize());
List<ServiceOrder> serviceOrderList = serviceOrderMapper.selectServiceOrderPage(dto.getOrderStatus()); List<ServiceOrder> serviceOrderList = serviceOrderMapper.selectServiceOrderPage(dto.getOrderStatus(), dto.getMonth(), dto.getKeyWord());
return ResultGenerator.success(new PageInfoVO<>(buildServiceOrderVO(serviceOrderList))); return ResultGenerator.success(new PageInfoVO<>(buildServiceOrderVO(serviceOrderList)));
} }
...@@ -122,8 +123,12 @@ public class ServiceOrderBizService extends AbstractMapper<ServiceOrder> { ...@@ -122,8 +123,12 @@ public class ServiceOrderBizService extends AbstractMapper<ServiceOrder> {
serviceOrder.setAccountNo(userId); serviceOrder.setAccountNo(userId);
// 订单号 // 订单号
serviceOrder.setOrderNo(RandomUtils.orderNum()); serviceOrder.setOrderNo(RandomUtils.orderNum());
// 客户名
serviceOrder.setName(serviceAddress.getName());
// 客户手机号 // 客户手机号
serviceOrder.setPhone(serviceAddress.getPhone()); serviceOrder.setPhone(serviceAddress.getPhone());
// 客户地址
serviceOrder.setAddress(serviceAddress.getAddress());
// 创建人 // 创建人
serviceOrder.setCreateBy(userId); serviceOrder.setCreateBy(userId);
// 服务名 // 服务名
...@@ -220,7 +225,6 @@ public class ServiceOrderBizService extends AbstractMapper<ServiceOrder> { ...@@ -220,7 +225,6 @@ public class ServiceOrderBizService extends AbstractMapper<ServiceOrder> {
serviceOrder.setOrderStatus(ServiceOrderStatusEnum.REFUND_APPLY.getStatus()); serviceOrder.setOrderStatus(ServiceOrderStatusEnum.REFUND_APPLY.getStatus());
int result = serviceOrderMapper.updateByPrimaryKeySelective(serviceOrder); int result = serviceOrderMapper.updateByPrimaryKeySelective(serviceOrder);
try { try {
// 调用微信接口退款 ?? // 调用微信接口退款 ??
...@@ -229,25 +233,18 @@ public class ServiceOrderBizService extends AbstractMapper<ServiceOrder> { ...@@ -229,25 +233,18 @@ public class ServiceOrderBizService extends AbstractMapper<ServiceOrder> {
} }
return result; return result;
}*/ }*/
private List<ServiceOrderVO> buildServiceOrderVO(List<ServiceOrder> serviceOrderList) {
// 地址信息
List<Long> addressIdList = serviceOrderList.parallelStream().map(ServiceOrder::getAddressId).collect(Collectors.toList());
List<ServiceAddress> serviceAddressList = serviceAddressMapper.selectByIdList(addressIdList);
Map<Long, ServiceAddress> serviceAddressMap = serviceAddressList.parallelStream().collect(Collectors.toMap(ServiceAddress::getId, Function.identity()));
private List<ServiceOrderVO> buildServiceOrderVO(List<ServiceOrder> serviceOrderList) {
// 图片信息 // 图片信息
List<Long> orderIdList = serviceOrderList.parallelStream().map(ServiceOrder::getId).collect(Collectors.toList()); List<Long> orderIdList = serviceOrderList.parallelStream().map(ServiceOrder::getId).collect(Collectors.toList());
List<ServiceOrderImg> serviceOrderImgList = serviceOrderImgMapper.selectByOrderIdList(orderIdList); List<ServiceOrderImg> serviceOrderImgList = CollectionUtils.isEmpty(orderIdList) ? Lists.newArrayList() : serviceOrderImgMapper.selectByOrderIdList(orderIdList);
Map<Long, List<ServiceOrderImg>> serviceOrderImgMap = serviceOrderImgList.parallelStream().collect(Collectors.groupingBy(ServiceOrderImg::getOrderId)); Map<Long, List<ServiceOrderImg>> serviceOrderImgMap = serviceOrderImgList.parallelStream().collect(Collectors.groupingBy(ServiceOrderImg::getOrderId));
return serviceOrderList.parallelStream().map(e -> { return serviceOrderList.parallelStream().map(e -> {
ServiceOrderVO serviceOrderVO = AttrCopyUtils.copy(e, new ServiceOrderVO()); ServiceOrderVO serviceOrderVO = AttrCopyUtils.copy(e, new ServiceOrderVO());
ServiceAddress sa = serviceAddressMap.getOrDefault(serviceOrderVO.getAddressId(), new ServiceAddress());
serviceOrderVO.setName(sa.getName());
serviceOrderVO.setAddress(sa.getAddress());
serviceOrderVO.setUrls(serviceOrderImgMap.getOrDefault(serviceOrderVO.getId(), new ArrayList<>()).parallelStream() serviceOrderVO.setUrls(serviceOrderImgMap.getOrDefault(serviceOrderVO.getId(), new ArrayList<>()).parallelStream()
.map(ServiceOrderImg::getUrl).collect(Collectors.toList())); .map(ServiceOrderImg::getUrl).collect(Collectors.toList()));
......
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