From 66e270b3713d30127c3cead204b21f7b24f38549 Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Wed, 8 Jan 2025 16:48:11 +0800 Subject: [PATCH 1/2] =?UTF-8?q?feat=EF=BC=9A=E9=80=80=E6=AC=BE=E5=AE=A1?= =?UTF-8?q?=E6=89=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/order/HardAfterSaleController.java | 5 +++-- .../hard/controller/order/HardOrderController.java | 2 ++ .../impl/order/HardAfterSaleServiceImpl.java | 4 ++-- .../service/impl/order/HardCarServiceImpl.java | 8 ++++---- .../impl/order/HardwareOrderServiceImpl.java | 14 ++++++++++++-- .../wallet/controller/WalletForeignController.java | 8 +++++--- .../wallet/controller/WalletStrideController.java | 4 +++- 7 files changed, 31 insertions(+), 14 deletions(-) diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardAfterSaleController.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardAfterSaleController.java index a6c00f267..5b1c6539b 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardAfterSaleController.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardAfterSaleController.java @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.bsd.pjcloud.common.core.util.R; +import com.bsd.pjcloud.common.idempotent.annotation.Idempotent; import com.bsd.pjcloud.common.log.annotation.SysLog; import com.bsd.pjcloud.common.security.service.PjcloudUser; import com.bsd.pjcloud.common.security.util.SecurityUtils; @@ -14,7 +15,6 @@ import com.bsd.pjcloud.hard.api.dto.order.HardDisagreeDto; import com.bsd.pjcloud.hard.api.entity.order.HardAfterSaleEntity; import com.bsd.pjcloud.hard.api.entity.order.HardAfterSaleLogEntity; import com.bsd.pjcloud.hard.service.HardAfterSaleService; -import io.swagger.v3.oas.annotations.Parameter; import org.springframework.security.access.prepost.PreAuthorize; import com.bsd.pjcloud.common.excel.annotation.ResponseExcel; import io.swagger.v3.oas.annotations.security.SecurityRequirement; @@ -26,7 +26,6 @@ import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; import java.util.List; -import java.util.Objects; /** * 售后订单 @@ -51,6 +50,7 @@ public class HardAfterSaleController { @PutMapping("/agree") @Operation(summary = "同意售后") + @Idempotent(expireTime = 10, info = "正在处理中,请勿重复操作") public R agreeRefund(@RequestParam Long id) { PjcloudUser user = SecurityUtils.getUser(); return R.ok(hardAfterSaleService.agreeAfterSale(user.getId(), id)); @@ -58,6 +58,7 @@ public class HardAfterSaleController { @PutMapping("/disagree") @Operation(summary = "拒绝售后") + @Idempotent(expireTime = 10, info = "正在处理中,请勿重复操作") public R disagreeRefund(@RequestBody HardDisagreeDto dto) { PjcloudUser user = SecurityUtils.getUser(); return R.ok(hardAfterSaleService.disagreeRefund(user.getId(), dto)); diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardOrderController.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardOrderController.java index 70bfe7e08..0931126d1 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardOrderController.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardOrderController.java @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.bsd.pjcloud.common.core.util.R; +import com.bsd.pjcloud.common.idempotent.annotation.Idempotent; import com.bsd.pjcloud.common.log.annotation.SysLog; import com.bsd.pjcloud.common.security.service.PjcloudUser; import com.bsd.pjcloud.common.security.util.SecurityUtils; @@ -61,6 +62,7 @@ public class HardOrderController { @Operation(summary = "app创建订单", description = "app创建订单") @GetMapping("/app/create-order") + @Idempotent(expireTime = 10, info = "正在创建订单中,请勿重复操作") public R appCreateOrder(@RequestParam Long carParentId) { PjcloudUser user = SecurityUtils.getUser(); HardAppCreateOrderDto dto = HardAppCreateOrderDto.builder().carParentId(carParentId).walletType(WalletTypeCodeEnum.CANTEEN).userId(user.getId()).orderType(HardOrderTypeEnum.RESERVE).payType(HardPayTypeEnum.WALLET_DEFAULT).build(); diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardAfterSaleServiceImpl.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardAfterSaleServiceImpl.java index 4b0583d53..24abd1090 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardAfterSaleServiceImpl.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardAfterSaleServiceImpl.java @@ -32,9 +32,9 @@ import com.bsd.pjcloud.hard.service.HardOrderService; import com.bsd.pjcloud.wallet.api.dto.recharge.WalletRechargeRefundDto; import com.bsd.pjcloud.wallet.api.feign.RemoteWalletRechargeService; import com.bsd.pjcloud.wallet.api.vo.recharge.WalletRechargeVo; -import io.seata.spring.annotation.GlobalTransactional; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.apache.seata.spring.annotation.GlobalTransactional; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; @@ -93,7 +93,7 @@ public class HardAfterSaleServiceImpl extends ServiceImpl { // 查询食堂商品 - List supList = onlineCanteenSpuService.getSpuListByIds(productIds).getData(); + List supList = onlineCanteenSpuService.getSpuListByIds(productIds).getData(); AtomicInteger canteenTotalPrice = new AtomicInteger(); for (HardCreateCarDto v : list) { supList.stream().filter(i -> ObjectUtil.equals(i.getId(), v.getProductId())).findFirst().ifPresent(spu -> { @@ -145,7 +145,7 @@ public class HardCarServiceImpl extends ServiceImpl carObjectList = new ArrayList<>(); - List supList = onlineCanteenSpuService.getSpuListByIds(productIds).getData(); + List supList = onlineCanteenSpuService.getSpuListByIds(productIds).getData(); for (HardCreateCarDto v : productList) { HardCarEntity item = HardCarEntity.builder().parentCarId(parentCarId).build(); supList.stream().filter(i -> ObjectUtil.equals(i.getId(), v.getProductId())).findFirst().ifPresent(spu -> { @@ -190,7 +190,7 @@ public class HardCarServiceImpl extends ServiceImpl productIds = list.stream().map(HardCreateCarDto::getProductId).toList(); if (ObjectUtil.equals(sysType, HardTypeEnum.CANTEEN)) { - List supList = onlineCanteenSpuService.getSpuListByIds(productIds).getData(); + List supList = onlineCanteenSpuService.getSpuListByIds(productIds).getData(); for (HardCreateCarDto v : list) { supList.stream().filter(i -> ObjectUtil.equals(i.getId(), v.getProductId())).findFirst().ifPresent(spu -> { str.append(spu.getName()).append("x").append(v.getProductCount()).append(";"); diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardwareOrderServiceImpl.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardwareOrderServiceImpl.java index 3aa0b3025..8c52b16c4 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardwareOrderServiceImpl.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardwareOrderServiceImpl.java @@ -1,6 +1,7 @@ package com.bsd.pjcloud.hard.service.impl.order; import cn.hutool.core.util.ObjectUtil; +import cn.hutool.extra.spring.SpringUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.bsd.pjcloud.admin.api.entity.SysDept; @@ -41,6 +42,7 @@ import com.bsd.pjcloud.wallet.api.vo.recharge.WalletRechargeApplyVo; import jakarta.validation.Valid; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.apache.seata.spring.annotation.GlobalTransactional; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; @@ -108,6 +110,7 @@ public class HardwareOrderServiceImpl extends ServiceImpl appPageJoin(@RequestParam Long id) { return R.ok(walletForeignService.join(id)); } - @Operation(summary = "App新增外来人员电子餐券表", description = "App新增外来人员电子餐券表") - @SysLog("App新增外来人员电子餐券表") + @Operation(summary = "app申请外来人员电子餐券表", description = "app申请外来人员电子餐券表") + @SysLog("app申请外来人员电子餐券") @PostMapping("/app/apply") + @Idempotent(expireTime = 10, info = "正在申请中,请勿重复操作") public R appSave(@RequestBody WalletForeignDto dto) { PjcloudUser loginUser = SecurityUtils.getUser(); dto.setUserId(loginUser.getId()); diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/WalletStrideController.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/WalletStrideController.java index 1a9c20f5d..47d8f61d7 100644 --- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/WalletStrideController.java +++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/controller/WalletStrideController.java @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.bsd.pjcloud.common.core.util.R; +import com.bsd.pjcloud.common.idempotent.annotation.Idempotent; import com.bsd.pjcloud.common.log.annotation.SysLog; import com.bsd.pjcloud.common.security.annotation.Inner; import com.bsd.pjcloud.common.security.service.PjcloudUser; @@ -67,8 +68,9 @@ public class WalletStrideController { } @Operation(summary = "app申请", description = "app申请") - @SysLog("app申请") + @SysLog("app申请跨单位就餐") @PostMapping("/app/apply") + @Idempotent(expireTime = 10, info = "正在申请中,请勿重复操作") public R appSave(@RequestBody WalletStrideDto dto) { PjcloudUser loginUser = SecurityUtils.getUser(); dto.setUserId(loginUser.getId()); From 273d7532115a9eb6c2e7505e1f5bb2657f544481 Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Wed, 8 Jan 2025 16:53:16 +0800 Subject: [PATCH 2/2] =?UTF-8?q?feat:=E4=BB=B7=E6=A0=BC=E8=BD=AC=E6=8D=A2?= =?UTF-8?q?=E6=B3=A8=E8=A7=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/bsd/pjcloud/canteen/vo/APPOnlineSpuVO.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/vo/APPOnlineSpuVO.java b/pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/vo/APPOnlineSpuVO.java index ddb57f29e..92926665d 100644 --- a/pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/vo/APPOnlineSpuVO.java +++ b/pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/vo/APPOnlineSpuVO.java @@ -78,16 +78,16 @@ public class APPOnlineSpuVO { * 商品价格,单位使用:分 */ @Schema(description="商品价格") - @JsonSerialize(using = MoneySerializer.class) // 分 -> 元 - @JsonDeserialize(using = MoneyDeserializer.class) // 元 -> 分 +// @JsonSerialize(using = MoneySerializer.class) // 分 -> 元 +// @JsonDeserialize(using = MoneyDeserializer.class) // 元 -> 分 private Integer price; /** * 市场价,单位使用:分 */ @Schema(description="市场价") - @JsonSerialize(using = MoneySerializer.class) // 分 -> 元 - @JsonDeserialize(using = MoneyDeserializer.class) // 元 -> 分 +// @JsonSerialize(using = MoneySerializer.class) // 分 -> 元 +// @JsonDeserialize(using = MoneyDeserializer.class) // 元 -> 分 private Integer marketPrice; /**