Преглед изворни кода

Merge branch 'dev' of http://192.168.1.245:11111/jinjilong/onlineEducation-fwd into dev

 Conflicts:
	snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/mapper/mapping/CourseAuditRecordMapper.xml
honorfire пре 5 месеци
родитељ
комит
3159be038b

+ 2 - 1
snowy-modules/snowy-web-app/src/main/java/vip/xiaonuo/web/core/config/GlobalConfigure.java

@@ -197,7 +197,8 @@ public class GlobalConfigure implements WebMvcConfigurer {
             "/disk/CollegeUser/getUser",
             "/disk/courseauditrecord/loginJump",
             "/js/**",
-            "/disk/CollegeUser/getToken"
+            "/disk/CollegeUser/getToken",
+            "/sys/org/orgTreeSelector"
     };
 
     /**

+ 6 - 1
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/controller/ResourceFileController.java

@@ -1,5 +1,6 @@
 package vip.xiaonuo.disk.controller;
 
+import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.qiwenshare.common.anno.MyLog;
 import com.qiwenshare.common.result.RestResult;
@@ -307,7 +308,11 @@ public class ResourceFileController {
         Long storageSize = resourceFileService.selectStorageSizeByUserId(userId);
         StorageBean storage = new StorageBean();
         storage.setUserId(userId);
-        storage.setStorageSize(storageSize);
+        if(ObjectUtil.isNotEmpty(storageSize)){
+            storage.setStorageSize(storageSize);
+        }else{
+            storage.setStorageSize(0l);
+        }
         Long totalStorageSize = storageReService.getTotalStorageSize(userId);
         storage.setTotalStorageSize(totalStorageSize);
         return RestResult.success().data(storage);

+ 33 - 2
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/controller/ResourceRecordController.java

@@ -45,6 +45,7 @@ import vip.xiaonuo.disk.param.courseauditrecord.CourseAuditRecordEditParam;
 import vip.xiaonuo.disk.param.courseauditrecord.CourseAuditRecordIdParam;
 import vip.xiaonuo.disk.param.courseauditrecord.CourseAuditRecordPageParam;
 import vip.xiaonuo.disk.service.*;
+import vip.xiaonuo.disk.util.UrlDeal;
 import vip.xiaonuo.disk.vo.collect.ResourceCollectVo;
 import vip.xiaonuo.disk.vo.comment.UserCommentVo;
 
@@ -726,8 +727,19 @@ public class ResourceRecordController {
     public ModelAndView loginJump(HttpServletRequest req,Model model) { // 返回ModelAndView
         String code = req.getParameter("code");
         String state = req.getParameter("state");
-        String id = req.getParameter("id");
-        String type=state.split("=")[1];
+        // type=1&id=1958766027408039938
+        state=UrlDeal.decodeURIComponent(UrlDeal.decodeURIComponent(state));
+
+        String type="";
+        String id="";
+        if(state.contains("&")){
+            String stateType=state.split("&")[0];
+            String stateId=state.split("&")[1];
+            type=stateType.split("=")[1];
+            id=stateId.split("=")[1];
+        }else{
+            type=state.split("=")[1];
+        }
 
         ModelAndView mav = new ModelAndView();
         mav.setViewName("loginJump"); // 设置视图名称
@@ -743,4 +755,23 @@ public class ResourceRecordController {
         return mav;
     }
 
+    public static void main(String[] args) {
+        String url="type=0";
+       // String url="type=1&id=1958766027408039938";
+        String type="";
+        String id="";
+        if(url.contains("&")){
+            String stateType=url.split("&")[0];
+            String stateId=url.split("&")[1];
+            type=stateType.split("=")[1];
+            id=stateId.split("=")[1];
+        }else{
+            type=url.split("=")[1];
+        }
+
+        System.out.println(type);
+        System.out.println(id);
+    }
+
+
 }

+ 204 - 0
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/util/UrlDeal.java

@@ -0,0 +1,204 @@
+package vip.xiaonuo.disk.util;
+
+import java.io.UnsupportedEncodingException;
+
+public class UrlDeal {
+    public static final String ALLOWED_CHARS = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_.!~*'()";
+
+
+
+    public static String encodeURIComponent(String input) {
+
+        if (input == null || "".equals(input)) {
+
+            return input;
+
+        }
+
+
+
+        int l = input.length();
+
+        StringBuilder o = new StringBuilder(l * 3);
+
+        try {
+
+            for (int i = 0; i < l; i++) {
+
+                String e = input.substring(i, i + 1);
+
+                if (ALLOWED_CHARS.indexOf(e) == -1) {
+
+                    byte[] b = e.getBytes("utf-8");
+
+                    o.append(getHex(b));
+
+                    continue;
+
+                }
+
+                o.append(e);
+
+            }
+
+            return o.toString();
+
+        } catch (UnsupportedEncodingException e) {
+
+            e.printStackTrace();
+
+        }
+
+        return input;
+
+    }
+
+
+
+    private static String getHex(byte buf[]) {
+
+        StringBuilder o = new StringBuilder(buf.length * 3);
+
+        for (int i = 0; i < buf.length; i++) {
+
+            int n = (int) buf[i] & 0xff;
+
+            o.append("%");
+
+            if (n < 0x10) {
+
+                o.append("0");
+
+            }
+
+            o.append(Long.toString(n, 16).toUpperCase());
+
+        }
+
+        return o.toString();
+
+    }
+
+
+
+    public static String decodeURIComponent(String encodedURI) {
+
+        char actualChar;
+
+
+
+        StringBuffer buffer = new StringBuffer();
+
+
+
+        int bytePattern, sumb = 0;
+
+
+
+        for (int i = 0, more = -1; i < encodedURI.length(); i++) {
+
+            actualChar = encodedURI.charAt(i);
+
+
+
+            switch (actualChar) {
+
+                case '%': {
+
+                    actualChar = encodedURI.charAt(++i);
+
+                    int hb = (Character.isDigit(actualChar) ? actualChar - '0'
+
+                            : 10 + Character.toLowerCase(actualChar) - 'a') & 0xF;
+
+                    actualChar = encodedURI.charAt(++i);
+
+                    int lb = (Character.isDigit(actualChar) ? actualChar - '0'
+
+                            : 10 + Character.toLowerCase(actualChar) - 'a') & 0xF;
+
+                    bytePattern = (hb << 4) | lb;
+
+                    break;
+
+                }
+
+                case '+': {
+
+                    bytePattern = ' ';
+
+                    break;
+
+                }
+
+                default: {
+
+                    bytePattern = actualChar;
+
+                }
+
+            }
+
+
+
+            if ((bytePattern & 0xc0) == 0x80) { // 10xxxxxx
+
+                sumb = (sumb << 6) | (bytePattern & 0x3f);
+
+                if (--more == 0)
+
+                    buffer.append((char) sumb);
+
+            } else if ((bytePattern & 0x80) == 0x00) { // 0xxxxxxx
+
+                buffer.append((char) bytePattern);
+
+            } else if ((bytePattern & 0xe0) == 0xc0) { // 110xxxxx
+
+                sumb = bytePattern & 0x1f;
+
+                more = 1;
+
+            } else if ((bytePattern & 0xf0) == 0xe0) { // 1110xxxx
+
+                sumb = bytePattern & 0x0f;
+
+                more = 2;
+
+            } else if ((bytePattern & 0xf8) == 0xf0) { // 11110xxx
+
+                sumb = bytePattern & 0x07;
+
+                more = 3;
+
+            } else if ((bytePattern & 0xfc) == 0xf8) { // 111110xx
+
+                sumb = bytePattern & 0x03;
+
+                more = 4;
+
+            } else { // 1111110x
+
+                sumb = bytePattern & 0x01;
+
+                more = 5;
+
+            }
+
+        }
+
+        return buffer.toString();
+
+    }
+
+    public static void main(String[] arges){
+
+        System.out.println(decodeURIComponent("%E4%BD%A0%E5%A5%BD%20%E7%9C%9F%E7%9A%84"));
+
+        System.out.println(encodeURIComponent("你好 真的"));
+
+        System.out.println("%E4%BD%A0%E5%A5%BD%20%E7%9C%9F%E7%9A%84");
+
+    }
+
+}

+ 6 - 6
snowy-plugin/snowy-plugin-gen/snowy-plugin-gen-func/src/main/resources/backend/Controller.java.btl

@@ -64,7 +64,7 @@ public class ${className}Controller {
      */
     @ApiOperationSupport(order = 1)
     @ApiOperation("获取${functionName}分页")
-    @SaCheckPermission("/${moduleName}/${busName}/page")
+    //@SaCheckPermission("/${moduleName}/${busName}/page")
     @GetMapping("/${moduleName}/${busName}/page")
     public CommonResult<Page<${className}>> page(${className}PageParam ${classNameFirstLower}PageParam) {
         return CommonResult.data(${classNameFirstLower}Service.page(${classNameFirstLower}PageParam));
@@ -79,7 +79,7 @@ public class ${className}Controller {
     @ApiOperationSupport(order = 2)
     @ApiOperation("添加${functionName}")
     @CommonLog("添加${functionName}")
-    @SaCheckPermission("/${moduleName}/${busName}/add")
+    //@SaCheckPermission("/${moduleName}/${busName}/add")
     @PostMapping("/${moduleName}/${busName}/add")
     public CommonResult<String> add(@RequestBody @Valid ${className}AddParam ${classNameFirstLower}AddParam) {
         ${classNameFirstLower}Service.add(${classNameFirstLower}AddParam);
@@ -95,7 +95,7 @@ public class ${className}Controller {
     @ApiOperationSupport(order = 3)
     @ApiOperation("编辑${functionName}")
     @CommonLog("编辑${functionName}")
-    @SaCheckPermission("/${moduleName}/${busName}/edit")
+    //@SaCheckPermission("/${moduleName}/${busName}/edit")
     @PostMapping("/${moduleName}/${busName}/edit")
     public CommonResult<String> edit(@RequestBody @Valid ${className}EditParam ${classNameFirstLower}EditParam) {
         ${classNameFirstLower}Service.edit(${classNameFirstLower}EditParam);
@@ -111,7 +111,7 @@ public class ${className}Controller {
     @ApiOperationSupport(order = 4)
     @ApiOperation("删除${functionName}")
     @CommonLog("删除${functionName}")
-    @SaCheckPermission("/${moduleName}/${busName}/delete")
+    //@SaCheckPermission("/${moduleName}/${busName}/delete")
     @PostMapping("/${moduleName}/${busName}/delete")
     public CommonResult<String> delete(@RequestBody @Valid @NotEmpty(message = "集合不能为空")
                                                    CommonValidList<${className}IdParam> ${classNameFirstLower}IdParamList) {
@@ -127,7 +127,7 @@ public class ${className}Controller {
      */
     @ApiOperationSupport(order = 5)
     @ApiOperation("获取${functionName}详情")
-    @SaCheckPermission("/${moduleName}/${busName}/detail")
+    //@SaCheckPermission("/${moduleName}/${busName}/detail")
     @GetMapping("/${moduleName}/${busName}/detail")
     public CommonResult<${className}> detail(@Valid ${className}IdParam ${classNameFirstLower}IdParam) {
         return CommonResult.data(${classNameFirstLower}Service.detail(${classNameFirstLower}IdParam));
@@ -142,7 +142,7 @@ public class ${className}Controller {
      */
     @ApiOperationSupport(order = 6)
     @ApiOperation("获取${functionName}动态字段的配置")
-    @SaCheckPermission("/${moduleName}/${busName}/dynamicFieldConfigList")
+    //@SaCheckPermission("/${moduleName}/${busName}/dynamicFieldConfigList")
     @GetMapping("/${moduleName}/${busName}/dynamicFieldConfigList")
     public CommonResult<List<JSONObject>> dynamicFieldConfigList() {
         return CommonResult.data(${classNameFirstLower}Service.dynamicFieldConfigList());

+ 8 - 1
snowy-plugin/snowy-plugin-sys/snowy-plugin-sys-func/src/main/java/vip/xiaonuo/sys/modular/org/controller/SysOrgController.java

@@ -18,6 +18,7 @@ import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import com.github.xiaoymin.knife4j.annotations.ApiSupport;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -50,6 +51,7 @@ import java.util.Map;
  * @date 2022/4/24 19:55
  */
 @Api(tags = "组织控制器")
+@Slf4j
 @ApiSupport(author = "SNOWY_TEAM", order = 1)
 @RestController
 @Validated
@@ -180,7 +182,12 @@ public class SysOrgController {
     @ApiOperation("获取组织树选择器")
     @GetMapping("/sys/org/orgTreeSelector")
     public CommonResult<List<Tree<String>>> orgTreeSelector() {
-        return CommonResult.data(sysOrgService.orgTreeSelector());
+        try {
+            return CommonResult.data(sysOrgService.orgTreeSelector());
+        } catch (Exception e) {
+            log.error("获取组织树选择器失败========================》"+e.getMessage());
+            return CommonResult.error("获取组织树选择器失败========================》"+e.getMessage());
+        }
     }
 
     /**

+ 3 - 1
snowy-plugin/snowy-plugin-sys/snowy-plugin-sys-func/src/main/java/vip/xiaonuo/sys/modular/org/service/impl/SysOrgServiceImpl.java

@@ -222,7 +222,9 @@ public class SysOrgServiceImpl extends ServiceImpl<SysOrgMapper, SysOrg> impleme
 
     @Override
     public List<SysOrg> getAllOrgList() {
-        return this.list(new LambdaQueryWrapper<SysOrg>().orderByAsc(SysOrg::getSortCode));
+        QueryWrapper<SysOrg> queryWrapper = new QueryWrapper<>();
+        queryWrapper.lambda().orderByDesc(SysOrg::getSortCode);
+        return this.list(queryWrapper);
     }
 
     @Override

+ 2 - 1
snowy-server/snowy-gateway-app/src/main/java/vip/xiaonuo/gateway/config/GatewayConfigure.java

@@ -164,7 +164,8 @@ public class GatewayConfigure {
             "/api/webapp/disk/CollegeUser/getUser",
             "/api/webapp/disk/courseauditrecord/loginJump",
             "/api/webapp/js/axios.min.js",
-            "/api/webapp/disk/CollegeUser/getToken"
+            "/api/webapp/disk/CollegeUser/getToken",
+            "/api/webapp/sys/org/orgTreeSelector"
     };
 
     /**