From 7b6e1913dba99b826f54aadf3c1b60d3b70b9076 Mon Sep 17 00:00:00 2001 From: seesaw Date: Tue, 29 Oct 2024 16:21:05 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B6=85=E5=B8=82=E8=AE=A2=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/storeorder/StoreOrderController.java | 14 ++++++++++++++ .../storesalegoods/StoreSaleGoodsController.java | 5 +++-- .../controller/app/store/dto/StoreGoodsDto.java | 1 + .../app/storeorder/AppStoreOrderController.java | 2 ++ .../storeorderdetail/StoreOrderDetailDO.java | 2 ++ .../storeorderdetail/StoreOrderDetailMapper.java | 2 +- .../service/storeorder/StoreOrderService.java | 3 +++ .../service/storeorder/StoreOrderServiceImpl.java | 13 +++++++++++++ .../mapper/storeorder/StoreOrderMapper.xml | 1 + 9 files changed, 40 insertions(+), 3 deletions(-) diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/storeorder/StoreOrderController.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/storeorder/StoreOrderController.java index 189a3c8c..186f78d9 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/storeorder/StoreOrderController.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/storeorder/StoreOrderController.java @@ -1,8 +1,10 @@ package cn.iocoder.yudao.module.member.controller.admin.storeorder; import cn.hutool.core.bean.BeanUtil; +import cn.iocoder.yudao.module.member.controller.app.storeorder.vo.AppStoreOrderDetailVo; import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO; import cn.iocoder.yudao.module.member.dal.mysql.user.MemberUserMapper; +import cn.iocoder.yudao.module.member.service.storeorderdetail.StoreOrderDetailService; import cn.iocoder.yudao.module.member.service.user.MemberUserService; import cn.iocoder.yudao.module.system.api.cashregisterinfo.CashregisterinfoApi; import org.springframework.web.bind.annotation.*; @@ -16,6 +18,7 @@ import io.swagger.v3.oas.annotations.Operation; import javax.validation.constraints.*; import javax.validation.*; import javax.servlet.http.*; +import java.math.BigDecimal; import java.util.*; import java.io.IOException; @@ -46,6 +49,8 @@ public class StoreOrderController { private MemberUserService userService; @Resource private CashregisterinfoApi cashregisterinfoApi; + @Resource + private StoreOrderDetailService orderDetailService; @PostMapping("/create") @Operation(summary = "创建商品订单") @@ -84,6 +89,8 @@ public class StoreOrderController { storeOrderDetailVO.setMobile(user.getMobile()); String storeName = cashregisterinfoApi.getStoreName(storeOrder.getEquipmentCode()); storeOrderDetailVO.setStoresName(storeName); + List listByOrderNo = orderDetailService.getListByOrderNo(storeOrder.getOrderId()); + storeOrderDetailVO.setDetailDOS(listByOrderNo); return success(storeOrderDetailVO); } @@ -108,4 +115,11 @@ public class StoreOrderController { BeanUtils.toBean(list, StoreOrderRespVO.class)); } + @GetMapping("/reduction") + @Operation(summary = "减免") + public CommonResult reduction(Long orderId, BigDecimal money){ + storeOrderService.reduction(orderId,money); + return CommonResult.success(true); + } + } \ No newline at end of file diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/storesalegoods/StoreSaleGoodsController.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/storesalegoods/StoreSaleGoodsController.java index 5709d104..8df84026 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/storesalegoods/StoreSaleGoodsController.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/storesalegoods/StoreSaleGoodsController.java @@ -39,7 +39,7 @@ public class StoreSaleGoodsController { private StoreSaleGoodsService storeSaleGoodsService; @PostMapping("/create") - @Operation(summary = "创建售卖商品") + @Operation(summary = "创建售卖商品(上架)") @PreAuthorize("@ss.hasPermission('member:store-sale-goods:create')") public CommonResult createStoreSaleGoods(@Valid @RequestBody StoreSaleGoodsSaveReqVO createReqVO) { return success(storeSaleGoodsService.createStoreSaleGoods(createReqVO)); @@ -54,7 +54,7 @@ public class StoreSaleGoodsController { } @DeleteMapping("/delete") - @Operation(summary = "删除售卖商品") + @Operation(summary = "删除售卖商品(下架)") @Parameter(name = "id", description = "编号", required = true) @PreAuthorize("@ss.hasPermission('member:store-sale-goods:delete')") public CommonResult deleteStoreSaleGoods(@RequestParam("id") Long id) { @@ -92,4 +92,5 @@ public class StoreSaleGoodsController { BeanUtils.toBean(list, StoreSaleGoodsRespVO.class)); } + } \ No newline at end of file diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/store/dto/StoreGoodsDto.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/store/dto/StoreGoodsDto.java index 7fc332fc..c09bc6d8 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/store/dto/StoreGoodsDto.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/store/dto/StoreGoodsDto.java @@ -7,6 +7,7 @@ public class StoreGoodsDto { private Integer goodsId; private Double customPrice; private Integer number; + private String goodsName; public double getTotalPrice() { diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/storeorder/AppStoreOrderController.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/storeorder/AppStoreOrderController.java index 32346b55..610b51dd 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/storeorder/AppStoreOrderController.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/storeorder/AppStoreOrderController.java @@ -59,4 +59,6 @@ public class AppStoreOrderController { return success(bean); } + + } \ No newline at end of file diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/dataobject/storeorderdetail/StoreOrderDetailDO.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/dataobject/storeorderdetail/StoreOrderDetailDO.java index 91b07cac..6accb30a 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/dataobject/storeorderdetail/StoreOrderDetailDO.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/dataobject/storeorderdetail/StoreOrderDetailDO.java @@ -35,6 +35,8 @@ public class StoreOrderDetailDO extends BaseDO { * 商品ID */ private Integer goodsId; + + private Integer goodsName; /** * 单价 */ diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/mysql/storeorderdetail/StoreOrderDetailMapper.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/mysql/storeorderdetail/StoreOrderDetailMapper.java index 3a345406..aa20f1f2 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/mysql/storeorderdetail/StoreOrderDetailMapper.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/mysql/storeorderdetail/StoreOrderDetailMapper.java @@ -30,7 +30,7 @@ public interface StoreOrderDetailMapper extends BaseMapperX } - @Select("select od.custom_price,od.number,od.weight,sg.goods_name,sg.img from member_store_order_detail od left join member_store_goods sg on od.goods_id = sg.goods_id where od.order_id = #{orderId}") + @Select("select od.custom_price,od.number,od.weight,od.goods_name,sg.img from member_store_order_detail od left join member_store_goods sg on od.goods_id = sg.goods_id where od.order_id = #{orderId}") List selectByOrderId(Integer orderId); } \ No newline at end of file diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/storeorder/StoreOrderService.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/storeorder/StoreOrderService.java index c679c344..d1d8448a 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/storeorder/StoreOrderService.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/storeorder/StoreOrderService.java @@ -11,6 +11,7 @@ import cn.iocoder.yudao.module.member.controller.app.store.vo.UserInfoVo; import cn.iocoder.yudao.module.member.dal.dataobject.storeorder.StoreOrderDO; import javax.validation.Valid; +import java.math.BigDecimal; /** * 商品订单 Service 接口 @@ -68,4 +69,6 @@ public interface StoreOrderService { void batchCacheOrder(StoreOrderUploadDto dto); PageResult getStoreOrderPageNew(StoreOrderPageVO pageReqVO); + + void reduction(Long orderId, BigDecimal money); } \ No newline at end of file diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/storeorder/StoreOrderServiceImpl.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/storeorder/StoreOrderServiceImpl.java index 5f153f70..f9d5c051 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/storeorder/StoreOrderServiceImpl.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/storeorder/StoreOrderServiceImpl.java @@ -233,6 +233,19 @@ public class StoreOrderServiceImpl implements StoreOrderService { return new PageResult<>(records, pageNew.getTotal()); } + @Override + public void reduction(Long orderId, BigDecimal money) { + StoreOrderDO storeOrderDO = storeOrderMapper.selectById(orderId); + Double totalPrice = storeOrderDO.getTotalPrice(); + BigDecimal total = BigDecimal.valueOf(totalPrice).setScale(2, RoundingMode.HALF_UP); + Double reductionPrice = storeOrderDO.getReductionPrice(); + BigDecimal reduction = BigDecimal.valueOf(reductionPrice).setScale(2, RoundingMode.HALF_UP); + storeOrderDO.setReductionPrice(reduction.add(money).doubleValue()); + storeOrderDO.setTotalPrice(total.subtract(money).doubleValue()); + storeOrderMapper.updateById(storeOrderDO); + deductionService.reduction(storeOrderDO.getUserId(), money, BigDecimal.ZERO,money, BigDecimal.ZERO); + } + public void test() { //计算金额 //if (total.compareTo(wxAmount) <= 0) { diff --git a/yudao-module-member/yudao-module-member-biz/src/main/resources/mapper/storeorder/StoreOrderMapper.xml b/yudao-module-member/yudao-module-member-biz/src/main/resources/mapper/storeorder/StoreOrderMapper.xml index 3419a29d..fc23d44c 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/resources/mapper/storeorder/StoreOrderMapper.xml +++ b/yudao-module-member/yudao-module-member-biz/src/main/resources/mapper/storeorder/StoreOrderMapper.xml @@ -28,6 +28,7 @@ and mu.mobile like concat('%',#{mobile},'%') + order by so.order_id DESC \ No newline at end of file