新增查询可派单商品数量接口
This commit is contained in:
parent
4bd975d7c4
commit
a8991068d5
|
|
@ -79,6 +79,35 @@ public class OrderController extends BaseController {
|
|||
@Autowired
|
||||
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")
|
||||
@ResponseBody
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
|
|
|
|||
|
|
@ -20,9 +20,12 @@ public class OrderGoods extends BaseEntity {
|
|||
@Excel(name = "订单商品id")
|
||||
private Long orderGoodsId;
|
||||
|
||||
@Excel(name = "订单id, 可以为主单或者细单", cellType = Excel.ColumnType.NUMERIC)
|
||||
@Excel(name = "订单id, 主单", cellType = Excel.ColumnType.NUMERIC)
|
||||
private Long orderId;
|
||||
|
||||
@Excel(name = "子订单id, 细单", cellType = Excel.ColumnType.NUMERIC)
|
||||
private Long orderDetailId;
|
||||
|
||||
@Excel(name = "商品规格id", cellType = Excel.ColumnType.NUMERIC)
|
||||
private Long goodsStandardId;
|
||||
|
||||
|
|
|
|||
|
|
@ -37,6 +37,12 @@ public interface OrderDetailMapper {
|
|||
*/
|
||||
OrderDetail selectById(Long orderDetailId);
|
||||
|
||||
/**
|
||||
* @param orderMasterId 主订单id
|
||||
* @return 详细订单
|
||||
*/
|
||||
List<OrderDetail> selectByOrderMasterId(@Param("orderMasterId") Long orderMasterId);
|
||||
|
||||
/**
|
||||
* 批量删除细单表信息
|
||||
*
|
||||
|
|
|
|||
|
|
@ -35,6 +35,8 @@ public interface OrderGoodsMapper {
|
|||
|
||||
List<OrderGoods> selectByOrderId(Long orderId);
|
||||
|
||||
List<OrderGoods> selectByOrderDetailId(@Param("orderDetailId") Long orderDetailId);
|
||||
|
||||
/**
|
||||
* 批量删除订单商品信息
|
||||
*
|
||||
|
|
|
|||
|
|
@ -37,6 +37,12 @@ public interface OrderDetailService {
|
|||
*/
|
||||
OrderDetail selectById(Long orderDetailId);
|
||||
|
||||
/**
|
||||
* @param orderMasterId 主订单id
|
||||
* @return 详细订单
|
||||
*/
|
||||
List<OrderDetail> selectByOrderMasterId(Long orderMasterId);
|
||||
|
||||
/**
|
||||
* @param ids 详细订单ids
|
||||
* @return 删除结果
|
||||
|
|
|
|||
|
|
@ -20,6 +20,8 @@ public interface OrderGoodsService {
|
|||
|
||||
List<OrderGoods> selectByOrderMasterId(Long orderMasterId);
|
||||
|
||||
List<OrderGoods> selectByOrderDetailId(Long orderDetailId);
|
||||
|
||||
/**
|
||||
* @param orderGoods 订单商品属性
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -53,6 +53,11 @@ public class OrderDetailServiceImpl implements OrderDetailService {
|
|||
return orderDetailMapper.selectById(orderDetailId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<OrderDetail> selectByOrderMasterId(Long orderMasterId) {
|
||||
return orderDetailMapper.selectByOrderMasterId(orderMasterId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int deleteOrderDetailByIds(String ids) {
|
||||
Long[] orderDetailIds = Convert.toLongArray(ids);
|
||||
|
|
|
|||
|
|
@ -31,6 +31,11 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
|
|||
return orderGoodsMapper.selectByOrderId(orderMasterId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<OrderGoods> selectByOrderDetailId(Long orderDetailId) {
|
||||
return orderGoodsMapper.selectByOrderDetailId(orderDetailId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int updateOrderGoods(OrderGoods orderGoods) {
|
||||
Assert.notNull(orderGoods.getOrderGoodsId(), "OrderGoodsId cannot be null!");
|
||||
|
|
|
|||
|
|
@ -69,6 +69,11 @@
|
|||
<include refid="selectOrderDetail"/> WHERE id = #{orderDetailId}
|
||||
</select>
|
||||
|
||||
|
||||
<select id="selectByOrderMasterId" parameterType="long" resultMap="OrderDetailResult">
|
||||
<include refid="selectOrderDetail"/> WHERE order_master_id = #{orderMasterId}
|
||||
</select>
|
||||
|
||||
<delete id="deleteOrderDetailByIds" parameterType="Long">
|
||||
DELETE FROM order_detail WHERE id IN
|
||||
<foreach collection="array" item="orderDetailId" open="(" separator="," close=")">
|
||||
|
|
|
|||
|
|
@ -96,6 +96,15 @@
|
|||
</where>
|
||||
</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 FROM order_goods WHERE order_goods_id IN
|
||||
<foreach collection="array" item="orderGoodsId" open="(" separator="," close=")">
|
||||
|
|
|
|||
Loading…
Reference in New Issue