订单处理

master
YIN 2024-12-30 09:05:55 +08:00
parent 45a402437f
commit 40022006d2
10 changed files with 122 additions and 15 deletions

View File

@ -174,4 +174,24 @@ public class BizOrderController extends BaseController {
public AjaxResult remove(@PathVariable Long[] ids) { public AjaxResult remove(@PathVariable Long[] ids) {
return toAjax(bizOrderService.deleteBizOrderByIds(ids)); return toAjax(bizOrderService.deleteBizOrderByIds(ids));
} }
/**
*
*/
@Log(title = "订单", businessType = BusinessType.UPDATE)
@PostMapping("/goDelivery")
public AjaxResult goDelivery(@RequestBody Map map) {
return toAjax(bizOrderService.goDelivery(map));
}
/**
*
*/
@Log(title = "订单", businessType = BusinessType.UPDATE)
@PostMapping("/arrived")
public AjaxResult arrived(@RequestBody Map map) {
return toAjax(bizOrderService.arrived(map));
}
} }

View File

@ -49,6 +49,11 @@ public class LargeScreenController extends BaseController {
@Autowired @Autowired
private BizDriverClockMapper bizDriverClockMapper; private BizDriverClockMapper bizDriverClockMapper;
@Autowired
private BizCustomerRouteMapper bizCustomerRouteMapper;
@Autowired
private BizCustomerWarehouseMapper bizCustomerWarehouseMapper;
private final String today = DateUtil.format(new Date(), "yyyy-MM-dd"); private final String today = DateUtil.format(new Date(), "yyyy-MM-dd");
private final LargeScreenEntity largeScreenEntity = new LargeScreenEntity(); private final LargeScreenEntity largeScreenEntity = new LargeScreenEntity();
@ -112,11 +117,15 @@ public class LargeScreenController extends BaseController {
long customer = getCustomer(); long customer = getCustomer();
long shop = getShop(); long shop = getShop();
long order = getOrder(); long order = getOrder();
long route = getRoute();
long warehouse = getWarehouse();
largeScreenEntity.setOnDutyDriver(onDutyDriver); largeScreenEntity.setOnDutyDriver(onDutyDriver);
largeScreenEntity.setOnDutyCar(onDutyCar); largeScreenEntity.setOnDutyCar(onDutyCar);
largeScreenEntity.setCustomer(customer); largeScreenEntity.setCustomer(customer);
largeScreenEntity.setShop(shop); largeScreenEntity.setShop(shop);
largeScreenEntity.setOrder(order); largeScreenEntity.setOrder(order);
largeScreenEntity.setRoute(route);
largeScreenEntity.setWarehouse(warehouse);
return AjaxResult.success(largeScreenEntity); return AjaxResult.success(largeScreenEntity);
} }
@ -173,8 +182,8 @@ public class LargeScreenController extends BaseController {
queryWrapper.eq(BizOrder::getStatus,1); queryWrapper.eq(BizOrder::getStatus,1);
queryWrapper.ne(BizOrder::getOrderStatus,"4"); queryWrapper.ne(BizOrder::getOrderStatus,"4");
queryWrapper.and(wq -> wq.eq(BizOrder::getDriverName,driverName).or().eq(BizOrder::getCopilotName,driverName)); queryWrapper.and(wq -> wq.eq(BizOrder::getDriverName,driverName).or().eq(BizOrder::getCopilotName,driverName));
queryWrapper.ge(BizOrder::getUpdateTime,startTime); queryWrapper.ge(BizOrder::getCreateTime,startTime);
queryWrapper.le(BizOrder::getUpdateTime,endTime); queryWrapper.le(BizOrder::getCreateTime,endTime);
Long aLong = bizOrderMapper.selectCount(queryWrapper); Long aLong = bizOrderMapper.selectCount(queryWrapper);
map.put(driverName,aLong); map.put(driverName,aLong);
} }
@ -212,8 +221,8 @@ public class LargeScreenController extends BaseController {
queryWrapper.eq(BizOrder::getStatus,1); queryWrapper.eq(BizOrder::getStatus,1);
queryWrapper.ne(BizOrder::getOrderStatus,"3"); queryWrapper.ne(BizOrder::getOrderStatus,"3");
queryWrapper.and(wq -> wq.eq(BizOrder::getDriverName,driverName).or().eq(BizOrder::getCopilotName,driverName)); queryWrapper.and(wq -> wq.eq(BizOrder::getDriverName,driverName).or().eq(BizOrder::getCopilotName,driverName));
queryWrapper.ge(BizOrder::getUpdateTime,startTime); queryWrapper.ge(BizOrder::getCreateTime,startTime);
queryWrapper.le(BizOrder::getUpdateTime,endTime); queryWrapper.le(BizOrder::getCreateTime,endTime);
Double distance = bizOrderMapper.selectSumDistance(queryWrapper); Double distance = bizOrderMapper.selectSumDistance(queryWrapper);
if (distance == null){ if (distance == null){
map.put(driverName, (double) 0); map.put(driverName, (double) 0);
@ -270,6 +279,17 @@ public class LargeScreenController extends BaseController {
return bizCustomerMapper.selectCount(queryWrapper); return bizCustomerMapper.selectCount(queryWrapper);
} }
private long getRoute(){
LambdaQueryWrapper<BizCustomerRoute> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(BizCustomerRoute::getStatus, 1);
return bizCustomerRouteMapper.selectCount(queryWrapper);
}
private long getWarehouse(){
LambdaQueryWrapper<BizCustomerWarehouse> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(BizCustomerWarehouse::getStatus, 1);
return bizCustomerWarehouseMapper.selectCount(queryWrapper);
}
private long getOnDutyCar() { private long getOnDutyCar() {
LambdaQueryWrapper<BizCar> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<BizCar> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(BizCar::getStatus,1); queryWrapper.eq(BizCar::getStatus,1);
@ -291,7 +311,7 @@ public class LargeScreenController extends BaseController {
private long getIncompleteOrder(String today) { private long getIncompleteOrder(String today) {
LambdaQueryWrapper<BizOrder> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<BizOrder> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.like(BizOrder::getUpdateTime, today); queryWrapper.like(BizOrder::getCreateTime, today);
queryWrapper.in(BizOrder::getOrderStatus,"1","2"); queryWrapper.in(BizOrder::getOrderStatus,"1","2");
queryWrapper.eq(BizOrder::getStatus,1); queryWrapper.eq(BizOrder::getStatus,1);
return bizOrderMapper.selectCount(queryWrapper); return bizOrderMapper.selectCount(queryWrapper);
@ -299,7 +319,7 @@ public class LargeScreenController extends BaseController {
private long getCompletedOrder(String today) { private long getCompletedOrder(String today) {
LambdaQueryWrapper<BizOrder> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<BizOrder> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.like(BizOrder::getUpdateTime,today); queryWrapper.like(BizOrder::getCreateTime,today);
queryWrapper.eq(BizOrder::getOrderStatus,"3"); queryWrapper.eq(BizOrder::getOrderStatus,"3");
queryWrapper.eq(BizOrder::getStatus,1); queryWrapper.eq(BizOrder::getStatus,1);
return bizOrderMapper.selectCount(queryWrapper); return bizOrderMapper.selectCount(queryWrapper);

View File

@ -26,4 +26,5 @@ public class SysIndexController
{ {
return StringUtils.format("欢迎使用{}后台管理框架当前版本v{},请通过前端地址访问。", ruoyiConfig.getName(), ruoyiConfig.getVersion()); return StringUtils.format("欢迎使用{}后台管理框架当前版本v{},请通过前端地址访问。", ruoyiConfig.getName(), ruoyiConfig.getVersion());
} }
} }

View File

@ -216,8 +216,8 @@ public class BizOrder
private String cancelReason; private String cancelReason;
/** 取消时间 */ /** 取消时间 */
@JsonFormat(pattern = "yyyy-MM-dd") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "取消时间", width = 30, dateFormat = "yyyy-MM-dd") @Excel(name = "取消时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date cancelTime; private Date cancelTime;
/** 支付类型 寄付,到付,月结 */ /** 支付类型 寄付,到付,月结 */
@ -237,8 +237,8 @@ public class BizOrder
private Integer payStatus; private Integer payStatus;
/** 支付时间 */ /** 支付时间 */
@JsonFormat(pattern = "yyyy-MM-dd") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "支付时间", width = 30, dateFormat = "yyyy-MM-dd") @Excel(name = "支付时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date payTime; private Date payTime;
/** 状态 */ /** 状态 */
@ -246,19 +246,23 @@ public class BizOrder
private Integer status; private Integer status;
/** 开始配送时间 */ /** 开始配送时间 */
@JsonFormat(pattern = "yyyy-MM-dd") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "开始配送时间", width = 30, dateFormat = "yyyy-MM-dd") @Excel(name = "开始配送时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date startTime; private Date startTime;
/** 到达时间 */ /** 到达时间 */
@JsonFormat(pattern = "yyyy-MM-dd") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "到达时间", width = 30, dateFormat = "yyyy-MM-dd") @Excel(name = "到达时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date arriveTime; private Date arriveTime;
/** 到达备注 */ /** 到达备注 */
@Excel(name = "到达备注") @Excel(name = "到达备注")
private String arriveRemark; private String arriveRemark;
/** 现场图片 */
@Excel(name = "现场图片")
private String arriveImg;
/** 到达经度 */ /** 到达经度 */
@Excel(name = "到达经度") @Excel(name = "到达经度")
private BigDecimal arriveLng; private BigDecimal arriveLng;

View File

@ -73,6 +73,12 @@ public class LargeScreenEntity
// 配送订单 // 配送订单
private long order; private long order;
// 配送路线
private long route;
// 仓库
private long warehouse;
/** /**
* *

View File

@ -73,4 +73,7 @@ public interface IBizOrderService
Page<BizOrder> selectBizOrderPageByDriver(String orderStatus,int pageNum, int pageSize); Page<BizOrder> selectBizOrderPageByDriver(String orderStatus,int pageNum, int pageSize);
public void insertBizOrderSub(Map map); public void insertBizOrderSub(Map map);
public int goDelivery(Map map);
public int arrived(Map map);
} }

View File

@ -61,11 +61,15 @@ public class BizCustomerShopServiceImpl implements IBizCustomerShopService
public List<BizCustomerShop> selectBizCustomerShopList(BizCustomerShop bizCustomerShop) public List<BizCustomerShop> selectBizCustomerShopList(BizCustomerShop bizCustomerShop)
{ {
LambdaQueryWrapper<BizCustomerShop> queryWrapper = buildQueryWrapper(bizCustomerShop); LambdaQueryWrapper<BizCustomerShop> queryWrapper = buildQueryWrapper(bizCustomerShop);
return bizCustomerShopMapper.selectList(queryWrapper); return bizCustomerShopMapper.selectList(queryWrapper);
} }
private LambdaQueryWrapper<BizCustomerShop> buildQueryWrapper(BizCustomerShop bizCustomerShop) { private LambdaQueryWrapper<BizCustomerShop> buildQueryWrapper(BizCustomerShop bizCustomerShop) {
LambdaQueryWrapper<BizCustomerShop> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<BizCustomerShop> queryWrapper = new LambdaQueryWrapper<>();
if (ObjectUtil.isNotEmpty(bizCustomerShop.getCustomerId())){
queryWrapper.eq(BizCustomerShop::getCustomerId, bizCustomerShop.getCustomerId());
}
if (ObjectUtil.isNotEmpty(bizCustomerShop.getCustomerName())){ if (ObjectUtil.isNotEmpty(bizCustomerShop.getCustomerName())){
queryWrapper.like(BizCustomerShop::getCustomerName, bizCustomerShop.getCustomerName()); queryWrapper.like(BizCustomerShop::getCustomerName, bizCustomerShop.getCustomerName());
} }

View File

@ -119,6 +119,7 @@ public class BizDriverServiceImpl implements IBizDriverService
sysUser.setSex(bizDriver.getGender()); sysUser.setSex(bizDriver.getGender());
sysUser.setAvatar(bizDriver.getPhoto()); sysUser.setAvatar(bizDriver.getPhoto());
sysUser.setPassword(bizDriver.getPhone().substring(7,11)); // 18756576807 sysUser.setPassword(bizDriver.getPhone().substring(7,11)); // 18756576807
sysUser.setAvatar(bizDriver.getPhoto());
} }
/** /**

View File

@ -15,6 +15,7 @@ import com.cpxt.biz.domain.vo.BizOrderVo;
import com.cpxt.biz.domain.vo.BizOrderVoCustomer; import com.cpxt.biz.domain.vo.BizOrderVoCustomer;
import com.cpxt.biz.mapper.*; import com.cpxt.biz.mapper.*;
import com.cpxt.common.exception.ServiceException; import com.cpxt.common.exception.ServiceException;
import com.cpxt.common.utils.Helper;
import com.cpxt.common.utils.PositionUtil; import com.cpxt.common.utils.PositionUtil;
import com.cpxt.common.utils.SecurityUtils; import com.cpxt.common.utils.SecurityUtils;
import com.cpxt.common.utils.StringUtils; import com.cpxt.common.utils.StringUtils;
@ -673,4 +674,48 @@ public class BizOrderServiceImpl implements IBizOrderService {
} }
bizOrder.setOrderSn(orderSn); bizOrder.setOrderSn(orderSn);
} }
@Override
public int goDelivery(Map map){
BizDriver bizDriver = bizDriverMapper.selectByUserId(SecurityUtils.getUserId());
Long orderId = Helper.FLong(map.get("id"));
Long driverId = Helper.FLong(map.get("driverId"));
BizOrder order = bizOrderMapper.selectById(orderId);
Long warehouseId = order.getWarehouseId();
LambdaQueryWrapper<BizOrder> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(BizOrder::getStatus,1);
queryWrapper.eq(BizOrder::getOrderStatus, 1);
queryWrapper.eq(BizOrder::getWarehouseId, warehouseId);
queryWrapper.and(wq -> wq.eq(BizOrder::getDriverId,bizDriver.getId()).or().eq(BizOrder::getCopilotId,bizDriver.getId()));
int num = 0;
List<BizOrder> list = bizOrderMapper.selectList(queryWrapper);
for (BizOrder item : list) {
BizOrder uorder = new BizOrder();
uorder.setId(item.getId());
uorder.setOrderSn(item.getOrderSn());
uorder.setOrderStatus("2");
uorder.setStartTime(new Date());
num += bizOrderMapper.updateById(uorder);
}
return num;
}
@Override
public int arrived(Map map){
Long orderId = Helper.FLong(map.get("id"));
String img = Helper.NStr(map.get("img"));
String remark = Helper.NStr(map.get("remark"));
double lat = Helper.FDouble(map.get("lat"));
double lng = Helper.FDouble(map.get("lng"));
BizDriver bizDriver = bizDriverMapper.selectByUserId(SecurityUtils.getUserId());
BizOrder order = bizOrderMapper.selectById(orderId);
order.setArriveLat(new BigDecimal(lat));
order.setArriveLng(new BigDecimal(lng));
order.setArriveImg(img);
order.setArriveRemark(remark);
order.setArriveTime(new Date());
return bizOrderMapper.updateById(order);
}
} }

View File

@ -4,6 +4,7 @@ import java.awt.*;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.cpxt.biz.domain.BizOrder; import com.cpxt.biz.domain.BizOrder;
@ -47,7 +48,9 @@ public class BizOrderSubServiceImpl implements IBizOrderSubService
public List<BizOrderSub> selectBizOrderSubList(BizOrderSub bizOrderSub) public List<BizOrderSub> selectBizOrderSubList(BizOrderSub bizOrderSub)
{ {
LambdaQueryWrapper<BizOrderSub> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<BizOrderSub> queryWrapper = new LambdaQueryWrapper<>();
if (ObjectUtil.isNotEmpty(bizOrderSub.getOrderSn())) {
queryWrapper.like(BizOrderSub::getOrderSn, bizOrderSub.getOrderSn());
}
return bizOrderSubMapper.selectList(queryWrapper); return bizOrderSubMapper.selectList(queryWrapper);
} }