no message

This commit is contained in:
cb 2025-09-30 17:52:47 +08:00
parent c57c585b37
commit e0226437ad
16 changed files with 155 additions and 26 deletions

View File

@ -577,20 +577,20 @@ public class OrderController extends BaseController {
if (orderMasterService.isAllAssign(om.getId())) { if (orderMasterService.isAllAssign(om.getId())) {
Set<Long> workIds = orderDetailService.selectByOrderMasterId(om.getId()).stream() Set<Long> workIds = orderDetailService.selectByOrderMasterId(om.getId()).stream()
.map(OrderDetail::getWorkerId).collect(Collectors.toSet()); .map(OrderDetail::getWorkerId).collect(Collectors.toSet());
if (workIds.size() == 1 && workIds.contains(om.getWorkerId())) { if (workIds.size() > 1 || !workIds.contains(om.getWorkerId())) {
// 派完单 并且只有自己接单 // 派完单 并且有其他师傅接单监控单
om2up.setHasDispatchedAll(1); om2up.setHasDispatchedAll(1);
om2up.setAllSelfAssigned(1); om2up.setAllSelfAssigned(1);
om2up.setOrderStatus(OrderStatus.PLAIN.code());
} else {
// 派完单 但是只有自己接单
om2up.setHasDispatchedAll(1);
om2up.setAllSelfAssigned(0);
if (request.getIsQuicklyDelivery() != null && request.getIsQuicklyDelivery() == 1) { if (request.getIsQuicklyDelivery() != null && request.getIsQuicklyDelivery() == 1) {
om2up.setOrderStatus(OrderStatus.SERVER.code()); om2up.setOrderStatus(OrderStatus.SERVER.code());
} else { } else {
om2up.setOrderStatus(OrderStatus.GOING.code()); om2up.setOrderStatus(OrderStatus.GOING.code());
} }
} else {
// 派完单 但是有其他师傅接单
om2up.setHasDispatchedAll(1);
om2up.setAllSelfAssigned(0);
om2up.setOrderStatus(OrderStatus.PLAIN.code());
} }
} else { } else {
// 未派完单 // 未派完单
@ -2306,7 +2306,6 @@ public class OrderController extends BaseController {
if (accessoryOrderMaster == null) { if (accessoryOrderMaster == null) {
return AjaxResult.error("主单不存在"); return AjaxResult.error("主单不存在");
} }
// 判断是否为配件订单 // 判断是否为配件订单
if (accessoryOrderMaster.getOrderType() == null || accessoryOrderMaster.getOrderType() != 1) { if (accessoryOrderMaster.getOrderType() == null || accessoryOrderMaster.getOrderType() != 1) {
return AjaxResult.error("当前订单不是配件订单,无法生成服务订单"); return AjaxResult.error("当前订单不是配件订单,无法生成服务订单");
@ -2317,9 +2316,8 @@ public class OrderController extends BaseController {
return AjaxResult.error("该配件订单已经派发过服务订单,不能重复操作"); return AjaxResult.error("该配件订单已经派发过服务订单,不能重复操作");
} }
Goods goods = goodsService.selectById(accessoryOrderMaster.getGoodsId()); Worker worker = workerService.selectById(accessoryOrderMaster.getWorkerId());
Shop goodsShop = shopService.getShop(goods.getShopId()); String phone = worker.getPhone();
String phone = goodsShop.getPhone();
// 获取服务店铺信息 // 获取服务店铺信息
Shop serviceShop = shopService.getShop(serviceShopId); Shop serviceShop = shopService.getShop(serviceShopId);
@ -2327,6 +2325,9 @@ public class OrderController extends BaseController {
return AjaxResult.error("服务店铺不存在"); return AjaxResult.error("服务店铺不存在");
} }
accessoryOrderMaster.setServiceShopId(serviceShopId);
orderMasterService.updateOrderMaster(accessoryOrderMaster);
// 获取服务店铺的师傅信息创建店铺的师傅 // 获取服务店铺的师傅信息创建店铺的师傅
Worker serviceWorker = workerService.selectById(serviceShop.getWorkerId()); Worker serviceWorker = workerService.selectById(serviceShop.getWorkerId());
if (serviceWorker == null) { if (serviceWorker == null) {

View File

@ -1008,11 +1008,20 @@ public class OrderMasterController extends BaseController {
// orderMaster.setOrderStatuses(); // orderMaster.setOrderStatuses();
// } // }
List<OrderMaster> list = orderMasterService.selectOrderMasterList(orderMaster); List<OrderMaster> list = orderMasterService.selectOrderMasterList(orderMaster);
// 处理orderType为0的情况额外查询原师傅ID相关的订单并添加到list中
OrderMaster origiOrderMaster = new OrderMaster(); OrderMaster origiOrderMaster = new OrderMaster();
if (orderMaster.getOrderType() == 0) { if (orderMaster.getOrderType() == 0 && orderMaster.getWorkerId() != null
&& orderMaster.getWorkerId() != -1 && orderMaster.getIsMonitoredOrder() == true) {
origiOrderMaster.setOriginalWorkerId(orderMaster.getWorkerId()); origiOrderMaster.setOriginalWorkerId(orderMaster.getWorkerId());
List<OrderMaster> originalList = orderMasterService.selectOrderMasterList(origiOrderMaster); List<OrderMaster> originalList = orderMasterService.selectOrderMasterList(origiOrderMaster);
list.addAll(originalList); list.addAll(originalList);
list.sort((o1, o2) -> {
if (o1.getUpdateTimeAlias() == null && o2.getUpdateTimeAlias() == null) return 0;
if (o1.getUpdateTimeAlias() == null) return 1;
if (o2.getUpdateTimeAlias() == null) return -1;
return o2.getUpdateTimeAlias().compareTo(o1.getUpdateTimeAlias());
});
} }
if (CollectionUtils.isEmpty(list)) { if (CollectionUtils.isEmpty(list)) {
@ -1075,17 +1084,17 @@ public class OrderMasterController extends BaseController {
// 商品规格及信息 // 商品规格及信息
List<OrderGoods> orderStandardList = orderGoodsService.selectByOrderMasterId(master.getId()); List<OrderGoods> orderStandardList = orderGoodsService.selectByOrderMasterId(master.getId());
Goods goods = new Goods(); Goods goods = new Goods();
if (orderStandardList.size() > 0) { // if (orderStandardList.size() > 0) {
// 商品信息 // // 商品信息
GoodsStandard goodsStandard = goodsStandardService // GoodsStandard goodsStandard = goodsStandardService
.selectById(orderStandardList.get(0).getGoodsStandardId()); // .selectById(orderStandardList.get(0).getGoodsStandardId());
if (goodsStandard != null) { // if (goodsStandard != null) {
goods = goodsService.selectById(goodsStandard.getGoodsId()); // goods = goodsService.selectById(goodsStandard.getGoodsId());
} // }
} else { // } else {
// 优化4使用预查询的商品信息 // 优化4使用预查询的商品信息
goods = goodsMap.getOrDefault(master.getGoodsId(), new Goods()); goods = goodsMap.getOrDefault(master.getGoodsId(), new Goods());
} // }
// 填充商品三级类目 // 填充商品三级类目
if (goods.getDeptGoodsCategoryId() != null) { if (goods.getDeptGoodsCategoryId() != null) {
@ -1096,6 +1105,8 @@ public class OrderMasterController extends BaseController {
.selectOneByGoodsCategoryId(goods.getDeptGoodsCategoryId()); .selectOneByGoodsCategoryId(goods.getDeptGoodsCategoryId());
if (deptGoodsCategory != null) { if (deptGoodsCategory != null) {
categoryId = deptGoodsCategory.getGoodsCategoryId(); categoryId = deptGoodsCategory.getGoodsCategoryId();
} else {
categoryId = goods.getDeptGoodsCategoryId();
} }
} else { } else {
DeptGoodsCategory deptGoodsCategory = deptGoodsCategoryService.get(goods.getDeptGoodsCategoryId()); DeptGoodsCategory deptGoodsCategory = deptGoodsCategoryService.get(goods.getDeptGoodsCategoryId());
@ -1917,6 +1928,7 @@ public class OrderMasterController extends BaseController {
Shop shop = shopService.getShop(goods.getShopId()); Shop shop = shopService.getShop(goods.getShopId());
Shop serviceShop = shopService.getShop(orderMaster.getServiceShopId()); Shop serviceShop = shopService.getShop(orderMaster.getServiceShopId());
shop = calculateShopDistance(orderMaster, shop); shop = calculateShopDistance(orderMaster, shop);
serviceShop = calculateShopDistance(orderMaster, serviceShop);
// 编辑返回属性 // 编辑返回属性
orderListResponse.setDeliveryType(orderMaster.getDeliveryType()); orderListResponse.setDeliveryType(orderMaster.getDeliveryType());
orderListResponse.setDeliveryRemark(orderMaster.getDeliveryRemark()); orderListResponse.setDeliveryRemark(orderMaster.getDeliveryRemark());
@ -2648,7 +2660,7 @@ public class OrderMasterController extends BaseController {
private Shop calculateShopDistance(OrderMaster orderMaster, Shop shop) { private Shop calculateShopDistance(OrderMaster orderMaster, Shop shop) {
try { try {
// 直接使用主单地址获取经纬度 // 直接使用主单地址获取经纬度
logger.info("使用主单地址获取经纬度"); logger.info("使用主单地址获取经纬度主单id{}", orderMaster.getId());
StringBuilder fullAddress = new StringBuilder(); StringBuilder fullAddress = new StringBuilder();

View File

@ -342,4 +342,15 @@ public class OrderMaster extends BaseEntity {
*/ */
@Excel(name = "分账倒计时时长", cellType = Excel.ColumnType.NUMERIC) @Excel(name = "分账倒计时时长", cellType = Excel.ColumnType.NUMERIC)
private Integer shareAccountCountdownDuration; private Integer shareAccountCountdownDuration;
/**
* 是否包含原始工人ID查询用于orderType=0的情况
*/
private Boolean includeOriginalWorker;
/**
* 更新时间别名字段用于SQL查询中的update_time别名映射
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date updateTimeAlias;
} }

View File

@ -47,6 +47,14 @@ public interface OrderDetailMapper {
*/ */
List<OrderDetail> selectByOrderMasterId(@Param("orderMasterId") Long orderMasterId); List<OrderDetail> selectByOrderMasterId(@Param("orderMasterId") Long orderMasterId);
/**
* 根据主订单ID集合批量查询详细订单
*
* @param orderMasterIds 主订单ID集合
* @return 详细订单集合
*/
List<OrderDetail> selectByOrderMasterIds(@Param("orderMasterIds") List<Long> orderMasterIds);
/** /**
* 批量删除细单表信息 * 批量删除细单表信息
* *

View File

@ -35,6 +35,14 @@ public interface OrderGoodsMapper {
List<OrderGoods> selectByOrderId(@Param("orderId") Long orderId); List<OrderGoods> selectByOrderId(@Param("orderId") Long orderId);
/**
* 根据主订单ID集合批量查询订单商品
*
* @param orderMasterIds 主订单ID集合
* @return 订单商品集合
*/
List<OrderGoods> selectByOrderMasterIds(@Param("orderMasterIds") List<Long> orderMasterIds);
List<OrderGoods> selectByOrderDetailId(@Param("orderDetailId") Long orderDetailId); List<OrderGoods> selectByOrderDetailId(@Param("orderDetailId") Long orderDetailId);
int deleteByOrderDetailId(@Param("orderDetailId") Long orderDetailId); int deleteByOrderDetailId(@Param("orderDetailId") Long orderDetailId);

View File

@ -48,6 +48,13 @@ public interface OrderDetailService {
*/ */
List<OrderDetail> selectByOrderMasterId(Long orderMasterId); List<OrderDetail> selectByOrderMasterId(Long orderMasterId);
/**
* 根据主订单ID集合批量查询详细订单
* @param orderMasterIds 主订单ID集合
* @return 详细订单集合
*/
List<OrderDetail> selectByOrderMasterIds(List<Long> orderMasterIds);
/** /**
* @param ids 详细订单ids * @param ids 详细订单ids
* @return 删除结果 * @return 删除结果

View File

@ -19,6 +19,14 @@ public interface OrderGoodsService {
List<OrderGoods> selectByOrderMasterId(Long orderMasterId); List<OrderGoods> selectByOrderMasterId(Long orderMasterId);
/**
* 根据主订单ID集合批量查询订单商品
*
* @param orderMasterIds 主订单ID集合
* @return 订单商品集合
*/
List<OrderGoods> selectByOrderMasterIds(List<Long> orderMasterIds);
List<OrderGoods> selectByOrderDetailId(Long orderDetailId); List<OrderGoods> selectByOrderDetailId(Long orderDetailId);
/** /**

View File

@ -274,6 +274,14 @@ public class OrderDetailServiceImpl implements OrderDetailService {
return orderDetailMapper.selectByOrderMasterId(orderMasterId); return orderDetailMapper.selectByOrderMasterId(orderMasterId);
} }
@Override
public List<OrderDetail> selectByOrderMasterIds(List<Long> orderMasterIds) {
if (CollectionUtils.isEmpty(orderMasterIds)) {
return Collections.emptyList();
}
return orderDetailMapper.selectByOrderMasterIds(orderMasterIds);
}
@Override @Override
public int deleteOrderDetailByIds(String ids) { public int deleteOrderDetailByIds(String ids) {
Long[] orderDetailIds = Convert.toLongArray(ids); Long[] orderDetailIds = Convert.toLongArray(ids);

View File

@ -30,6 +30,14 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
return orderGoodsMapper.selectByOrderId(orderMasterId); return orderGoodsMapper.selectByOrderId(orderMasterId);
} }
@Override
public List<OrderGoods> selectByOrderMasterIds(List<Long> orderMasterIds) {
if (orderMasterIds == null || orderMasterIds.isEmpty()) {
return new ArrayList<>();
}
return orderGoodsMapper.selectByOrderMasterIds(orderMasterIds);
}
@Override @Override
public List<OrderGoods> selectByOrderDetailId(Long orderDetailId) { public List<OrderGoods> selectByOrderDetailId(Long orderDetailId) {
return orderGoodsMapper.selectByOrderDetailId(orderDetailId); return orderGoodsMapper.selectByOrderDetailId(orderDetailId);

View File

@ -596,4 +596,12 @@
</if> </if>
</where> </where>
</select> </select>
<select id="selectByOrderMasterIds" resultMap="OrderDetailResult">
<include refid="selectOrderDetail"/>
WHERE order_master_id IN
<foreach collection="orderMasterIds" item="orderMasterId" open="(" separator="," close=")">
#{orderMasterId}
</foreach>
</select>
</mapper> </mapper>

View File

@ -133,4 +133,16 @@
</where> </where>
</select> </select>
<select id="selectByOrderMasterIds" resultMap="OrderGoodsResult">
SELECT og.order_goods_id, og.order_id, og.order_detail_id, og.goods_standard_id, og.goods_name,
og.goods_num, og.server_goods_num, og.finish_time, og.create_by, og.create_time,
og.update_by, og.update_time, og.remark
FROM order_goods og
INNER JOIN order_detail od ON og.order_detail_id = od.id
WHERE od.order_master_id IN
<foreach collection="orderMasterIds" item="orderMasterId" open="(" separator="," close=")">
#{orderMasterId}
</foreach>
</select>
</mapper> </mapper>

View File

@ -29,6 +29,7 @@
<result property="createTime" column="create_time"/> <result property="createTime" column="create_time"/>
<result property="updateBy" column="update_by"/> <result property="updateBy" column="update_by"/>
<result property="updateTime" column="update_time"/> <result property="updateTime" column="update_time"/>
<result property="updateTimeAlias" column="update_time_alias"/>
<result property="remark" column="remark"/> <result property="remark" column="remark"/>
<result property="afterServiceStatus" column="after_service_status"/> <result property="afterServiceStatus" column="after_service_status"/>
<result property="goodsId" column="goods_id"/> <result property="goodsId" column="goods_id"/>
@ -99,6 +100,7 @@
create_by, create_by,
create_time, create_time,
update_time, update_time,
update_time as update_time_alias,
remark, remark,
all_self_assigned, all_self_assigned,
goods_id, goods_id,
@ -166,6 +168,7 @@
om.create_by, om.create_by,
om.create_time, om.create_time,
om.update_time, om.update_time,
om.update_time as update_time_alias,
om.remark, om.remark,
om.all_self_assigned, om.all_self_assigned,
om.goods_id, om.goods_id,
@ -295,6 +298,9 @@
<if test="originalWorkerId != null and originalWorkerId > 0"> <if test="originalWorkerId != null and originalWorkerId > 0">
AND om.original_worker_id = #{originalWorkerId} AND om.original_worker_id = #{originalWorkerId}
</if> </if>
<if test="includeOriginalWorker != null and includeOriginalWorker == true and workerId != null and workerId > 0">
AND (om.worker_id = #{workerId} OR om.original_worker_id = #{workerId})
</if>
<if test="payMode != null"> <if test="payMode != null">
AND om.pay_mode = #{payMode} AND om.pay_mode = #{payMode}
</if> </if>

View File

@ -4,6 +4,7 @@ import com.ghy.payment.domain.FinancialChangeRecord;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
import java.util.Set;
/** /**
* @author clunt * @author clunt
@ -64,6 +65,14 @@ public interface FinancialChangeRecordMapper {
List<FinancialChangeRecord> selectByMasterId(@Param("orderMasterId") Long orderMasterId); List<FinancialChangeRecord> selectByMasterId(@Param("orderMasterId") Long orderMasterId);
/**
* 根据主订单ID集合批量查询改价记录
*
* @param orderMasterIds 主订单ID集合
* @return 改价记录集合
*/
List<FinancialChangeRecord> selectByMasterIds(@Param("orderMasterIds") Set<Long> orderMasterIds);
int updatePayStatus(@Param("id") Long id, @Param("payStatus") Integer payStatus); int updatePayStatus(@Param("id") Long id, @Param("payStatus") Integer payStatus);
/** /**

View File

@ -67,6 +67,14 @@ public interface FinancialChangeRecordService {
List<FinancialChangeRecord> selectByMasterId(@Param("orderMasterId") Long orderMasterId); List<FinancialChangeRecord> selectByMasterId(@Param("orderMasterId") Long orderMasterId);
/**
* 根据主订单ID集合批量查询改价记录
*
* @param orderMasterIds 主订单ID集合
* @return 改价记录集合
*/
List<FinancialChangeRecord> selectByMasterIds(Set<Long> orderMasterIds);
int updatePayStatus(Long id, Integer payStatus); int updatePayStatus(Long id, Integer payStatus);
/** /**

View File

@ -126,6 +126,14 @@ public class FinancialChangeRecordServiceImpl implements FinancialChangeRecordSe
return financialChangeRecordMapper.selectByMasterId(orderMasterId); return financialChangeRecordMapper.selectByMasterId(orderMasterId);
} }
@Override
public List<FinancialChangeRecord> selectByMasterIds(Set<Long> orderMasterIds) {
if (CollectionUtils.isEmpty(orderMasterIds)) {
return new ArrayList<>();
}
return financialChangeRecordMapper.selectByMasterIds(orderMasterIds);
}
@Override @Override
public int updatePayStatus(Long id, Integer payStatus) { public int updatePayStatus(Long id, Integer payStatus) {
return financialChangeRecordMapper.updatePayStatus(id, payStatus); return financialChangeRecordMapper.updatePayStatus(id, payStatus);

View File

@ -164,4 +164,11 @@
update_time = NOW() update_time = NOW()
WHERE id = #{id} WHERE id = #{id}
</update> </update>
<select id="selectByMasterIds" resultMap="FinancialChangeRecordResult">
<include refid="selectFinancialChangeRecordVo"/> WHERE order_master_id IN
<foreach collection="orderMasterIds" item="orderMasterId" open="(" separator="," close=")">
#{orderMasterId}
</foreach>
</select>
</mapper> </mapper>