Bladeren bron

Merge remote-tracking branch 'origin/master'

yubo 6 maanden geleden
bovenliggende
commit
84414212e7
15 gewijzigde bestanden met toevoegingen van 193 en 2 verwijderingen
  1. 8 1
      ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/basics/controller/PtAreaController.java
  2. 16 0
      ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/basics/domain/vo/FloorRoomsVo.java
  3. 47 0
      ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/config/BackStageSensitiveServiceImpl.java
  4. 3 0
      ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/payment/domain/PtUserAccount4SelectVo.java
  5. 3 0
      ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/payment/domain/vo/PtUserAccountVo.java
  6. 4 0
      ruoyi-modules/ruoyi-hotel/src/main/java/org/dromara/hotel/controller/KfGuestController.java
  7. 6 0
      ruoyi-modules/ruoyi-hotel/src/main/java/org/dromara/hotel/controller/KfGuestTeamRController.java
  8. 3 0
      ruoyi-modules/ruoyi-hotel/src/main/java/org/dromara/hotel/controller/KfOrderController.java
  9. 18 0
      ruoyi-modules/ruoyi-hotel/src/main/java/org/dromara/hotel/domain/vo/KfGuestTeamRVo.java
  10. 16 0
      ruoyi-modules/ruoyi-hotel/src/main/java/org/dromara/hotel/domain/vo/KfGuestVo.java
  11. 16 0
      ruoyi-modules/ruoyi-hotel/src/main/java/org/dromara/hotel/domain/vo/KfOrderVo.java
  12. 47 0
      ruoyi-modules/ruoyi-hotel/src/main/java/org/dromara/hotel/service/impl/HotelSensitiveServiceImpl.java
  13. 1 1
      ruoyi-modules/ruoyi-hotel/src/main/resources/mapper/hotel/business/KfOrderMapper.xml
  14. 3 0
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysUserVo.java
  15. 2 0
      ruoyi-server/ruoyi-server-consume/src/main/java/org/dromara/server/consume/dubbo/RemoteConsumeServiceImpl.java

+ 8 - 1
ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/basics/controller/PtAreaController.java

@@ -1,6 +1,7 @@
 package org.dromara.backstage.basics.controller;
 
 import cn.dev33.satoken.annotation.SaCheckPermission;
+import cn.hutool.core.collection.CollectionUtil;
 import jakarta.servlet.http.HttpServletResponse;
 import jakarta.validation.constraints.NotEmpty;
 import jakarta.validation.constraints.NotNull;
@@ -151,7 +152,13 @@ public class PtAreaController extends BaseController {
      */
     @PostMapping("/getRoomOrderData")
     public R<List<FloorRoomsVo>> getRoomOrderData(@RequestBody QueryFloorRoomBo param) {
-        return R.ok(ptAreaService.getRoomOrderData(param));
+        List<FloorRoomsVo> rs = ptAreaService.getRoomOrderData(param);
+        if(CollectionUtil.isNotEmpty( rs)){
+            for (FloorRoomsVo floorRoomsVo : rs) {
+                floorRoomsVo.customSenitive();
+            }
+        }
+        return R.ok(rs);
     }
 
 

+ 16 - 0
ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/basics/domain/vo/FloorRoomsVo.java

@@ -1,6 +1,9 @@
 package org.dromara.backstage.basics.domain.vo;
 
+import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.util.DesensitizedUtil;
 import lombok.Data;
+import org.dromara.common.satoken.utils.LoginHelper;
 import org.dromara.hotel.api.domain.vo.RemoteOrderVo;
 
 import java.io.Serial;
@@ -32,6 +35,19 @@ public class FloorRoomsVo implements Serializable {
     //订单数据
     List<RemoteOrderVo> orderList;
 
+    /**
+     * 自定义脱敏
+     */
+    public void customSenitive() {
+        if (CollectionUtil.isNotEmpty(orderList) && !LoginHelper.isSuperAdmin()) {
+            for (RemoteOrderVo order : orderList) {
+                String idCard = order.getIdCard();
+                String s = DesensitizedUtil.idCardNum(idCard, 3, 4);
+                order.setIdCard(s);
+            }
+        }
+    }
+
 
 
 }

+ 47 - 0
ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/config/BackStageSensitiveServiceImpl.java

@@ -0,0 +1,47 @@
+package org.dromara.backstage.config;
+
+import cn.dev33.satoken.stp.StpUtil;
+import org.dromara.common.core.utils.StringUtils;
+import org.dromara.common.satoken.utils.LoginHelper;
+import org.dromara.common.sensitive.core.SensitiveService;
+import org.dromara.common.tenant.helper.TenantHelper;
+import org.springframework.stereotype.Service;
+
+/**
+ * 脱敏服务
+ * 默认管理员不过滤
+ * 需自行根据业务重写实现
+ *
+ * @author Lion Li
+ * @version 3.6.0
+ */
+@Service
+public class BackStageSensitiveServiceImpl implements SensitiveService {
+
+    /**
+     * 是否脱敏
+     */
+    @Override
+    public boolean isSensitive(String roleKey, String perms) {
+        if (!LoginHelper.isLogin()) {
+            return true;
+        }
+        boolean roleExist = StringUtils.isNotEmpty(roleKey);
+        boolean permsExist = StringUtils.isNotEmpty(perms);
+        if (roleExist && permsExist) {
+            if (StpUtil.hasRole(roleKey) && StpUtil.hasPermission(perms)) {
+                return false;
+            }
+        } else if (roleExist && StpUtil.hasRole(roleKey)) {
+            return false;
+        } else if (permsExist && StpUtil.hasPermission(perms)) {
+            return false;
+        }
+
+        if (TenantHelper.isEnable()) {
+            return !LoginHelper.isSuperAdmin() && !LoginHelper.isTenantAdmin();
+        }
+        return !LoginHelper.isSuperAdmin();
+    }
+
+}

+ 3 - 0
ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/payment/domain/PtUserAccount4SelectVo.java

@@ -8,6 +8,8 @@ import org.dromara.common.encrypt.annotation.EncryptField;
 import org.dromara.common.encrypt.enumd.AlgorithmType;
 import org.dromara.common.excel.annotation.ExcelDictFormat;
 import org.dromara.common.excel.convert.ExcelDictConvert;
+import org.dromara.common.sensitive.annotation.Sensitive;
+import org.dromara.common.sensitive.core.SensitiveStrategy;
 
 import java.io.Serial;
 import java.io.Serializable;
@@ -113,6 +115,7 @@ public class PtUserAccount4SelectVo implements Serializable {
      * 身份证号
      */
     @ExcelProperty(value = "身份证号")
+    @Sensitive(strategy= SensitiveStrategy.ID_CARD)
     private String idNumber;
 
     /**

+ 3 - 0
ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/payment/domain/vo/PtUserAccountVo.java

@@ -8,6 +8,8 @@ import org.dromara.backstage.domain.vo.card.PtCardVo;
 import org.dromara.backstage.payment.domain.PtUserAccount;
 import org.dromara.common.excel.annotation.ExcelDictFormat;
 import org.dromara.common.excel.convert.ExcelDictConvert;
+import org.dromara.common.sensitive.annotation.Sensitive;
+import org.dromara.common.sensitive.core.SensitiveStrategy;
 import org.dromara.common.translation.annotation.Translation;
 import org.dromara.common.translation.constant.TransConstant;
 
@@ -114,6 +116,7 @@ public class PtUserAccountVo implements Serializable {
      * 身份证号
      */
     @ExcelProperty(value = "身份证号")
+    @Sensitive(strategy= SensitiveStrategy.ID_CARD)
     private String idNumber;
 
     /**

+ 4 - 0
ruoyi-modules/ruoyi-hotel/src/main/java/org/dromara/hotel/controller/KfGuestController.java

@@ -1,6 +1,7 @@
 package org.dromara.hotel.controller;
 
 import cn.dev33.satoken.annotation.SaCheckPermission;
+import cn.hutool.core.collection.CollectionUtil;
 import jakarta.servlet.http.HttpServletResponse;
 import jakarta.validation.constraints.NotEmpty;
 import jakarta.validation.constraints.NotNull;
@@ -68,6 +69,9 @@ public class KfGuestController extends BaseController {
     @PostMapping("/export")
     public void export(KfGuestBo bo, HttpServletResponse response) {
         List<KfGuestVo> list = kfGuestService.queryList(bo);
+        if (CollectionUtil.isNotEmpty( list)){
+            list.forEach(KfGuestVo::customSenitive);
+        }
         ExcelUtil.exportExcel(list, "客人管理", KfGuestVo.class, response);
     }
 

+ 6 - 0
ruoyi-modules/ruoyi-hotel/src/main/java/org/dromara/hotel/controller/KfGuestTeamRController.java

@@ -1,6 +1,7 @@
 package org.dromara.hotel.controller;
 
 import cn.dev33.satoken.annotation.SaCheckPermission;
+import cn.hutool.core.collection.CollectionUtil;
 import jakarta.servlet.http.HttpServletResponse;
 import jakarta.validation.constraints.NotEmpty;
 import jakarta.validation.constraints.NotNull;
@@ -74,6 +75,11 @@ public class KfGuestTeamRController extends BaseController {
     @PostMapping("/exportTeamGuest")
     public void exportTeamGuest(@RequestParam Long teamId, HttpServletResponse response) {
         List<KfGuestTeamRVo> list = kfGuestTeamRService.listGuests(teamId, null);
+        if(CollectionUtil.isNotEmpty( list)){
+            for (KfGuestTeamRVo kfGuestTeamRVo : list) {
+                kfGuestTeamRVo.customSenitive();
+            }
+        }
         ExcelUtil.exportExcel(list, "团客人员信息", KfGuestTeamRVo.class, response);
     }
 

+ 3 - 0
ruoyi-modules/ruoyi-hotel/src/main/java/org/dromara/hotel/controller/KfOrderController.java

@@ -79,6 +79,9 @@ public class KfOrderController extends BaseController {
         PageQuery pageQuery = new PageQuery();
         pageQuery.setPageSize(999);
         List<KfOrderVo> list = kfOrderService.queryPageList(bo, pageQuery).getRows();
+        if(CollectionUtil.isNotEmpty(list)){
+            list.forEach(KfOrderVo::customSenitive);
+        }
         ExcelUtil.exportExcel(list, "入住订单", KfOrderVo.class, response);
     }
 

+ 18 - 0
ruoyi-modules/ruoyi-hotel/src/main/java/org/dromara/hotel/domain/vo/KfGuestTeamRVo.java

@@ -1,11 +1,18 @@
 package org.dromara.hotel.domain.vo;
 
+import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.util.DesensitizedUtil;
 import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
 import com.alibaba.excel.annotation.ExcelProperty;
 import io.github.linpeilie.annotations.AutoMapper;
+import io.seata.common.util.StringUtils;
 import lombok.Data;
 import org.dromara.common.excel.annotation.ExcelDictFormat;
 import org.dromara.common.excel.convert.ExcelDictConvert;
+import org.dromara.common.satoken.utils.LoginHelper;
+import org.dromara.common.sensitive.annotation.Sensitive;
+import org.dromara.common.sensitive.core.SensitiveStrategy;
+import org.dromara.hotel.api.domain.vo.RemoteOrderVo;
 import org.dromara.hotel.domain.KfGuestTeamR;
 
 import java.io.Serial;
@@ -57,6 +64,7 @@ public class KfGuestTeamRVo implements Serializable {
      * 身份证号
      */
     @ExcelProperty(value = "身份证号")
+    @Sensitive(strategy = SensitiveStrategy.ID_CARD)
     private String idCard;
 
     /**
@@ -84,4 +92,14 @@ public class KfGuestTeamRVo implements Serializable {
      */
     private String otherId;
 
+    /**
+     * 自定义脱敏
+     */
+    public void customSenitive() {
+        if (StringUtils.isNotBlank(idCard) && !LoginHelper.isSuperAdmin()) {
+            String s = DesensitizedUtil.idCardNum(idCard, 3, 4);
+            setIdCard(s);
+        }
+    }
+
 }

+ 16 - 0
ruoyi-modules/ruoyi-hotel/src/main/java/org/dromara/hotel/domain/vo/KfGuestVo.java

@@ -1,11 +1,16 @@
 package org.dromara.hotel.domain.vo;
 
+import cn.hutool.core.util.DesensitizedUtil;
 import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
 import com.alibaba.excel.annotation.ExcelProperty;
 import io.github.linpeilie.annotations.AutoMapper;
+import io.seata.common.util.StringUtils;
 import lombok.Data;
 import org.dromara.common.excel.annotation.ExcelDictFormat;
 import org.dromara.common.excel.convert.ExcelDictConvert;
+import org.dromara.common.satoken.utils.LoginHelper;
+import org.dromara.common.sensitive.annotation.Sensitive;
+import org.dromara.common.sensitive.core.SensitiveStrategy;
 import org.dromara.hotel.domain.KfGuest;
 
 import java.io.Serial;
@@ -51,6 +56,7 @@ public class KfGuestVo implements Serializable {
      * 身份证号
      */
     @ExcelProperty(value = "身份证号")
+    @Sensitive(strategy = SensitiveStrategy.ID_CARD)
     private String idCard;
 
     /**
@@ -91,4 +97,14 @@ public class KfGuestVo implements Serializable {
      * 入住状态,
      */
     private String checkInStatus;
+
+    /**
+     * 自定义脱敏
+     */
+    public void customSenitive() {
+        if (StringUtils.isNotBlank(idCard) && !LoginHelper.isSuperAdmin()) {
+            String s = DesensitizedUtil.idCardNum(idCard, 3, 4);
+            setIdCard(s);
+        }
+    }
 }

+ 16 - 0
ruoyi-modules/ruoyi-hotel/src/main/java/org/dromara/hotel/domain/vo/KfOrderVo.java

@@ -1,11 +1,16 @@
 package org.dromara.hotel.domain.vo;
 
+import cn.hutool.core.util.DesensitizedUtil;
 import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
 import com.alibaba.excel.annotation.ExcelProperty;
 import io.github.linpeilie.annotations.AutoMapper;
+import io.seata.common.util.StringUtils;
 import lombok.Data;
 import org.dromara.common.excel.annotation.ExcelDictFormat;
 import org.dromara.common.excel.convert.ExcelDictConvert;
+import org.dromara.common.satoken.utils.LoginHelper;
+import org.dromara.common.sensitive.annotation.Sensitive;
+import org.dromara.common.sensitive.core.SensitiveStrategy;
 import org.dromara.hotel.domain.KfOrder;
 
 import java.io.Serial;
@@ -42,6 +47,7 @@ public class KfOrderVo implements Serializable {
     @ExcelProperty(value = "手机号码")
     private String phone;
     @ExcelProperty(value = "身份证号")
+    @Sensitive(strategy = SensitiveStrategy.ID_CARD)
     private String idCard;
     @ExcelProperty(value = "性别", converter = ExcelDictConvert.class)
     @ExcelDictFormat(dictType = "sys_user_sex")
@@ -105,4 +111,14 @@ public class KfOrderVo implements Serializable {
      */
     private Integer orderIndex;
 
+    /**
+     * 自定义脱敏
+     */
+    public void customSenitive() {
+        if (StringUtils.isNotBlank(idCard) && !LoginHelper.isSuperAdmin()) {
+            String s = DesensitizedUtil.idCardNum(idCard, 3, 4);
+            setIdCard(s);
+        }
+    }
+
 }

+ 47 - 0
ruoyi-modules/ruoyi-hotel/src/main/java/org/dromara/hotel/service/impl/HotelSensitiveServiceImpl.java

@@ -0,0 +1,47 @@
+package org.dromara.hotel.service.impl;
+
+import cn.dev33.satoken.stp.StpUtil;
+import org.dromara.common.core.utils.StringUtils;
+import org.dromara.common.satoken.utils.LoginHelper;
+import org.dromara.common.sensitive.core.SensitiveService;
+import org.dromara.common.tenant.helper.TenantHelper;
+import org.springframework.stereotype.Service;
+
+/**
+ * 脱敏服务
+ * 默认管理员不过滤
+ * 需自行根据业务重写实现
+ *
+ * @author Lion Li
+ * @version 3.6.0
+ */
+@Service
+public class HotelSensitiveServiceImpl implements SensitiveService {
+
+    /**
+     * 是否脱敏
+     */
+    @Override
+    public boolean isSensitive(String roleKey, String perms) {
+        if (!LoginHelper.isLogin()) {
+            return true;
+        }
+        boolean roleExist = StringUtils.isNotEmpty(roleKey);
+        boolean permsExist = StringUtils.isNotEmpty(perms);
+        if (roleExist && permsExist) {
+            if (StpUtil.hasRole(roleKey) && StpUtil.hasPermission(perms)) {
+                return false;
+            }
+        } else if (roleExist && StpUtil.hasRole(roleKey)) {
+            return false;
+        } else if (permsExist && StpUtil.hasPermission(perms)) {
+            return false;
+        }
+
+        if (TenantHelper.isEnable()) {
+            return !LoginHelper.isSuperAdmin() && !LoginHelper.isTenantAdmin();
+        }
+        return !LoginHelper.isSuperAdmin();
+    }
+
+}

+ 1 - 1
ruoyi-modules/ruoyi-hotel/src/main/resources/mapper/hotel/business/KfOrderMapper.xml

@@ -65,7 +65,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="bo.orderType != null and bo.orderType != ''">
                 and o.order_type = #{bo.orderType}
             </if>
-        order by  o.update_time desc
+        order by o.order_index
         </where>
     </select>
 

+ 3 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysUserVo.java

@@ -4,6 +4,8 @@ import com.fasterxml.jackson.annotation.JsonIgnore;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import io.github.linpeilie.annotations.AutoMapper;
 import lombok.Data;
+import org.dromara.common.sensitive.annotation.Sensitive;
+import org.dromara.common.sensitive.core.SensitiveStrategy;
 import org.dromara.common.translation.annotation.Translation;
 import org.dromara.common.translation.constant.TransConstant;
 import org.dromara.system.domain.SysUser;
@@ -96,6 +98,7 @@ public class SysUserVo implements Serializable {
     /**
      * 身份证号
      */
+    @Sensitive(strategy = SensitiveStrategy.ID_CARD)
     private String idNumber;
     /**
      * 头像地址

+ 2 - 0
ruoyi-server/ruoyi-server-consume/src/main/java/org/dromara/server/consume/dubbo/RemoteConsumeServiceImpl.java

@@ -1,5 +1,6 @@
 package org.dromara.server.consume.dubbo;
 
+import cn.dev33.satoken.annotation.SaIgnore;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.thread.ThreadUtil;
 import cn.hutool.core.util.ObjectUtil;
@@ -72,6 +73,7 @@ public class RemoteConsumeServiceImpl implements RemoteConsumeService {
     }
 
     @Override
+//    @SaIgnore
     public RemoteResultDto dealHikRequestConsume(RemoteConsumeBo remoteBo) {
         ConsumptionBo bo = RemoteConsumeBoConvert.INSTANCE.fromRemote(remoteBo);
         R<ErrorInfo> result = consumeBusiness.createHikOrder(bo, "", "");