小程序服务评价代码修改

This commit is contained in:
张恒 2023-10-20 13:35:37 +08:00
parent ca5b656ee6
commit d7dab603ee
6 changed files with 60 additions and 23 deletions

View File

@ -99,7 +99,7 @@ public class NursingOrderController extends BaseController {
/** /**
* 根据openid编号查询对应得订单 * 根据openid编号查询对应得订单
*/ */
//@MobileRequestAuthorization @MobileRequestAuthorization
@GetMapping("/getAppletOrderList") @GetMapping("/getAppletOrderList")
public TableDataInfo getAppletOrderList(NurseOrderDTO nurseOrder) { public TableDataInfo getAppletOrderList(NurseOrderDTO nurseOrder) {
if (Objects.isNull(nurseOrder) || Objects.isNull(nurseOrder.getParentId()) || StringUtils.isBlank(nurseOrder.getCardNo()) || StringUtils.isBlank(nurseOrder.getOrderStatus())) { if (Objects.isNull(nurseOrder) || Objects.isNull(nurseOrder.getParentId()) || StringUtils.isBlank(nurseOrder.getCardNo()) || StringUtils.isBlank(nurseOrder.getOrderStatus())) {

View File

@ -35,4 +35,14 @@ public class NurseOrderDTO extends BaseDomain implements Serializable {
* 地区标识 * 地区标识
*/ */
private String region; private String region;
/**
* 页码
*/
private Integer pageNum;
/**
* 数量
*/
private Integer pageSize;
} }

View File

@ -79,10 +79,10 @@ public interface NursingOrderMapper {
* 根据openid编号查询对应得订单 * 根据openid编号查询对应得订单
* *
* @param patientId openid编号 * @param patientId openid编号
* @param orderStatus 订单状态 * @param orderStatusList 订单状态
* @return AjaxResult * @return AjaxResult
*/ */
List<PatientOrder> getGoodsOrderAndConsultationOrder(@Param("patientId") Long patientId, @Param("orderStatus") String orderStatus); List<PatientOrder> getGoodsOrderAndConsultationOrder(@Param("patientId") Long patientId, @Param("orderStatusList") List<String> orderStatusList);
/** /**
* 根据patientId编号查询评价信息 * 根据patientId编号查询评价信息

View File

@ -26,13 +26,9 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.ArrayList; import java.util.*;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import static com.xinelu.common.utils.PageUtils.startPage;
/** /**
* @Description 订单分页 * @Description 订单分页
* @Author ZhangHeng * @Author ZhangHeng
@ -144,12 +140,17 @@ public class NursingOrderServiceImpl implements INursingOrderService {
List<PatientOrder> appletOrderList = new ArrayList<>(); List<PatientOrder> appletOrderList = new ArrayList<>();
List<PatientOrder> goodsOrderAndConsultationOrder = new ArrayList<>(); List<PatientOrder> goodsOrderAndConsultationOrder = new ArrayList<>();
if (NOT_EVALUATED.equals(nurseOrder.getOrderStatus())) { if (NOT_EVALUATED.equals(nurseOrder.getOrderStatus())) {
List<String> strings = new ArrayList<>();
strings.add(GooodsOrderStatusEnum.RECEIVED_GOODS.getInfo());
strings.add(GooodsOrderStatusEnum.COMPLETED.getInfo());
appletOrderList = nursingOrderMapper.getAppointmentOrderListByParentId(nurseOrder.getParentId(), OrderStatusEnum.COMPLETE.getInfo()); appletOrderList = nursingOrderMapper.getAppointmentOrderListByParentId(nurseOrder.getParentId(), OrderStatusEnum.COMPLETE.getInfo());
goodsOrderAndConsultationOrder = nursingOrderMapper.getGoodsOrderAndConsultationOrder(nurseOrder.getParentId(), GooodsOrderStatusEnum.RECEIVED_GOODS.getInfo()); goodsOrderAndConsultationOrder = nursingOrderMapper.getGoodsOrderAndConsultationOrder(nurseOrder.getParentId(), strings);
} }
if (EVALUATED.equals(nurseOrder.getOrderStatus())) { if (EVALUATED.equals(nurseOrder.getOrderStatus())) {
List<String> strings = new ArrayList<>();
strings.add(GooodsOrderStatusEnum.EVALUATED.getInfo());
appletOrderList = nursingOrderMapper.getAppointmentOrderListByParentId(nurseOrder.getParentId(), OrderStatusEnum.EVALUATED.getInfo()); appletOrderList = nursingOrderMapper.getAppointmentOrderListByParentId(nurseOrder.getParentId(), OrderStatusEnum.EVALUATED.getInfo());
goodsOrderAndConsultationOrder = nursingOrderMapper.getGoodsOrderAndConsultationOrder(nurseOrder.getParentId(), GooodsOrderStatusEnum.EVALUATED.getInfo()); goodsOrderAndConsultationOrder = nursingOrderMapper.getGoodsOrderAndConsultationOrder(nurseOrder.getParentId(), strings);
} }
if (CollectionUtils.isNotEmpty(appletOrderList)) { if (CollectionUtils.isNotEmpty(appletOrderList)) {
patientOrders.addAll(appletOrderList); patientOrders.addAll(appletOrderList);
@ -164,23 +165,25 @@ public class NursingOrderServiceImpl implements INursingOrderService {
PatientOrderVO resultHttp = JSON.parseObject(result, PatientOrderVO.class); PatientOrderVO resultHttp = JSON.parseObject(result, PatientOrderVO.class);
if (Objects.nonNull(resultHttp) && CollectionUtils.isNotEmpty(resultHttp.getData())) { if (Objects.nonNull(resultHttp) && CollectionUtils.isNotEmpty(resultHttp.getData())) {
List<PatientOrder> data = resultHttp.getData(); List<PatientOrder> data = resultHttp.getData();
data.forEach(item -> item.setOrderSource(OrderSourceEnum.FAMILY_DOCTOR.getInfo()));
List<PatientOrder> orderEvaluate = nursingOrderMapper.getOrderEvaluateByPatientId(nurseOrder.getParentId()); List<PatientOrder> orderEvaluate = nursingOrderMapper.getOrderEvaluateByPatientId(nurseOrder.getParentId());
if (CollectionUtils.isNotEmpty(orderEvaluate) && EVALUATED.equals(nurseOrder.getOrderStatus())) { if (CollectionUtils.isNotEmpty(orderEvaluate) && EVALUATED.equals(nurseOrder.getOrderStatus())) {
for (PatientOrder patientOrder : orderEvaluate) { for (PatientOrder patientOrder : orderEvaluate) {
PatientOrder dataFirst = data.stream().filter(Objects::nonNull).filter(item -> Objects.nonNull(item.getOrderNo()) && patientOrder.getOrderNo().equals(item.getOrderNo())).findFirst().orElse(new PatientOrder()); PatientOrder dataFirst = data.stream().filter(Objects::nonNull).filter(item -> Objects.nonNull(item.getOrderNo()) && patientOrder.getOrderNo().equals(item.getOrderNo())).findFirst().orElse(new PatientOrder());
dataFirst.setCompositeScore(patientOrder.getCompositeScore()); dataFirst.setCompositeScore(patientOrder.getCompositeScore());
dataFirst.setOrderSource(OrderSourceEnum.FAMILY_DOCTOR.getInfo());
patientOrders.add(dataFirst); patientOrders.add(dataFirst);
} }
} }
if (CollectionUtils.isNotEmpty(orderEvaluate) && NOT_EVALUATED.equals(nurseOrder.getOrderStatus())) { if (CollectionUtils.isNotEmpty(orderEvaluate) && NOT_EVALUATED.equals(nurseOrder.getOrderStatus())) {
data.removeAll(orderEvaluate); Collection<PatientOrder> subtract = CollectionUtils.subtract(data, orderEvaluate);
data.forEach(item ->item.setOrderSource(OrderSourceEnum.FAMILY_DOCTOR.getInfo())); patientOrders.addAll(subtract);
} }
if (CollectionUtils.isEmpty(orderEvaluate) && NOT_EVALUATED.equals(nurseOrder.getOrderStatus())) {
patientOrders.addAll(data); patientOrders.addAll(data);
} }
startPage(); }
patientOrders.sort((t1, t2) -> t2.getCreateTime().compareTo(t1.getCreateTime())); Collections.sort(patientOrders, Comparator.comparing(PatientOrder::getCreateTime, (u1, u2) -> u2.compareTo(u1)));
patientOrders = patientOrders.stream().skip((nurseOrder.getPageNum() - 1) * nurseOrder.getPageSize()).limit(nurseOrder.getPageSize()).collect(Collectors.toList());
return patientOrders; return patientOrders;
} }
} }

View File

@ -1,10 +1,13 @@
package com.xinelu.applet.vo.nursingorder; package com.xinelu.applet.vo.nursingorder;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.xinelu.common.core.domain.BaseDomain;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.Objects;
/** /**
* @Description 服务评价 * @Description 服务评价
@ -13,7 +16,7 @@ import java.time.LocalDateTime;
*/ */
@Data @Data
public class PatientOrder implements Serializable { public class PatientOrder extends BaseDomain implements Serializable {
/** /**
* 被护理人信息表id * 被护理人信息表id
@ -36,6 +39,7 @@ public class PatientOrder implements Serializable {
/** /**
* 下单时间 * 下单时间
*/ */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTime; private LocalDateTime createTime;
/** /**
@ -77,4 +81,22 @@ public class PatientOrder implements Serializable {
* 订单来源泉医模块SPRING_DOCTOR家医模块FAMILY_DOCTOR * 订单来源泉医模块SPRING_DOCTOR家医模块FAMILY_DOCTOR
*/ */
private String orderSource; private String orderSource;
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
PatientOrder that = (PatientOrder) o;
return Objects.equals(orderNo, that.orderNo);
}
@Override
public int hashCode() {
return Objects.hash(orderNo);
}
} }

View File

@ -155,9 +155,6 @@
<if test="orderType != null and orderType != ''"> <if test="orderType != null and orderType != ''">
and gr.order_type = #{orderType} and gr.order_type = #{orderType}
</if> </if>
<if test="orderType = null and orderType = ''">
and gr.order_type IN #{orderTypeList}
</if>
and gr.del_flag = 0 and gr.del_flag = 0
and god.del_flag = 0 and god.del_flag = 0
</where> </where>
@ -367,7 +364,7 @@
gor.patient_id, gor.patient_id,
gor.order_no, gor.order_no,
gor.order_status, gor.order_status,
gor.order_time, gor.order_time createTime,
gor.order_type, gor.order_type,
god.goods_name orderName, god.goods_name orderName,
gad.attribute_piture_url pictureUrl, gad.attribute_piture_url pictureUrl,
@ -381,7 +378,12 @@
LEFT JOIN hospital_person_info hpi ON hpi.id = gor.hospital_person_id LEFT JOIN hospital_person_info hpi ON hpi.id = gor.hospital_person_id
LEFT JOIN order_evaluate_info nei ON nei.order_no = gor.order_no LEFT JOIN order_evaluate_info nei ON nei.order_no = gor.order_no
where where
gor.order_status = #{orderStatus} <if test="orderStatusList != null and orderStatusList != ''">
gor.order_status in
<foreach collection="orderStatusList" item="orderStatusList" open="(" separator="," close=")">
#{orderStatusList}
</foreach>
</if>
and gor.patient_id = #{patientId} and gor.patient_id = #{patientId}
and gor.del_flag = 0 and gor.del_flag = 0
</select> </select>