|
|
@@ -27,9 +27,11 @@ import org.springblade.client.constant.LandConstant;
|
|
|
import org.springblade.client.entity.CommonFile;
|
|
|
import org.springblade.client.entity.CorpsDesc;
|
|
|
import org.springblade.client.entity.LandDriver;
|
|
|
+import org.springblade.client.entity.Message;
|
|
|
import org.springblade.client.feign.ICommonFileClient;
|
|
|
import org.springblade.client.feign.ICorpsDescClient;
|
|
|
import org.springblade.client.feign.ILandDriverClient;
|
|
|
+import org.springblade.client.feign.IMessageClient;
|
|
|
import org.springblade.core.mp.support.Condition;
|
|
|
import org.springblade.core.mp.support.Query;
|
|
|
import org.springblade.core.secure.utils.AuthUtil;
|
|
|
@@ -44,10 +46,12 @@ import org.springblade.land.mapper.OrderChangeMapper;
|
|
|
import org.springblade.land.mapper.OrderItemMapper;
|
|
|
import org.springblade.land.mapper.OrderMapper;
|
|
|
import org.springblade.land.service.IOrderItemService;
|
|
|
+import org.springblade.land.util.MessageUtil;
|
|
|
import org.springblade.land.vo.OrderItemVO;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
+import java.math.BigDecimal;
|
|
|
import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
@@ -71,6 +75,8 @@ public class OrderItemServiceImpl extends ServiceImpl<OrderItemMapper, OrderItem
|
|
|
|
|
|
private final ICommonFileClient commonFileClient;
|
|
|
|
|
|
+ private final IMessageClient messageClient;
|
|
|
+
|
|
|
@Override
|
|
|
public IPage<OrderItemVO> selectOrderItemPage(IPage<OrderItemVO> page, OrderItemVO orderItem) {
|
|
|
return page.setRecords(baseMapper.selectOrderItemPage(page, orderItem));
|
|
|
@@ -79,9 +85,8 @@ public class OrderItemServiceImpl extends ServiceImpl<OrderItemMapper, OrderItem
|
|
|
@Override
|
|
|
public IPage<OrderItem> getList(OrderItem orderItem, Query query) {
|
|
|
List<Long> orderIdList = Collections.emptyList();
|
|
|
- if (StringUtil.isNotBlank(orderItem.getBillNo()) || StringUtil.isNotBlank(orderItem.getGoods()) || StringUtil.isNotBlank(orderItem.getBelongCompany()) || StringUtil.isNotBlank(orderItem.getStation()) || StringUtil.isNotBlank(orderItem.getFactory())) {
|
|
|
+ if (StringUtil.isNotBlank(orderItem.getGoods()) || StringUtil.isNotBlank(orderItem.getBelongCompany()) || StringUtil.isNotBlank(orderItem.getStation()) || StringUtil.isNotBlank(orderItem.getFactory())) {
|
|
|
orderIdList = orderMapper.selectList(new LambdaQueryWrapper<Order>()
|
|
|
- .like(StringUtil.isNotBlank(orderItem.getBillNo()), Order::getBillNo, orderItem.getBillNo())
|
|
|
.like(StringUtil.isNotBlank(orderItem.getGoods()), Order::getGoods, orderItem.getGoods())
|
|
|
.like(StringUtil.isNotBlank(orderItem.getBelongCompany()), Order::getBelongCompany, orderItem.getBelongCompany())
|
|
|
.like(StringUtil.isNotBlank(orderItem.getStation()), Order::getStation, orderItem.getStation())
|
|
|
@@ -106,6 +111,7 @@ public class OrderItemServiceImpl extends ServiceImpl<OrderItemMapper, OrderItem
|
|
|
}
|
|
|
|
|
|
itemQueryWrapper.in(CollectionUtil.isNotEmpty(orderIdList), OrderItem::getOrderId, orderIdList)
|
|
|
+ .like(StringUtil.isNotBlank(orderItem.getBillNo()), OrderItem::getBillNo, orderItem.getBillNo())
|
|
|
.like(StringUtil.isNotBlank(orderItem.getTel()), OrderItem::getTel, orderItem.getTel())
|
|
|
.like(StringUtil.isNotBlank(orderItem.getCtnNo()), OrderItem::getCtnNo, orderItem.getCtnNo())
|
|
|
.eq(ObjectUtil.isNotEmpty(orderItem.getFleetId()), OrderItem::getFleetId, orderItem.getFleetId())
|
|
|
@@ -121,7 +127,6 @@ public class OrderItemServiceImpl extends ServiceImpl<OrderItemMapper, OrderItem
|
|
|
Order order = orderMapper.selectById(record.getOrderId());
|
|
|
record.setOrderNo(order.getOrderNo());
|
|
|
record.setBelongCompany(order.getBelongCompany());
|
|
|
- record.setBillNo(order.getBillNo());
|
|
|
record.setGoods(order.getGoods());
|
|
|
record.setStation(order.getStation());
|
|
|
record.setFactory(order.getFactory());
|
|
|
@@ -133,18 +138,22 @@ public class OrderItemServiceImpl extends ServiceImpl<OrderItemMapper, OrderItem
|
|
|
record.setCorpName(corp.getData().getCname());
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
if (ObjectUtil.isNotEmpty(record.getFleetId())) {
|
|
|
R<CorpsDesc> fleet = corpsDescClient.getCorpMessage(record.getFleetId());
|
|
|
if (fleet.isSuccess() && fleet.getData() != null) {
|
|
|
record.setFleetName(fleet.getData().getCname());
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
if (ObjectUtil.isNotEmpty(record.getDriverId())) {
|
|
|
LandDriver driver = landDriverClient.getDriver(record.getDriverId());
|
|
|
record.setDriverName(driver.getName());
|
|
|
}
|
|
|
+
|
|
|
+ if (orderItem.getTag() == 0) {
|
|
|
+ BigDecimal d = record.getLandAmountD().add(record.getOneFeeD()).add(record.getTwoFeeD()).add(record.getThreeFeeD()).add(record.getFourFeeD()).add(record.getFiveFeeD());
|
|
|
+ BigDecimal c = record.getLandAmountC().add(record.getOneFeeC()).add(record.getTwoFeeC()).add(record.getThreeFeeC()).add(record.getFourFeeC()).add(record.getFiveFeeC());
|
|
|
+ record.setProfit(d.subtract(c));
|
|
|
+ }
|
|
|
});
|
|
|
return pages;
|
|
|
}
|
|
|
@@ -190,6 +199,7 @@ public class OrderItemServiceImpl extends ServiceImpl<OrderItemMapper, OrderItem
|
|
|
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
+ @GlobalTransactional(rollbackFor = Exception.class)
|
|
|
public OrderItem dispatch(OrderItem orderItem) {
|
|
|
OrderItem item = new OrderItem();
|
|
|
item.setId(orderItem.getId());
|
|
|
@@ -215,11 +225,15 @@ public class OrderItemServiceImpl extends ServiceImpl<OrderItemMapper, OrderItem
|
|
|
order.setId(data.getOrderId());
|
|
|
order.setStatus(2);
|
|
|
orderMapper.updateById(order);
|
|
|
+
|
|
|
+ sendMsgToCorp(data, "DD");
|
|
|
+ sendMsgToFleet(data, "DD");
|
|
|
return data;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
+ @GlobalTransactional(rollbackFor = Exception.class)
|
|
|
public List<OrderItem> dispatchBatch(OrderItem orderItem) {
|
|
|
orderItem.getIdList().forEach(id -> {
|
|
|
OrderItem item = new OrderItem();
|
|
|
@@ -264,6 +278,13 @@ public class OrderItemServiceImpl extends ServiceImpl<OrderItemMapper, OrderItem
|
|
|
order.setId(orderItem.getOrderId());
|
|
|
order.setStatus(2);
|
|
|
orderMapper.updateById(order);
|
|
|
+
|
|
|
+ orderItem.getIdList().forEach(id -> {
|
|
|
+ OrderItem data = baseMapper.selectById(id);
|
|
|
+ sendMsgToCorp(data, "DD");
|
|
|
+ sendMsgToFleet(data, "DD");
|
|
|
+ });
|
|
|
+
|
|
|
return itemList;
|
|
|
}
|
|
|
|
|
|
@@ -307,6 +328,7 @@ public class OrderItemServiceImpl extends ServiceImpl<OrderItemMapper, OrderItem
|
|
|
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
+ @GlobalTransactional(rollbackFor = Exception.class)
|
|
|
public boolean send(OrderItem orderItem) {
|
|
|
OrderItem item = new OrderItem();
|
|
|
item.setId(orderItem.getId());
|
|
|
@@ -322,6 +344,11 @@ public class OrderItemServiceImpl extends ServiceImpl<OrderItemMapper, OrderItem
|
|
|
baseMapper.updateById(item);
|
|
|
|
|
|
addChange(orderItem.getId(), "派车", 1);
|
|
|
+
|
|
|
+ OrderItem data = baseMapper.selectById(orderItem.getId());
|
|
|
+ sendMsgToCorp(data, "PC");
|
|
|
+ sendMsgToUser(data, "PC");
|
|
|
+ sendMsgToDriver(data);
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
@@ -346,6 +373,7 @@ public class OrderItemServiceImpl extends ServiceImpl<OrderItemMapper, OrderItem
|
|
|
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
+ @GlobalTransactional(rollbackFor = Exception.class)
|
|
|
public boolean accept(OrderItem orderItem) {
|
|
|
OrderItem item = new OrderItem();
|
|
|
item.setId(orderItem.getId());
|
|
|
@@ -364,6 +392,11 @@ public class OrderItemServiceImpl extends ServiceImpl<OrderItemMapper, OrderItem
|
|
|
baseMapper.updateById(item);
|
|
|
|
|
|
addChange(orderItem.getId(), "受理", 1);
|
|
|
+
|
|
|
+ OrderItem data = baseMapper.selectById(orderItem.getId());
|
|
|
+ sendMsgToCorp(data, "SL");
|
|
|
+ sendMsgToUser(data, "SL");
|
|
|
+ sendMsgToFleet(data, "SL");
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
@@ -391,6 +424,28 @@ public class OrderItemServiceImpl extends ServiceImpl<OrderItemMapper, OrderItem
|
|
|
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
+ @GlobalTransactional(rollbackFor = Exception.class)
|
|
|
+ public boolean arrival(Long id) {
|
|
|
+ OrderItem item = new OrderItem();
|
|
|
+ item.setId(id);
|
|
|
+ item.setStatus(5);
|
|
|
+ item.setRealArrivalTime(new Date());
|
|
|
+ item.setUpdateUser(AuthUtil.getUserId());
|
|
|
+ item.setUpdateTime(new Date());
|
|
|
+ baseMapper.updateById(item);
|
|
|
+
|
|
|
+ addChange(id, "到场", 1);
|
|
|
+
|
|
|
+ OrderItem data = baseMapper.selectById(id);
|
|
|
+ sendMsgToCorp(data, "DC");
|
|
|
+ sendMsgToUser(data, "DC");
|
|
|
+ sendMsgToFleet(data, "DC");
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ @GlobalTransactional(rollbackFor = Exception.class)
|
|
|
public boolean finished(Long id) {
|
|
|
OrderItem item = new OrderItem();
|
|
|
item.setId(id);
|
|
|
@@ -401,6 +456,11 @@ public class OrderItemServiceImpl extends ServiceImpl<OrderItemMapper, OrderItem
|
|
|
baseMapper.updateById(item);
|
|
|
|
|
|
addChange(id, "完工", 1);
|
|
|
+
|
|
|
+ OrderItem data = baseMapper.selectById(id);
|
|
|
+ sendMsgToCorp(data, "WG");
|
|
|
+ sendMsgToUser(data, "WG");
|
|
|
+ sendMsgToFleet(data, "WG");
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
@@ -552,4 +612,47 @@ public class OrderItemServiceImpl extends ServiceImpl<OrderItemMapper, OrderItem
|
|
|
orderChangeMapper.insert(change);
|
|
|
}
|
|
|
|
|
|
+ private void sendMsgToCorp(OrderItem item, String mold) {
|
|
|
+ item.setSendUserId(item.getCreateUser());
|
|
|
+ sendMsg(MessageUtil.toCorp(item, mold));
|
|
|
+ }
|
|
|
+
|
|
|
+ private void sendMsgToUser(OrderItem item, String mold) {
|
|
|
+ Order order = orderMapper.selectById(item.getOrderId());
|
|
|
+ if (StringUtil.isNotBlank(order.getAdminProfiles())) {
|
|
|
+ List<String> idList = Arrays.asList(order.getAdminProfiles().split(","));
|
|
|
+ idList.forEach(id -> {
|
|
|
+ item.setSendUserId(Long.valueOf(id));
|
|
|
+ sendMsg(MessageUtil.toUser(item, mold));
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private void sendMsgToFleet(OrderItem item, String mold) {
|
|
|
+ List<Long> fleetIdList = corpsDescClient.listUserIdCorpId(item.getFleetId());
|
|
|
+ if (CollectionUtil.isNotEmpty(fleetIdList)) {
|
|
|
+ for (Long fleetId : fleetIdList) {
|
|
|
+ item.setSendUserId(fleetId);
|
|
|
+ sendMsg(MessageUtil.toFleet(item, mold));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private void sendMsgToDriver(OrderItem item) {
|
|
|
+ if (ObjectUtil.isNotEmpty(item.getDriverId())) {
|
|
|
+ LandDriver driver = landDriverClient.getDriver(item.getDriverId());
|
|
|
+ if (ObjectUtil.isNotEmpty(driver) && ObjectUtil.isNotEmpty(driver.getUserId())) {
|
|
|
+ item.setSendUserId(driver.getUserId());
|
|
|
+ sendMsg(MessageUtil.toDriver(item));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private void sendMsg(Message message) {
|
|
|
+ R result = messageClient.save(message);
|
|
|
+ if (!result.isSuccess()) {
|
|
|
+ throw new SecurityException("发送消息失败");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
}
|