Merge remote-tracking branch 'origin/master'

This commit is contained in:
2023-03-27 18:23:15 +08:00
5 changed files with 90 additions and 4 deletions

View File

@@ -175,7 +175,17 @@ public class OmsOrderController {
}
return new CommonResult().failed();
}
@SysLog(MODULE = "oms", REMARK = "新批量发货")
@ApiOperation("批量发货")
@RequestMapping(value = "/update/deliveryNew", method = RequestMethod.POST)
@ResponseBody
public Object deliveryNew(@RequestBody List<OmsOrderDeliveryParam> deliveryParamList) {
int count = IOmsOrderService.deliveryNew(deliveryParamList);
if (count > 0) {
return new CommonResult().success(count);
}
return new CommonResult().failed();
}
@SysLog(MODULE = "oms", REMARK = "批量发货")
@ApiOperation("批量发货")
@RequestMapping(value = "/delivery", method = RequestMethod.POST)

View File

@@ -44,7 +44,11 @@ public interface IOmsOrderService extends IService<OmsOrder> {
*/
@Transactional
int delivery(List<OmsOrderDeliveryParam> deliveryParamList);
/**
* 新批量发货
*/
@Transactional
int deliveryNew(List<OmsOrderDeliveryParam> deliveryParamList);
/**
* 批量关闭订单
*/

View File

@@ -78,7 +78,35 @@ public class OmsOrderServiceImpl extends ServiceImpl<OmsOrderMapper, OmsOrder> i
sendPushMsg(deliveryParamList);
return count;
}
@Override
public int deliveryNew(List<OmsOrderDeliveryParam> deliveryParamList) {
//根据订单查询地址
for(OmsOrderDeliveryParam omsOrderDeliveryParam:deliveryParamList){
String orderId=String.valueOf(omsOrderDeliveryParam.getOrderId());
OmsOrder address=orderMapper.getAddressById(orderId);
omsOrderDeliveryParam.setDeliveryCompany(address.getReceiverDetailAddress());
omsOrderDeliveryParam.setDeliverySn("到店自取");
}
//批量发货
int count = orderMapper.deliveryNew(deliveryParamList);
if (count > 0) {
//添加操作记录
List<OmsOrderOperateHistory> operateHistoryList = deliveryParamList.stream()
.map(omsOrderDeliveryParam -> {
OmsOrderOperateHistory history = new OmsOrderOperateHistory();
history.setOrderId(omsOrderDeliveryParam.getOrderId());
history.setCreateTime(new Date());
history.setOperateMan("后台管理员");
history.setPreStatus(OrderStatus.TO_DELIVER.getValue());
history.setOrderStatus(OrderStatus.DELIVERED.getValue());
history.setNote("完成发货");
return history;
}).collect(Collectors.toList());
orderOperateHistoryDao.saveBatch(operateHistoryList);
}
sendPushMsg(deliveryParamList);
return count;
}
private void sendPushMsg(List<OmsOrderDeliveryParam> deliveryParamList) {
for (OmsOrderDeliveryParam param : deliveryParamList) {
OmsOrder omsOrder = baseMapper.selectById(param.getOrderId());

View File

@@ -51,7 +51,14 @@ public interface OmsOrderMapper extends BaseMapper<OmsOrder> {
* 批量发货
*/
int delivery(@Param("list") List<OmsOrderDeliveryParam> deliveryParamList);
/**
* 批量发货
*/
int deliveryNew(@Param("list") List<OmsOrderDeliveryParam> deliveryParamList);
/**
* 根据订单查询详细地址
*/
OmsOrder getAddressById(String orderId);
/**
* 根据会员分组订单
*

View File

@@ -229,6 +229,43 @@
</foreach>
AND `status` = 2
</update>
<update id="deliveryNew">
UPDATE oms_order
SET
delivery_sn = CASE id
<foreach collection="list" item="item">
WHEN #{item.orderId} THEN #{item.deliverySn}
</foreach>
END,
delivery_company = CASE id
<foreach collection="list" item="item">
WHEN #{item.orderId} THEN #{item.deliveryCompany}
</foreach>
END,
delivery_time = CASE id
<foreach collection="list" item="item">
WHEN #{item.orderId} THEN now()
</foreach>
END,
`status` = CASE id
<foreach collection="list" item="item">
WHEN #{item.orderId} THEN 3
</foreach>
END
WHERE
id IN
<foreach collection="list" item="item" separator="," open="(" close=")">
#{item.orderId}
</foreach>
AND `status` = 2
</update>
<select id="getAddressById" resultType="com.zscat.mallplus.oms.entity.OmsOrder">
select receiver_detail_address receiverDetailAddress
from oms_order
where id = #{orderId}
</select>
<update id="updateSkuStock">
UPDATE pms_sku_stock
SET