订单消息
This commit is contained in:
parent
2b548896f0
commit
3ed2059cde
|
|
@ -153,7 +153,13 @@ public class OrderDetailDto {
|
|||
@ApiModelProperty(value = "买方承租方公司id")
|
||||
private Integer buyerCompany;
|
||||
|
||||
@ApiModelProperty(value = "买方承租方公司名称")
|
||||
private String buyerCompanyName;
|
||||
|
||||
@ApiModelProperty(value = "卖方出租方公司id")
|
||||
private Integer sellerCompany;
|
||||
|
||||
@ApiModelProperty(value = "卖方出租方公司名称")
|
||||
private String sellerCompanyName;
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,12 +1,20 @@
|
|||
package com.bonus.material.order.service.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import com.alibaba.fastjson2.JSONArray;
|
||||
import com.bonus.common.biz.constant.MaterialConstants;
|
||||
import com.bonus.common.biz.enums.MaStatusEnum;
|
||||
import com.bonus.common.biz.enums.MessageTypeEnum;
|
||||
import com.bonus.common.biz.enums.OrderStatusEnum;
|
||||
import com.bonus.common.biz.enums.TmTaskTypeEnum;
|
||||
import com.bonus.common.core.exception.ServiceException;
|
||||
import com.bonus.common.core.utils.DateUtils;
|
||||
import com.bonus.common.core.utils.SpringUtils;
|
||||
import com.bonus.common.core.utils.encryption.Sm4Utils;
|
||||
import com.bonus.common.redis.service.RedisService;
|
||||
import com.bonus.common.security.utils.SecurityUtils;
|
||||
import com.bonus.material.basic.domain.BmMessage;
|
||||
import com.bonus.material.basic.mapper.BmMessageMapper;
|
||||
import com.bonus.material.comprehensive.entity.RentDetailDto;
|
||||
import com.bonus.material.device.domain.vo.DevInfoVo;
|
||||
import com.bonus.material.device.mapper.DevInfoMapper;
|
||||
|
|
@ -28,6 +36,7 @@ import java.math.BigDecimal;
|
|||
import java.math.RoundingMode;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
/**
|
||||
* @Author:liang.chao
|
||||
|
|
@ -43,6 +52,9 @@ public class OrderServiceImpl implements OrderService {
|
|||
@Resource
|
||||
private TmTaskMapper tmTaskMapper;
|
||||
|
||||
@Resource
|
||||
private BmMessageMapper bmMessageMapper;
|
||||
|
||||
@Resource
|
||||
DevInfoMapper devInfoMapper;
|
||||
|
||||
|
|
@ -227,9 +239,9 @@ public class OrderServiceImpl implements OrderService {
|
|||
}
|
||||
|
||||
public Integer updateOrderStatus(OrderDetailDto orderInfoDto) {
|
||||
List<OrderDetailDto> dtos = orderMapper.getOrderDetailsByOrderId(orderInfoDto.getOrderId());
|
||||
// 退租
|
||||
if (orderInfoDto.getOrderStatus().equals(OrderStatusEnum.ORDER_UNDER_LEASE.getStatus().toString())) {
|
||||
List<OrderDetailDto> dtos = orderMapper.getOrderDetailsByOrderId(orderInfoDto.getOrderId());
|
||||
if (dtos.size() > 0 && CollectionUtil.isNotEmpty(dtos)) {
|
||||
if (CollectionUtil.isNotEmpty(orderInfoDto.getMaIds())) {
|
||||
for (OrderDetailDto dto : dtos) {
|
||||
|
|
@ -248,7 +260,6 @@ public class OrderServiceImpl implements OrderService {
|
|||
}
|
||||
// 取消
|
||||
if (orderInfoDto.getOrderStatus().equals(OrderStatusEnum.ORDER_CANCEL.getStatus().toString())) {
|
||||
List<OrderDetailDto> dtos = orderMapper.getOrderDetailsByOrderId(orderInfoDto.getOrderId());
|
||||
if (dtos.size() > 0 && CollectionUtil.isNotEmpty(dtos)) {
|
||||
for (OrderDetailDto dto : dtos) {
|
||||
dto.setMaStatus(MaStatusEnum.LISTING.getCode().toString());
|
||||
|
|
@ -258,7 +269,6 @@ public class OrderServiceImpl implements OrderService {
|
|||
}
|
||||
String userName = SecurityUtils.getLoginUser().getUsername();
|
||||
Integer i = orderMapper.updateOrderStatus(orderInfoDto.getOrderId(), orderInfoDto.getMaIds(), orderInfoDto.getOrderStatus(), userName);
|
||||
List<OrderDetailDto> dtos = orderMapper.getOrderDetailsByOrderId(orderInfoDto.getOrderId());
|
||||
if (!CollectionUtils.isEmpty(dtos)) {
|
||||
OptionalInt minOrderStatus = dtos.stream().mapToInt(person -> Integer.parseInt(person.getOrderStatus())).min();
|
||||
if (minOrderStatus.isPresent()) {
|
||||
|
|
@ -269,6 +279,46 @@ public class OrderServiceImpl implements OrderService {
|
|||
tmTaskMapper.updateTaskStatus(tmTask);
|
||||
}
|
||||
}
|
||||
try {
|
||||
if (dtos.size() > 0 && CollectionUtil.isNotEmpty(dtos)) {
|
||||
for (OrderDetailDto dto : dtos) {
|
||||
BmMessage bmMessage = new BmMessage();
|
||||
bmMessage.setCreateTime(DateUtils.getNowDate());
|
||||
bmMessage.setMessageContent("您好,您的订单状态已变更为" + dto.getOrderStatus() + ",请及时查看");
|
||||
bmMessage.setMessageType(String.valueOf(MessageTypeEnum.ORDER_MESSAGE.getType()));
|
||||
bmMessage.setUuid(String.valueOf(UUID.randomUUID()));
|
||||
bmMessage.setFromCompany(0L);
|
||||
bmMessage.setFromUser(0L);
|
||||
bmMessage.setFromCompanyName("系统");
|
||||
bmMessage.setIsRead(0);
|
||||
// 已下单、已收货、已退租、已完成 通知出租方
|
||||
if (OrderStatusEnum.TO_ORDER_PLACED.getStatus().equals(dto.getOrderStatus()) || OrderStatusEnum.ORDER_AWAITING_RECEIPT.getStatus().equals(dto.getOrderStatus())
|
||||
|| OrderStatusEnum.ORDER_UNDER_LEASE.getStatus().equals(dto.getOrderStatus()) || OrderStatusEnum.ORDER_FINISHED.getStatus().equals(dto.getOrderStatus())
|
||||
|| OrderStatusEnum.ORDER_CANCEL.getStatus().equals(dto.getOrderStatus())) {
|
||||
bmMessage.setToCompanyName(dto.getSellerCompanyName());
|
||||
//bmMessage.setToUser(Long.parseLong(dto.geuser()));
|
||||
bmMessage.setToCompany(Long.valueOf(dto.getSellerCompany()));
|
||||
} else if (OrderStatusEnum.ORDER_RECEIVE.getStatus().equals(dto.getOrderStatus()) || OrderStatusEnum.ORDER_PENDING_SHIPMENT.getStatus().equals(dto.getOrderStatus())
|
||||
|| OrderStatusEnum.ORDER_REPAIRED.getStatus().equals(dto.getOrderStatus()) || OrderStatusEnum.ORDER_TERMINATED.getStatus().equals(dto.getOrderStatus())) {
|
||||
// 已接单、已出库、已检修、已结算 通知承租方
|
||||
bmMessage.setToCompanyName(dto.getBuyerCompanyName());
|
||||
//bmMessage.setToUser(Long.parseLong(dto.geuse()));
|
||||
bmMessage.setToCompany(Long.valueOf(dto.getBuyerCompany()));
|
||||
}
|
||||
String msgKey = MaterialConstants.CACHE_MATERIAL_MALL_MESSAGE + bmMessage.getFromCompany() + ":" + bmMessage.getToCompany();
|
||||
JSONArray arrayCache = SpringUtils.getBean(RedisService.class).getCacheObject(msgKey);
|
||||
if (arrayCache == null) {
|
||||
arrayCache = new JSONArray();
|
||||
}
|
||||
List<BmMessage> list = arrayCache.toList(BmMessage.class);
|
||||
list.add(bmMessage);
|
||||
(SpringUtils.getBean(RedisService.class)).setCacheObject(msgKey, list, MaterialConstants.CACHE_MATERIAL_MALL_MESSAGE_HOURS, TimeUnit.HOURS);
|
||||
bmMessageMapper.insertBmMessage(bmMessage);
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
throw new ServiceException("错误信息描述");
|
||||
}
|
||||
return i;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -309,12 +309,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
CASE
|
||||
WHEN DATE(hh.relief_start_time) = DATE(hh.relief_end_time) THEN 1
|
||||
ELSE TIMESTAMPDIFF(DAY, hh.relief_start_time, hh.relief_end_time) + 1
|
||||
END AS reliefDays
|
||||
END AS reliefDays,
|
||||
moi.buyer_company as buyerCompany,
|
||||
bdept.dept_name as buyerCompanyName,
|
||||
mdi.own_co as sellerCompany,
|
||||
sdept.dept_name as sellerCompanyName
|
||||
FROM
|
||||
ma_order_details hh
|
||||
LEFT JOIN ma_order_info moi on moi.order_id = hh.order_id
|
||||
LEFT JOIN ma_dev_info mdi ON hh.ma_id = mdi.ma_id
|
||||
LEFT JOIN ma_type mt ON mdi.type_id = mt.type_id
|
||||
LEFT JOIN sys_dept bdept on bdept.dept_id = moi.buyer_company
|
||||
LEFT JOIN sys_dept sdept on sdept.dept_id = mdi.own_co
|
||||
WHERE
|
||||
mt.del_flag = 0 and hh.order_id = #{orderId}
|
||||
</select>
|
||||
|
|
|
|||
Loading…
Reference in New Issue