From 3c1030b55b3f7570aa0b7d10fbce975d46bc1b31 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A3=B7=E5=8F=B6?= <14103883+leaf-phos@user.noreply.gitee.com> Date: Thu, 28 Nov 2024 09:52:35 +0800 Subject: [PATCH] =?UTF-8?q?debug:=E9=80=80=E6=AC=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/core/domain/vo/LongCountVO.java | 17 ++++++++++++ .../ss/storeStaff/domain/StoreStaffQuery.java | 2 ++ .../storeStaff/mapper/StoreStaffMapper.java | 6 +++++ .../ss/storeStaff/mapper/StoreStaffMapper.xml | 9 +++++++ .../storeStaff/service/StoreStaffService.java | 7 +++++ .../service/impl/StoreStaffServiceImpl.java | 8 ++++++ .../impl/TransactionBillServiceImpl.java | 7 +++-- .../com/ruoyi/ss/user/domain/SmUserVO.java | 4 +++ .../ruoyi/ss/user/service/UserAssembler.java | 5 ++++ .../user/service/impl/UserAssemblerImpl.java | 26 +++++++++++++++++++ .../web/controller/app/AppUserController.java | 1 + 11 files changed, 90 insertions(+), 2 deletions(-) create mode 100644 smart-switch-ruoyi/smart-switch-common/src/main/java/com/ruoyi/common/core/domain/vo/LongCountVO.java diff --git a/smart-switch-ruoyi/smart-switch-common/src/main/java/com/ruoyi/common/core/domain/vo/LongCountVO.java b/smart-switch-ruoyi/smart-switch-common/src/main/java/com/ruoyi/common/core/domain/vo/LongCountVO.java new file mode 100644 index 00000000..7ac2590d --- /dev/null +++ b/smart-switch-ruoyi/smart-switch-common/src/main/java/com/ruoyi/common/core/domain/vo/LongCountVO.java @@ -0,0 +1,17 @@ +package com.ruoyi.common.core.domain.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author wjh + * 2024/11/28 + */ +@Data +public class LongCountVO { + + private Long key; + + private Integer value; + +} diff --git a/smart-switch-service/src/main/java/com/ruoyi/ss/storeStaff/domain/StoreStaffQuery.java b/smart-switch-service/src/main/java/com/ruoyi/ss/storeStaff/domain/StoreStaffQuery.java index 19df5bad..310ee9f1 100644 --- a/smart-switch-service/src/main/java/com/ruoyi/ss/storeStaff/domain/StoreStaffQuery.java +++ b/smart-switch-service/src/main/java/com/ruoyi/ss/storeStaff/domain/StoreStaffQuery.java @@ -24,4 +24,6 @@ public class StoreStaffQuery extends StoreStaffVO { @ApiModelProperty("权限") private String permission; + @ApiModelProperty("用户ID列表") + private List userIds; } diff --git a/smart-switch-service/src/main/java/com/ruoyi/ss/storeStaff/mapper/StoreStaffMapper.java b/smart-switch-service/src/main/java/com/ruoyi/ss/storeStaff/mapper/StoreStaffMapper.java index f003b782..9648eb6d 100644 --- a/smart-switch-service/src/main/java/com/ruoyi/ss/storeStaff/mapper/StoreStaffMapper.java +++ b/smart-switch-service/src/main/java/com/ruoyi/ss/storeStaff/mapper/StoreStaffMapper.java @@ -2,6 +2,8 @@ package com.ruoyi.ss.storeStaff.mapper; import java.math.BigDecimal; import java.util.List; + +import com.ruoyi.common.core.domain.vo.LongCountVO; import com.ruoyi.ss.storeStaff.domain.StoreStaff; import com.ruoyi.ss.storeStaff.domain.StoreStaffVO; import com.ruoyi.ss.storeStaff.domain.StoreStaffQuery; @@ -75,4 +77,8 @@ public interface StoreStaffMapper int bindUser(@Param("employId") Long employId,@Param("userId") Long userId); + /** + * 根据用户统计店员数量 + */ + List selectCountGroupByUserId(@Param("query") StoreStaffQuery query); } diff --git a/smart-switch-service/src/main/java/com/ruoyi/ss/storeStaff/mapper/StoreStaffMapper.xml b/smart-switch-service/src/main/java/com/ruoyi/ss/storeStaff/mapper/StoreStaffMapper.xml index 4d98ce4c..a572a54d 100644 --- a/smart-switch-service/src/main/java/com/ruoyi/ss/storeStaff/mapper/StoreStaffMapper.xml +++ b/smart-switch-service/src/main/java/com/ruoyi/ss/storeStaff/mapper/StoreStaffMapper.xml @@ -83,6 +83,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + insert into ss_store_staff diff --git a/smart-switch-service/src/main/java/com/ruoyi/ss/storeStaff/service/StoreStaffService.java b/smart-switch-service/src/main/java/com/ruoyi/ss/storeStaff/service/StoreStaffService.java index 1582d916..e6297cfb 100644 --- a/smart-switch-service/src/main/java/com/ruoyi/ss/storeStaff/service/StoreStaffService.java +++ b/smart-switch-service/src/main/java/com/ruoyi/ss/storeStaff/service/StoreStaffService.java @@ -2,6 +2,8 @@ package com.ruoyi.ss.storeStaff.service; import java.math.BigDecimal; import java.util.List; + +import com.ruoyi.common.core.domain.vo.LongCountVO; import com.ruoyi.ss.storeStaff.domain.StoreStaff; import com.ruoyi.ss.storeStaff.domain.StoreStaffVO; import com.ruoyi.ss.storeStaff.domain.StoreStaffQuery; @@ -81,4 +83,9 @@ public interface StoreStaffService * 绑定用户为店铺员工 */ int bindUser(Long employId, Long userId); + + /** + * 根据用户查询店铺员工 + */ + List selectCountGroupByUserId(StoreStaffQuery query); } diff --git a/smart-switch-service/src/main/java/com/ruoyi/ss/storeStaff/service/impl/StoreStaffServiceImpl.java b/smart-switch-service/src/main/java/com/ruoyi/ss/storeStaff/service/impl/StoreStaffServiceImpl.java index 3a404975..3c25b625 100644 --- a/smart-switch-service/src/main/java/com/ruoyi/ss/storeStaff/service/impl/StoreStaffServiceImpl.java +++ b/smart-switch-service/src/main/java/com/ruoyi/ss/storeStaff/service/impl/StoreStaffServiceImpl.java @@ -1,7 +1,10 @@ package com.ruoyi.ss.storeStaff.service.impl; import java.math.BigDecimal; +import java.util.Collections; import java.util.List; + +import com.ruoyi.common.core.domain.vo.LongCountVO; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.ServiceUtil; import com.ruoyi.common.utils.collection.CollectionUtils; @@ -174,4 +177,9 @@ public class StoreStaffServiceImpl implements StoreStaffService return result == null ? 0 : result; } + + @Override + public List selectCountGroupByUserId(StoreStaffQuery query) { + return storeStaffMapper.selectCountGroupByUserId(query); + } } diff --git a/smart-switch-service/src/main/java/com/ruoyi/ss/transactionBill/service/impl/TransactionBillServiceImpl.java b/smart-switch-service/src/main/java/com/ruoyi/ss/transactionBill/service/impl/TransactionBillServiceImpl.java index 83fe39f7..1d8bd84b 100644 --- a/smart-switch-service/src/main/java/com/ruoyi/ss/transactionBill/service/impl/TransactionBillServiceImpl.java +++ b/smart-switch-service/src/main/java/com/ruoyi/ss/transactionBill/service/impl/TransactionBillServiceImpl.java @@ -1090,7 +1090,7 @@ public class TransactionBillServiceImpl implements TransactionBillService, After TransactionBillVO order = bo.getOrder(); DeviceVO device = bo.getDevice(); ServiceUtil.assertion(order == null, "订单不存在"); -// ServiceUtil.assertion(!TransactionBillStatus.SUCCESS_DEPOSIT.getStatus().equals(order.getStatus()), "当前订单状态不允许结束"); + ServiceUtil.assertion(!TransactionBillStatus.SUCCESS_DEPOSIT.getStatus().equals(order.getStatus()), "当前订单状态不允许结束"); ServiceUtil.assertion(order.getIsFinished() != null && order.getIsFinished(), "当前订单已结束,无法操作"); ServiceUtil.assertion(device == null, "设备不存在"); @@ -1185,6 +1185,7 @@ public class TransactionBillServiceImpl implements TransactionBillService, After ServiceUtil.assertion(order == null, "订单不存在"); ServiceUtil.assertion(!SuitFeeMode.SMART.getMode().equals(order.getSuitFeeMode()), "当前订单非智能收费订单,无法提前结束"); ServiceUtil.assertion(order.getIsFinished() != null && order.getIsFinished(), "当前订单已结束,无法操作"); + ServiceUtil.assertion(!TransactionBillStatus.SUCCESS.getStatus().equals(order.getStatus()), "当前订单状态不允许结束"); ServiceUtil.assertion(device == null, "设备不存在"); LocalDateTime endTime = LocalDateTime.now(); // 结束使用的时间 @@ -1224,7 +1225,7 @@ public class TransactionBillServiceImpl implements TransactionBillService, After refundDto.setRefundReason(String.format("充值订单%s智能退款%s元", order.getBillNo(), refundAmount)); int refund = this.refund(refundDto); ServiceUtil.assertion(refund != 1, "申请退款失败"); - }, 0, TimeUnit.SECONDS); + }, 10, TimeUnit.SECONDS); } // 清零设备 @@ -1749,6 +1750,7 @@ public class TransactionBillServiceImpl implements TransactionBillService, After ServiceUtil.assertion(bill == null, "待退款的订单不存在"); ServiceUtil.assertion(dto.getRefundAmount().compareTo(bill.getMoney()) > 0, "退款金额不允许大于订单金额"); ServiceUtil.assertion(!TransactionBillStatus.SUCCESS.getStatus().equals(bill.getStatus()), "当前订单状态不允许退款"); + ServiceUtil.assertion(bill.getIsFinished() == null || !bill.getIsFinished(), "当前订单未完成,不允许退款"); // 拼接分成列表 transactionAssembler.assembleBonusList(bill); @@ -1762,6 +1764,7 @@ public class TransactionBillServiceImpl implements TransactionBillService, After TransactionBillQuery billQuery = new TransactionBillQuery(); billQuery.setBillId(dto.getBillId()); billQuery.setStatus(TransactionBillStatus.SUCCESS.getStatus()); + billQuery.setIsFinished(true); int updateBill = this.updateByQuery(data, billQuery); ServiceUtil.assertion(updateBill != 1, "退款时修改订单状态失败,订单状态已发生改变,请刷新后重试"); diff --git a/smart-switch-service/src/main/java/com/ruoyi/ss/user/domain/SmUserVO.java b/smart-switch-service/src/main/java/com/ruoyi/ss/user/domain/SmUserVO.java index 46af1b16..d61c46fb 100644 --- a/smart-switch-service/src/main/java/com/ruoyi/ss/user/domain/SmUserVO.java +++ b/smart-switch-service/src/main/java/com/ruoyi/ss/user/domain/SmUserVO.java @@ -57,4 +57,8 @@ public class SmUserVO extends SmUser { @JsonView(JsonViewProfile.App.class) private BigDecimal waitBonusAmount; + @ApiModelProperty("是否店铺员工") + @JsonView(JsonViewProfile.App.class) + private Boolean isStaff; + } diff --git a/smart-switch-service/src/main/java/com/ruoyi/ss/user/service/UserAssembler.java b/smart-switch-service/src/main/java/com/ruoyi/ss/user/service/UserAssembler.java index 9bdfcd67..acb7e816 100644 --- a/smart-switch-service/src/main/java/com/ruoyi/ss/user/service/UserAssembler.java +++ b/smart-switch-service/src/main/java/com/ruoyi/ss/user/service/UserAssembler.java @@ -35,4 +35,9 @@ public interface UserAssembler { * @param list */ void assembleWaitBonusAmount(List list); + + /** + * 拼接是否店铺员工 + */ + void assembleIsStaff(List list); } diff --git a/smart-switch-service/src/main/java/com/ruoyi/ss/user/service/impl/UserAssemblerImpl.java b/smart-switch-service/src/main/java/com/ruoyi/ss/user/service/impl/UserAssemblerImpl.java index e4c7ab1e..138117e3 100644 --- a/smart-switch-service/src/main/java/com/ruoyi/ss/user/service/impl/UserAssemblerImpl.java +++ b/smart-switch-service/src/main/java/com/ruoyi/ss/user/service/impl/UserAssemblerImpl.java @@ -1,5 +1,6 @@ package com.ruoyi.ss.user.service.impl; +import com.ruoyi.common.core.domain.vo.LongCountVO; import com.ruoyi.common.domain.vo.LongDecimalVO; import com.ruoyi.common.utils.ServiceUtil; import com.ruoyi.common.utils.collection.CollectionUtils; @@ -13,6 +14,8 @@ import com.ruoyi.ss.device.domain.enums.DeviceGroupBy; import com.ruoyi.ss.device.domain.enums.DeviceGroupByTable; import com.ruoyi.ss.device.service.DeviceService; import com.ruoyi.ss.store.service.StoreService; +import com.ruoyi.ss.storeStaff.domain.StoreStaffQuery; +import com.ruoyi.ss.storeStaff.service.StoreStaffService; import com.ruoyi.ss.user.domain.SmUserVO; import com.ruoyi.ss.user.service.UserAssembler; import com.ruoyi.system.domain.enums.config.ConfigKey; @@ -45,6 +48,9 @@ public class UserAssemblerImpl implements UserAssembler { @Autowired private BonusService bonusService; + @Autowired + private StoreStaffService storeStaffService; + /** * 拼接用户店铺数量 * @@ -153,4 +159,24 @@ public class UserAssemblerImpl implements UserAssembler { } } } + + @Override + public void assembleIsStaff(List list) { + if (CollectionUtils.isEmptyElement(list)) { + return; + } + + StoreStaffQuery query = new StoreStaffQuery(); + query.setUserIds(CollectionUtils.map(list, SmUserVO::getUserId)); + List counts = storeStaffService.selectCountGroupByUserId(query); + + for (SmUserVO user : list) { + LongCountVO count = counts.stream().filter(item -> Objects.equals(item.getKey(), user.getUserId())).findFirst().orElse(null); + if (count == null || count.getValue() == null || count.getValue() < 1) { + user.setIsStaff(false); + } else { + user.setIsStaff(true); + } + } + } } diff --git a/smart-switch-web/src/main/java/com/ruoyi/web/controller/app/AppUserController.java b/smart-switch-web/src/main/java/com/ruoyi/web/controller/app/AppUserController.java index 9c4a3ed2..7dd7e9ea 100644 --- a/smart-switch-web/src/main/java/com/ruoyi/web/controller/app/AppUserController.java +++ b/smart-switch-web/src/main/java/com/ruoyi/web/controller/app/AppUserController.java @@ -94,6 +94,7 @@ public class AppUserController extends BaseController { userAssembler.assembleStoreCount(list); userAssembler.assembleDeviceCount(list); userAssembler.assembleWaitBonusAmount(list); + userAssembler.assembleIsStaff(list); return AjaxResult.success(user); }