新增查询可派单商品数量接口

This commit is contained in:
kuang.yifei@iwhalecloud.com 2022-06-10 16:44:13 +08:00
parent 4bd975d7c4
commit a8991068d5
10 changed files with 73 additions and 1 deletions

View File

@ -79,6 +79,35 @@ public class OrderController extends BaseController {
@Autowired @Autowired
private GoodsStandardService goodsStandardService; private GoodsStandardService goodsStandardService;
@PostMapping("/can/assign")
@ResponseBody
public AjaxResult canAssign(@RequestBody AppOrderAssignRequest request){
try {
// 找出原单的数量
List<OrderGoods> orderGoodsList = orderGoodsService.selectByOrderMasterId(request.getOrderMasterId());
// 找出原单关联的细单的商品数量
List<OrderDetail> orderDetailList = orderDetailService.selectByOrderMasterId(request.getOrderMasterId());
for (OrderDetail orderDetail : orderDetailList){
// 子单数量
List<OrderGoods> orderDetailGoodsList = orderGoodsService.selectByOrderDetailId(orderDetail.getId());
// 计算剩余未分配的商品数量
for (OrderGoods detailGoods : orderDetailGoodsList) {
for(OrderGoods masterGoods : orderGoodsList){
if(masterGoods.getGoodsStandardId() == detailGoods.getGoodsStandardId()){
masterGoods.setGoodsNum(masterGoods.getGoodsNum() - detailGoods.getGoodsNum());
}
}
}
}
//计算新单的数量
return AjaxResult.success(orderGoodsList);
}catch (Exception e){
e.printStackTrace();
return AjaxResult.error(e.getMessage());
}
}
@PostMapping("/assign") @PostMapping("/assign")
@ResponseBody @ResponseBody
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)

View File

@ -20,9 +20,12 @@ public class OrderGoods extends BaseEntity {
@Excel(name = "订单商品id") @Excel(name = "订单商品id")
private Long orderGoodsId; private Long orderGoodsId;
@Excel(name = "订单id, 可以为单或者细", cellType = Excel.ColumnType.NUMERIC) @Excel(name = "订单id, 主单", cellType = Excel.ColumnType.NUMERIC)
private Long orderId; private Long orderId;
@Excel(name = "子订单id, 细单", cellType = Excel.ColumnType.NUMERIC)
private Long orderDetailId;
@Excel(name = "商品规格id", cellType = Excel.ColumnType.NUMERIC) @Excel(name = "商品规格id", cellType = Excel.ColumnType.NUMERIC)
private Long goodsStandardId; private Long goodsStandardId;

View File

@ -37,6 +37,12 @@ public interface OrderDetailMapper {
*/ */
OrderDetail selectById(Long orderDetailId); OrderDetail selectById(Long orderDetailId);
/**
* @param orderMasterId 主订单id
* @return 详细订单
*/
List<OrderDetail> selectByOrderMasterId(@Param("orderMasterId") Long orderMasterId);
/** /**
* 批量删除细单表信息 * 批量删除细单表信息
* *

View File

@ -35,6 +35,8 @@ public interface OrderGoodsMapper {
List<OrderGoods> selectByOrderId(Long orderId); List<OrderGoods> selectByOrderId(Long orderId);
List<OrderGoods> selectByOrderDetailId(@Param("orderDetailId") Long orderDetailId);
/** /**
* 批量删除订单商品信息 * 批量删除订单商品信息
* *

View File

@ -37,6 +37,12 @@ public interface OrderDetailService {
*/ */
OrderDetail selectById(Long orderDetailId); OrderDetail selectById(Long orderDetailId);
/**
* @param orderMasterId 主订单id
* @return 详细订单
*/
List<OrderDetail> selectByOrderMasterId(Long orderMasterId);
/** /**
* @param ids 详细订单ids * @param ids 详细订单ids
* @return 删除结果 * @return 删除结果

View File

@ -20,6 +20,8 @@ public interface OrderGoodsService {
List<OrderGoods> selectByOrderMasterId(Long orderMasterId); List<OrderGoods> selectByOrderMasterId(Long orderMasterId);
List<OrderGoods> selectByOrderDetailId(Long orderDetailId);
/** /**
* @param orderGoods 订单商品属性 * @param orderGoods 订单商品属性
*/ */

View File

@ -53,6 +53,11 @@ public class OrderDetailServiceImpl implements OrderDetailService {
return orderDetailMapper.selectById(orderDetailId); return orderDetailMapper.selectById(orderDetailId);
} }
@Override
public List<OrderDetail> selectByOrderMasterId(Long orderMasterId) {
return orderDetailMapper.selectByOrderMasterId(orderMasterId);
}
@Override @Override
public int deleteOrderDetailByIds(String ids) { public int deleteOrderDetailByIds(String ids) {
Long[] orderDetailIds = Convert.toLongArray(ids); Long[] orderDetailIds = Convert.toLongArray(ids);

View File

@ -31,6 +31,11 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
return orderGoodsMapper.selectByOrderId(orderMasterId); return orderGoodsMapper.selectByOrderId(orderMasterId);
} }
@Override
public List<OrderGoods> selectByOrderDetailId(Long orderDetailId) {
return orderGoodsMapper.selectByOrderDetailId(orderDetailId);
}
@Override @Override
public int updateOrderGoods(OrderGoods orderGoods) { public int updateOrderGoods(OrderGoods orderGoods) {
Assert.notNull(orderGoods.getOrderGoodsId(), "OrderGoodsId cannot be null!"); Assert.notNull(orderGoods.getOrderGoodsId(), "OrderGoodsId cannot be null!");

View File

@ -69,6 +69,11 @@
<include refid="selectOrderDetail"/> WHERE id = #{orderDetailId} <include refid="selectOrderDetail"/> WHERE id = #{orderDetailId}
</select> </select>
<select id="selectByOrderMasterId" parameterType="long" resultMap="OrderDetailResult">
<include refid="selectOrderDetail"/> WHERE order_master_id = #{orderMasterId}
</select>
<delete id="deleteOrderDetailByIds" parameterType="Long"> <delete id="deleteOrderDetailByIds" parameterType="Long">
DELETE FROM order_detail WHERE id IN DELETE FROM order_detail WHERE id IN
<foreach collection="array" item="orderDetailId" open="(" separator="," close=")"> <foreach collection="array" item="orderDetailId" open="(" separator="," close=")">

View File

@ -96,6 +96,15 @@
</where> </where>
</select> </select>
<select id="selectByOrderDetailId" parameterType="long" resultMap="OrderGoodsResult">
<include refid="selectOrderGoods"/>
<where>
<if test="orderDetailId != null and orderDetailId != 0">
AND order_detail_id = #{orderDetailId}
</if>
</where>
</select>
<delete id="deleteOrderGoodsByIds" parameterType="Long"> <delete id="deleteOrderGoodsByIds" parameterType="Long">
DELETE FROM order_goods WHERE order_goods_id IN DELETE FROM order_goods WHERE order_goods_id IN
<foreach collection="array" item="orderGoodsId" open="(" separator="," close=")"> <foreach collection="array" item="orderGoodsId" open="(" separator="," close=")">