小程序服务评价代码修改

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编号查询对应得订单
*/
//@MobileRequestAuthorization
@MobileRequestAuthorization
@GetMapping("/getAppletOrderList")
public TableDataInfo getAppletOrderList(NurseOrderDTO nurseOrder) {
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 Integer pageNum;
/**
* 数量
*/
private Integer pageSize;
}

View File

@ -78,11 +78,11 @@ public interface NursingOrderMapper {
/**
* 根据openid编号查询对应得订单
*
* @param patientId openid编号
* @param orderStatus 订单状态
* @param patientId openid编号
* @param orderStatusList 订单状态
* @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编号查询评价信息

View File

@ -26,13 +26,9 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import java.util.*;
import java.util.stream.Collectors;
import static com.xinelu.common.utils.PageUtils.startPage;
/**
* @Description 订单分页
* @Author ZhangHeng
@ -144,12 +140,17 @@ public class NursingOrderServiceImpl implements INursingOrderService {
List<PatientOrder> appletOrderList = new ArrayList<>();
List<PatientOrder> goodsOrderAndConsultationOrder = new ArrayList<>();
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());
goodsOrderAndConsultationOrder = nursingOrderMapper.getGoodsOrderAndConsultationOrder(nurseOrder.getParentId(), GooodsOrderStatusEnum.RECEIVED_GOODS.getInfo());
goodsOrderAndConsultationOrder = nursingOrderMapper.getGoodsOrderAndConsultationOrder(nurseOrder.getParentId(), strings);
}
if (EVALUATED.equals(nurseOrder.getOrderStatus())) {
List<String> strings = new ArrayList<>();
strings.add(GooodsOrderStatusEnum.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)) {
patientOrders.addAll(appletOrderList);
@ -164,23 +165,25 @@ public class NursingOrderServiceImpl implements INursingOrderService {
PatientOrderVO resultHttp = JSON.parseObject(result, PatientOrderVO.class);
if (Objects.nonNull(resultHttp) && CollectionUtils.isNotEmpty(resultHttp.getData())) {
List<PatientOrder> data = resultHttp.getData();
data.forEach(item -> item.setOrderSource(OrderSourceEnum.FAMILY_DOCTOR.getInfo()));
List<PatientOrder> orderEvaluate = nursingOrderMapper.getOrderEvaluateByPatientId(nurseOrder.getParentId());
if (CollectionUtils.isNotEmpty(orderEvaluate) && EVALUATED.equals(nurseOrder.getOrderStatus())) {
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());
dataFirst.setCompositeScore(patientOrder.getCompositeScore());
dataFirst.setOrderSource(OrderSourceEnum.FAMILY_DOCTOR.getInfo());
patientOrders.add(dataFirst);
}
}
if (CollectionUtils.isNotEmpty(orderEvaluate) && NOT_EVALUATED.equals(nurseOrder.getOrderStatus())) {
data.removeAll(orderEvaluate);
data.forEach(item ->item.setOrderSource(OrderSourceEnum.FAMILY_DOCTOR.getInfo()));
Collection<PatientOrder> subtract = CollectionUtils.subtract(data, orderEvaluate);
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;
}
}

View File

@ -1,10 +1,13 @@
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 lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Objects;
/**
* @Description 服务评价
@ -13,7 +16,7 @@ import java.time.LocalDateTime;
*/
@Data
public class PatientOrder implements Serializable {
public class PatientOrder extends BaseDomain implements Serializable {
/**
* 被护理人信息表id
@ -36,6 +39,7 @@ public class PatientOrder implements Serializable {
/**
* 下单时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTime;
/**
@ -77,4 +81,22 @@ public class PatientOrder implements Serializable {
* 订单来源泉医模块SPRING_DOCTOR家医模块FAMILY_DOCTOR
*/
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 != ''">
and gr.order_type = #{orderType}
</if>
<if test="orderType = null and orderType = ''">
and gr.order_type IN #{orderTypeList}
</if>
and gr.del_flag = 0
and god.del_flag = 0
</where>
@ -367,7 +364,7 @@
gor.patient_id,
gor.order_no,
gor.order_status,
gor.order_time,
gor.order_time createTime,
gor.order_type,
god.goods_name orderName,
gad.attribute_piture_url pictureUrl,
@ -381,7 +378,12 @@
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
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.del_flag = 0
</select>