diff --git a/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/OrderPileOccupyController.java b/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/OrderPileOccupyController.java index dd3893bce..8ef81f6a4 100644 --- a/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/OrderPileOccupyController.java +++ b/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/OrderPileOccupyController.java @@ -3,13 +3,13 @@ package com.jsowell.web.controller.pile; import java.util.List; import javax.servlet.http.HttpServletResponse; +import com.jsowell.pile.dto.MakeOrderFreeDTO; import com.jsowell.pile.service.OrderPileOccupyService; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; @@ -86,6 +86,18 @@ public class OrderPileOccupyController extends BaseController { return toAjax(orderPileOccupyService.updateByPrimaryKey(orderPileOccupy)); } + /** + * 使某笔订单免费/修改订单金额 + * http://localhost:8080/pile/occupy/updateOrderAmount + * @param dto + * @return + */ + @PreAuthorize("@ss.hasPermi('pile:occupy:edit')") + @PostMapping("/updateOrderAmount") + public AjaxResult updateOrderAmount(@RequestBody MakeOrderFreeDTO dto) { + return toAjax(orderPileOccupyService.updateOrderInfoForWeb(dto)); + } + /** * 删除占桩订单 */ diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/dto/MakeOrderFreeDTO.java b/jsowell-pile/src/main/java/com/jsowell/pile/dto/MakeOrderFreeDTO.java new file mode 100644 index 000000000..0bb6207d5 --- /dev/null +++ b/jsowell-pile/src/main/java/com/jsowell/pile/dto/MakeOrderFreeDTO.java @@ -0,0 +1,31 @@ +package com.jsowell.pile.dto; + +import lombok.Data; + +import java.math.BigDecimal; + +/** + * 修改占桩订单免费/修改金额DTO + * + * @author Lemon + * @Date 2023/9/8 15:04 + */ +@Data +public class MakeOrderFreeDTO { + private Long id; + + /** + * 修改类型(1-直接免费;2-修改金额) + */ + private String type; + + /** + * 占桩订单 + */ + private String occupyCode; + + /** + * 订单金额 + */ + private BigDecimal orderAmount; +} diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/mapper/OrderPileOccupyMapper.java b/jsowell-pile/src/main/java/com/jsowell/pile/mapper/OrderPileOccupyMapper.java index 5ba7307c3..158a9dd40 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/mapper/OrderPileOccupyMapper.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/mapper/OrderPileOccupyMapper.java @@ -122,4 +122,11 @@ public interface OrderPileOccupyMapper { * @return 占桩订单集合 */ public List selectOrderPileOccupyList(OrderPileOccupy orderPileOccupy); + + /** + * 使该笔订单免费 + * @param occupyCode + * @return + */ + int makeOrderFree(String occupyCode); } \ No newline at end of file diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/OrderPileOccupyService.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/OrderPileOccupyService.java index 5c3ad9bd7..cf3595863 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/OrderPileOccupyService.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/OrderPileOccupyService.java @@ -2,10 +2,7 @@ package com.jsowell.pile.service; import com.jsowell.common.core.page.PageResponse; import com.jsowell.pile.domain.OrderPileOccupy; -import com.jsowell.pile.dto.PayOrderDTO; -import com.jsowell.pile.dto.GenerateOccupyOrderDTO; -import com.jsowell.pile.dto.QueryOccupyOrderDTO; -import com.jsowell.pile.dto.RemoteGroundLockDTO; +import com.jsowell.pile.dto.*; import com.jsowell.pile.vo.uniapp.OccupyOrderDetailVO; import com.jsowell.pile.vo.uniapp.OrderPileOccupyVO; @@ -101,4 +98,11 @@ public interface OrderPileOccupyService{ * @param occupyCode */ OccupyOrderDetailVO getOccupyOrderDetail(String occupyCode); + + /** + * 使该笔订单免费/修改订单金额(后管用) + * @param dto + * @return + */ + int updateOrderInfoForWeb(MakeOrderFreeDTO dto); } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderPileOccupyServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderPileOccupyServiceImpl.java index ae705d449..a64e26dfb 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderPileOccupyServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderPileOccupyServiceImpl.java @@ -191,7 +191,7 @@ public class OrderPileOccupyServiceImpl implements OrderPileOccupyService { * 占桩订单停止计费/停止占桩订单计费 * 收到地锁升起指令,调用这个方法,停止计时 * - * @param pileSn 充电站编号 + * @param pileSn 充电站编号 * @param connectorCode 枪口号 */ @Override @@ -311,6 +311,7 @@ public class OrderPileOccupyServiceImpl implements OrderPileOccupyService { /** * 通过memberId查询未支付状态订单 + * * @param memberId * @return */ @@ -354,6 +355,7 @@ public class OrderPileOccupyServiceImpl implements OrderPileOccupyService { /** * 根据桩编号、枪口号查询最近一条占桩订单 * draft + * * @param pileSn * @param connectorCode * @return @@ -373,6 +375,7 @@ public class OrderPileOccupyServiceImpl implements OrderPileOccupyService { /** * 查询占桩中的订单 + * * @param pileSn * @param connectorCode * @return @@ -413,6 +416,7 @@ public class OrderPileOccupyServiceImpl implements OrderPileOccupyService { /** * 获取占桩订单详情 + * * @param occupyCode */ @Override @@ -429,6 +433,33 @@ public class OrderPileOccupyServiceImpl implements OrderPileOccupyService { return vo; } + /** + * 使该笔订单免费/修改订单金额(后管用) + * + * @param dto + * @return + */ + @Override + public int updateOrderInfoForWeb(MakeOrderFreeDTO dto) { + // 先取type + String type = dto.getType(); + if (StringUtils.equals("1", type)) { + // 直接免费 + return orderPileOccupyMapper.makeOrderFree(dto.getOccupyCode()); + } else { + // 修改订单金额 + OrderPileOccupy occupy = selectByPrimaryKey(dto.getId().intValue()); + BigDecimal orderAmount = occupy.getOrderAmount(); + if (orderAmount.subtract(dto.getOrderAmount()).compareTo(BigDecimal.ZERO) < 0 ) { + // 说明改的金额要比实际订单金额大,不予修改 + return 0; + } + occupy.setOrderAmount(dto.getOrderAmount()); + + return orderPileOccupyMapper.updateByPrimaryKeySelective(occupy); + } + } + /* * 支付占桩订单 * diff --git a/jsowell-pile/src/main/resources/mapper/pile/OrderPileOccupyMapper.xml b/jsowell-pile/src/main/resources/mapper/pile/OrderPileOccupyMapper.xml index 934bef39b..c4192af78 100644 --- a/jsowell-pile/src/main/resources/mapper/pile/OrderPileOccupyMapper.xml +++ b/jsowell-pile/src/main/resources/mapper/pile/OrderPileOccupyMapper.xml @@ -926,4 +926,12 @@ and pile_connector_code = #{pileConnectorCode} + + + update + order_pile_occupy + set + status = '1', pay_status = '2' + where occupy_code = #{occupyCode,jdbcType=VARCHAR} + \ No newline at end of file