فهرست منبع

Merge branch 'system-165' of uskycloud/usky-cloud into master

hanzhengyi 8 ماه پیش
والد
کامیت
d8aa06deab
27فایلهای تغییر یافته به همراه605 افزوده شده و 24 حذف شده
  1. 7 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/controller/web/HceReviewController.java
  2. 64 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/controller/web/SysTenantPlatformController.java
  3. 3 3
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/controller/web/TokenController.java
  4. 44 9
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/domain/HceReview.java
  5. 5 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/domain/SysPlatform.java
  6. 37 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/domain/SysTenantPlatform.java
  7. 3 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/mapper/HceCategoryMapper.java
  8. 18 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/mapper/SysTenantPlatformMapper.java
  9. 3 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/HceReviewService.java
  10. 2 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/SysPlatformService.java
  11. 26 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/SysTenantPlatformService.java
  12. 12 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/impl/HceCategoryServiceImpl.java
  13. 31 6
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/impl/HceReviewServiceImpl.java
  14. 6 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/impl/SysPlatformServiceImpl.java
  15. 145 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/impl/SysTenantPlatformServiceImpl.java
  16. 2 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/impl/SysUserServiceImpl.java
  17. 7 2
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/vo/HceReviewRequestVO.java
  18. 22 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/vo/HceReviewScoreVO.java
  19. 5 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/vo/SysPlatformVo.java
  20. 47 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/vo/TenantPlatformListVo.java
  21. 39 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/vo/TenantPlatformMenuVo.java
  22. 38 0
      base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/vo/TenantPlatformVo.java
  23. 7 0
      base-modules/service-system/service-system-biz/src/main/resources/mapper/system/HceCategoryMapper.xml
  24. 9 2
      base-modules/service-system/service-system-biz/src/main/resources/mapper/system/HceReviewMapper.xml
  25. 1 0
      base-modules/service-system/service-system-biz/src/main/resources/mapper/system/SysPlatformMapper.xml
  26. 11 0
      base-modules/service-system/service-system-biz/src/main/resources/mapper/system/SysTenantPlatformMapper.xml
  27. 11 2
      usky-common/usky-common-security/src/main/java/com/usky/common/security/service/TokenService.java

+ 7 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/controller/web/HceReviewController.java

@@ -6,6 +6,7 @@ import com.usky.common.core.bean.CommonPage;
 import com.usky.system.domain.HceReview;
 import com.usky.system.service.HceReviewService;
 import com.usky.system.service.vo.HceReviewRequestVO;
+import com.usky.system.service.vo.HceReviewScoreVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
@@ -66,5 +67,11 @@ public class HceReviewController {
         return ApiResult.success(hceReviewService.page(requestVO));
     }
 
+    @PostMapping("score")
+    ApiResult<Void> score(@RequestBody HceReviewScoreVO scoreVO){
+        hceReviewService.score(scoreVO);
+        return ApiResult.success();
+    }
+
 }
 

+ 64 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/controller/web/SysTenantPlatformController.java

@@ -0,0 +1,64 @@
+package com.usky.system.controller.web;
+
+import com.usky.common.core.bean.ApiResult;
+import com.usky.system.domain.SysTenantConfig;
+import com.usky.system.domain.SysTenantPlatform;
+import com.usky.system.service.SysPlatformService;
+import com.usky.system.service.SysTenantPlatformService;
+import com.usky.system.service.vo.TenantPlatformListVo;
+import com.usky.system.service.vo.TenantPlatformVo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 租户和应用关联表
+ *
+ * @author han
+ * @since 2024-08-14
+ */
+@RestController
+@RequestMapping("/sysTenantPlatform")
+public class SysTenantPlatformController {
+
+    @Autowired
+    private SysTenantPlatformService sysTenantPlatformService;
+
+    /**
+     * PC租户管理-应用编辑
+     *
+     * @param tenantPlatformVo
+     * @return
+     */
+//    @Log(title = "平台挂管理", businessType = BusinessType.INSERT)
+    @PostMapping("updateTenantPlatform")
+    public ApiResult<Void> updateTenantPlatform(@RequestBody TenantPlatformVo tenantPlatformVo) {
+        sysTenantPlatformService.updateTenantPlatform(tenantPlatformVo);
+        return ApiResult.success();
+    }
+
+    /**
+     * 租户应用关联查询
+     *
+     * @param tenantId 租户ID
+     * @return
+     */
+    @GetMapping("/getTenantPlatformList")
+    public ApiResult<List<TenantPlatformListVo>> getTenantPlatformList(@RequestParam Integer tenantId) {
+        return ApiResult.success(sysTenantPlatformService.getTenantPlatformList(tenantId));
+    }
+
+    /**
+     * 应用菜单关联查询
+     *
+     * @param tenantId 租户ID
+     * @return
+     */
+    @GetMapping("/getPlatformMenuList")
+    public ApiResult<Map<String, Object>> getPlatformMenuList(@RequestParam Integer tenantId) {
+        return ApiResult.success(sysTenantPlatformService.selectTenantPlatform(tenantId));
+    }
+}

+ 3 - 3
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/controller/web/TokenController.java

@@ -68,7 +68,7 @@ public class TokenController {
         // 用户登录
         LoginUser userInfo = sysLoginService.login(form.getUsername(), form.getPassword(), form.getTenantId());
         // 获取登录token
-        return ApiResult.success(tokenService.createToken(userInfo));
+        return ApiResult.success(tokenService.createToken(userInfo,""));
     }
 
 
@@ -84,6 +84,7 @@ public class TokenController {
         sysUser.setRoles(rolePermission);
         SysPerson sysPerson = sysPersonService.getsysPerson(userInfo.getUserId());
         sysUser.setSysPerson(sysPerson);
+        String openId = form.getOpenId();
 
         if(StringUtils.isNotEmpty(form.getType())){
             Long userId = userInfo.getUserId();
@@ -99,7 +100,6 @@ public class TokenController {
                 }
             }else if(type.equals("wx")){
                 String phone = form.getPhone();
-                String openId = form.getOpenId();
                 if(count > 0){
                     userMapper.updateMbUser(phone,openId,userId,null, userInfo.getUserName());
                 }else {
@@ -141,7 +141,7 @@ public class TokenController {
 
 
         // 获取登录token
-        return ApiResult.success(tokenService.createToken(sysUser));
+        return ApiResult.success(tokenService.createToken(sysUser,openId));
     }
 
 

+ 44 - 9
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/domain/HceReview.java

@@ -28,22 +28,17 @@ public class HceReview implements Serializable {
     private Integer id;
 
     /**
-     * 用户账号
+     * 反馈人
      */
-    private String userName;
+    private String reviewName;
 
     /**
-     * 用户昵称
-     */
-    private String nickName;
-
-    /**
-     * 反馈问题类型
+     * 反馈类型
      */
     private Integer reviewType;
 
     /**
-     * 反馈问题内容
+     * 反馈描述
      */
     private String reviewContent;
 
@@ -87,5 +82,45 @@ public class HceReview implements Serializable {
      */
     private String handleContent;
 
+    /**
+     * 反馈单编码
+     */
+    private String hceCode;
+
+    /**
+     * 用户邮箱
+     */
+    private String email;
+
+    /**
+     * 手机号码
+     */
+    private String phonenumber;
+
+    /**
+     * 评分
+     */
+    private Float score;
+
+    /**
+     * 评价内容
+     */
+    private String appraiseContent;
+
+    /**
+     * 创建人
+     */
+    private String createBy;
+
+    /**
+     * 更新人
+     */
+    private String updateBy;
+
+    /**
+     * 更新时间
+     */
+    private LocalDateTime updateTime;
+
 
 }

+ 5 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/domain/SysPlatform.java

@@ -46,6 +46,11 @@ public class SysPlatform implements Serializable {
      */
     private String remark;
 
+    /**
+     * 应用图标
+     */
+    private String icon;
+
     /**
      * 创建者
      */

+ 37 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/domain/SysTenantPlatform.java

@@ -0,0 +1,37 @@
+package com.usky.system.domain;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 租户和应用关联表
+ * </p>
+ *
+ * @author han
+ * @since 2024-08-14
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+public class SysTenantPlatform  implements Serializable {
+    private static final long serialVersionUID=1L;
+
+    /**
+     * 租户ID
+     */
+    private Integer tenantId;
+
+    /**
+     * 应用ID
+     */
+    private Integer platformId;
+
+    /**
+     * 是否为默认应用(默认0; 0:否,1:是)
+     */
+    private Integer isDefault;
+}

+ 3 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/mapper/HceCategoryMapper.java

@@ -3,6 +3,7 @@ package com.usky.system.mapper;
 import com.usky.system.domain.HceCategory;
 import com.usky.common.mybatis.core.CrudMapper;
 import com.usky.system.service.vo.HceCategoryListVO;
+import io.swagger.models.auth.In;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -23,4 +24,6 @@ public interface HceCategoryMapper extends CrudMapper<HceCategory> {
     List<HceCategoryListVO> selectMenuTreeByUserIdOne(@Param("categoryName") String categoryName, @Param("startTime") String startTime, @Param("endTime") String endTime,@Param("tenantId") Integer tenantId);
 
     List<HceCategory> getMenuNameList(@Param("categoryIdList") List<Integer> categoryIdList);
+
+    Integer selectPidByMenuid(@Param("menuId") Integer menuId);
 }

+ 18 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/mapper/SysTenantPlatformMapper.java

@@ -0,0 +1,18 @@
+package com.usky.system.mapper;
+
+import com.usky.common.mybatis.core.CrudMapper;
+import com.usky.system.domain.SysTenantMenu;
+import com.usky.system.domain.SysTenantPlatform;
+import org.springframework.stereotype.Repository;
+
+/**
+ * <p>
+ * 租户和应用关联表 Mapper 接口
+ * </p>
+ *
+ * @author han
+ * @since 2024-8-14
+ */
+@Repository
+public interface SysTenantPlatformMapper extends CrudMapper<SysTenantPlatform> {
+}

+ 3 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/HceReviewService.java

@@ -4,6 +4,7 @@ import com.usky.common.core.bean.CommonPage;
 import com.usky.system.domain.HceReview;
 import com.usky.common.mybatis.core.CrudService;
 import com.usky.system.service.vo.HceReviewRequestVO;
+import com.usky.system.service.vo.HceReviewScoreVO;
 import org.springframework.web.bind.annotation.RequestBody;
 
 /**
@@ -22,4 +23,6 @@ public interface HceReviewService extends CrudService<HceReview> {
     void remove(Integer id);
 
     CommonPage<HceReview> page(HceReviewRequestVO requestVO);
+
+    void score(HceReviewScoreVO scoreVO);
 }

+ 2 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/SysPlatformService.java

@@ -30,4 +30,6 @@ public interface SysPlatformService extends CrudService<SysPlatform> {
     void updatePlatformMenu(PlatformMenuVo platformMenuVo);
 
     void updateMobilePlatformMenu(MobilePlatformMenuVO mobilePlatformMenuV0);
+
+    List<SysPlatformVo> getPlatformAllList();
 }

+ 26 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/SysTenantPlatformService.java

@@ -0,0 +1,26 @@
+package com.usky.system.service;
+
+import com.usky.common.mybatis.core.CrudService;
+import com.usky.system.domain.SysTenantPlatform;
+import com.usky.system.service.vo.TenantPlatformListVo;
+import com.usky.system.service.vo.TenantPlatformVo;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 租户和应用关联表 服务类
+ * </p>
+ *
+ * @author han
+ * @since 2024-08-14
+ */
+public interface SysTenantPlatformService extends CrudService<SysTenantPlatform> {
+
+    void updateTenantPlatform(TenantPlatformVo tenantPlatformVo);
+
+    List<TenantPlatformListVo> getTenantPlatformList(Integer tenantId);
+
+    Map<String, Object> selectTenantPlatform(Integer tenantId);
+}

+ 12 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/impl/HceCategoryServiceImpl.java

@@ -93,6 +93,18 @@ public class HceCategoryServiceImpl extends AbstractCrudService<HceCategoryMappe
         if(list1.size() > 0){
             throw new BusinessException("关联菜单名称重复");
         }
+
+        //新增栏目时校验对应上级栏目是否存在,不存在要先新增上级栏目后再新增本栏目
+        Integer pid = baseMapper.selectPidByMenuid(hceCategory.getMenuId());
+        if(pid != null && pid != 0){
+            LambdaQueryWrapper<HceCategory> queryWrapper2 = Wrappers.lambdaQuery();
+            queryWrapper2.eq(HceCategory::getMenuId,pid);
+            List<HceCategory> list2 = this.list(queryWrapper2);
+            if(list2.size() <= 0){
+                throw new BusinessException("上级栏目不存在,请先添加上级栏目");
+            }
+        }
+
         hceCategory.setCreatedate(LocalDateTime.now());
         this.save(hceCategory);
     }

+ 31 - 6
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/impl/HceReviewServiceImpl.java

@@ -15,10 +15,15 @@ import com.usky.system.mapper.HceReviewMapper;
 import com.usky.system.service.HceReviewService;
 import com.usky.common.mybatis.core.AbstractCrudService;
 import com.usky.system.service.vo.HceReviewRequestVO;
+import com.usky.system.service.vo.HceReviewScoreVO;
+import org.apache.tomcat.jni.Local;
 import org.springframework.stereotype.Service;
 
+import java.text.SimpleDateFormat;
 import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
 import java.util.List;
+import java.util.Objects;
 import java.util.function.LongToIntFunction;
 
 /**
@@ -34,9 +39,10 @@ public class HceReviewServiceImpl extends AbstractCrudService<HceReviewMapper, H
 
     @Override
     public void add(HceReview hceReview){
-        hceReview.setUserName(SecurityUtils.getUsername());
-        hceReview.setNickName(SecurityUtils.getLoginUser().getSysUser().getNickName());
+        String hceCode = "hce-"+LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss"));
+        hceReview.setHceCode(hceCode);
         hceReview.setStatus(0);
+        hceReview.setCreateBy(SecurityUtils.getUsername());
         hceReview.setCreateTime(LocalDateTime.now());
         hceReview.setDeptId(Integer.parseInt(String.valueOf(SecurityUtils.getLoginUser().getSysUser().getDeptId())));
         hceReview.setTenantId(SecurityUtils.getTenantId());
@@ -49,6 +55,8 @@ public class HceReviewServiceImpl extends AbstractCrudService<HceReviewMapper, H
         hceReview.setStatus(1);
         hceReview.setHandleBy(SecurityUtils.getUsername());
         hceReview.setHandleTime(LocalDateTime.now());
+        hceReview.setUpdateBy(SecurityUtils.getUsername());
+        hceReview.setUpdateTime(LocalDateTime.now());
 
         this.updateById(hceReview);
     }
@@ -67,10 +75,9 @@ public class HceReviewServiceImpl extends AbstractCrudService<HceReviewMapper, H
     public CommonPage<HceReview> page(HceReviewRequestVO requestVO){
         IPage<HceReview> page = new Page<>(requestVO.getPageNum(),requestVO.getPageSize());
         LambdaQueryWrapper<HceReview> queryWrapper = Wrappers.lambdaQuery();
-        if(StringUtils.isNotBlank(requestVO.getName())){
-            queryWrapper.and(wrapper->wrapper.like(HceReview::getUserName,requestVO.getName()).or().like(HceReview::getNickName,requestVO.getName()));
-        }
-        queryWrapper.between(StringUtils.isNotBlank(requestVO.getStartTime())&&StringUtils.isNotBlank(requestVO.getEndTime()),HceReview::getCreateTime,requestVO.getStartTime(),requestVO.getEndTime())
+        queryWrapper.like(StringUtils.isNotBlank(requestVO.getHceCode()),HceReview::getHceCode,requestVO.getHceCode())
+                .like(StringUtils.isNotBlank(requestVO.getReviewName()),HceReview::getReviewName,requestVO.getReviewName())
+                .between(StringUtils.isNotBlank(requestVO.getStartTime())&&StringUtils.isNotBlank(requestVO.getEndTime()),HceReview::getCreateTime,requestVO.getStartTime(),requestVO.getEndTime())
                 .eq(requestVO.getStatus() != null,HceReview::getStatus,requestVO.getStatus())
                 .apply(DataScopeContextHolder.getDataScopeSql())
                 .orderByDesc(HceReview::getId);
@@ -79,4 +86,22 @@ public class HceReviewServiceImpl extends AbstractCrudService<HceReviewMapper, H
         return new CommonPage<>(page.getRecords(),page.getTotal(),requestVO.getPageSize(),requestVO.getPageNum());
     }
 
+    @Override
+    public void score(HceReviewScoreVO scoreVO){
+
+        LambdaQueryWrapper<HceReview> queryWrapper = Wrappers.lambdaQuery();
+        queryWrapper.eq(HceReview::getHceCode,scoreVO.getHceCode());
+        HceReview hceReview = this.getOne(queryWrapper);
+        if(Objects.isNull(hceReview.getScore())){
+
+        }else{
+            throw new BusinessException("您已参与评分,谢谢!");
+        }
+
+        hceReview.setStatus(2);
+        hceReview.setScore(scoreVO.getScore());
+        hceReview.setAppraiseContent(scoreVO.getAppraiseContent());
+        this.updateById(hceReview);
+    }
+
 }

+ 6 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/impl/SysPlatformServiceImpl.java

@@ -254,4 +254,10 @@ public class SysPlatformServiceImpl extends AbstractCrudService<SysPlatformMappe
         }
         return arr3;
     }
+
+    @Override
+    public List<SysPlatformVo> getPlatformAllList() {
+        List<SysPlatformVo> list1 = baseMapper.getPlatformList(null, null, null, null, null, null);
+        return list1;
+    }
 }

+ 145 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/impl/SysTenantPlatformServiceImpl.java

@@ -0,0 +1,145 @@
+package com.usky.system.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.usky.common.core.exception.BusinessException;
+import com.usky.common.mybatis.core.AbstractCrudService;
+import com.usky.common.security.utils.SecurityUtils;
+import com.usky.system.domain.*;
+import com.usky.system.mapper.SysTenantPlatformMapper;
+import com.usky.system.service.ISysMenuService;
+import com.usky.system.service.SysPlatformMenuService;
+import com.usky.system.service.SysPlatformService;
+import com.usky.system.service.SysTenantPlatformService;
+import com.usky.system.service.vo.SysPlatformVo;
+import com.usky.system.service.vo.TenantPlatformListVo;
+import com.usky.system.service.vo.TenantPlatformMenuVo;
+import com.usky.system.service.vo.TenantPlatformVo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 租户和应用关联表 服务实现类
+ * </p>
+ *
+ * @author han
+ * @since 2024-08-14
+ */
+@Service
+public class SysTenantPlatformServiceImpl extends AbstractCrudService<SysTenantPlatformMapper, SysTenantPlatform> implements SysTenantPlatformService {
+
+    @Autowired
+    private SysPlatformService sysPlatformService;
+
+    @Autowired
+    private SysPlatformMenuService sysPlatformMenuService;
+
+    @Autowired
+    private ISysMenuService menuService;
+
+    @Override
+    @Transactional
+    public void updateTenantPlatform(TenantPlatformVo tenantPlatformVo) {
+        Integer[] arr = tenantPlatformVo.getPlatformIds();
+        if (tenantPlatformVo.getRequestId().equals(0)){
+            SysTenantPlatform sysTenantPlatform = new SysTenantPlatform();
+            sysTenantPlatform.setTenantId(tenantPlatformVo.getTenantId());
+            sysTenantPlatform.setPlatformId(arr[0]);
+            sysTenantPlatform.setIsDefault(1);
+            this.save(sysTenantPlatform);
+        }else {
+            LambdaQueryWrapper<SysTenantPlatform> queryWrapper = Wrappers.lambdaQuery();
+            queryWrapper.eq(SysTenantPlatform::getTenantId,tenantPlatformVo.getTenantId())
+                    .ne(SysTenantPlatform::getIsDefault,1);
+            this.remove(queryWrapper);
+            LambdaQueryWrapper<SysTenantPlatform> queryWrapper1 = Wrappers.lambdaQuery();
+            queryWrapper1.eq(SysTenantPlatform::getTenantId,tenantPlatformVo.getTenantId())
+                    .eq(SysTenantPlatform::getIsDefault,1);
+            List<SysTenantPlatform> list = this.list(queryWrapper1);
+            if (list.size()<=0){
+                throw new BusinessException("没有相关关联数据,请联系管理员");
+            }
+            for (int i = 0; i < arr.length; i++){
+                if (!arr[i].equals(list.get(0).getPlatformId())){
+                    SysTenantPlatform sysTenantPlatform1 = new SysTenantPlatform();
+                    sysTenantPlatform1.setPlatformId(arr[i]);
+                    sysTenantPlatform1.setTenantId(tenantPlatformVo.getTenantId());
+                    sysTenantPlatform1.setIsDefault(0);
+                    this.save(sysTenantPlatform1);
+                }
+            }
+        }
+    }
+
+    @Override
+    public List<TenantPlatformListVo> getTenantPlatformList(Integer tenantId) {
+        List<TenantPlatformListVo> list2 = new ArrayList<>();;
+        LambdaQueryWrapper<SysTenantPlatform> queryWrapper1 = Wrappers.lambdaQuery();
+        queryWrapper1.eq(SysTenantPlatform::getTenantId,tenantId);
+        List<SysTenantPlatform> list = this.list(queryWrapper1);
+        List<SysPlatformVo> list1 = sysPlatformService.getPlatformAllList();
+        if(CollectionUtils.isNotEmpty(list1)){
+            for(int i=0;i<list1.size();i++){
+                TenantPlatformListVo tenantPlatformListVo = new TenantPlatformListVo();
+                tenantPlatformListVo.setPlatformName(list1.get(i).getPlatformName());
+                tenantPlatformListVo.setPlatformId(list1.get(i).getId());
+                tenantPlatformListVo.setIcon(list1.get(i).getIcon());
+                tenantPlatformListVo.setIsDefault(0);
+                tenantPlatformListVo.setIsSelected(0);
+                if(CollectionUtils.isNotEmpty(list)){
+                    for(int j=0;j<list.size();j++){
+                        if (list1.get(i).getId().equals(list.get(j).getPlatformId())){
+                            tenantPlatformListVo.setIsDefault(list.get(j).getIsDefault());
+                            tenantPlatformListVo.setIsSelected(1);
+                        }
+                    }
+                }
+                list2.add(tenantPlatformListVo);
+            }
+        }
+        return list2;
+    }
+
+    public Map<String, Object> selectTenantPlatform(Integer tenantId){
+        LambdaQueryWrapper<SysTenantPlatform> queryWrapper = Wrappers.lambdaQuery();
+        queryWrapper.eq(SysTenantPlatform::getTenantId,tenantId);
+        List<SysTenantPlatform> list = this.list(queryWrapper);
+        List<TenantPlatformMenuVo> list1 = new ArrayList<>();
+        Long[] arr = sysPlatformMenuService.selectPlatformMenu(tenantId);
+        Map<String, Object> ajax = new HashMap<>();
+        ajax.put("checkedKeys",arr);
+        if (CollectionUtils.isNotEmpty(list)){
+            List<Integer> platformIds = new ArrayList<>();
+            for(int j=0;j<list.size();j++){
+                platformIds.add(list.get(j).getPlatformId());
+            }
+            LambdaQueryWrapper<SysPlatform> queryWrapper1 = Wrappers.lambdaQuery();
+            queryWrapper1.in(SysPlatform::getId,platformIds);
+            List<SysPlatform> platformList = sysPlatformService.list(queryWrapper1);
+            for(int i=0;i<list.size();i++){
+                TenantPlatformMenuVo tenantPlatformMenuVo = new TenantPlatformMenuVo();
+                tenantPlatformMenuVo.setId(list.get(i).getPlatformId());
+                if (CollectionUtils.isNotEmpty(platformList)){
+                    for(int k=0;k<platformList.size();k++){
+                        if (list.get(i).getPlatformId().equals(platformList.get(k).getId())){
+                            tenantPlatformMenuVo.setLabel(platformList.get(k).getPlatformName());
+                        }
+                    }
+                }
+                List<SysMenu> menus = sysPlatformMenuService.getPlatformMenuList(list.get(i).getPlatformId());
+                tenantPlatformMenuVo.setChildren(menuService.buildMenuTreeSelect(menus));
+                list1.add(tenantPlatformMenuVo);
+            }
+        }
+        ajax.put("menus",list1);
+        return ajax;
+    }
+}

+ 2 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/impl/SysUserServiceImpl.java

@@ -1,6 +1,7 @@
 package com.usky.system.service.impl;
 
 
+import com.ruoyi.common.datascope.annotation.DataScope;
 import com.usky.common.core.constants.Constants;
 import com.usky.common.security.utils.SecurityUtils;
 import com.usky.common.core.bean.CommonPage;
@@ -66,6 +67,7 @@ public class SysUserServiceImpl extends AbstractCrudService<SysUserMapper, SysUs
      * @return 用户信息集合信息
      */
     @Override
+    @DataScope(deptAlias = "u")
     public List<SysUser> selectUserList(SysUser user) {
         user.setTenantId(SecurityUtils.getTenantId());
         user.setUserType("00");

+ 7 - 2
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/vo/HceReviewRequestVO.java

@@ -6,9 +6,14 @@ import lombok.Data;
 public class HceReviewRequestVO {
 
     /**
-     * 账号、昵称
+     * 反馈单编码
      */
-    private String name;
+    private String hceCode;
+
+    /**
+     * 反馈人
+     */
+    private String reviewName;
 
     /**
      * 处理状态

+ 22 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/vo/HceReviewScoreVO.java

@@ -0,0 +1,22 @@
+package com.usky.system.service.vo;
+
+import lombok.Data;
+
+@Data
+public class HceReviewScoreVO {
+
+    /**
+     * 反馈单编码
+     */
+    private String hceCode;
+
+    /**
+     * 评分
+     */
+    private Float score;
+
+    /**
+     * 评价内容
+     */
+    private String appraiseContent;
+}

+ 5 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/vo/SysPlatformVo.java

@@ -46,6 +46,11 @@ public class SysPlatformVo implements Serializable {
      */
     private String remark;
 
+    /**
+     * 应用图标
+     */
+    private String icon;
+
     /**
      * 创建者
      */

+ 47 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/vo/TenantPlatformListVo.java

@@ -0,0 +1,47 @@
+package com.usky.system.service.vo;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 租户和应用关联表
+ * </p>
+ *
+ * @author han
+ * @since 2024-08-14
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+public class TenantPlatformListVo implements Serializable {
+    private static final long serialVersionUID=1L;
+
+    /**
+     * 应用ID
+     */
+    private Integer platformId;
+
+    /**
+     * 应用名称
+     */
+    private String platformName;
+
+    /**
+     * 是否为选中状态
+     */
+    private Integer isSelected;
+
+    /**
+     * 应用图标
+     */
+    private String icon;
+
+    /**
+     * 是否为默认应用
+     */
+    private Integer isDefault;
+}

+ 39 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/vo/TenantPlatformMenuVo.java

@@ -0,0 +1,39 @@
+package com.usky.system.service.vo;
+
+import com.usky.system.domain.SysMenu;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * <p>
+ * 租户、应用和菜单关联表
+ * </p>
+ *
+ * @author han
+ * @since 2024-08-16
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+public class TenantPlatformMenuVo implements Serializable {
+    private static final long serialVersionUID=1L;
+
+    /**
+     * 平台ID
+     */
+    private Integer id;
+
+    /**
+     * 平台名称
+     */
+    private String label;
+
+    /**
+     * 菜单列表
+     */
+    private List<TreeSelect> children;
+}

+ 38 - 0
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/service/vo/TenantPlatformVo.java

@@ -0,0 +1,38 @@
+package com.usky.system.service.vo;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 租户和应用关联表
+ * </p>
+ *
+ * @author han
+ * @since 2024-08-14
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+public class TenantPlatformVo implements Serializable {
+
+    private static final long serialVersionUID=1L;
+
+    /**
+     * 请求标识
+     */
+    private Integer requestId;
+
+    /**
+     * 租户ID
+     */
+    private Integer tenantId;
+
+    /**
+     * 应用ID
+     */
+    private Integer[] platformIds;
+}

+ 7 - 0
base-modules/service-system/service-system-biz/src/main/resources/mapper/system/HceCategoryMapper.xml

@@ -135,5 +135,12 @@
               #{categoryId}
           </foreach>
     </select>
+    <select id="selectPidByMenuid" resultType="integer">
+        SELECT
+            parent_id
+        FROM
+            sys_menu
+        WHERE menu_id = #{menuId}
+    </select>
 
 </mapper>

+ 9 - 2
base-modules/service-system/service-system-biz/src/main/resources/mapper/system/HceReviewMapper.xml

@@ -5,8 +5,7 @@
     <!-- 通用查询映射结果 -->
     <resultMap id="BaseResultMap" type="com.usky.system.domain.HceReview">
         <id column="id" property="id" />
-        <result column="user_name" property="userName" />
-        <result column="nick_name" property="nickName" />
+        <result column="review_name" property="reviewName" />
         <result column="review_type" property="reviewType" />
         <result column="review_content" property="reviewContent" />
         <result column="review_picture" property="reviewPicture" />
@@ -17,6 +16,14 @@
         <result column="dept_id" property="deptId" />
         <result column="tenant_id" property="tenantId" />
         <result column="handle_content" property="handleContent" />
+        <result column="hce_code" property="hceCode" />
+        <result column="email" property="email" />
+        <result column="phonenumber" property="phonenumber" />
+        <result column="score" property="score" />
+        <result column="appraise_content" property="appraiseContent" />
+        <result column="create_by" property="createBy" />
+        <result column="update_by" property="updateBy" />
+        <result column="update_time" property="updateTime" />
     </resultMap>
 
 </mapper>

+ 1 - 0
base-modules/service-system/service-system-biz/src/main/resources/mapper/system/SysPlatformMapper.xml

@@ -8,6 +8,7 @@
         <result column="platform_name" property="platformName" />
         <result column="status" property="status" />
         <result column="remark" property="remark" />
+        <result column="icon" property="icon" />
         <result column="create_by" property="createBy" />
         <result column="create_time" property="createTime" />
         <result column="update_by" property="updateBy" />

+ 11 - 0
base-modules/service-system/service-system-biz/src/main/resources/mapper/system/SysTenantPlatformMapper.xml

@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.usky.system.mapper.SysTenantPlatformMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.usky.system.domain.SysTenantPlatform">
+        <id column="tenant_id" property="tenantId" />
+        <result column="platform_id" property="platformId" />
+        <result column="is_default" property="isDefault" />
+    </resultMap>
+</mapper>

+ 11 - 2
usky-common/usky-common-security/src/main/java/com/usky/common/security/service/TokenService.java

@@ -34,12 +34,14 @@ public class TokenService {
 
     private final static String ACCESS_TOKEN = CacheConstants.LOGIN_TOKEN_KEY;
 
+    private final static String LOGIN_OPENID = "login_openid:";
+
     private final static Long MILLIS_MINUTE_TEN = CacheConstants.REFRESH_TIME * MILLIS_MINUTE;
 
     /**
      * 创建令牌
      */
-    public Map<String, Object> createToken(LoginUser loginUser) {
+    public Map<String, Object> createToken(LoginUser loginUser,String openId) {
         String token = UUIDUtils.uuid();
         Long userId = loginUser.getSysUser().getUserId();
         String userName = loginUser.getSysUser().getUserName();
@@ -59,9 +61,16 @@ public class TokenService {
 
         // 接口返回信息
         Map<String, Object> rspMap = new HashMap<String, Object>();
-        rspMap.put("access_token", JwtUtils.createToken(claimsMap));
+        String accessToken = JwtUtils.createToken(claimsMap);
+        rspMap.put("access_token", accessToken);
         rspMap.put("expires_in", expireTime);
         rspMap.put("tenantId", tenantId);
+
+        if((openId != null) && (StringUtils.isNotBlank(openId))){
+            String userKey = LOGIN_OPENID+openId;
+            redisService.set(userKey, accessToken, expireTime, TimeUnit.MINUTES);
+        }
+
         return rspMap;
     }