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());