diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/controller/DevInfoController.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/controller/DevInfoController.java index a585f0f..5ea3002 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/controller/DevInfoController.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/controller/DevInfoController.java @@ -3,6 +3,7 @@ package com.bonus.material.device.controller; import cn.hutool.core.convert.Convert; import com.bonus.common.biz.config.ListPagingUtil; import com.bonus.common.biz.domain.BmCompanyInfo; +import com.bonus.common.core.constant.Constants; import com.bonus.common.core.utils.ServletUtils; import com.bonus.common.core.utils.poi.ExcelUtil; import com.bonus.common.core.web.controller.BaseController; @@ -23,8 +24,6 @@ import javax.validation.Valid; import javax.validation.constraints.NotNull; import java.util.List; -import static com.bonus.common.core.web.page.TableSupport.PAGE_NUM; -import static com.bonus.common.core.web.page.TableSupport.PAGE_SIZE; /** * 设备信息Controller @@ -33,7 +32,6 @@ import static com.bonus.common.core.web.page.TableSupport.PAGE_SIZE; */ @RestController @RequestMapping("/dev") -@Validated @Api(value = "设备信息",tags = "设备管理") public class DevInfoController extends BaseController { @@ -70,8 +68,8 @@ public class DevInfoController extends BaseController { */ //@RequiresPermissions("equip:info:list") @ApiOperation(value = "查询装备列表--分页") - @PostMapping("/devList") - public TableDataInfo devList(@RequestBody DevInfoVo devInfo) { + @GetMapping("/devList") + public TableDataInfo devList(DevInfoVo devInfo) { startPage(); List list = devInfoService.selectDevInfoLists(devInfo); return getDataTable(list); diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/controller/OrderController.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/controller/OrderController.java index 40114c7..f6ed712 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/controller/OrderController.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/controller/OrderController.java @@ -51,7 +51,7 @@ public class OrderController extends BaseController { */ @ApiOperation(value = "获取订单详情") @GetMapping("/getOrderDetails") - public TableDataInfo getOrderDetails(OrderInfoDto orderInfoDto) { + public TableDataInfo getOrderDetails(OrderInfoDto orderInfoDto) throws Exception { startPage(); return getDataTable(orderService.getOrderDetails(orderInfoDto)); } @@ -61,8 +61,8 @@ public class OrderController extends BaseController { */ @ApiOperation(value = "获取单个订单详情") @GetMapping("/getOrderDetailsById") - public AjaxResult getOrderDetailsById(OrderDetailDto dto) { - if (dto.getId() != null) { + public AjaxResult getOrderDetailsById(OrderDetailDto dto) throws Exception { + if (dto.getOrderId() != null) { OrderInfoDto orderInfoDto = orderService.getOrderDetailsById(dto); return success(orderInfoDto); } else { @@ -77,7 +77,7 @@ public class OrderController extends BaseController { @PostMapping("/updateOrderStatus") public AjaxResult updateOrderStatus(@RequestBody OrderDetailDto orderInfoDto) { String userName = SecurityUtils.getLoginUser().getUsername(); - Integer i = orderMapper.updateOrderStatus(orderInfoDto.getIds(), orderInfoDto.getOrderStatus(), userName); + Integer i = orderMapper.updateOrderStatus(orderInfoDto.getOrderId(), orderInfoDto.getOrderStatus(), userName); if (i > 0) { return success(); } else { diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/mapper/OrderMapper.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/mapper/OrderMapper.java index b22663d..956098a 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/mapper/OrderMapper.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/mapper/OrderMapper.java @@ -27,5 +27,9 @@ public interface OrderMapper { void updateMaStatus(OrderDetailDto orderDetailDto); - Integer updateOrderStatus(@Param("ids") List ids, @Param("orderStatus") String orderStatus,@Param("userName") String userName); + Integer updateOrderStatus(@Param("orderId") Integer orderId, @Param("orderStatus") String orderStatus,@Param("userName") String userName); + + Integer updateDevCount(OrderDetailDto orderDetailDto); + + List selectOrderDetailsByOderId(String orderId); } diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/service/OrderService.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/service/OrderService.java index 365478a..b8a943e 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/service/OrderService.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/service/OrderService.java @@ -13,7 +13,7 @@ public interface OrderService { Integer submitOrderInfo(OrderInfoDto orderInfoDto); - List getOrderDetails(OrderInfoDto orderInfoDto); + List getOrderDetails(OrderInfoDto orderInfoDto) throws Exception; - OrderInfoDto getOrderDetailsById(OrderDetailDto dto); + OrderInfoDto getOrderDetailsById(OrderDetailDto dto) throws Exception; } diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/service/impl/OrderServiceImpl.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/service/impl/OrderServiceImpl.java index b42bfd4..81c7be8 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/service/impl/OrderServiceImpl.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/service/impl/OrderServiceImpl.java @@ -36,6 +36,9 @@ public class OrderServiceImpl implements OrderService { DevInfo devInfo = orderMapper.getdeviceCount(orderDetailDto); if (devInfo.getDeviceCount() < orderDetailDto.getNum()) { throw new RuntimeException(devInfo.getDeviceName() + "库存不足"); + } else { + // 改库存 + orderMapper.updateDevCount(orderDetailDto); } } else { //如果是编码设备,改设备状态为在租 @@ -61,34 +64,44 @@ public class OrderServiceImpl implements OrderService { } @Override - public List getOrderDetails(OrderInfoDto orderInfoDto) { + public List getOrderDetails(OrderInfoDto orderInfoDto) throws Exception { List orderInfoDtos = orderMapper.getOrderDetails(orderInfoDto); for (OrderInfoDto dto : orderInfoDtos) { List list = new ArrayList(); String ids = dto.getIds(); for (String id : ids.split(",")) { OrderDetailDto orderDetailDto = orderMapper.selectOrderDetailsById(id); - // 待出库 - if ("2".equals(orderDetailDto.getOrderStatus())){ - dto.setOrderStatus("2"); - } - // 待收货 - if ("3".equals(orderDetailDto.getOrderStatus())){ - dto.setCzOrderStatus("3"); - } list.add(orderDetailDto); } dto.setDetailsList(list); + boolean orderStatus = list.stream() + .map(OrderDetailDto::getOrderStatus) + .allMatch(name -> name.equals(list.get(0).getOrderStatus())); + if (orderStatus) { + dto.setOrderStatus(list.get(0).getOrderStatus()); + } else { + throw new Exception("订单状态不一致,请检查订单状态"); + } + dto.setStartTime(list.get(0).getRentBeginTime()); + dto.setEndTime(list.get(0).getRentEndTime()); } return orderInfoDtos; } @Override - public OrderInfoDto getOrderDetailsById(OrderDetailDto dto) { + public OrderInfoDto getOrderDetailsById(OrderDetailDto dto) throws Exception { OrderInfoDto orderInfoDto = orderMapper.getOrderDetailsById(dto); - List list = new ArrayList(); - OrderDetailDto orderDetailDto = orderMapper.selectOrderDetailsById(dto.getId().toString()); - list.add(orderDetailDto); + List list = orderMapper.selectOrderDetailsByOderId(dto.getOrderId().toString()); + boolean orderStatus = list.stream() + .map(OrderDetailDto::getOrderStatus) + .allMatch(name -> name.equals(list.get(0).getOrderStatus())); + if (orderStatus) { + orderInfoDto.setOrderStatus(list.get(0).getOrderStatus()); + } else { + throw new Exception("订单状态不一致,请检查订单状态"); + } + orderInfoDto.setStartTime(list.get(0).getRentBeginTime()); + orderInfoDto.setEndTime(list.get(0).getRentEndTime()); orderInfoDto.setDetailsList(list); return orderInfoDto; } diff --git a/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/device/DevInfoMapper.xml b/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/device/DevInfoMapper.xml index 1608b9e..fc3ce87 100644 --- a/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/device/DevInfoMapper.xml +++ b/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/device/DevInfoMapper.xml @@ -220,6 +220,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" d.type_id as typeId, mt4.type_name as typeName, mt4.unit_name as unitName, + mt4.manage_type as manageType, d.ma_status as maStatus, d.brand as brand, d.model_name as modelName, diff --git a/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/order/OrderInfoMapper.xml b/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/order/OrderInfoMapper.xml index 99fe5ee..d3f7368 100644 --- a/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/order/OrderInfoMapper.xml +++ b/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/order/OrderInfoMapper.xml @@ -53,10 +53,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ,rent_over_user = #{userName} ,rent_over_time = now() - where id in - - #{id} - + where order_id = #{orderId} + + + update ma_dev_info set device_count = device_count - #{num} where ma_id = #{maId} and is_active = 1 + \ No newline at end of file