导入问题,外加派单可以二次派新订单

This commit is contained in:
kuang.yife 2024-01-30 17:08:51 +08:00
parent 3271cf06f3
commit d7053a4d9c
1 changed files with 74 additions and 38 deletions

View File

@ -1,5 +1,6 @@
package com.ghy.web.controller.order;
import cn.hutool.core.date.DateUtil;
import cn.hutool.db.sql.Order;
import com.ghy.common.adapay.model.AdapayStatusEnum;
import com.ghy.common.adapay.model.PayParam;
@ -175,7 +176,7 @@ public class OrderMasterController extends BaseController {
OrderMaster param = new OrderMaster();
param.setOrderMasterIds(orderMaster.getOrderMasterIds());
List<OrderMaster> masters = orderMasterService.selectOrderMasterList(param);
long count = masters.stream().filter(x->!x.getOrderStatus().equals(OrderStatus.RECEIVE.code())|| x.getWorkerId() != null).count();
long count = masters.stream().filter(x->!x.getOrderStatus().equals(OrderStatus.RECEIVE.code())).count();
if(count > 0){
return AjaxResult.error("请选择待接单且无师傅接单订单指派");
}
@ -221,21 +222,49 @@ public class OrderMasterController extends BaseController {
public SysOrderAssignRequest format(SysOrderRequest orderRequest) throws Exception{
SysOrderAssignRequest request = new SysOrderAssignRequest();
if(StringUtils.isEmpty(orderRequest.getSeq())){
throw new Exception("导入列表中,序号不能为空!");
}
if(StringUtils.isEmpty(orderRequest.getName())){
throw new Exception(orderRequest.getSeq() + "行,导入姓名不能为空!");
}
request.setCustomerName(orderRequest.getName());
if(StringUtils.isEmpty(orderRequest.getPhone())){
throw new Exception(orderRequest.getSeq() + "行,导入手机号不能为空!");
}
request.setCustomerPhone(orderRequest.getPhone());
request.setServDate(orderRequest.getDate());
request.setServTime(orderRequest.getTime());
request.setGoodsBrand(orderRequest.getBrand());
if(StringUtils.isEmpty(orderRequest.getMode())){
throw new Exception(orderRequest.getSeq() + "行,下单模式不能为空!");
}else {
if("带价发布".equals(orderRequest.getMode())){
request.setOrderMode("02");
request.setPayMode("01");
request.setPayMode("02");
}else if("一票价".equals(orderRequest.getMode())){
request.setOrderMode("01");
request.setPayMode("02");
}else {
throw new Exception(orderRequest.getSeq() + "行,下单模式填写错误!");
}
}
if(StringUtils.isEmpty(orderRequest.getPrice())){
throw new Exception(orderRequest.getSeq() + "行,导入价格不能为空!");
}
request.setPrice(new BigDecimal(orderRequest.getPrice()));
request.setVideoUrl(orderRequest.getUrl());
request.setImageUrl("http://gqz.opsoul.com/default.jpeg");
List<SysOrderGoodsStandards> goodsStandards = new ArrayList<>();
String [] categoryNames = orderRequest.getCategory().split("-");
if(categoryNames.length != 4){
throw new Exception("导入类目数据格式错误");
throw new Exception(orderRequest.getSeq() + "行,导入四级类目数据格式错误");
}else {
if(StringUtils.isEmpty(categoryNames[0])||StringUtils.isEmpty(categoryNames[1])||StringUtils.isEmpty(categoryNames[2])){
throw new Exception(orderRequest.getSeq() + "行,前三级类目不能为空,请参照系统填写");
}
try {
// 第一层
GoodsCategory param1 = new GoodsCategory();
param1.setGoodsCategoryName(categoryNames[0]);
@ -265,6 +294,10 @@ public class OrderMasterController extends BaseController {
standards.setDeptCategoryId(deptGoodsCategory2.getDeptGoodsCategoryId());
standards.setGoodsStandardNum(Integer.parseInt(orderRequest.getNum()));
goodsStandards.add(standards);
}catch (Exception e){
throw new Exception(orderRequest.getSeq() + "行,前三级类目有错误,请参照系统填写");
}
}
request.setOrderGoodsStandards(goodsStandards);
String [] addressName = orderRequest.getAddress().split("-");
@ -407,8 +440,10 @@ public class OrderMasterController extends BaseController {
if(StringUtils.isEmpty(request.getServDate())){
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.DATE, 1);
// request.setServDate();
}
String dateStr = DateUtil.format(calendar.getTime(), "yyyy-MM-dd");
orderMaster.setExpectTimeStart(DateUtil.parse(dateStr+" 08:00", "yyyy-MM-dd HH:mm"));
orderMaster.setExpectTimeEnd(DateUtil.parse(dateStr+" 10:00", "yyyy-MM-dd HH:mm"));
}else {
// 服务时间
String[] split = request.getServTime().split("-");
try {
@ -417,6 +452,7 @@ public class OrderMasterController extends BaseController {
} catch (Exception e) {
}
}
orderMasterService.insertOrderMaster(orderMaster);
Assert.notNull(orderMaster.getId(), "OrderMaster.id is null!");