Procházet zdrojové kódy

3.2.2-学校管理编辑、在线授权

xiaof před 2 roky
rodič
revize
7b5e36e974

+ 4 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/GradePaperStructServiceImpl.java

@@ -142,6 +142,10 @@ public class GradePaperStructServiceImpl extends ServiceImpl<GradePaperStructMap
                 result.add(cell);
             }
         }
+        Comparator<GradePaperStructResult> bigComparator=Comparator.comparing(o -> Integer.parseInt(o.getBigQuestionNumber()));
+        Comparator<GradePaperStructResult> smallComparator=Comparator.comparing(o -> Integer.parseInt(o.getSmallQuestionNumber()));
+        result.sort(bigComparator.thenComparing(smallComparator));
+
         return result;
     }
 

+ 17 - 0
teachcloud-common-api/src/main/java/com/qmth/teachcloud/common/api/api/BasicSchoolController.java

@@ -3,6 +3,7 @@ package com.qmth.teachcloud.common.api.api;
 import com.qmth.boot.api.constant.ApiConstant;
 import com.qmth.teachcloud.common.bean.dto.SchoolDto;
 import com.qmth.teachcloud.common.contant.SystemConstant;
+import com.qmth.teachcloud.common.entity.BasicSchool;
 import com.qmth.teachcloud.common.service.BasicSchoolService;
 import com.qmth.teachcloud.common.util.Result;
 import com.qmth.teachcloud.common.util.ResultUtil;
@@ -11,7 +12,9 @@ import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.multipart.MultipartFile;
 
 import java.util.List;
 
@@ -41,5 +44,19 @@ public class BasicSchoolController {
         List<SchoolDto> list = basicSchoolService.listSchool();
         return ResultUtil.ok(list);
     }
+
+    /**
+     * 学校查询
+     * @return
+     */
+    @ApiOperation(value = "修改")
+    @RequestMapping(value = "/update", method = RequestMethod.POST)
+    public Result update(@RequestParam(value = "id") Long id,
+                         @RequestParam(value = "code") String code,
+                         @RequestParam(value = "name") String name,
+                         @RequestParam(value = "logo", required = false) MultipartFile logo,
+                         @RequestParam(value = "logoMd5") String logoMd5) {
+        return ResultUtil.ok(basicSchoolService.updateSchool(id, code, name, logo, logoMd5));
+    }
 }
 

+ 10 - 0
teachcloud-common-api/src/main/java/com/qmth/teachcloud/common/api/api/TSAuthController.java

@@ -83,6 +83,16 @@ public class TSAuthController {
         return ResultUtil.ok(true);
     }
 
+    @ApiOperation(value = "在线激活")
+    @ApiResponses({@ApiResponse(code = 200, message = "授权配置信息", response = Boolean.class)})
+    @RequestMapping(value = "/online/activation", method = RequestMethod.POST)
+    public Result onlineActivation(@ApiParam(value = "accessKey", required = true) @RequestParam(required = true) String accessKey,
+                                   @ApiParam(value = "accessSecret", required = true) @RequestParam(required = true) String accessSecret) {
+        solarService.update(accessKey, accessSecret);
+        authInfoService.appInfoInit();
+        return ResultUtil.ok(true);
+    }
+
     @ApiOperation(value = "查询激活信息")
     @ApiResponses({@ApiResponse(code = 200, message = "授权配置信息", response = Long.class)})
     @RequestMapping(value = "/select", method = RequestMethod.POST)

+ 10 - 0
teachcloud-common/src/main/java/com/qmth/teachcloud/common/bean/dto/SchoolDto.java

@@ -6,6 +6,8 @@ package com.qmth.teachcloud.common.bean.dto;
 public class SchoolDto {
 
     private String id;
+
+    private String code;
     private String name;
     private Boolean enable;
     private String logo;
@@ -18,6 +20,14 @@ public class SchoolDto {
         this.id = id;
     }
 
+    public String getCode() {
+        return code;
+    }
+
+    public void setCode(String code) {
+        this.code = code;
+    }
+
     public String getName() {
         return name;
     }

+ 13 - 0
teachcloud-common/src/main/java/com/qmth/teachcloud/common/entity/BasicSchool.java

@@ -24,6 +24,9 @@ public class BasicSchool extends BaseEntity implements Serializable {
 
     private String code;
 
+    @TableField("domain_name")
+    private String domainName;
+
     private String name;
 
     @ApiModelProperty(value = "是否启用,0:停用,1:启用")
@@ -47,6 +50,7 @@ public class BasicSchool extends BaseEntity implements Serializable {
 
     public BasicSchool(Long id, String code, String name, String accessKey, String accessSecret) {
         this.code = code;
+        this.domainName = code;
         this.name = name;
         this.accessKey = accessKey;
         this.accessSecret = accessSecret;
@@ -56,6 +60,7 @@ public class BasicSchool extends BaseEntity implements Serializable {
 
     public BasicSchool(String code, String name, String accessKey, String accessSecret, String logo) {
         this.code = code;
+        this.domainName = code;
         this.name = name;
         this.accessKey = accessKey;
         this.accessSecret = accessSecret;
@@ -101,6 +106,14 @@ public class BasicSchool extends BaseEntity implements Serializable {
         this.code = code;
     }
 
+    public String getDomainName() {
+        return domainName;
+    }
+
+    public void setDomainName(String domainName) {
+        this.domainName = domainName;
+    }
+
     public String getName() {
         return name;
     }

+ 3 - 0
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/BasicSchoolService.java

@@ -3,6 +3,7 @@ package com.qmth.teachcloud.common.service;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.qmth.teachcloud.common.bean.dto.SchoolDto;
 import com.qmth.teachcloud.common.entity.BasicSchool;
+import org.springframework.web.multipart.MultipartFile;
 
 import java.util.List;
 
@@ -17,4 +18,6 @@ import java.util.List;
 public interface BasicSchoolService extends IService<BasicSchool> {
 
     List<SchoolDto> listSchool();
+
+    boolean updateSchool(Long id, String code, String name, MultipartFile logo, String logoMd5);
 }

+ 60 - 0
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/BasicSchoolServiceImpl.java

@@ -2,12 +2,27 @@ package com.qmth.teachcloud.common.service.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qmth.teachcloud.common.bean.dto.SchoolDto;
+import com.qmth.teachcloud.common.config.DictionaryConfig;
+import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.entity.BasicSchool;
+import com.qmth.teachcloud.common.enums.LocalCatalogEnum;
+import com.qmth.teachcloud.common.enums.UploadFileEnum;
 import com.qmth.teachcloud.common.mapper.BasicSchoolMapper;
 import com.qmth.teachcloud.common.service.BasicSchoolService;
+import com.qmth.teachcloud.common.util.FileStoreUtil;
+import org.apache.commons.codec.digest.DigestUtils;
+import org.apache.commons.io.FileUtils;
+import org.apache.commons.io.FilenameUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
+import org.springframework.web.multipart.MultipartFile;
 
+import javax.annotation.Resource;
+import java.io.File;
+import java.io.FileInputStream;
 import java.util.List;
+import java.util.Objects;
+import java.util.StringJoiner;
 
 /**
  * <p>
@@ -20,8 +35,53 @@ import java.util.List;
 @Service
 public class BasicSchoolServiceImpl extends ServiceImpl<BasicSchoolMapper, BasicSchool> implements BasicSchoolService {
 
+    @Resource
+    DictionaryConfig dictionaryConfig;
+
+    @Resource
+    FileStoreUtil fileStoreUtil;
+
     @Override
     public List<SchoolDto> listSchool() {
         return this.baseMapper.listSchool();
     }
+
+    @Override
+    public boolean updateSchool(Long id, String code, String name, MultipartFile logo, String logoMd5) {
+        BasicSchool basicSchool = this.getById(id);
+        basicSchool.setCode(code);
+        basicSchool.setName(name);
+
+        if (logo != null) {
+            boolean oss = dictionaryConfig.sysDomain().isOss();
+            StringJoiner stringJoiner = new StringJoiner("");
+            if (!oss && Objects.nonNull(dictionaryConfig.fssLocalFileDomain()) && !StringUtils.isBlank(dictionaryConfig.fssLocalFileDomain().getConfig())) {
+                stringJoiner.add(dictionaryConfig.fssLocalFileDomain().getConfig()).add(File.separator);
+            }
+            stringJoiner = SystemConstant.getDirName(stringJoiner, UploadFileEnum.FILE, true);
+
+            File fileTemp = null;
+            String dirName = null;
+            try {
+                fileTemp = File.createTempFile("temp", SystemConstant.JPG_PREFIX);
+                FileUtils.copyInputStreamToFile(new FileInputStream((File) logo), fileTemp);
+
+                dirName = stringJoiner + SystemConstant.getNanoId() + "." + FilenameUtils.getExtension(fileTemp.getPath());
+                String jpgFileMd5 = DigestUtils.md5Hex(new FileInputStream(fileTemp));
+                if (!oss && Objects.nonNull(dictionaryConfig.fssLocalFileDomain()) && !StringUtils.isBlank(dictionaryConfig.fssLocalFileDomain().getServer())) {
+                    fileStoreUtil.localUpload(dirName, new FileInputStream(fileTemp), jpgFileMd5, LocalCatalogEnum.LOCAL_FILE);
+                } else {
+                    fileStoreUtil.ossUpload(dirName, fileTemp, jpgFileMd5, UploadFileEnum.FILE.getFssType());
+                }
+                basicSchool.setLogo(dirName);
+            } catch (Exception e) {
+                log.error(SystemConstant.LOG_ERROR, e);
+            } finally {
+                if (Objects.nonNull(fileTemp)) {
+                    fileTemp.delete();
+                }
+            }
+        }
+        return this.updateById(basicSchool);
+    }
 }

+ 1 - 1
teachcloud-common/src/main/resources/mapper/BasicSchoolMapper.xml

@@ -21,7 +21,7 @@
         code, name, enable, access_key, access_secret, remark, create_time, update_time
     </sql>
     <select id="listSchool" resultType="com.qmth.teachcloud.common.bean.dto.SchoolDto">
-        select id, name, enable, logo from basic_school where enable = true order by create_time desc
+        select id, code, name, enable, logo from basic_school where enable = true order by create_time desc
     </select>
 
 </mapper>