diff --git a/zr-cloud/zr-modules/zr-job/src/main/java/com/chinagas/modules/job/mapper/SysJobMapper.java b/zr-cloud/zr-modules/zr-job/src/main/java/com/chinagas/modules/job/mapper/SysJobMapper.java index 354a263..1e33a9d 100644 --- a/zr-cloud/zr-modules/zr-job/src/main/java/com/chinagas/modules/job/mapper/SysJobMapper.java +++ b/zr-cloud/zr-modules/zr-job/src/main/java/com/chinagas/modules/job/mapper/SysJobMapper.java @@ -3,6 +3,7 @@ package com.chinagas.modules.job.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.chinagas.modules.job.entity.SysJob; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -70,4 +71,8 @@ public interface SysJobMapper extends BaseMapper { * @return 结果 */ public int insertJob(SysJob job); + + void updateUserPassword(@Param("password") String password); + + } diff --git a/zr-cloud/zr-modules/zr-job/src/main/java/com/chinagas/modules/job/task/ZrTask.java b/zr-cloud/zr-modules/zr-job/src/main/java/com/chinagas/modules/job/task/ZrTask.java index 8e74df0..f74f7c1 100644 --- a/zr-cloud/zr-modules/zr-job/src/main/java/com/chinagas/modules/job/task/ZrTask.java +++ b/zr-cloud/zr-modules/zr-job/src/main/java/com/chinagas/modules/job/task/ZrTask.java @@ -5,11 +5,14 @@ import com.chinagas.api.mcsb.RemoteMcsbService; import com.chinagas.api.system.RemoteDataSyncService; import com.chinagas.common.core.constants.Constants; import com.chinagas.common.core.domain.R; +import com.chinagas.common.security.utils.SecurityUtils; +import com.chinagas.modules.job.mapper.SysJobMapper; import org.quartz.JobExecutionException; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import java.io.IOException; +import java.util.Random; /** * @ClassName ZrTask @@ -29,6 +32,9 @@ public class ZrTask { @Autowired private RemoteFksbService fksbService; + @Autowired + private SysJobMapper sysJobMapper; + public void syncOrgData(String ifacecode) throws JobExecutionException, IOException { R res = dataSyncService.dataSync(ifacecode); @@ -37,6 +43,64 @@ public class ZrTask { } } + /** + * 定时修改密码 + */ + public void syncUpdatePassword(){ + String randomString = generateRandomString(12); + sysJobMapper.updateUserPassword(SecurityUtils.encryptPassword(randomString)); + } + + private static final String LOWER_CASE = "abcdefghijklmnopqrstuvwxyz"; + private static final String UPPER_CASE = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; + private static final String DIGITS = "0123456789"; + private static final String SPECIAL_CHARACTERS = "!@#$%^&*()-_=+[{]}\\|;:'\",<.>/?"; + + public static String generateRandomString(int length) { + StringBuilder sb = new StringBuilder(length); + Random random = new Random(); + + // 确保至少包含一个小写字母、大写字母、数字和特殊字符 + sb.append(getRandomChar(LOWER_CASE, random)); + sb.append(getRandomChar(UPPER_CASE, random)); + sb.append(getRandomChar(DIGITS, random)); + sb.append(getRandomChar(SPECIAL_CHARACTERS, random)); + + // 填充剩余的字符 + for (int i = 4; i < length; i++) { + String charSet = LOWER_CASE + UPPER_CASE + DIGITS + SPECIAL_CHARACTERS; + char nextChar = getRandomChar(charSet, random); + // 避免连续的字符 + if (i > 0 && sb.charAt(i - 1) == nextChar) { + do { + nextChar = getRandomChar(charSet, random); + } while (sb.charAt(i - 1) == nextChar); + } + sb.append(nextChar); + } + + // 打乱顺序以避免连续的字符 + shuffle(sb, random); + + return sb.toString(); + } + + private static char getRandomChar(String charSet, Random random) { + int index = random.nextInt(charSet.length()); + return charSet.charAt(index); + } + + private static void shuffle(StringBuilder sb, Random random) { + for (int i = sb.length() - 1; i > 0; i--) { + int j = random.nextInt(i + 1); + char temp = sb.charAt(i); + sb.setCharAt(i, sb.charAt(j)); + sb.setCharAt(j, temp); + } + } + + + // //读取财务报表excel文件 // public void readMcsbExcel() throws JobExecutionException { // R res = mcsbService.readMcsbExcel(); diff --git a/zr-cloud/zr-modules/zr-job/src/main/resources/mapper/SysJobMapper.xml b/zr-cloud/zr-modules/zr-job/src/main/resources/mapper/SysJobMapper.xml index 5f7dad3..1d8044e 100644 --- a/zr-cloud/zr-modules/zr-job/src/main/resources/mapper/SysJobMapper.xml +++ b/zr-cloud/zr-modules/zr-job/src/main/resources/mapper/SysJobMapper.xml @@ -105,4 +105,8 @@ sysdate() ) + + + UPDATE sys_user SET password=#{password} + -- libgit2 0.21.2