diff --git a/lms/nladmin-system/pom.xml b/lms/nladmin-system/pom.xml index c84cc3d54..4ca994362 100644 --- a/lms/nladmin-system/pom.xml +++ b/lms/nladmin-system/pom.xml @@ -174,7 +174,31 @@ lombok true - + + cn.dev33 + sa-token-dao-redis + 1.31.0 + + + org.apache.commons + commons-pool2 + 2.5.0 + + + com.baomidou + mybatis-plus-boot-starter + 3.4.0 + + + org.apache.velocity + velocity-engine-core + 2.3 + + + com.baomidou + mybatis-plus-generator + 3.4.0 + org.apache.poi diff --git a/lms/nladmin-system/src/main/java/org/nl/AppRun.java b/lms/nladmin-system/src/main/java/org/nl/AppRun.java index 2fa3edd13..0e1af39e3 100644 --- a/lms/nladmin-system/src/main/java/org/nl/AppRun.java +++ b/lms/nladmin-system/src/main/java/org/nl/AppRun.java @@ -4,6 +4,7 @@ import cn.dev33.satoken.annotation.SaIgnore; import com.alicp.jetcache.anno.config.EnableCreateCacheAnnotation; import com.alicp.jetcache.anno.config.EnableMethodCache; import io.swagger.annotations.Api; +import org.mybatis.spring.annotation.MapperScan; import org.nl.modules.wql.util.SpringContextHolder; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @@ -35,6 +36,7 @@ import org.springframework.web.bind.annotation.RestController; @EnableJpaAuditing(auditorAwareRef = "auditorAware") @EnableMethodCache(basePackages = "org.nl") @EnableCreateCacheAnnotation +@MapperScan("org.nl.**.mapper") public class AppRun { public static void main(String[] args) { diff --git a/lms/nladmin-system/src/main/java/org/nl/common/TableDataInfo.java b/lms/nladmin-system/src/main/java/org/nl/common/TableDataInfo.java new file mode 100644 index 000000000..b070572f5 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/common/TableDataInfo.java @@ -0,0 +1,78 @@ +package org.nl.common; + +import cn.hutool.http.HttpStatus; +import com.baomidou.mybatisplus.core.metadata.IPage; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.util.List; + +/** + * 表格分页数据对象 + * + * @author Lion Li + */ + +@Data +@NoArgsConstructor +public class TableDataInfo implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 总记录数 + */ + private long totalElements; + + /** + * 列表数据 + */ + private List content; + + /** + * 消息状态码 + */ + private int code; + + /** + * 消息内容 + */ + private String msg; + + /** + * 分页 + * + * @param list 列表数据 + * @param total 总记录数 + */ + public TableDataInfo(List list, long total) { + this.content = list; + this.totalElements = total; + } + + public static TableDataInfo build(IPage page) { + TableDataInfo rspData = new TableDataInfo<>(); + rspData.setCode(HttpStatus.HTTP_OK); + rspData.setMsg("查询成功"); + rspData.setContent(page.getRecords()); + rspData.setTotalElements(page.getTotal()); + return rspData; + } + + public static TableDataInfo build(List list) { + TableDataInfo rspData = new TableDataInfo<>(); + rspData.setCode(HttpStatus.HTTP_OK); + rspData.setMsg("查询成功"); + rspData.setContent(list); + rspData.setTotalElements(list.size()); + return rspData; + } + + public static TableDataInfo build() { + TableDataInfo rspData = new TableDataInfo<>(); + rspData.setCode(HttpStatus.HTTP_OK); + rspData.setMsg("查询成功"); + return rspData; + } + +} diff --git a/lms/nladmin-system/src/main/java/org/nl/common/domain/constant/DictConstantPool.java b/lms/nladmin-system/src/main/java/org/nl/common/domain/constant/DictConstantPool.java new file mode 100644 index 000000000..860d84659 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/common/domain/constant/DictConstantPool.java @@ -0,0 +1,11 @@ +package org.nl.common.domain.constant; + +/* + * @author ZZQ + * @Date 2022/12/26 9:29 上午 + */ +public class DictConstantPool { + + public static final String DICT_SYS_CODE = "system_type"; + public static final String DICT_SYS_NAME = "所属系统"; +} diff --git a/lms/nladmin-system/src/main/java/org/nl/common/domain/entity/BaseDto.java b/lms/nladmin-system/src/main/java/org/nl/common/domain/entity/BaseDto.java new file mode 100644 index 000000000..ef93a801b --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/common/domain/entity/BaseDto.java @@ -0,0 +1,33 @@ +package org.nl.common.domain.entity; + +import com.alibaba.fastjson.annotation.JSONField; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * @author Zheng Jie + * @date 2019年10月24日20:48:53 + */ +@Data +public class BaseDto implements Serializable { + + private String create_name; + + private String create_id; + + private String update_optname; + + private String update_optid; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JSONField(format = "yyyy-MM-dd HH:mm:ss") + private Date create_time; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JSONField(format = "yyyy-MM-dd HH:mm:ss") + private Date update_time; + +} diff --git a/lms/nladmin-system/src/main/java/org/nl/common/domain/entity/RedisKeyDefine.java b/lms/nladmin-system/src/main/java/org/nl/common/domain/entity/RedisKeyDefine.java new file mode 100644 index 000000000..99c7c09ce --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/common/domain/entity/RedisKeyDefine.java @@ -0,0 +1,112 @@ +package org.nl.common.domain.entity; + +import com.fasterxml.jackson.annotation.JsonValue; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.Getter; + +import java.time.Duration; + +/** + * @Author: lyd + * @Description: Redis Key 定义类 + * @Date: 2022-08-04 + */ +@Data +public class RedisKeyDefine { + + @Getter + @AllArgsConstructor + public enum KeyTypeEnum { + + STRING("String"), + LIST("List"), + HASH("Hash"), + SET("Set"), + ZSET("Sorted Set"), + STREAM("Stream"), + PUBSUB("Pub/Sub"); + + /** + * 类型 + */ + @JsonValue + private final String type; + + } + + @Getter + @AllArgsConstructor + public enum TimeoutTypeEnum { + + FOREVER(1), // 永不超时 + DYNAMIC(2), // 动态超时 + FIXED(3); // 固定超时 + + /** + * 类型 + */ + @JsonValue + private final Integer type; + + } + + /** + * Key 模板 + */ + private final String keyTemplate; + /** + * Key 类型的枚举 + */ + private final KeyTypeEnum keyType; + /** + * Value 类型 + * + * 如果是使用分布式锁,设置为 {@link java.util.concurrent.locks.Lock} 类型 + */ + private final Class valueType; + /** + * 超时类型 + */ + private final TimeoutTypeEnum timeoutType; + /** + * 过期时间 + */ + private final Duration timeout; + /** + * 备注 + */ + private final String memo; + + private RedisKeyDefine(String memo, String keyTemplate, KeyTypeEnum keyType, Class valueType, + TimeoutTypeEnum timeoutType, Duration timeout) { + this.memo = memo; + this.keyTemplate = keyTemplate; + this.keyType = keyType; + this.valueType = valueType; + this.timeout = timeout; + this.timeoutType = timeoutType; + // 添加注册表 + RedisKeyRegistry.add(this); + } + + public RedisKeyDefine(String memo, String keyTemplate, KeyTypeEnum keyType, Class valueType, Duration timeout) { + this(memo, keyTemplate, keyType, valueType, TimeoutTypeEnum.FIXED, timeout); + } + + public RedisKeyDefine(String memo, String keyTemplate, KeyTypeEnum keyType, Class valueType, TimeoutTypeEnum timeoutType) { + this(memo, keyTemplate, keyType, valueType, timeoutType, Duration.ZERO); + } + + /** + * 格式化 Key + * + * 注意,内部采用 {@link String#format(String, Object...)} 实现 + * + * @param args 格式化的参数 + * @return Key + */ + public String formatKey(Object... args) { + return String.format(keyTemplate, args); + } +} diff --git a/lms/nladmin-system/src/main/java/org/nl/common/domain/entity/RedisKeyRegistry.java b/lms/nladmin-system/src/main/java/org/nl/common/domain/entity/RedisKeyRegistry.java new file mode 100644 index 000000000..857859173 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/common/domain/entity/RedisKeyRegistry.java @@ -0,0 +1,28 @@ +package org.nl.common.domain.entity; + +import java.util.ArrayList; +import java.util.List; + +/** + * @Author: lyd + * @Description: {@link RedisKeyDefine} 注册表 + * @Date: 2022-08-04 + */ +public class RedisKeyRegistry { + /** + * Redis RedisKeyDefine 数组 + */ + private static final List defines = new ArrayList<>(); + + public static void add(RedisKeyDefine define) { + defines.add(define); + } + + public static List list() { + return defines; + } + + public static int size() { + return defines.size(); + } +} diff --git a/lms/nladmin-system/src/main/java/org/nl/common/domain/query/BaseQuery.java b/lms/nladmin-system/src/main/java/org/nl/common/domain/query/BaseQuery.java new file mode 100644 index 000000000..08ad6082b --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/common/domain/query/BaseQuery.java @@ -0,0 +1,73 @@ +package org.nl.common.domain.query; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.LambdaUtils; +import com.baomidou.mybatisplus.core.toolkit.support.ColumnCache; +import lombok.Data; +import org.nl.common.enums.QueryTEnum; +import org.nl.common.utils.MapOf; +import sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl; + +import java.lang.reflect.Type; +import java.util.Date; +import java.util.Map; + +/* + * @author ZZQ + * @Date 2022/12/14 6:33 下午 + * 泛型必须为数据tb对应do:由mybatis管理 + */ +@Data +public class BaseQuery { + /** + * 模糊查询 + */ + private String blurry; + /** + * 是否启用 + */ + private Boolean isUsed; + /** + * 创建时间范围查询 + */ + private Date startTime; + private Date endTime; + + + /** + * 字段映射Map:指定字段对应QueryWrapper的查询类型 + * 字段与数据库字段对应,不支持驼峰 + * @see QueryTEnum + * 通过buid构建 + */ + public Map doP = MapOf.of("blurry", QParam.builder().k(new String[]{"name"}).type(QueryTEnum.LK).build() + ,"startTime", QParam.builder().k(new String[]{"create_time"}).type(QueryTEnum.LT).build() + ,"endTime", QParam.builder().k(new String[]{"create_time"}).type(QueryTEnum.LE).build() + ,"sort", QParam.builder().k(new String[]{"sort"}).type(QueryTEnum.BY).build() + ); + + public QueryWrapper build(){ + this.paramMapping(); + QueryWrapper wrapper = new QueryWrapper<>(); + JSONObject json = (JSONObject)JSONObject.toJSON(this); + Type[] types = ((ParameterizedTypeImpl) this.getClass().getGenericSuperclass()).getActualTypeArguments(); + Map columnMap = LambdaUtils.getColumnMap((Class) types[0]); + json.forEach((key, vel) -> { + if (vel != null && !key.equals("doP")){ + QParam qParam = doP.get(key); + if (qParam != null){ + QueryTEnum.build(qParam.type,wrapper,qParam.k,vel); + }else { + ColumnCache columnCache = columnMap.get(LambdaUtils.formatKey(key)); + if (columnCache!=null){ + wrapper.eq(columnCache.getColumn(),vel); + } + } + } + }); + return wrapper; + } + + public void paramMapping(){}; +} diff --git a/lms/nladmin-system/src/main/java/org/nl/common/domain/query/LConsumer.java b/lms/nladmin-system/src/main/java/org/nl/common/domain/query/LConsumer.java new file mode 100644 index 000000000..94e775cc3 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/common/domain/query/LConsumer.java @@ -0,0 +1,14 @@ +package org.nl.common.domain.query; + +import java.util.Objects; + +/* + * @author ZZQ + * @Date 2022/12/14 8:40 下午 + */ +@FunctionalInterface +public interface LConsumer { + + void accept(X x,Y y,Z z); + +} diff --git a/lms/nladmin-system/src/main/java/org/nl/common/domain/query/PageQuery.java b/lms/nladmin-system/src/main/java/org/nl/common/domain/query/PageQuery.java new file mode 100644 index 000000000..e268c0be7 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/common/domain/query/PageQuery.java @@ -0,0 +1,111 @@ +package org.nl.common.domain.query; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.core.metadata.OrderItem; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.Data; +import org.apache.commons.lang3.StringUtils; + +import java.io.Serializable; +import java.lang.reflect.Field; +import java.util.Locale; + + +/** + * 分页参数 + */ +@Data +public class PageQuery implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 分页大小 + */ + private Integer size; + + /** + * 当前页数 + */ + private Integer page; + + /** + * 排序列 + */ + private String sort; + + /** + * 排序的方向desc或者asc + */ + private Boolean isAsc; + + /** + * 当前记录起始索引 默认值 + */ + public static final int DEFAULT_PAGE_NUM = 1; + + /** + * 每页显示记录数 默认值 默认查全部 + */ + public static final int DEFAULT_PAGE_SIZE = Integer.MAX_VALUE; + + public Page build() { + Integer pageNum = ObjectUtil.defaultIfNull(getPage(), DEFAULT_PAGE_NUM); + Integer pageSize = ObjectUtil.defaultIfNull(getSize(), DEFAULT_PAGE_SIZE); + if (pageNum <= 0) { + pageNum = DEFAULT_PAGE_NUM; + } + Page page = new Page<>(pageNum, pageSize); + if (StringUtils.isNotEmpty(sort)){ + String[] split = sort.split(","); + for (int i = 0; i < (split.length & ~1); i=i+2) { + String col = split[i]; + OrderItem item = new OrderItem(); + item.setColumn(col); + item.setAsc(split[i+1].toLowerCase(Locale.ROOT).equals("asc")); + page.addOrder(item); + } + } + return page; + } + + public Page build(Class r) { + Integer pageNum = ObjectUtil.defaultIfNull(getPage(), DEFAULT_PAGE_NUM); + Integer pageSize = ObjectUtil.defaultIfNull(getSize(), DEFAULT_PAGE_SIZE); + if (pageNum <= 0) { + pageNum = DEFAULT_PAGE_NUM; + } + Page page = new Page<>(pageNum, pageSize); + if (StringUtils.isNotEmpty(sort)){ + String[] split = sort.split(","); + for (int i = 0; i < (split.length & ~1); i=i+2) { + String col = split[i]; + if ("id".equals(col)){ + String mId = mappingId(r); + col = StringUtils.isNotEmpty(mId)?mId:col; + } + OrderItem item = new OrderItem(); + item.setColumn(col); + item.setAsc(split[i+1].toLowerCase(Locale.ROOT).equals("asc")); + page.addOrder(item); + } + + } + return page; + } + + private String mappingId(R r){ + if (r instanceof Class){ + Field[] fields = ((Class) r).getDeclaredFields(); + for (Field field : fields) { + TableId[] byType = field.getAnnotationsByType(TableId.class); + if (byType !=null && byType.length>0){ + TableId tableId = byType[0]; + return tableId.value(); + } + } + } + return null; + } +} diff --git a/lms/nladmin-system/src/main/java/org/nl/common/domain/query/QParam.java b/lms/nladmin-system/src/main/java/org/nl/common/domain/query/QParam.java new file mode 100644 index 000000000..dee5c8d4d --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/common/domain/query/QParam.java @@ -0,0 +1,17 @@ +package org.nl.common.domain.query; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.nl.common.enums.QueryTEnum; + +/* + * @author ZZQ + * @Date 2022/12/15 1:41 下午 + */ +@Builder +public class QParam { + public String[] k; + public QueryTEnum type; +} diff --git a/lms/nladmin-system/src/main/java/org/nl/common/enums/QueryTEnum.java b/lms/nladmin-system/src/main/java/org/nl/common/enums/QueryTEnum.java new file mode 100644 index 000000000..5a56212c2 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/common/enums/QueryTEnum.java @@ -0,0 +1,35 @@ +package org.nl.common.enums; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import lombok.Getter; +import org.apache.commons.lang3.StringUtils; +import org.nl.common.domain.query.LConsumer; + +import java.util.Collection; + +/* + * @author ZZQ + * @Date 2022/12/14 8:26 下午 + */ +@Getter +public enum QueryTEnum { + // + EQ((q, k, v) -> { q.eq(k[0],v); }), + IN((q, key, o) -> { if (o instanceof Collection){ q.in(key[0],(Collection) o); } }), + LK((q, keys, o) -> { for (String key : keys) { q.like(key,o); } }), + LE((q, k, v) -> { q.le(k[0],v); }), + BY((q, k, v) -> { q.orderByDesc(k[0],v); }), + NO((q, k, v) -> { q.isNull(k[0]); }), + LT((q, k, v) -> { q.lt(k[0],v); }), + OREQ((q, k, v) -> { if (StringUtils.isBlank((String)v)){ q.isNull(k[0]); }else { q.eq(k[0],v); } }); + + private LConsumer doP; + + QueryTEnum(LConsumer doP) { + this.doP = doP; + } + + public static void build(QueryTEnum type, QueryWrapper q, String[] k , Object v){ + type.getDoP().accept(q,k,v); + } +} diff --git a/lms/nladmin-system/src/main/java/org/nl/common/utils/CopyUtil.java b/lms/nladmin-system/src/main/java/org/nl/common/utils/CopyUtil.java new file mode 100644 index 000000000..69f315319 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/common/utils/CopyUtil.java @@ -0,0 +1,36 @@ +package org.nl.common.utils; + +import org.springframework.beans.BeanUtils; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.Iterator; +import java.util.List; + +/* + * @author ZZQ + * @Date 2022/12/1 3:35 下午 + */ +public class CopyUtil { + public static List copyList(final Collection sources, final Class clazz) { + if (sources == null) { + return new ArrayList(0); + } else { + List list = new ArrayList(sources.size()); + Iterator var3 = sources.iterator(); + + while(var3.hasNext()) { + Object source = var3.next(); + + try { + T dest = clazz.newInstance(); + BeanUtils.copyProperties(source, dest); + list.add(dest); + } catch (Throwable var6) { + } + } + return list; + } + } + +} diff --git a/lms/nladmin-system/src/main/java/org/nl/common/utils/DesUtil.java b/lms/nladmin-system/src/main/java/org/nl/common/utils/DesUtil.java new file mode 100644 index 000000000..35f7c49bc --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/common/utils/DesUtil.java @@ -0,0 +1,129 @@ +package org.nl.common.utils; + +// +// Source code recreated from a .class file by IntelliJ IDEA +// (powered by FernFlower decompiler) +// + + +import sun.misc.BASE64Decoder; +import sun.misc.BASE64Encoder; + +import javax.crypto.Cipher; +import javax.crypto.SecretKey; +import javax.crypto.SecretKeyFactory; +import javax.crypto.spec.DESKeySpec; +import javax.crypto.spec.IvParameterSpec; +import java.io.IOException; +import java.security.SecureRandom; + +/** + * Des加密解密算法工具类 + */ +public class DesUtil { + //加密算法是des + private static final String ALGORITHM = "DES"; + //转换格式 + private static final String TRANSFORMATION = "DES/CBC/PKCS5Padding"; + + /** + * 加密 + * + * @param src 数据源 + * @param key 密钥,长度必须是8的倍数 + * @return 返回加密后的数据 + * @throws Exception 出错 + */ + public static byte[] encrypt(byte[] src, byte[] key) throws Exception { + // DES算法要求有一个可信任的随机数源 + SecureRandom sr = new SecureRandom(); + // 从原始密匙数据建立 DESKeySpec对象 + DESKeySpec dks = new DESKeySpec(key); + // 建立一个密匙工厂,然后用它把DESKeySpec转换成 + // 一个SecretKey对象 + SecretKeyFactory keyFactory = SecretKeyFactory.getInstance(ALGORITHM); + SecretKey securekey = keyFactory.generateSecret(dks); + // Cipher对象实际完成加密操作 + Cipher cipher = Cipher.getInstance(TRANSFORMATION); + // 用密匙原始化Cipher对象 + cipher.init(Cipher.ENCRYPT_MODE, securekey, new IvParameterSpec(key)); + // 现在,获取数据并加密 + // 正式执行加密操作 + return cipher.doFinal(src); + } + + /** + * 解密 + * + * @param src 数据源 + * @param key 密钥,长度必须是8的倍数 + * @return 返回解密后的原始数据 + * @throws Exception 出错 + */ + public static byte[] decrypt(byte[] src, byte[] key) throws Exception { + // DES算法要求有一个可信任的随机数源 + SecureRandom sr = new SecureRandom(); + // 从原始密匙数据建立一个DESKeySpec对象 + DESKeySpec dks = new DESKeySpec(key); + // 建立一个密匙工厂,然后用它把DESKeySpec对象转换成 + // 一个SecretKey对象 + SecretKeyFactory keyFactory = SecretKeyFactory.getInstance(ALGORITHM); + SecretKey securekey = keyFactory.generateSecret(dks); + // Cipher对象实际完成解密操作 + Cipher cipher = Cipher.getInstance(TRANSFORMATION); + // 用密匙原始化Cipher对象 + cipher.init(Cipher.DECRYPT_MODE, securekey, new IvParameterSpec(key)); + // 现在,获取数据并解密 + // 正式执行解密操作 + return cipher.doFinal(src); + } + + /** + * Description 根据键值进行加密 + * + * @param data + * @param key 加密键byte数组 + * @return + * @throws Exception + */ + public static String encrypt(String data, String key) throws Exception { + byte[] bt = encrypt(data.getBytes("UTF-8"), key.getBytes("UTF-8")); + + BASE64Encoder encoder = new BASE64Encoder(); + return encoder.encode(bt); + + //return new String(Base64.encodeBase64(bt), "UTF-8"); + } + + /** + * Description 根据键值进行解密 + * + * @param data + * @param key 加密键byte数组 + * @return + * @throws IOException + * @throws Exception + */ + public static String decrypt(String data, String key) throws Exception { + if (data == null) + return null; + BASE64Decoder decoder = new BASE64Decoder(); + byte[] buf = decoder.decodeBuffer(data); + + byte[] bt = decrypt(buf, key.getBytes("UTF-8")); + return new String(bt, "UTF-8"); + } + + + public static void main(String[] args) throws Exception { + //uL8fXioyU2M= + String key = "11111111"; + String pp = encrypt("123456", key); + System.out.println("加密:" + pp); + + String mm2 = decrypt(pp, key); + System.out.println("解密:" + mm2); + + } + +} diff --git a/lms/nladmin-system/src/main/java/org/nl/common/utils/IdUtil.java b/lms/nladmin-system/src/main/java/org/nl/common/utils/IdUtil.java new file mode 100644 index 000000000..41f47c0b4 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/common/utils/IdUtil.java @@ -0,0 +1,11 @@ +package org.nl.common.utils; + +public class IdUtil { + public static Long getLongId() { + return cn.hutool.core.util.IdUtil.getSnowflake(1, 1).nextId(); + } + + public static String getStringId() { + return String.valueOf(IdUtil.getLongId()); + } +} diff --git a/lms/nladmin-system/src/main/java/org/nl/common/utils/MapOf.java b/lms/nladmin-system/src/main/java/org/nl/common/utils/MapOf.java new file mode 100644 index 000000000..fc8dc01da --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/common/utils/MapOf.java @@ -0,0 +1,20 @@ +package org.nl.common.utils; + + +import java.io.Serializable; +import java.util.HashMap; + +/* + * @author ZZQ + * @Date 2022/11/29 2:55 下午 + */ +public class MapOf implements Serializable { + + public static HashMap of(K... key){ + HashMap map = new HashMap<>(); + for (int i = 0; i < (key.length & ~1); i=i+2) { + map.put(key[i],key[i+1]); + } + return map; + } +} diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/common/utils/SecurityUtils.java b/lms/nladmin-system/src/main/java/org/nl/common/utils/SecurityUtils.java similarity index 69% rename from lms/nladmin-system/src/main/java/org/nl/modules/common/utils/SecurityUtils.java rename to lms/nladmin-system/src/main/java/org/nl/common/utils/SecurityUtils.java index c97afd49f..ba78697cd 100644 --- a/lms/nladmin-system/src/main/java/org/nl/modules/common/utils/SecurityUtils.java +++ b/lms/nladmin-system/src/main/java/org/nl/common/utils/SecurityUtils.java @@ -1,14 +1,11 @@ -package org.nl.modules.common.utils; +package org.nl.common.utils; import cn.dev33.satoken.stp.StpUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.json.JSONArray; import cn.hutool.json.JSONObject; import lombok.extern.slf4j.Slf4j; -import org.nl.modules.common.utils.dto.CurrentUser; -import org.nl.modules.system.service.dto.UserDto; -import org.nl.modules.system.service.impl.UserServiceImpl; -import org.nl.modules.wql.util.SpringContextHolder; +import org.nl.system.service.user.dto.CurrentUser; import java.util.List; @@ -32,13 +29,7 @@ public class SecurityUtils { return json.toBean(CurrentUser.class); } } catch (Exception e) { - CurrentUser currentUser=new CurrentUser(); - currentUser.setId((long) 2); - currentUser.setNickName("默认用户"); - currentUser.setUsername("default"); - UserDto userDto = SpringContextHolder.getBean(UserServiceImpl.class).findById(2); - currentUser.setUser(userDto); - return currentUser; + return new CurrentUser(); } return null; } @@ -58,7 +49,7 @@ public class SecurityUtils { * @return 系统用户名称 */ public static String getCurrentNickName() { - return getCurrentUser().getNickName(); + return getCurrentUser().getPresonName(); } /** @@ -66,7 +57,7 @@ public class SecurityUtils { * * @return 系统用户Id */ - public static Long getCurrentUserId() { + public static String getCurrentUserId() { return getCurrentUser().getId(); } @@ -76,7 +67,8 @@ public class SecurityUtils { * @return 系统用户Id */ public static Long getDeptId() { - return getCurrentUser().getUser().getDept().getId(); +// return getCurrentUser().getUser().getDept().getId(); + return 1L; } /** diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/common/base/BaseDTO.java b/lms/nladmin-system/src/main/java/org/nl/modules/common/base/BaseDTO.java index ccb2a517b..93f608e94 100644 --- a/lms/nladmin-system/src/main/java/org/nl/modules/common/base/BaseDTO.java +++ b/lms/nladmin-system/src/main/java/org/nl/modules/common/base/BaseDTO.java @@ -1,5 +1,7 @@ package org.nl.modules.common.base; +import com.alibaba.fastjson.annotation.JSONField; +import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Getter; import lombok.Setter; import org.apache.commons.lang3.builder.ToStringBuilder; @@ -7,6 +9,7 @@ import org.apache.commons.lang3.builder.ToStringBuilder; import java.io.Serializable; import java.lang.reflect.Field; import java.sql.Timestamp; +import java.util.Date; /** * @author Zheng Jie @@ -20,22 +23,9 @@ public class BaseDTO implements Serializable { private String updatedBy; - private Timestamp createTime; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date createTime; - private Timestamp updateTime; - - @Override - public String toString() { - ToStringBuilder builder = new ToStringBuilder(this); - Field[] fields = this.getClass().getDeclaredFields(); - try { - for (Field f : fields) { - f.setAccessible(true); - builder.append(f.getName(), f.get(this)).append("\n"); - } - } catch (Exception e) { - builder.append("toString builder encounter an error"); - } - return builder.toString(); - } + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date updateTime; } diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/logging/aspect/LogAspect.java b/lms/nladmin-system/src/main/java/org/nl/modules/logging/aspect/LogAspect.java index 24e8e05f4..53c68b192 100644 --- a/lms/nladmin-system/src/main/java/org/nl/modules/logging/aspect/LogAspect.java +++ b/lms/nladmin-system/src/main/java/org/nl/modules/logging/aspect/LogAspect.java @@ -26,7 +26,7 @@ import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Pointcut; import org.aspectj.lang.reflect.MethodSignature; import org.nl.modules.common.utils.RequestHolder; -import org.nl.modules.common.utils.SecurityUtils; +import org.nl.common.utils.SecurityUtils; import org.nl.modules.common.utils.StringUtils; import org.nl.modules.common.utils.ThrowableUtil; import org.nl.modules.logging.domain.Log; diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/logging/rest/LogController.java b/lms/nladmin-system/src/main/java/org/nl/modules/logging/rest/LogController.java index 27e5d2d84..d7a6f6b97 100644 --- a/lms/nladmin-system/src/main/java/org/nl/modules/logging/rest/LogController.java +++ b/lms/nladmin-system/src/main/java/org/nl/modules/logging/rest/LogController.java @@ -18,7 +18,7 @@ package org.nl.modules.logging.rest; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; -import org.nl.modules.common.utils.SecurityUtils; +import org.nl.common.utils.SecurityUtils; import org.nl.modules.logging.annotation.Log; import org.nl.modules.logging.service.LogService; import org.nl.modules.logging.service.dto.LogQueryCriteria; diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/logicflow/service/impl/StageImageServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/modules/logicflow/service/impl/StageImageServiceImpl.java index 09ab23b3f..7a0843909 100644 --- a/lms/nladmin-system/src/main/java/org/nl/modules/logicflow/service/impl/StageImageServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/modules/logicflow/service/impl/StageImageServiceImpl.java @@ -7,7 +7,7 @@ import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.utils.SecurityUtils; +import org.nl.common.utils.SecurityUtils; import org.nl.modules.logicflow.service.StageImageService; import org.nl.modules.logicflow.service.dto.StageImageDto; import org.nl.modules.wql.core.bean.ResultBean; diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/logicflow/service/impl/StageServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/modules/logicflow/service/impl/StageServiceImpl.java index d37abd98b..9e6eb6abb 100644 --- a/lms/nladmin-system/src/main/java/org/nl/modules/logicflow/service/impl/StageServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/modules/logicflow/service/impl/StageServiceImpl.java @@ -7,7 +7,7 @@ import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.utils.SecurityUtils; +import org.nl.common.utils.SecurityUtils; import org.nl.modules.logicflow.service.StageService; import org.nl.modules.logicflow.service.dto.StageDto; import org.nl.modules.wql.core.bean.ResultBean; diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/quartz/config/JobRunner.java b/lms/nladmin-system/src/main/java/org/nl/modules/quartz/config/JobRunner.java deleted file mode 100644 index 85f1b8b74..000000000 --- a/lms/nladmin-system/src/main/java/org/nl/modules/quartz/config/JobRunner.java +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright 2019-2020 Zheng Jie - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.nl.modules.quartz.config; - -import lombok.RequiredArgsConstructor; -import org.nl.modules.quartz.domain.QuartzJob; -import org.nl.modules.quartz.repository.QuartzJobRepository; -import org.nl.modules.quartz.utils.QuartzManage; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.boot.ApplicationArguments; -import org.springframework.boot.ApplicationRunner; -import org.springframework.core.annotation.Order; -import org.springframework.stereotype.Component; - -import java.util.List; - -/** - * @author Zheng Jie - * @date 2019-01-07 - */ -@Component -@RequiredArgsConstructor -@Order(100) -public class JobRunner implements ApplicationRunner { - private static final Logger log = LoggerFactory.getLogger(JobRunner.class); - private final QuartzJobRepository quartzJobRepository; - private final QuartzManage quartzManage; - - /** - * 项目启动时重新激活启用的定时任务 - * - * @param applicationArguments / - */ - @Override - public void run(ApplicationArguments applicationArguments) { - log.info("--------------------注入定时任务---------------------"); - List quartzJobs = quartzJobRepository.findByIsPauseIsFalse(); - quartzJobs.forEach(quartzManage::addJob); - log.info("--------------------定时任务注入完成---------------------"); - } -} diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/quartz/config/QuartzConfig.java b/lms/nladmin-system/src/main/java/org/nl/modules/quartz/config/QuartzConfig.java deleted file mode 100644 index 27baea90b..000000000 --- a/lms/nladmin-system/src/main/java/org/nl/modules/quartz/config/QuartzConfig.java +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Copyright 2019-2020 Zheng Jie - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.nl.modules.quartz.config; - -import org.quartz.Scheduler; -import org.quartz.spi.TriggerFiredBundle; -import org.springframework.beans.factory.config.AutowireCapableBeanFactory; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.scheduling.quartz.AdaptableJobFactory; -import org.springframework.scheduling.quartz.SchedulerFactoryBean; -import org.springframework.stereotype.Component; - -/** - * 定时任务配置 - * @author / - * @date 2019-01-07 - */ -@Configuration -public class QuartzConfig { - - /** - * 解决Job中注入Spring Bean为null的问题 - */ - @Component("quartzJobFactory") - public static class QuartzJobFactory extends AdaptableJobFactory { - - private final AutowireCapableBeanFactory capableBeanFactory; - - public QuartzJobFactory(AutowireCapableBeanFactory capableBeanFactory) { - this.capableBeanFactory = capableBeanFactory; - } - - @Override - protected Object createJobInstance(TriggerFiredBundle bundle) throws Exception { - - //调用父类的方法 - Object jobInstance = super.createJobInstance(bundle); - capableBeanFactory.autowireBean(jobInstance); - return jobInstance; - } - } - - /** - * 注入scheduler到spring - * @param quartzJobFactory / - * @return Scheduler - * @throws Exception / - */ - @Bean(name = "scheduler") - public Scheduler scheduler(QuartzJobFactory quartzJobFactory) throws Exception { - SchedulerFactoryBean factoryBean=new SchedulerFactoryBean(); - factoryBean.setJobFactory(quartzJobFactory); - factoryBean.afterPropertiesSet(); - Scheduler scheduler=factoryBean.getScheduler(); - scheduler.start(); - return scheduler; - } -} diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/quartz/domain/QuartzJob.java b/lms/nladmin-system/src/main/java/org/nl/modules/quartz/domain/QuartzJob.java deleted file mode 100644 index bce16045d..000000000 --- a/lms/nladmin-system/src/main/java/org/nl/modules/quartz/domain/QuartzJob.java +++ /dev/null @@ -1,86 +0,0 @@ -/* - * Copyright 2019-2020 Zheng Jie - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.nl.modules.quartz.domain; - -import io.swagger.annotations.ApiModelProperty; -import lombok.Getter; -import lombok.Setter; -import org.nl.modules.common.base.BaseEntity; - -import javax.persistence.*; -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotNull; -import java.io.Serializable; - -/** - * @author Zheng Jie - * @date 2019-01-07 - */ -@Getter -@Setter -@Entity -@Table(name = "sys_quartz_job") -public class QuartzJob extends BaseEntity implements Serializable { - - public static final String JOB_KEY = "JOB_KEY"; - - @Id - @Column(name = "job_id") - @NotNull(groups = {Update.class}) - @GeneratedValue(strategy = GenerationType.IDENTITY) - private Long id; - - @Transient - @ApiModelProperty(value = "用于子任务唯一标识", hidden = true) - private String uuid; - - @ApiModelProperty(value = "定时器名称") - private String jobName; - - @NotBlank - @ApiModelProperty(value = "Bean名称") - private String beanName; - - @NotBlank - @ApiModelProperty(value = "方法名称") - private String methodName; - - @ApiModelProperty(value = "参数") - private String params; - - @NotBlank - @ApiModelProperty(value = "cron表达式") - private String cronExpression; - - @ApiModelProperty(value = "状态,暂时或启动") - private Boolean isPause = false; - - @ApiModelProperty(value = "负责人") - private String personInCharge; - - @ApiModelProperty(value = "报警邮箱") - private String email; - - @ApiModelProperty(value = "子任务") - private String subTask; - - @ApiModelProperty(value = "失败后暂停") - private Boolean pauseAfterFailure; - - @NotBlank - @ApiModelProperty(value = "备注") - private String description; -} \ No newline at end of file diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/quartz/domain/QuartzLog.java b/lms/nladmin-system/src/main/java/org/nl/modules/quartz/domain/QuartzLog.java deleted file mode 100644 index fbdb2d1e4..000000000 --- a/lms/nladmin-system/src/main/java/org/nl/modules/quartz/domain/QuartzLog.java +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Copyright 2019-2020 Zheng Jie - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.nl.modules.quartz.domain; - -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; -import org.hibernate.annotations.CreationTimestamp; - -import javax.persistence.*; -import java.io.Serializable; -import java.sql.Timestamp; - -/** - * @author Zheng Jie - * @date 2019-01-07 - */ -@Entity -@Data -@Table(name = "sys_quartz_log") -public class QuartzLog implements Serializable { - - @Id - @Column(name = "log_id") - @ApiModelProperty(value = "ID", hidden = true) - @GeneratedValue(strategy = GenerationType.IDENTITY) - private Long id; - - @ApiModelProperty(value = "任务名称", hidden = true) - private String jobName; - - @ApiModelProperty(value = "bean名称", hidden = true) - private String beanName; - - @ApiModelProperty(value = "方法名称", hidden = true) - private String methodName; - - @ApiModelProperty(value = "参数", hidden = true) - private String params; - - @ApiModelProperty(value = "cron表达式", hidden = true) - private String cronExpression; - - @ApiModelProperty(value = "状态", hidden = true) - private Boolean isSuccess; - - @ApiModelProperty(value = "异常详情", hidden = true) - private String exceptionDetail; - - @ApiModelProperty(value = "执行耗时", hidden = true) - private Long time; - - @CreationTimestamp - @ApiModelProperty(value = "创建时间", hidden = true) - private Timestamp createTime; -} diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/quartz/repository/QuartzJobRepository.java b/lms/nladmin-system/src/main/java/org/nl/modules/quartz/repository/QuartzJobRepository.java deleted file mode 100644 index a63fcf291..000000000 --- a/lms/nladmin-system/src/main/java/org/nl/modules/quartz/repository/QuartzJobRepository.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Copyright 2019-2020 Zheng Jie - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.nl.modules.quartz.repository; - -import org.nl.modules.quartz.domain.QuartzJob; -import org.springframework.data.jpa.repository.JpaRepository; -import org.springframework.data.jpa.repository.JpaSpecificationExecutor; - -import java.util.List; - -/** - * @author Zheng Jie - * @date 2019-01-07 - */ -public interface QuartzJobRepository extends JpaRepository, JpaSpecificationExecutor { - - /** - * 查询启用的任务 - * @return List - */ - List findByIsPauseIsFalse(); -} diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/quartz/repository/QuartzLogRepository.java b/lms/nladmin-system/src/main/java/org/nl/modules/quartz/repository/QuartzLogRepository.java deleted file mode 100644 index 54c5101fb..000000000 --- a/lms/nladmin-system/src/main/java/org/nl/modules/quartz/repository/QuartzLogRepository.java +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright 2019-2020 Zheng Jie - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.nl.modules.quartz.repository; - -import org.nl.modules.quartz.domain.QuartzLog; -import org.springframework.data.jpa.repository.JpaRepository; -import org.springframework.data.jpa.repository.JpaSpecificationExecutor; - -/** - * @author Zheng Jie - * @date 2019-01-07 - */ -public interface QuartzLogRepository extends JpaRepository, JpaSpecificationExecutor { - -} diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/quartz/service/QuartzJobService.java b/lms/nladmin-system/src/main/java/org/nl/modules/quartz/service/QuartzJobService.java deleted file mode 100644 index 74ec177f6..000000000 --- a/lms/nladmin-system/src/main/java/org/nl/modules/quartz/service/QuartzJobService.java +++ /dev/null @@ -1,117 +0,0 @@ -/* - * Copyright 2019-2020 Zheng Jie - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.nl.modules.quartz.service; - -import org.nl.modules.quartz.domain.QuartzJob; -import org.nl.modules.quartz.domain.QuartzLog; -import org.nl.modules.quartz.service.dto.JobQueryCriteria; -import org.springframework.data.domain.Pageable; - -import java.util.List; -import java.util.Set; - -/** - * @author Zheng Jie - * @date 2019-01-07 - */ -public interface QuartzJobService { - - /** - * 分页查询 - * - * @param criteria 条件 - * @param pageable 分页参数 - * @return / - */ - Object queryAll(JobQueryCriteria criteria, Pageable pageable); - - /** - * 查询全部 - * - * @param criteria 条件 - * @return / - */ - List queryAll(JobQueryCriteria criteria); - - /** - * 分页查询日志 - * - * @param criteria 条件 - * @param pageable 分页参数 - * @return / - */ - Object queryAllLog(JobQueryCriteria criteria, Pageable pageable); - - /** - * 查询全部 - * - * @param criteria 条件 - * @return / - */ - List queryAllLog(JobQueryCriteria criteria); - - /** - * 创建 - * - * @param resources / - */ - void create(QuartzJob resources); - - /** - * 编辑 - * - * @param resources / - */ - void update(QuartzJob resources); - - /** - * 删除任务 - * - * @param ids / - */ - void delete(Set ids); - - /** - * 根据ID查询 - * - * @param id ID - * @return / - */ - QuartzJob findById(Long id); - - /** - * 更改定时任务状态 - * - * @param quartzJob / - */ - void updateIsPause(QuartzJob quartzJob); - - /** - * 立即执行定时任务 - * - * @param quartzJob / - */ - void execution(QuartzJob quartzJob); - - - /** - * 执行子任务 - * - * @param tasks / - * @throws InterruptedException / - */ - void executionSubJob(String[] tasks) throws InterruptedException; -} diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/quartz/service/dto/JobQueryCriteria.java b/lms/nladmin-system/src/main/java/org/nl/modules/quartz/service/dto/JobQueryCriteria.java deleted file mode 100644 index 2279effc9..000000000 --- a/lms/nladmin-system/src/main/java/org/nl/modules/quartz/service/dto/JobQueryCriteria.java +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright 2019-2020 Zheng Jie - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.nl.modules.quartz.service.dto; - -import lombok.Data; -import org.nl.modules.common.annotation.Query; - -import java.sql.Timestamp; -import java.util.List; - -/** - * @author Zheng Jie - * @date 2019-6-4 10:33:02 - */ -@Data -public class JobQueryCriteria { - - @Query(type = Query.Type.INNER_LIKE) - private String jobName; - - @Query - private Boolean isSuccess; - - @Query(type = Query.Type.BETWEEN) - private List createTime; -} diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/quartz/service/impl/QuartzJobServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/modules/quartz/service/impl/QuartzJobServiceImpl.java deleted file mode 100644 index edc15b6b6..000000000 --- a/lms/nladmin-system/src/main/java/org/nl/modules/quartz/service/impl/QuartzJobServiceImpl.java +++ /dev/null @@ -1,161 +0,0 @@ -/* - * Copyright 2019-2020 Zheng Jie - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.nl.modules.quartz.service.impl; - -import cn.hutool.core.util.IdUtil; -import cn.hutool.core.util.StrUtil; -import lombok.RequiredArgsConstructor; -import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.utils.PageUtil; -import org.nl.modules.common.utils.QueryHelp; -import org.nl.modules.common.utils.RedisUtils; -import org.nl.modules.common.utils.ValidationUtil; -import org.nl.modules.quartz.domain.QuartzJob; -import org.nl.modules.quartz.domain.QuartzLog; -import org.nl.modules.quartz.repository.QuartzJobRepository; -import org.nl.modules.quartz.repository.QuartzLogRepository; -import org.nl.modules.quartz.service.QuartzJobService; -import org.nl.modules.quartz.service.dto.JobQueryCriteria; -import org.nl.modules.quartz.utils.QuartzManage; -import org.quartz.CronExpression; -import org.springframework.data.domain.Pageable; -import org.springframework.scheduling.annotation.Async; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.Arrays; -import java.util.List; -import java.util.Set; - -/** - * @author Zheng Jie - * @date 2019-01-07 - */ -@RequiredArgsConstructor -@Service(value = "quartzJobService") -public class QuartzJobServiceImpl implements QuartzJobService { - - private final QuartzJobRepository quartzJobRepository; - private final QuartzLogRepository quartzLogRepository; - private final QuartzManage quartzManage; - private final RedisUtils redisUtils; - - @Override - public Object queryAll(JobQueryCriteria criteria, Pageable pageable) { - return PageUtil.toPage(quartzJobRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root, criteria, criteriaBuilder), pageable)); - } - - @Override - public Object queryAllLog(JobQueryCriteria criteria, Pageable pageable) { - return PageUtil.toPage(quartzLogRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root, criteria, criteriaBuilder), pageable)); - } - - @Override - public List queryAll(JobQueryCriteria criteria) { - return quartzJobRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root, criteria, criteriaBuilder)); - } - - @Override - public List queryAllLog(JobQueryCriteria criteria) { - return quartzLogRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root, criteria, criteriaBuilder)); - } - - @Override - public QuartzJob findById(Long id) { - QuartzJob quartzJob = quartzJobRepository.findById(id).orElseGet(QuartzJob::new); - ValidationUtil.isNull(quartzJob.getId(), "QuartzJob", "id", id); - return quartzJob; - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void create(QuartzJob resources) { - if (!CronExpression.isValidExpression(resources.getCronExpression())) { - throw new BadRequestException("cron表达式格式错误"); - } - resources = quartzJobRepository.save(resources); - quartzManage.addJob(resources); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void update(QuartzJob resources) { - if (!CronExpression.isValidExpression(resources.getCronExpression())) { - throw new BadRequestException("cron表达式格式错误"); - } - if (StrUtil.isNotEmpty(resources.getSubTask())) { - List tasks = Arrays.asList(resources.getSubTask().split("[,,]")); - if (tasks.contains(resources.getId().toString())) { - throw new BadRequestException("子任务中不能添加当前任务ID"); - } - } - resources = quartzJobRepository.save(resources); - quartzManage.updateJobCron(resources); - } - - @Override - public void updateIsPause(QuartzJob quartzJob) { - if (quartzJob.getIsPause()) { - quartzManage.resumeJob(quartzJob); - quartzJob.setIsPause(false); - } else { - quartzManage.pauseJob(quartzJob); - quartzJob.setIsPause(true); - } - quartzJobRepository.save(quartzJob); - } - - @Override - public void execution(QuartzJob quartzJob) { - quartzManage.runJobNow(quartzJob); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void delete(Set ids) { - for (Long id : ids) { - QuartzJob quartzJob = findById(id); - quartzManage.deleteJob(quartzJob); - quartzJobRepository.delete(quartzJob); - } - } - - @Async - @Override - @Transactional(rollbackFor = Exception.class) - public void executionSubJob(String[] tasks) throws InterruptedException { - for (String id : tasks) { - QuartzJob quartzJob = findById(Long.parseLong(id)); - // 执行任务 - String uuid = IdUtil.simpleUUID(); - quartzJob.setUuid(uuid); - // 执行任务 - execution(quartzJob); - // 获取执行状态,如果执行失败则停止后面的子任务执行 - Boolean result = (Boolean) redisUtils.get(uuid); - while (result == null) { - // 休眠5秒,再次获取子任务执行情况 - Thread.sleep(5000); - result = (Boolean) redisUtils.get(uuid); - } - if (!result) { - redisUtils.del(uuid); - break; - } - } - } - -} diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/quartz/task/TestTask.java b/lms/nladmin-system/src/main/java/org/nl/modules/quartz/task/TestTask.java deleted file mode 100644 index 0d67ce09e..000000000 --- a/lms/nladmin-system/src/main/java/org/nl/modules/quartz/task/TestTask.java +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright 2019-2020 Zheng Jie - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.nl.modules.quartz.task; - -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Component; - -/** - * 测试用 - * @author Zheng Jie - * @date 2019-01-08 - */ -@Slf4j -@Component -public class TestTask { - - public void run(){ - log.info("run 执行成功"); - } - - public void run1(String str){ - log.info("run1 执行成功,参数为: {}" + str); - } - - public void run2(){ - log.info("run2 执行成功"); - } -} diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/quartz/utils/QuartzRunnable.java b/lms/nladmin-system/src/main/java/org/nl/modules/quartz/utils/QuartzRunnable.java deleted file mode 100644 index e2ef49bad..000000000 --- a/lms/nladmin-system/src/main/java/org/nl/modules/quartz/utils/QuartzRunnable.java +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Copyright 2019-2020 Zheng Jie - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.nl.modules.quartz.utils; - -import cn.hutool.core.util.StrUtil; -import lombok.extern.slf4j.Slf4j; -import org.nl.modules.wql.util.SpringContextHolder; -import org.springframework.util.ReflectionUtils; - -import java.lang.reflect.Method; -import java.util.concurrent.Callable; - -/** - * 执行定时任务 - * @author / - */ -@Slf4j -public class QuartzRunnable implements Callable { - - private final Object target; - private final Method method; - private final String params; - - QuartzRunnable(String beanName, String methodName, String params) - throws NoSuchMethodException, SecurityException { - this.target = SpringContextHolder.getBean(beanName); - this.params = params; - - if (StrUtil.isNotEmpty(params)) { - this.method = target.getClass().getDeclaredMethod(methodName, String.class); - } else { - this.method = target.getClass().getDeclaredMethod(methodName); - } - } - - @Override - public Object call() throws Exception { - ReflectionUtils.makeAccessible(method); - if (StrUtil.isNotEmpty(params)) { - method.invoke(target, params); - } else { - method.invoke(target); - } - return null; - } -} diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/security/rest/AuthorizationController.java b/lms/nladmin-system/src/main/java/org/nl/modules/security/rest/AuthorizationController.java deleted file mode 100644 index e87128f6a..000000000 --- a/lms/nladmin-system/src/main/java/org/nl/modules/security/rest/AuthorizationController.java +++ /dev/null @@ -1,170 +0,0 @@ -/* - * Copyright 2019-2020 Zheng Jie - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.nl.modules.security.rest; - -import cn.dev33.satoken.secure.SaSecureUtil; -import cn.dev33.satoken.stp.SaLoginModel; -import cn.dev33.satoken.stp.StpUtil; -import cn.hutool.core.util.IdUtil; -import cn.hutool.core.util.StrUtil; -import com.alibaba.fastjson.JSONObject; -import com.wf.captcha.base.Captcha; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.nl.modules.common.config.RsaProperties; -import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.utils.RedisUtils; -import org.nl.modules.common.utils.RsaUtils; -import org.nl.modules.common.utils.SecurityUtils; -import org.nl.modules.common.utils.dto.CurrentUser; -import org.nl.modules.security.config.bean.LoginCodeEnum; -import org.nl.modules.security.config.bean.LoginProperties; -import org.nl.modules.security.service.OnlineUserService; -import org.nl.modules.security.service.dto.AuthUserDto; -import org.nl.modules.system.service.RoleService; -import org.nl.modules.system.service.UserService; -import org.nl.modules.system.service.dto.UserDto; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletRequest; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.concurrent.TimeUnit; - -/** - * @author Zheng Jie - * @date 2018-11-23 - * 授权、根据token获取用户详细信息 - */ -@Slf4j -@RestController -@RequestMapping("/auth") -@RequiredArgsConstructor -@Api(tags = "系统:系统授权接口") -public class AuthorizationController { - private final RedisUtils redisUtils; - private final OnlineUserService onlineUserService; - private final UserService userService; - private final RoleService roleService; - - @Resource - private LoginProperties loginProperties; - - @ApiOperation("登录授权") - @PostMapping(value = "/login") - public ResponseEntity login(@Validated @RequestBody AuthUserDto authUser, HttpServletRequest request) throws Exception { - // 密码解密 - 前端的加密规则: encrypt - String password = RsaUtils.decryptByPrivateKey(RsaProperties.privateKey, authUser.getPassword()); - // 查询验证码 - String code = (String) redisUtils.get(authUser.getUuid()); - // 清除验证码 - redisUtils.del(authUser.getUuid()); - if (StrUtil.isEmpty(code)) { - throw new BadRequestException("验证码不存在或已过期"); - } - if (StrUtil.isEmpty(authUser.getCode()) || !authUser.getCode().equalsIgnoreCase(code)) { - throw new BadRequestException("验证码错误"); - } - // 校验数据库 - // 根据用户名查询,在比对密码 - UserDto userDto = userService.findByName(authUser.getUsername()); // 拿不到已经抛出异常 - if (!userDto.getPassword().equals(SaSecureUtil.md5BySalt(password, "salt"))) { // 这里需要密码加密 - throw new BadRequestException("账号或密码错误"); - } - - // 判断是否被锁 - if (!userDto.getEnabled()) throw new BadRequestException("账号未激活"); - - // 获取权限列表 - 登录查找权限 - List permissionList = roleService.getPermissionList(userDto); - - // 登录输入,登出删除 - CurrentUser user = new CurrentUser(); - user.setId(userDto.getId()); - user.setUsername(userDto.getUsername()); - user.setNickName(userDto.getNickName()); - user.setUser(userDto); - user.setPermissions(permissionList); - - // SaLoginModel 配置登录相关参数 - StpUtil.login(userDto.getId(), new SaLoginModel() - .setDevice("PC") // 此次登录的客户端设备类型, 用于[同端互斥登录]时指定此次登录的设备类型 - .setExtra("loginInfo", user) // Token挂载的扩展参数 (此方法只有在集成jwt插件时才会生效) - ); - - // 返回 token 与 用户信息 - JSONObject jsonObject = new JSONObject(); - jsonObject.put("roles", permissionList); - jsonObject.put("user", userDto); - Map authInfo = new HashMap(2) {{ - put("token","Bearer "+ StpUtil.getTokenValue()); - put("user", jsonObject); - }}; - - // 使redis获取过期的token - redisUtils.set("my-satoken", StpUtil.getTokenValue(), StpUtil.getTokenTimeout()); - - // 保存在线信息 - onlineUserService.save(userDto, StpUtil.getTokenValue(), request); - return ResponseEntity.ok(authInfo); - } - - @ApiOperation("获取用户信息") - @GetMapping(value = "/info") - public ResponseEntity getUserInfo() { - CurrentUser currentUser = SecurityUtils.getCurrentUser(); - JSONObject jsonObject = new JSONObject(); - jsonObject.put("roles", SecurityUtils.getCurrentUserPermissions()); - jsonObject.put("user", currentUser.getUser()); - return ResponseEntity.ok(jsonObject); - } - - @ApiOperation("获取验证码") - @GetMapping(value = "/code") - public ResponseEntity getCode() { - // 获取运算的结果 - Captcha captcha = loginProperties.getCaptcha(); - String uuid = IdUtil.simpleUUID(); - //当验证码类型为 arithmetic时且长度 >= 2 时,captcha.text()的结果有几率为浮点型 - String captchaValue = captcha.text(); - if (captcha.getCharType() - 1 == LoginCodeEnum.arithmetic.ordinal() && captchaValue.contains(".")) { - captchaValue = captchaValue.split("\\.")[0]; - } - // 保存 - redisUtils.set(uuid, captchaValue, loginProperties.getLoginCode().getExpiration(), TimeUnit.MINUTES); - // 验证码信息 - Map imgResult = new HashMap(2) {{ - put("img", captcha.toBase64()); - put("uuid", uuid); - }}; - return ResponseEntity.ok(imgResult); - } - - @ApiOperation("退出登录") - @DeleteMapping(value = "/logout") - public ResponseEntity logout(HttpServletRequest request) { - onlineUserService.logout(StpUtil.getTokenValue()); - StpUtil.logout(); - return new ResponseEntity<>(HttpStatus.OK); - } -} diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/security/rest/MobileAuthorizationController.java b/lms/nladmin-system/src/main/java/org/nl/modules/security/rest/MobileAuthorizationController.java index fd3da9d72..427b5ea28 100644 --- a/lms/nladmin-system/src/main/java/org/nl/modules/security/rest/MobileAuthorizationController.java +++ b/lms/nladmin-system/src/main/java/org/nl/modules/security/rest/MobileAuthorizationController.java @@ -4,7 +4,9 @@ import cn.dev33.satoken.annotation.SaIgnore; import cn.dev33.satoken.secure.SaSecureUtil; import cn.dev33.satoken.stp.SaLoginModel; import cn.dev33.satoken.stp.StpUtil; +import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; @@ -13,11 +15,12 @@ import org.nl.modules.common.config.RsaProperties; import org.nl.modules.common.exception.BadRequestException; import org.nl.modules.common.utils.RedisUtils; import org.nl.modules.common.utils.RsaUtils; -import org.nl.modules.common.utils.dto.CurrentUser; -import org.nl.modules.security.service.dto.AuthUserDto; -import org.nl.modules.system.service.RoleService; -import org.nl.modules.system.service.UserService; -import org.nl.modules.system.service.dto.UserDto; +import org.nl.system.service.role.ISysRoleService; +import org.nl.system.service.secutiry.dto.AuthUserDto; +import org.nl.system.service.user.ISysUserService; +import org.nl.system.service.user.dao.SysUser; +import org.nl.system.service.user.dto.CurrentUser; +import org.nl.system.service.user.dto.UserDto; import org.springframework.http.ResponseEntity; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.PostMapping; @@ -42,8 +45,8 @@ import java.util.Map; @Api(tags = "手持:系统授权接口") public class MobileAuthorizationController { private final RedisUtils redisUtils; - private final UserService userService; - private final RoleService roleService; + private final ISysUserService userService; + private final ISysRoleService roleService; @ApiOperation("登录授权") @PostMapping(value = "/login") @@ -54,23 +57,23 @@ public class MobileAuthorizationController { String password = RsaUtils.decryptByPrivateKey(RsaProperties.privateKey, authUser.getPassword()); // 校验数据库 // 根据用户名查询,在比对密码 - UserDto userDto = userService.findByName(authUser.getUsername()); // 拿不到已经抛出异常 - if (!userDto.getPassword().equals(SaSecureUtil.md5BySalt(password, "salt"))) { // 这里需要密码加密 + SysUser userDto = userService.getOne(new QueryWrapper().eq("name", authUser.getUsername()));// 拿不到已经抛出异常 + if (userDto==null||!userDto.getPassword().equals(SaSecureUtil.md5BySalt(password, "salt"))) { // 这里需要密码加密 throw new BadRequestException("账号或密码错误"); } // 获取权限列表 - 登录查找权限 - List permissionList = roleService.getPermissionList(userDto); + List permissionList = roleService.getPermissionList(JSONObject.parseObject(JSON.toJSONString(userDto))); // 登录输入,登出删除 CurrentUser user = new CurrentUser(); - user.setId(userDto.getId()); + user.setId(userDto.getUserId()); user.setUsername(userDto.getUsername()); - user.setNickName(userDto.getNickName()); + user.setPresonName(userDto.getPersonName()); user.setUser(userDto); user.setPermissions(permissionList); // SaLoginModel 配置登录相关参数 - StpUtil.login(userDto.getId(), new SaLoginModel() + StpUtil.login(userDto.getUserId(), new SaLoginModel() .setDevice("PE") // 此次登录的客户端设备类型, 用于[同端互斥登录]时指定此次登录的设备类型 .setExtra("loginInfo", user) // Token挂载的扩展参数 (此方法只有在集成jwt插件时才会生效) ); diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/security/satoken/StpInterfaceImpl.java b/lms/nladmin-system/src/main/java/org/nl/modules/security/satoken/StpInterfaceImpl.java index 883256ca5..bfaf36fd9 100644 --- a/lms/nladmin-system/src/main/java/org/nl/modules/security/satoken/StpInterfaceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/modules/security/satoken/StpInterfaceImpl.java @@ -1,7 +1,7 @@ package org.nl.modules.security.satoken; import cn.dev33.satoken.stp.StpInterface; -import org.nl.modules.common.utils.SecurityUtils; +import org.nl.common.utils.SecurityUtils; import org.springframework.stereotype.Component; import java.util.List; diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/security/satoken/utils/FlushSessionUtil.java b/lms/nladmin-system/src/main/java/org/nl/modules/security/satoken/utils/FlushSessionUtil.java index 29a2917cf..ca08234e4 100644 --- a/lms/nladmin-system/src/main/java/org/nl/modules/security/satoken/utils/FlushSessionUtil.java +++ b/lms/nladmin-system/src/main/java/org/nl/modules/security/satoken/utils/FlushSessionUtil.java @@ -2,8 +2,11 @@ package org.nl.modules.security.satoken.utils; import cn.dev33.satoken.stp.StpUtil; import lombok.RequiredArgsConstructor; -import org.nl.modules.common.utils.dto.CurrentUser; -import org.nl.modules.system.service.dto.UserDto; +import net.dreamlu.mica.core.utils.BeanUtil; +import org.apache.commons.beanutils.BeanUtils; +import org.nl.system.service.user.dao.SysUser; +import org.nl.system.service.user.dto.CurrentUser; +import org.nl.system.service.user.dto.UserDto; import org.springframework.stereotype.Component; import java.util.List; @@ -28,7 +31,8 @@ public class FlushSessionUtil { CurrentUser user = new CurrentUser(); user.setId(userDto.getId()); user.setUsername(userDto.getUsername()); - user.setUser(userDto); + SysUser sysUser = BeanUtil.copy(userDto, SysUser.class); + user.setUser(sysUser); user.setPermissions(permissionList); StpUtil.getTokenSession().set("userInfo", user); } diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/security/service/UserCacheClean.java b/lms/nladmin-system/src/main/java/org/nl/modules/security/service/UserCacheClean.java deleted file mode 100644 index 28a0d0ce4..000000000 --- a/lms/nladmin-system/src/main/java/org/nl/modules/security/service/UserCacheClean.java +++ /dev/null @@ -1,49 +0,0 @@ -///* -// * Copyright 2019-2020 the original author or authors. -// * -// * Licensed under the Apache License, Version 2.0 (the "License"); -// * you may not use this file except in compliance with the License. -// * You may obtain a copy of the License at -// * -// * http://www.apache.org/licenses/LICENSE-2.0 -// * -// * Unless required by applicable law or agreed to in writing, software -// * distributed under the License is distributed on an "AS IS" BASIS, -// * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// * See the License for the specific language governing permissions and -// * limitations under the License. -// */ -// -//package org.nl.modules.security.service; -// -//import cn.hutool.core.util.StrUtil; -//import org.springframework.stereotype.Component; -// -///** -// * @author: liaojinlong -// * @date: 2020/6/11 18:01 -// * @apiNote: 用于清理 用户登录信息缓存,为防止Spring循环依赖与安全考虑 ,单独构成工具类 -// */ -//@Component -//public class UserCacheClean { -// -// /** -// * 清理特定用户缓存信息
-// * 用户信息变更时 -// * -// * @param userName / -// */ -// public void cleanUserCache(String userName) { -// if (StrUtil.isNotEmpty(userName)) { -//// UserDetailsServiceImpl.userDtoCache.remove(userName); -// } -// } -// -// /** -// * 清理所有用户的缓存信息
-// * ,如发生角色授权信息变化,可以简便的全部失效缓存 -// */ -//// public void cleanAll() { -//// UserDetailsServiceImpl.userDtoCache.clear(); -//// } -//} diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/system/domain/Dict.java b/lms/nladmin-system/src/main/java/org/nl/modules/system/domain/Dict.java deleted file mode 100644 index a1a4e29a8..000000000 --- a/lms/nladmin-system/src/main/java/org/nl/modules/system/domain/Dict.java +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright 2019-2020 Zheng Jie - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.nl.modules.system.domain; - -import io.swagger.annotations.ApiModelProperty; -import lombok.Getter; -import lombok.Setter; -import org.nl.modules.common.base.BaseEntity; - -import javax.persistence.*; -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotNull; -import java.io.Serializable; -import java.util.List; - -/** -* @author Zheng Jie -* @date 2019-04-10 -*/ -@Entity -@Getter -@Setter -@Table(name="sys_dict") -public class Dict extends BaseEntity implements Serializable { - - @Id - @Column(name = "dict_id") - @NotNull(groups = Update.class) - @ApiModelProperty(value = "ID", hidden = true) - @GeneratedValue(strategy = GenerationType.IDENTITY) - private Long id; - - @OneToMany(mappedBy = "dict",cascade={CascadeType.PERSIST,CascadeType.REMOVE}) - private List dictDetails; - - @NotBlank - @ApiModelProperty(value = "名称") - private String name; - - @ApiModelProperty(value = "描述") - private String description; -} \ No newline at end of file diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/system/domain/DictDetail.java b/lms/nladmin-system/src/main/java/org/nl/modules/system/domain/DictDetail.java deleted file mode 100644 index e56d1d867..000000000 --- a/lms/nladmin-system/src/main/java/org/nl/modules/system/domain/DictDetail.java +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Copyright 2019-2020 Zheng Jie - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.nl.modules.system.domain; - -import io.swagger.annotations.ApiModelProperty; -import lombok.Getter; -import lombok.Setter; -import org.nl.modules.common.base.BaseEntity; - -import javax.persistence.*; -import javax.validation.constraints.NotNull; -import java.io.Serializable; - -/** -* @author Zheng Jie -* @date 2019-04-10 -*/ -@Entity -@Getter -@Setter -@Table(name="sys_dict_detail") -public class DictDetail extends BaseEntity implements Serializable { - - @Id - @Column(name = "detail_id") - @NotNull(groups = Update.class) - @ApiModelProperty(value = "ID", hidden = true) - @GeneratedValue(strategy = GenerationType.IDENTITY) - private Long id; - - @JoinColumn(name = "dict_id") - @ManyToOne(fetch=FetchType.LAZY) - @ApiModelProperty(value = "字典", hidden = true) - private Dict dict; - - @ApiModelProperty(value = "字典标签") - private String label; - - @ApiModelProperty(value = "字典名称") - private String name; - - @ApiModelProperty(value = "字典值") - private String value; - - @ApiModelProperty(value = "排序") - private Integer dictSort = 999; - - -} \ No newline at end of file diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/system/domain/Menu.java b/lms/nladmin-system/src/main/java/org/nl/modules/system/domain/Menu.java deleted file mode 100644 index c7510e6a3..000000000 --- a/lms/nladmin-system/src/main/java/org/nl/modules/system/domain/Menu.java +++ /dev/null @@ -1,112 +0,0 @@ -/* - * Copyright 2019-2020 Zheng Jie - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.nl.modules.system.domain; - -import com.fasterxml.jackson.annotation.JsonIgnore; -import io.swagger.annotations.ApiModelProperty; -import lombok.Getter; -import lombok.Setter; -import org.nl.modules.common.base.BaseEntity; - -import javax.persistence.*; -import javax.validation.constraints.NotNull; -import java.io.Serializable; -import java.util.Objects; -import java.util.Set; - -/** - * @author Zheng Jie - * @date 2018-12-17 - */ -@Entity -@Getter -@Setter -@Table(name = "sys_menu") -public class Menu extends BaseEntity implements Serializable { - - @Id - @Column(name = "menu_id") - @NotNull(groups = {Update.class}) - @ApiModelProperty(value = "ID", hidden = true) - @GeneratedValue(strategy = GenerationType.IDENTITY) - private Long id; - - @JsonIgnore - @ManyToMany(mappedBy = "menus") - @ApiModelProperty(value = "菜单角色") - private Set roles; - - @ApiModelProperty(value = "菜单标题") - private String title; - - @Column(name = "name") - @ApiModelProperty(value = "菜单组件名称") - private String componentName; - - @ApiModelProperty(value = "排序") - private Integer menuSort = 999; - - @ApiModelProperty(value = "组件路径") - private String component; - - @ApiModelProperty(value = "路由地址") - private String path; - - @ApiModelProperty(value = "菜单类型,目录、菜单、按钮") - private Integer type; - - @ApiModelProperty(value = "权限标识") - private String permission; - - @ApiModelProperty(value = "菜单图标") - private String icon; - - @Column(columnDefinition = "bit(1) default 0") - @ApiModelProperty(value = "缓存") - private Boolean cache; - - - - @Column(columnDefinition = "bit(1) default 0") - @ApiModelProperty(value = "是否隐藏") - private Boolean hidden; - - @ApiModelProperty(value = "上级菜单") - private Long pid; - - @ApiModelProperty(value = "子节点数目", hidden = true) - private Integer subCount = 0; - - @ApiModelProperty(value = "外链菜单") - private Boolean iFrame; - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - Menu menu = (Menu) o; - return Objects.equals(id, menu.id); - } - - @Override - public int hashCode() { - return Objects.hash(id); - } -} diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/system/domain/Param.java b/lms/nladmin-system/src/main/java/org/nl/modules/system/domain/Param.java deleted file mode 100644 index 39d79b844..000000000 --- a/lms/nladmin-system/src/main/java/org/nl/modules/system/domain/Param.java +++ /dev/null @@ -1,81 +0,0 @@ -package org.nl.modules.system.domain; - -import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.bean.copier.CopyOptions; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; -import org.nl.modules.common.base.BaseEntity; - -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Id; -import javax.persistence.Table; -import javax.validation.constraints.NotBlank; -import java.io.Serializable; - -/** - * @description / - * @author ldjun - * @date 2021-01-14 - **/ -@Entity -@Data -@Table(name="sys_param") -public class Param extends BaseEntity implements Serializable { - - @Id - @Column(name = "id") - @ApiModelProperty(value = "id") - private String id; - - @Column(name = "code",nullable = false) - @NotBlank - @ApiModelProperty(value = "code") - private String code; - - @Column(name = "name",nullable = false) - @NotBlank - @ApiModelProperty(value = "name") - private String name; - - @Column(name = "value",nullable = false) - @NotBlank - @ApiModelProperty(value = "value") - private String value; - - @Column(name = "remark") - @ApiModelProperty(value = "remark") - private String remark; - - @Column(name = "is_active",nullable = false) - @NotBlank - @ApiModelProperty(value = "is_active") - private String is_active; - - @Column(name = "is_delete",nullable = false) - @NotBlank - @ApiModelProperty(value = "is_delete") - private String is_delete; - - @Column(name = "create_by",nullable = false,updatable = false,insertable = false) - @NotBlank - @ApiModelProperty(value = "create_by") - private String create_by; - - @Column(name = "create_time",nullable = false,updatable = false,insertable = false) - @NotBlank - @ApiModelProperty(value = "create_time") - private String create_time; - - @Column(name = "update_by",updatable = false,insertable = false) - @ApiModelProperty(value = "update_by") - private String update_by; - - @Column(name = "update_time",updatable = false,insertable = false) - @ApiModelProperty(value = "update_time") - private String update_time; - - public void copy(Param source){ - BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true)); - } -} diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/system/domain/Role.java b/lms/nladmin-system/src/main/java/org/nl/modules/system/domain/Role.java deleted file mode 100644 index da649e224..000000000 --- a/lms/nladmin-system/src/main/java/org/nl/modules/system/domain/Role.java +++ /dev/null @@ -1,99 +0,0 @@ -/* - * Copyright 2019-2020 Zheng Jie - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.nl.modules.system.domain; - -import com.fasterxml.jackson.annotation.JsonIgnore; -import io.swagger.annotations.ApiModelProperty; -import lombok.Getter; -import lombok.Setter; -import org.nl.modules.common.base.BaseEntity; -import org.nl.modules.common.utils.enums.DataScopeEnum; - -import javax.persistence.*; -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotNull; -import java.io.Serializable; -import java.util.Objects; -import java.util.Set; - -/** - * 角色 - * @author Zheng Jie - * @date 2018-11-22 - */ -@Getter -@Setter -@Entity -@Table(name = "sys_role") -public class Role extends BaseEntity implements Serializable { - - @Id - @Column(name = "role_id") - @NotNull(groups = {Update.class}) - @GeneratedValue(strategy = GenerationType.IDENTITY) - @ApiModelProperty(value = "ID", hidden = true) - private Long id; - - @JsonIgnore - @ManyToMany(mappedBy = "roles") - @ApiModelProperty(value = "用户", hidden = true) - private Set users; - - @ManyToMany - @JoinTable(name = "sys_roles_menus", - joinColumns = {@JoinColumn(name = "role_id",referencedColumnName = "role_id")}, - inverseJoinColumns = {@JoinColumn(name = "menu_id",referencedColumnName = "menu_id")}) - @ApiModelProperty(value = "菜单", hidden = true) - private Set menus; - - @ManyToMany - @JoinTable(name = "sys_roles_depts", - joinColumns = {@JoinColumn(name = "role_id",referencedColumnName = "role_id")}, - inverseJoinColumns = {@JoinColumn(name = "dept_id",referencedColumnName = "dept_id")}) - @ApiModelProperty(value = "部门", hidden = true) - private Set depts; - - @NotBlank - @ApiModelProperty(value = "名称", hidden = true) - private String name; - - @ApiModelProperty(value = "数据权限,全部 、 本级 、 自定义") - private String dataScope = DataScopeEnum.THIS_LEVEL.getValue(); - - @Column(name = "level") - @ApiModelProperty(value = "级别,数值越小,级别越大") - private Integer level = 3; - - @ApiModelProperty(value = "描述") - private String description; - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - Role role = (Role) o; - return Objects.equals(id, role.id); - } - - @Override - public int hashCode() { - return Objects.hash(id); - } -} diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/system/domain/User.java b/lms/nladmin-system/src/main/java/org/nl/modules/system/domain/User.java deleted file mode 100644 index b7d8d0770..000000000 --- a/lms/nladmin-system/src/main/java/org/nl/modules/system/domain/User.java +++ /dev/null @@ -1,118 +0,0 @@ -/* - * Copyright 2019-2020 Zheng Jie - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.nl.modules.system.domain; - -import io.swagger.annotations.ApiModelProperty; -import lombok.Getter; -import lombok.Setter; -import org.hibernate.annotations.NotFound; -import org.hibernate.annotations.NotFoundAction; -import org.nl.modules.common.base.BaseEntity; - -import javax.persistence.*; -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotNull; -import java.io.Serializable; -import java.util.Date; -import java.util.Objects; -import java.util.Set; - -/** - * @author Zheng Jie - * @date 2018-11-22 - */ -@Entity -@Getter -@Setter -@Table(name="sys_user") -public class User extends BaseEntity implements Serializable { - - @Id - @Column(name = "user_id") - @NotNull(groups = Update.class) - @GeneratedValue(strategy = GenerationType.IDENTITY) - @ApiModelProperty(value = "ID", hidden = true) - private Long id; - - @ManyToMany - @ApiModelProperty(value = "用户角色") - @JoinTable(name = "sys_users_roles", - joinColumns = {@JoinColumn(name = "user_id",referencedColumnName = "user_id")}, - inverseJoinColumns = {@JoinColumn(name = "role_id",referencedColumnName = "role_id")}) - private Set roles; - - @OneToOne - @JoinColumn(name = "dept_id") - @ApiModelProperty(value = "用户部门") - @NotFound(action= NotFoundAction.IGNORE) - private Dept dept; - - @NotBlank - @Column(unique = true) - @ApiModelProperty(value = "用户名称") - private String username; - - @NotBlank - @ApiModelProperty(value = "用户昵称") - private String nickName; - - @ApiModelProperty(value = "邮箱") - private String email; - - @ApiModelProperty(value = "电话号码") - private String phone; - - @ApiModelProperty(value = "用户性别") - private String gender; - - @ApiModelProperty(value = "头像真实名称",hidden = true) - private String avatarName; - - @ApiModelProperty(value = "头像存储的路径", hidden = true) - private String avatarPath; - - @ApiModelProperty(value = "密码") - private String password; - - @NotNull - @ApiModelProperty(value = "是否启用") - private Boolean enabled; - - @ApiModelProperty(value = "是否为admin账号", hidden = true) - private Boolean isAdmin = false; - - @Column(name = "pwd_reset_time") - @ApiModelProperty(value = "最后修改密码的时间", hidden = true) - private Date pwdResetTime; - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - User user = (User) o; - return Objects.equals(id, user.id) && - Objects.equals(username, user.username); - } - - @Override - public int hashCode() { - return Objects.hash(id, username); - } -} diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/system/domain/vo/UserPassVo.java b/lms/nladmin-system/src/main/java/org/nl/modules/system/domain/vo/UserPassVo.java deleted file mode 100644 index 3f4b467f9..000000000 --- a/lms/nladmin-system/src/main/java/org/nl/modules/system/domain/vo/UserPassVo.java +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Copyright 2019-2020 Zheng Jie - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.nl.modules.system.domain.vo; - -import lombok.Data; - -/** - * 修改密码的 Vo 类 - * @author Zheng Jie - * @date 2019年7月11日13:59:49 - */ -@Data -public class UserPassVo { - - private String oldPass; - - private String newPass; -} diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/system/repository/DeptRepository.java b/lms/nladmin-system/src/main/java/org/nl/modules/system/repository/DeptRepository.java deleted file mode 100644 index 65c58c8b5..000000000 --- a/lms/nladmin-system/src/main/java/org/nl/modules/system/repository/DeptRepository.java +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Copyright 2019-2020 Zheng Jie - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.nl.modules.system.repository; - -import org.nl.modules.system.domain.Dept; -import org.springframework.data.jpa.repository.JpaRepository; -import org.springframework.data.jpa.repository.JpaSpecificationExecutor; -import org.springframework.data.jpa.repository.Modifying; -import org.springframework.data.jpa.repository.Query; - -import java.util.List; -import java.util.Set; - -/** -* @author Zheng Jie -* @date 2019-03-25 -*/ -public interface DeptRepository extends JpaRepository, JpaSpecificationExecutor { - - /** - * 根据 PID 查询 - * @param id pid - * @return / - */ - List findByPid(Long id); - - /** - * 获取顶级部门 - * @return / - */ - List findByPidIsNull(); - - /** - * 根据角色ID 查询 - * @param roleId 角色ID - * @return / - */ - @Query(value = "select d.* from sys_dept d, sys_roles_depts r where " + - "d.dept_id = r.dept_id and r.role_id = ?1", nativeQuery = true) - Set findByRoleId(Long roleId); - - /** - * 判断是否存在子节点 - * @param pid / - * @return / - */ - int countByPid(Long pid); - - /** - * 根据ID更新sub_count - * @param count / - * @param id / - */ - @Modifying - @Query(value = " update sys_dept set sub_count = ?1 where dept_id = ?2 ",nativeQuery = true) - void updateSubCntById(Integer count, Long id); -} \ No newline at end of file diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/system/repository/DictDetailRepository.java b/lms/nladmin-system/src/main/java/org/nl/modules/system/repository/DictDetailRepository.java deleted file mode 100644 index a16ac273a..000000000 --- a/lms/nladmin-system/src/main/java/org/nl/modules/system/repository/DictDetailRepository.java +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright 2019-2020 Zheng Jie - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.nl.modules.system.repository; - -import org.nl.modules.system.domain.DictDetail; -import org.springframework.data.jpa.repository.JpaRepository; -import org.springframework.data.jpa.repository.JpaSpecificationExecutor; - -import java.util.List; - -/** -* @author Zheng Jie -* @date 2019-04-10 -*/ -public interface DictDetailRepository extends JpaRepository, JpaSpecificationExecutor { - - /** - * 根据字典名称查询 - * @param name / - * @return / - */ - List findByDictName(String name); -} \ No newline at end of file diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/system/repository/DictRepository.java b/lms/nladmin-system/src/main/java/org/nl/modules/system/repository/DictRepository.java deleted file mode 100644 index 059278c19..000000000 --- a/lms/nladmin-system/src/main/java/org/nl/modules/system/repository/DictRepository.java +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright 2019-2020 Zheng Jie - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.nl.modules.system.repository; - -import org.nl.modules.system.domain.Dict; -import org.springframework.data.jpa.repository.JpaRepository; -import org.springframework.data.jpa.repository.JpaSpecificationExecutor; - -import java.util.List; -import java.util.Set; - -/** -* @author Zheng Jie -* @date 2019-04-10 -*/ -public interface DictRepository extends JpaRepository, JpaSpecificationExecutor { - - /** - * 删除 - * @param ids / - */ - void deleteByIdIn(Set ids); - - /** - * 查询 - * @param ids / - * @return / - */ - List findByIdIn(Set ids); -} \ No newline at end of file diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/system/repository/MenuRepository.java b/lms/nladmin-system/src/main/java/org/nl/modules/system/repository/MenuRepository.java deleted file mode 100644 index 22d3e4b21..000000000 --- a/lms/nladmin-system/src/main/java/org/nl/modules/system/repository/MenuRepository.java +++ /dev/null @@ -1,93 +0,0 @@ -/* - * Copyright 2019-2020 Zheng Jie - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.nl.modules.system.repository; - -import org.nl.modules.system.domain.Menu; -import org.springframework.data.jpa.repository.JpaRepository; -import org.springframework.data.jpa.repository.JpaSpecificationExecutor; -import org.springframework.data.jpa.repository.Modifying; -import org.springframework.data.jpa.repository.Query; - -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Set; - -/** - * @author Zheng Jie - * @date 2018-12-17 - */ -public interface MenuRepository extends JpaRepository, JpaSpecificationExecutor { - - /** - * 根据菜单标题查询 - * - * @param title 菜单标题 - * @return / - */ - Menu findByTitle(String title); - - /** - * 根据组件名称查询 - * - * @param name 组件名称 - * @return / - */ - Menu findByComponentName(String name); - - /** - * 根据菜单的 PID 查询 - * - * @param pid / - * @return / - */ - List findByPid(long pid); - - /** - * 查询顶级菜单 - * - * @return / - */ - List findByPidIsNull(); - - /** - * 根据角色ID与菜单类型查询菜单 - * - * @param roleIds roleIDs - * @param type 类型 - * @return / - */ - @Query(value = "SELECT m.* FROM sys_menu m, sys_roles_menus r WHERE " + - "m.menu_id = r.menu_id and r.role_id IN ?1 AND type != ?2 order by m.menu_sort asc", nativeQuery = true) - LinkedHashSet findByRoleIdsAndTypeNot(Set roleIds, int type); - - /** - * 获取节点数量 - * - * @param id / - * @return / - */ - int countByPid(Long id); - - /** - * 更新节点数目 - * - * @param count / - * @param menuId / - */ - @Modifying - @Query(value = " update sys_menu set sub_count = ?1 where menu_id = ?2 ", nativeQuery = true) - void updateSubCntById(int count, Long menuId); -} diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/system/repository/ParamRepository.java b/lms/nladmin-system/src/main/java/org/nl/modules/system/repository/ParamRepository.java deleted file mode 100644 index 619d3a110..000000000 --- a/lms/nladmin-system/src/main/java/org/nl/modules/system/repository/ParamRepository.java +++ /dev/null @@ -1,13 +0,0 @@ - -package org.nl.modules.system.repository; - -import org.nl.modules.system.domain.Param; -import org.springframework.data.jpa.repository.JpaRepository; -import org.springframework.data.jpa.repository.JpaSpecificationExecutor; - -/** -* @author ldjun -* @date 2021-01-13 -**/ -public interface ParamRepository extends JpaRepository, JpaSpecificationExecutor { -} diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/system/repository/RoleRepository.java b/lms/nladmin-system/src/main/java/org/nl/modules/system/repository/RoleRepository.java deleted file mode 100644 index 4d5926190..000000000 --- a/lms/nladmin-system/src/main/java/org/nl/modules/system/repository/RoleRepository.java +++ /dev/null @@ -1,80 +0,0 @@ -/* - * Copyright 2019-2020 Zheng Jie - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.nl.modules.system.repository; - -import org.nl.modules.system.domain.Role; -import org.springframework.data.jpa.repository.JpaRepository; -import org.springframework.data.jpa.repository.JpaSpecificationExecutor; -import org.springframework.data.jpa.repository.Modifying; -import org.springframework.data.jpa.repository.Query; - -import java.util.List; -import java.util.Set; - -/** - * @author Zheng Jie - * @date 2018-12-03 - */ -public interface RoleRepository extends JpaRepository, JpaSpecificationExecutor { - - /** - * 根据名称查询 - * @param name / - * @return / - */ - Role findByName(String name); - - /** - * 删除多个角色 - * @param ids / - */ - void deleteAllByIdIn(Set ids); - - /** - * 根据用户ID查询 - * @param id 用户ID - * @return / - */ - @Query(value = "SELECT r.* FROM sys_role r, sys_users_roles u WHERE " + - "r.role_id = u.role_id AND u.user_id = ?1",nativeQuery = true) - Set findByUserId(Long id); - - /** - * 解绑角色菜单 - * @param id 菜单ID - */ - @Modifying - @Query(value = "delete from sys_roles_menus where menu_id = ?1",nativeQuery = true) - void untiedMenu(Long id); - - /** - * 根据部门查询 - * @param deptIds / - * @return / - */ - @Query(value = "select count(1) from sys_role r, sys_roles_depts d where " + - "r.role_id = d.role_id and d.dept_id in ?1",nativeQuery = true) - int countByDepts(Set deptIds); - - /** - * 根据菜单Id查询 - * @param menuIds / - * @return / - */ - @Query(value = "SELECT r.* FROM sys_role r, sys_roles_menus m WHERE " + - "r.role_id = m.role_id AND m.menu_id in ?1",nativeQuery = true) - List findInMenuId(List menuIds); -} diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/system/repository/UserRepository.java b/lms/nladmin-system/src/main/java/org/nl/modules/system/repository/UserRepository.java deleted file mode 100644 index cf873aafd..000000000 --- a/lms/nladmin-system/src/main/java/org/nl/modules/system/repository/UserRepository.java +++ /dev/null @@ -1,133 +0,0 @@ -/* - * Copyright 2019-2020 Zheng Jie - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.nl.modules.system.repository; - -import org.nl.modules.system.domain.User; -import org.springframework.data.jpa.repository.JpaRepository; -import org.springframework.data.jpa.repository.JpaSpecificationExecutor; -import org.springframework.data.jpa.repository.Modifying; -import org.springframework.data.jpa.repository.Query; - -import java.util.Date; -import java.util.List; -import java.util.Set; - -/** - * @author Zheng Jie - * @date 2018-11-22 - */ -public interface UserRepository extends JpaRepository, JpaSpecificationExecutor { - - /** - * 根据用户名查询 - * @param username 用户名 - * @return / - */ - User findByUsername(String username); - - /** - * 根据角色中的部门查询 - * @param deptId / - * @return / - */ - @Query(value = "SELECT u.* FROM sys_user u, sys_users_roles r, sys_roles_depts d WHERE " + - "u.user_id = r.user_id AND r.role_id = d.role_id AND d.dept_id = ?1 group by u.user_id", nativeQuery = true) - List findByRoleDeptId(Long deptId); - - /** - * 根据邮箱查询 - * @param email 邮箱 - * @return / - */ - User findByEmail(String email); - - /** - * 修改密码 - * @param username 用户名 - * @param pass 密码 - * @param lastPasswordResetTime / - */ - @Modifying - @Query(value = "update sys_user set password = ?2 , pwd_reset_time = ?3 where username = ?1",nativeQuery = true) - void updatePass(String username, String pass, Date lastPasswordResetTime); - - /** - * 修改邮箱 - * @param username 用户名 - * @param email 邮箱 - */ - @Modifying - @Query(value = "update sys_user set email = ?2 where username = ?1",nativeQuery = true) - void updateEmail(String username, String email); - - /** - * 根据角色查询用户 - * @param roleId / - * @return / - */ - @Query(value = "SELECT u.* FROM sys_user u, sys_users_roles r WHERE" + - " u.user_id = r.user_id AND r.role_id = ?1", nativeQuery = true) - List findByRoleId(Long roleId); - - /** - * 根据角色中的部门查询 - * @param id / - * @return / - */ - @Query(value = "SELECT u.* FROM sys_user u, sys_users_roles r, sys_roles_depts d WHERE " + - "u.user_id = r.user_id AND r.role_id = d.role_id AND r.role_id = ?1 group by u.user_id", nativeQuery = true) - List findByDeptRoleId(Long id); - - /** - * 根据菜单查询 - * @param id 菜单ID - * @return / - */ - @Query(value = "SELECT u.* FROM sys_user u, sys_users_roles ur, sys_roles_menus rm WHERE\n" + - "u.user_id = ur.user_id AND ur.role_id = rm.role_id AND rm.menu_id = ?1 group by u.user_id", nativeQuery = true) - List findByMenuId(Long id); - - /** - * 根据Id删除 - * @param ids / - */ - void deleteAllByIdIn(Set ids); - - /** - * 根据岗位查询 - * @param ids / - * @return / - */ - @Query(value = "SELECT count(1) FROM sys_user u, sys_users_jobs j WHERE u.user_id = j.user_id AND j.job_id IN ?1", nativeQuery = true) - int countByJobs(Set ids); - - /** - * 根据部门查询 - * @param deptIds / - * @return / - */ - @Query(value = "SELECT count(1) FROM sys_user u WHERE u.dept_id IN ?1", nativeQuery = true) - int countByDepts(Set deptIds); - - /** - * 根据角色查询 - * @param ids / - * @return / - */ - @Query(value = "SELECT count(1) FROM sys_user u, sys_users_roles r WHERE " + - "u.user_id = r.user_id AND r.role_id in ?1", nativeQuery = true) - int countByRoles(Set ids); -} diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/system/rest/DictController.java b/lms/nladmin-system/src/main/java/org/nl/modules/system/rest/DictController.java deleted file mode 100644 index e605eaa72..000000000 --- a/lms/nladmin-system/src/main/java/org/nl/modules/system/rest/DictController.java +++ /dev/null @@ -1,100 +0,0 @@ -/* - * Copyright 2019-2020 Zheng Jie - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.nl.modules.system.rest; - -import cn.dev33.satoken.annotation.SaCheckPermission; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import lombok.RequiredArgsConstructor; -import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.logging.annotation.Log; -import org.nl.modules.system.domain.Dict; -import org.nl.modules.system.service.DictService; -import org.nl.modules.system.service.dto.DictQueryCriteria; -import org.springframework.data.domain.Pageable; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.util.Set; - -/** -* @author Zheng Jie -* @date 2019-04-10 -*/ -@RestController -@RequiredArgsConstructor -@Api(tags = "系统:字典管理") -@RequestMapping("/api/dict") -public class DictController { - - private final DictService dictService; - private static final String ENTITY_NAME = "dict"; - - @ApiOperation("导出字典数据") - @GetMapping(value = "/download") - @SaCheckPermission("dict:list") - public void download(HttpServletResponse response, DictQueryCriteria criteria) throws IOException { - dictService.download(dictService.queryAll(criteria), response); - } - - @ApiOperation("查询字典") - @GetMapping(value = "/all") - @SaCheckPermission("dict:list") - public ResponseEntity queryAll(){ - return new ResponseEntity<>(dictService.queryAll(new DictQueryCriteria()),HttpStatus.OK); - } - - @ApiOperation("查询字典") - @GetMapping - @SaCheckPermission("dict:list") - public ResponseEntity query(DictQueryCriteria resources, Pageable pageable){ - return new ResponseEntity<>(dictService.queryAll(resources,pageable),HttpStatus.OK); - } - - @Log("新增字典") - @ApiOperation("新增字典") - @PostMapping - @SaCheckPermission("dict:add") - public ResponseEntity create(@Validated @RequestBody Dict resources){ - if (resources.getId() != null) { - throw new BadRequestException("A new "+ ENTITY_NAME +" cannot already have an ID"); - } - dictService.create(resources); - return new ResponseEntity<>(HttpStatus.CREATED); - } - - @Log("修改字典") - @ApiOperation("修改字典") - @PutMapping - @SaCheckPermission("dict:edit") - public ResponseEntity update(@Validated(Dict.Update.class) @RequestBody Dict resources){ - dictService.update(resources); - return new ResponseEntity<>(HttpStatus.NO_CONTENT); - } - - @Log("删除字典") - @ApiOperation("删除字典") - @DeleteMapping - @SaCheckPermission("dict:del") - public ResponseEntity delete(@RequestBody Set ids){ - dictService.delete(ids); - return new ResponseEntity<>(HttpStatus.OK); - } -} diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/system/rest/DictDetailController.java b/lms/nladmin-system/src/main/java/org/nl/modules/system/rest/DictDetailController.java deleted file mode 100644 index f81d986f5..000000000 --- a/lms/nladmin-system/src/main/java/org/nl/modules/system/rest/DictDetailController.java +++ /dev/null @@ -1,106 +0,0 @@ -/* - * Copyright 2019-2020 Zheng Jie - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.nl.modules.system.rest; - -import cn.dev33.satoken.annotation.SaCheckPermission; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import lombok.RequiredArgsConstructor; -import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.logging.annotation.Log; -import org.nl.modules.system.domain.Dict; -import org.nl.modules.system.domain.DictDetail; -import org.nl.modules.system.repository.DictRepository; -import org.nl.modules.system.service.DictDetailService; -import org.nl.modules.system.service.dto.DictDetailDto; -import org.nl.modules.system.service.dto.DictDetailQueryCriteria; -import org.springframework.data.domain.Pageable; -import org.springframework.data.domain.Sort; -import org.springframework.data.web.PageableDefault; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Optional; - -/** - * @author Zheng Jie - * @date 2019-04-10 - */ -@RestController -@RequiredArgsConstructor -@Api(tags = "系统:字典详情管理") -@RequestMapping("/api/dictDetail") -public class DictDetailController { - private final DictRepository dictRepository; - private final DictDetailService dictDetailService; - private static final String ENTITY_NAME = "dictDetail"; - - @ApiOperation("查询字典详情") - @GetMapping - public ResponseEntity query(DictDetailQueryCriteria criteria, - @PageableDefault(sort = {"dictSort"}, direction = Sort.Direction.ASC) Pageable pageable){ - return new ResponseEntity<>(dictDetailService.queryAll(criteria,pageable),HttpStatus.OK); - } - - @ApiOperation("查询多个字典详情") - @GetMapping(value = "/map") - public ResponseEntity getDictDetailMaps(@RequestParam String dictName){ - String[] names = dictName.split("[,,]"); - Map> dictMap = new HashMap<>(16); - for (String name : names) { - dictMap.put(name, dictDetailService.getDictByName(name)); - } - return new ResponseEntity<>(dictMap, HttpStatus.OK); - } - - @Log("新增字典详情") - @ApiOperation("新增字典详情") - @PostMapping - @SaCheckPermission("dict:add") - public ResponseEntity create(@Validated @RequestBody DictDetail resources){ - if (resources.getId() != null) { - throw new BadRequestException("A new "+ ENTITY_NAME +" cannot already have an ID"); - } - Optional d=dictRepository.findById(resources.getDict().getId()); - resources.setName(dictRepository.findById(resources.getDict().getId()).get().getName()); - dictDetailService.create(resources); - return new ResponseEntity<>(HttpStatus.CREATED); - } - - @Log("修改字典详情") - @ApiOperation("修改字典详情") - @PutMapping - @SaCheckPermission("dict:edit") - public ResponseEntity update(@Validated(DictDetail.Update.class) @RequestBody DictDetail resources){ - resources.setName(dictRepository.findById(resources.getDict().getId()).get().getName()); - dictDetailService.update(resources); - return new ResponseEntity<>(HttpStatus.NO_CONTENT); - } - - @Log("删除字典详情") - @ApiOperation("删除字典详情") - @DeleteMapping(value = "/{id}") - @SaCheckPermission("dict:del") - public ResponseEntity delete(@PathVariable Long id){ - dictDetailService.delete(id); - return new ResponseEntity<>(HttpStatus.OK); - } -} \ No newline at end of file diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/system/rest/MenuController.java b/lms/nladmin-system/src/main/java/org/nl/modules/system/rest/MenuController.java deleted file mode 100644 index 15d3c11f1..000000000 --- a/lms/nladmin-system/src/main/java/org/nl/modules/system/rest/MenuController.java +++ /dev/null @@ -1,141 +0,0 @@ -/* - * Copyright 2019-2020 Zheng Jie - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.nl.modules.system.rest; - -import cn.dev33.satoken.annotation.SaCheckPermission; -import cn.dev33.satoken.annotation.SaMode; -import cn.dev33.satoken.stp.StpUtil; -import cn.hutool.core.collection.CollectionUtil; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import lombok.RequiredArgsConstructor; -import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.utils.PageUtil; -import org.nl.modules.logging.annotation.Log; -import org.nl.modules.system.domain.Menu; -import org.nl.modules.system.service.MenuService; -import org.nl.modules.system.service.dto.MenuDto; -import org.nl.modules.system.service.dto.MenuQueryCriteria; -import org.nl.modules.system.service.mapstruct.MenuMapper; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.util.*; -import java.util.stream.Collectors; - -/** - * @author Zheng Jie - * @date 2018-12-03 - */ - -@RestController -@RequiredArgsConstructor -@Api(tags = "系统:菜单管理") -@RequestMapping("/api/menus") -public class MenuController { - - private final MenuService menuService; - private final MenuMapper menuMapper; - private static final String ENTITY_NAME = "menu"; - - @GetMapping(value = "/build") - @ApiOperation("获取前端所需菜单") - public ResponseEntity buildMenus(){ - List menuDtoList = menuService.findByUser(StpUtil.getLoginIdAsLong()); - List menuDtos = menuService.buildTree(menuDtoList); - return new ResponseEntity<>(menuService.buildMenus(menuDtos),HttpStatus.OK); - } - - @ApiOperation("返回全部的菜单") - @GetMapping(value = "/lazy") - @SaCheckPermission(value = {"menu:list", "roles:list"}, mode = SaMode.AND) - public ResponseEntity query(@RequestParam Long pid){ - return new ResponseEntity<>(menuService.getMenus(pid),HttpStatus.OK); - } - - @ApiOperation("根据菜单ID返回所有子节点ID,包含自身ID") - @GetMapping(value = "/child") - @SaCheckPermission(value = {"menu:list", "roles:list"}, mode = SaMode.AND) - public ResponseEntity child(@RequestParam Long id){ - Set menuSet = new HashSet<>(); - List menuList = menuService.getMenus(id); - menuSet.add(menuService.findOne(id)); - menuSet = menuService.getChildMenus(menuMapper.toEntity(menuList), menuSet); - Set ids = menuSet.stream().map(Menu::getId).collect(Collectors.toSet()); - return new ResponseEntity<>(ids,HttpStatus.OK); - } - - @GetMapping - @ApiOperation("查询菜单") - @SaCheckPermission("menu:list") - public ResponseEntity query(MenuQueryCriteria criteria) throws Exception { - List menuDtoList = menuService.queryAll(criteria, true); - return new ResponseEntity<>(PageUtil.toPage(menuDtoList, menuDtoList.size()),HttpStatus.OK); - } - - @ApiOperation("查询菜单:根据ID获取同级与上级数据") - @PostMapping("/superior") - @SaCheckPermission("menu:list") - public ResponseEntity getSuperior(@RequestBody List ids) { - Set menuDtos = new LinkedHashSet<>(); - if(CollectionUtil.isNotEmpty(ids)){ - for (Long id : ids) { - MenuDto menuDto = menuService.findById(id); - menuDtos.addAll(menuService.getSuperior(menuDto, new ArrayList<>())); - } - return new ResponseEntity<>(menuService.buildTree(new ArrayList<>(menuDtos)),HttpStatus.OK); - } - return new ResponseEntity<>(menuService.getMenus(null),HttpStatus.OK); - } - - @Log("新增菜单") - @ApiOperation("新增菜单") - @PostMapping - @SaCheckPermission("menu:add") - public ResponseEntity create(@Validated @RequestBody Menu resources){ - if (resources.getId() != null) { - throw new BadRequestException("A new "+ ENTITY_NAME +" cannot already have an ID"); - } - menuService.create(resources); - return new ResponseEntity<>(HttpStatus.CREATED); - } - - @Log("修改菜单") - @ApiOperation("修改菜单") - @PutMapping - @SaCheckPermission("menu:edit") - public ResponseEntity update(@Validated(Menu.Update.class) @RequestBody Menu resources){ - menuService.update(resources); - return new ResponseEntity<>(HttpStatus.NO_CONTENT); - } - - @Log("删除菜单") - @ApiOperation("删除菜单") - @DeleteMapping - @SaCheckPermission("menu:del") - public ResponseEntity delete(@RequestBody Set ids){ - Set menuSet = new HashSet<>(); - for (Long id : ids) { - List menuList = menuService.getMenus(id); - menuSet.add(menuService.findOne(id)); - menuSet = menuService.getChildMenus(menuMapper.toEntity(menuList), menuSet); - } - menuService.delete(menuSet); - return new ResponseEntity<>(HttpStatus.OK); - } -} diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/system/rest/RoleController.java b/lms/nladmin-system/src/main/java/org/nl/modules/system/rest/RoleController.java deleted file mode 100644 index 1e2088a7c..000000000 --- a/lms/nladmin-system/src/main/java/org/nl/modules/system/rest/RoleController.java +++ /dev/null @@ -1,156 +0,0 @@ -/* - * Copyright 2019-2020 Zheng Jie - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.nl.modules.system.rest; - -import cn.dev33.satoken.annotation.SaCheckPermission; -import cn.dev33.satoken.annotation.SaMode; -import cn.dev33.satoken.stp.StpUtil; -import cn.hutool.core.lang.Dict; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import lombok.RequiredArgsConstructor; -import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.logging.annotation.Log; -import org.nl.modules.system.domain.Role; -import org.nl.modules.system.service.RoleService; -import org.nl.modules.system.service.dto.RoleDto; -import org.nl.modules.system.service.dto.RoleQueryCriteria; -import org.nl.modules.system.service.dto.RoleSmallDto; -import org.springframework.data.domain.Pageable; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.util.Collections; -import java.util.List; -import java.util.Set; -import java.util.stream.Collectors; - -/** - * @author Zheng Jie - * @date 2018-12-03 - */ -@RestController -@RequiredArgsConstructor -@Api(tags = "系统:角色管理") -@RequestMapping("/api/roles") -public class RoleController { - - private final RoleService roleService; - - private static final String ENTITY_NAME = "role"; - - @ApiOperation("获取单个role") - @GetMapping(value = "/{id}") - @SaCheckPermission("roles:list") - public ResponseEntity query(@PathVariable Long id){ - return new ResponseEntity<>(roleService.findById(id), HttpStatus.OK); - } - - @ApiOperation("导出角色数据") - @GetMapping(value = "/download") - @SaCheckPermission("role:list") - public void download(HttpServletResponse response, RoleQueryCriteria criteria) throws IOException { - roleService.download(roleService.queryAll(criteria), response); - } - - @ApiOperation("返回全部的角色") - @GetMapping(value = "/all") - @SaCheckPermission(value = {"roles:list", "user:add", "user:edit"}, mode = SaMode.AND) - public ResponseEntity query(){ - return new ResponseEntity<>(roleService.queryAll(),HttpStatus.OK); - } - - @ApiOperation("查询角色") - @GetMapping - @SaCheckPermission("roles:list") - public ResponseEntity query(RoleQueryCriteria criteria, Pageable pageable){ - return new ResponseEntity<>(roleService.queryAll(criteria,pageable),HttpStatus.OK); - } - - @ApiOperation("获取用户级别") - @GetMapping(value = "/level") - public ResponseEntity getLevel(){ - return new ResponseEntity<>(Dict.create().set("level", getLevels(null)),HttpStatus.OK); - } - - @Log("新增角色") - @ApiOperation("新增角色") - @PostMapping - @SaCheckPermission("roles:add") - public ResponseEntity create(@Validated @RequestBody Role resources){ - if (resources.getId() != null) { - throw new BadRequestException("A new "+ ENTITY_NAME +" cannot already have an ID"); - } - getLevels(resources.getLevel()); - roleService.create(resources); - return new ResponseEntity<>(HttpStatus.CREATED); - } - - @Log("修改角色") - @ApiOperation("修改角色") - @PutMapping - @SaCheckPermission("roles:edit") - public ResponseEntity update(@Validated(Role.Update.class) @RequestBody Role resources){ - getLevels(resources.getLevel()); - roleService.update(resources); - return new ResponseEntity<>(HttpStatus.NO_CONTENT); - } - - @Log("修改角色菜单") - @ApiOperation("修改角色菜单") - @PutMapping(value = "/menu") - @SaCheckPermission("roles:edit") - public ResponseEntity updateMenu(@RequestBody Role resources){ - RoleDto role = roleService.findById(resources.getId()); - getLevels(role.getLevel()); - roleService.updateMenu(resources,role); - return new ResponseEntity<>(HttpStatus.NO_CONTENT); - } - - @Log("删除角色") - @ApiOperation("删除角色") - @DeleteMapping - @SaCheckPermission("roles:del") - public ResponseEntity delete(@RequestBody Set ids){ - for (Long id : ids) { - RoleDto role = roleService.findById(id); - getLevels(role.getLevel()); - } - // 验证是否被用户关联 - roleService.verification(ids); - roleService.delete(ids); - return new ResponseEntity<>(HttpStatus.OK); - } - - /** - * 获取用户的角色级别 - * @return / - */ - private int getLevels(Integer level){ - List levels = roleService.findByUsersId(StpUtil.getLoginIdAsLong()).stream().map(RoleSmallDto::getLevel).collect(Collectors.toList()); - int min = Collections.min(levels); - if(level != null){ - if(level < min){ - throw new BadRequestException("权限不足,你的角色级别:" + min + ",低于操作的角色级别:" + level); - } - } - return min; - } -} diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/system/rest/UserController.java b/lms/nladmin-system/src/main/java/org/nl/modules/system/rest/UserController.java deleted file mode 100644 index 27b90cd2e..000000000 --- a/lms/nladmin-system/src/main/java/org/nl/modules/system/rest/UserController.java +++ /dev/null @@ -1,211 +0,0 @@ -/* - * Copyright 2019-2020 Zheng Jie - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.nl.modules.system.rest; - -import cn.dev33.satoken.annotation.SaCheckPermission; -import cn.dev33.satoken.secure.SaSecureUtil; -import cn.dev33.satoken.stp.StpUtil; -import cn.hutool.core.collection.CollectionUtil; -import cn.hutool.core.util.ObjectUtil; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import lombok.RequiredArgsConstructor; -import org.nl.modules.common.config.RsaProperties; -import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.utils.PageUtil; -import org.nl.modules.common.utils.RedisUtils; -import org.nl.modules.common.utils.RsaUtils; -import org.nl.modules.common.utils.SecurityUtils; -import org.nl.modules.logging.annotation.Log; -import org.nl.modules.system.domain.User; -import org.nl.modules.system.domain.vo.UserPassVo; -import org.nl.modules.system.service.DataService; -import org.nl.modules.system.service.DeptService; -import org.nl.modules.system.service.RoleService; -import org.nl.modules.system.service.UserService; -import org.nl.modules.system.service.dto.RoleSmallDto; -import org.nl.modules.system.service.dto.UserDto; -import org.nl.modules.system.service.dto.UserQueryCriteria; -import org.springframework.data.domain.Pageable; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; -import org.springframework.util.CollectionUtils; -import org.springframework.util.ObjectUtils; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; - -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.util.Collections; -import java.util.List; -import java.util.Set; -import java.util.stream.Collectors; - -/** - * @author Zheng Jie - * @date 2018-11-23 - */ -@Api(tags = "系统:用户管理") -@RestController -@RequestMapping("/api/users") -@RequiredArgsConstructor -public class UserController { - - private final UserService userService; - private final DataService dataService; - private final DeptService deptService; - private final RoleService roleService; - private final RedisUtils redisUtils; - - @ApiOperation("导出用户数据") - @GetMapping(value = "/download") - @SaCheckPermission("user:list") - public void download(HttpServletResponse response, UserQueryCriteria criteria) throws IOException { - userService.download(userService.queryAll(criteria), response); - } - - @ApiOperation("查询用户") - @GetMapping - @SaCheckPermission("user:list") - public ResponseEntity query(UserQueryCriteria criteria, Pageable pageable){ - if (!ObjectUtils.isEmpty(criteria.getDeptId())) { - criteria.getDeptIds().add(criteria.getDeptId()); - criteria.getDeptIds().addAll(deptService.getDeptChildren(deptService.findByPid(criteria.getDeptId()))); - } - // 数据权限 - List dataScopes = dataService.getDeptIds(userService.findByName(SecurityUtils.getCurrentUsername())); - // criteria.getDeptIds() 不为空并且数据权限不为空则取交集 - if (!CollectionUtils.isEmpty(criteria.getDeptIds()) && !CollectionUtils.isEmpty(dataScopes)){ - // 取交集 - criteria.getDeptIds().retainAll(dataScopes); - if(!CollectionUtil.isEmpty(criteria.getDeptIds())){ - return new ResponseEntity<>(userService.queryAll(criteria,pageable),HttpStatus.OK); - } - } else { - // 否则取并集 - criteria.getDeptIds().addAll(dataScopes); - return new ResponseEntity<>(userService.queryAll(criteria,pageable),HttpStatus.OK); - } - return new ResponseEntity<>(PageUtil.toPage(null,0),HttpStatus.OK); - } - - @Log("新增用户") - @ApiOperation("新增用户") - @PostMapping - @SaCheckPermission("user:add") - public ResponseEntity create(@Validated @RequestBody User resources){ - checkLevel(resources); - // 默认密码 123456 - if (ObjectUtil.isEmpty(resources.getPassword())) - resources.setPassword(SaSecureUtil.md5BySalt("123456", "salt")); - else - resources.setPassword(SaSecureUtil.md5BySalt(resources.getPassword(), "salt")); - userService.create(resources); - return new ResponseEntity<>(HttpStatus.CREATED); - } - - @Log("修改用户") - @ApiOperation("修改用户") - @PutMapping - @SaCheckPermission("user:edit") - public ResponseEntity update(@Validated(User.Update.class) @RequestBody User resources) throws Exception { - checkLevel(resources); - userService.update(resources); - return new ResponseEntity<>(HttpStatus.NO_CONTENT); - } - - @Log("修改用户:个人中心") - @ApiOperation("修改用户:个人中心") - @PutMapping(value = "center") - public ResponseEntity center(@Validated(User.Update.class) @RequestBody User resources){ - if(!resources.getId().equals(StpUtil.getLoginIdAsLong())){ - throw new BadRequestException("不能修改他人资料"); - } - userService.updateCenter(resources); - return new ResponseEntity<>(HttpStatus.NO_CONTENT); - } - - @Log("删除用户") - @ApiOperation("删除用户") - @DeleteMapping - @SaCheckPermission("user:del") - public ResponseEntity delete(@RequestBody Set ids) { - for (Long id : ids) { - Integer currentLevel = Collections.min(roleService.findByUsersId(StpUtil.getLoginIdAsLong()).stream().map(RoleSmallDto::getLevel).collect(Collectors.toList())); - Integer optLevel = Collections.min(roleService.findByUsersId(id).stream().map(RoleSmallDto::getLevel).collect(Collectors.toList())); - if (currentLevel > optLevel) { - throw new BadRequestException("角色权限不足,不能删除:" + userService.findById(id).getUsername()); - } - // 删除缓存信息 - UserDto userDto = userService.findById(id); - redisUtils.del("data::user:" + userDto.getId()); - redisUtils.del("menu::user:" + userDto.getId()); - redisUtils.del("role::auth:" + userDto.getId()); - redisUtils.del("user::username:" + userDto.getUsername()); - } - userService.delete(ids); - return new ResponseEntity<>(HttpStatus.OK); - } - - @ApiOperation("修改密码") - @PostMapping(value = "/updatePass") - public ResponseEntity updatePass(@RequestBody UserPassVo passVo) throws Exception { - // 解密,得到字符密码 - String oldPass = RsaUtils.decryptByPrivateKey(RsaProperties.privateKey,passVo.getOldPass()); - String newPass = RsaUtils.decryptByPrivateKey(RsaProperties.privateKey,passVo.getNewPass()); - UserDto user = userService.findByName(SecurityUtils.getCurrentUsername()); - if (!user.getPassword().equals(SaSecureUtil.md5BySalt(oldPass, "salt"))) { - throw new BadRequestException("修改失败,旧密码错误"); - } - if (user.getPassword().equals(SaSecureUtil.md5BySalt(newPass, "salt"))) { - throw new BadRequestException("新密码不能与旧密码相同"); - } - userService.updatePass(user.getUsername(),SaSecureUtil.md5BySalt(newPass, "salt")); - return new ResponseEntity<>(HttpStatus.OK); - } - - @ApiOperation("修改头像") - @PostMapping(value = "/updateAvatar") - public ResponseEntity updateAvatar(@RequestParam MultipartFile avatar){ - return new ResponseEntity<>(userService.updateAvatar(avatar), HttpStatus.OK); - } - - @Log("修改邮箱") - @ApiOperation("修改邮箱") - @PostMapping(value = "/updateEmail/{code}") - public ResponseEntity updateEmail(@PathVariable String code,@RequestBody User user) throws Exception { - String password = RsaUtils.decryptByPrivateKey(RsaProperties.privateKey,user.getPassword()); - UserDto userDto = userService.findByName(SecurityUtils.getCurrentUsername()); - if(!SaSecureUtil.md5BySalt(user.getPassword(), "salt").equals(SaSecureUtil.md5BySalt(password, "salt"))){ - throw new BadRequestException("密码错误"); - } - userService.updateEmail(userDto.getUsername(),user.getEmail()); - return new ResponseEntity<>(HttpStatus.OK); - } - - /** - * 如果当前用户的角色级别低于创建用户的角色级别,则抛出权限不足的错误 - * @param resources / - */ - private void checkLevel(User resources) { - Integer currentLevel = Collections.min(roleService.findByUsersId(StpUtil.getLoginIdAsLong()).stream().map(RoleSmallDto::getLevel).collect(Collectors.toList())); - Integer optLevel = roleService.findByRoles(resources.getRoles()); - if (currentLevel > optLevel) { - throw new BadRequestException("角色权限不足"); - } - } -} diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/DataService.java b/lms/nladmin-system/src/main/java/org/nl/modules/system/service/DataService.java index e3ab727cb..7eae5d45c 100644 --- a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/DataService.java +++ b/lms/nladmin-system/src/main/java/org/nl/modules/system/service/DataService.java @@ -15,7 +15,7 @@ */ package org.nl.modules.system.service; -import org.nl.modules.system.service.dto.UserDto; +import org.nl.system.service.user.dto.UserDto; import java.util.List; diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/DeptService.java b/lms/nladmin-system/src/main/java/org/nl/modules/system/service/DeptService.java deleted file mode 100644 index e47a3215a..000000000 --- a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/DeptService.java +++ /dev/null @@ -1,160 +0,0 @@ -/* - * Copyright 2019-2020 Zheng Jie - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.nl.modules.system.service; - -import org.nl.modules.system.domain.Dept; -import org.nl.modules.system.service.dto.DeptDto; -import org.nl.modules.system.service.dto.DeptQueryCriteria; - -import java.util.List; -import java.util.Set; - -/** - * @author Zheng Jie - * @date 2019-03-25 - */ -public interface DeptService { - - /** - * 查询所有数据 - * - * @param criteria 条件 - * @param isQuery / - * @return / - * @throws Exception / - */ - List queryAll(DeptQueryCriteria criteria, Boolean isQuery) throws Exception; - - /** - * 获取 - * - * @param deptList - * @return - */ - List getDeptChildren(List deptList); - - /** - * 根据ID查询 - * - * @param id / - * @return / - */ - DeptDto findById(Long id); - - /** - * 创建 - * - * @param resources / - */ - void create(Dept resources); - - /** - * 编辑 - * - * @param resources / - */ - void update(Dept resources); - - /** - * 删除 - * - * @param deptDtos / - */ - void delete(Set deptDtos); - - /** - * 根据PID查询 - * - * @param pid / - * @return / - */ - List findByPid(long pid); - - /** - * 根据角色ID查询 - * - * @param id / - * @return / - */ - Set findByRoleId(Long id); - - - /** - * 获取待删除的部门 - * - * @param deptList / - * @param deptDtos / - * @return / - */ - Set getDeleteDepts(List deptList, Set deptDtos); - - /** - * 根据ID获取同级与上级数据 - * - * @param deptDto / - * @param depts / - * @return / - */ - List getSuperior(DeptDto deptDto, List depts); - - /** - * 构建树形数据 - * - * @param deptDtos / - * @return / - */ - Object buildTree(List deptDtos); - - - /** - * 验证是否被角色或用户关联 - * - * @param deptDtos / - */ - void verification(Set deptDtos); - - /** - * 获取当前节点的所有子类节点集合数据 - * - * @param dept_id - * @return - */ - Set getChildIdSet(Long dept_id); - - /** - * 获取查询条件的所有子节点集合 - * - * @param dept_idStr - * @return - */ - Set getAllChildIdSet(String dept_idStr); - - /** - * 获取当前节点的所有子类节点集合串,用于拼接SQL(in) - * - * @param dept_id - * @return - */ - String getChildIdStr(Long dept_id); - - /** - * 获取所有节点的子节点的ID串 - * - * @param dept_idStr - * @return - */ - String getAllChildIdStr(String dept_idStr); -} diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/DictDetailService.java b/lms/nladmin-system/src/main/java/org/nl/modules/system/service/DictDetailService.java deleted file mode 100644 index 1bc51e89b..000000000 --- a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/DictDetailService.java +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Copyright 2019-2020 Zheng Jie - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.nl.modules.system.service; - -import org.nl.modules.system.domain.DictDetail; -import org.nl.modules.system.service.dto.DictDetailDto; -import org.nl.modules.system.service.dto.DictDetailQueryCriteria; -import org.springframework.data.domain.Pageable; - -import java.util.List; -import java.util.Map; - -/** -* @author Zheng Jie -* @date 2019-04-10 -*/ -public interface DictDetailService { - - /** - * 创建 - * @param resources / - */ - void create(DictDetail resources); - - /** - * 编辑 - * @param resources / - */ - void update(DictDetail resources); - - /** - * 删除 - * @param id / - */ - void delete(Long id); - - /** - * 分页查询 - * @param criteria 条件 - * @param pageable 分页参数 - * @return / - */ - Map queryAll(DictDetailQueryCriteria criteria, Pageable pageable); - - /** - * 根据字典名称获取字典详情 - * @param name 字典名称 - * @return / - */ - List getDictByName(String name); -} \ No newline at end of file diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/DictService.java b/lms/nladmin-system/src/main/java/org/nl/modules/system/service/DictService.java deleted file mode 100644 index 76a0011b4..000000000 --- a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/DictService.java +++ /dev/null @@ -1,76 +0,0 @@ -/* - * Copyright 2019-2020 Zheng Jie - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.nl.modules.system.service; - -import org.nl.modules.system.domain.Dict; -import org.nl.modules.system.service.dto.DictDto; -import org.nl.modules.system.service.dto.DictQueryCriteria; -import org.springframework.data.domain.Pageable; - -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.util.List; -import java.util.Map; -import java.util.Set; - -/** -* @author Zheng Jie -* @date 2019-04-10 -*/ -public interface DictService { - - /** - * 分页查询 - * @param criteria 条件 - * @param pageable 分页参数 - * @return / - */ - Map queryAll(DictQueryCriteria criteria, Pageable pageable); - - /** - * 查询全部数据 - * @param dict / - * @return / - */ - List queryAll(DictQueryCriteria dict); - - /** - * 创建 - * @param resources / - * @return / - */ - void create(Dict resources); - - /** - * 编辑 - * @param resources / - */ - void update(Dict resources); - - /** - * 删除 - * @param ids / - */ - void delete(Set ids); - - /** - * 导出数据 - * @param queryAll 待导出的数据 - * @param response / - * @throws IOException / - */ - void download(List queryAll, HttpServletResponse response) throws IOException; -} \ No newline at end of file diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/MenuService.java b/lms/nladmin-system/src/main/java/org/nl/modules/system/service/MenuService.java deleted file mode 100644 index a2366369e..000000000 --- a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/MenuService.java +++ /dev/null @@ -1,115 +0,0 @@ -/* - * Copyright 2019-2020 Zheng Jie - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.nl.modules.system.service; - -import org.nl.modules.system.domain.Menu; -import org.nl.modules.system.service.dto.MenuDto; -import org.nl.modules.system.service.dto.MenuQueryCriteria; - -import java.util.List; -import java.util.Set; - -/** - * @author Zheng Jie - * @date 2018-12-17 - */ -public interface MenuService { - - /** - * 查询全部数据 - * @param criteria 条件 - * @param isQuery / - * @throws Exception / - * @return / - */ - List queryAll(MenuQueryCriteria criteria, Boolean isQuery) throws Exception; - - /** - * 根据ID查询 - * @param id / - * @return / - */ - MenuDto findById(long id); - - /** - * 创建 - * @param resources / - */ - void create(Menu resources); - - /** - * 编辑 - * @param resources / - */ - void update(Menu resources); - - /** - * 获取所有子节点,包含自身ID - * @param menuList / - * @param menuSet / - * @return / - */ - Set getChildMenus(List menuList, Set menuSet); - - /** - * 构建菜单树 - * @param menuDtos 原始数据 - * @return / - */ - List buildTree(List menuDtos); - - /** - * 构建菜单树 - * @param menuDtos / - * @return / - */ - Object buildMenus(List menuDtos); - - /** - * 根据ID查询 - * @param id / - * @return / - */ - Menu findOne(Long id); - - /** - * 删除 - * @param menuSet / - */ - void delete(Set menuSet); - - /** - * 懒加载菜单数据 - * @param pid / - * @return / - */ - List getMenus(Long pid); - - /** - * 根据ID获取同级与上级数据 - * @param menuDto / - * @param objects / - * @return / - */ - List getSuperior(MenuDto menuDto, List objects); - - /** - * 根据当前用户获取菜单 - * @param currentUserId / - * @return / - */ - List findByUser(Long currentUserId); -} diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/RoleService.java b/lms/nladmin-system/src/main/java/org/nl/modules/system/service/RoleService.java deleted file mode 100644 index 9779b4694..000000000 --- a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/RoleService.java +++ /dev/null @@ -1,143 +0,0 @@ -/* - * Copyright 2019-2020 Zheng Jie - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.nl.modules.system.service; - -import org.nl.modules.system.domain.Role; -import org.nl.modules.system.service.dto.RoleDto; -import org.nl.modules.system.service.dto.RoleQueryCriteria; -import org.nl.modules.system.service.dto.RoleSmallDto; -import org.nl.modules.system.service.dto.UserDto; -import org.springframework.data.domain.Pageable; - -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.util.List; -import java.util.Set; - -/** - * @author Zheng Jie - * @date 2018-12-03 - */ -public interface RoleService { - - /** - * 查询全部数据 - * @return / - */ - List queryAll(); - - /** - * 根据ID查询 - * @param id / - * @return / - */ - RoleDto findById(long id); - - /** - * 创建 - * @param resources / - */ - void create(Role resources); - - /** - * 编辑 - * @param resources / - */ - void update(Role resources); - - /** - * 删除 - * @param ids / - */ - void delete(Set ids); - - /** - * 根据用户ID查询 - * @param id 用户ID - * @return / - */ - List findByUsersId(Long id); - - /** - * 根据角色查询角色级别 - * @param roles / - * @return / - */ - Integer findByRoles(Set roles); - - /** - * 修改绑定的菜单 - * @param resources / - * @param roleDTO / - */ - void updateMenu(Role resources, RoleDto roleDTO); - - /** - * 解绑菜单 - * @param id / - */ - void untiedMenu(Long id); - - /** - * 待条件分页查询 - * @param criteria 条件 - * @param pageable 分页参数 - * @return / - */ - Object queryAll(RoleQueryCriteria criteria, Pageable pageable); - - /** - * 查询全部 - * @param criteria 条件 - * @return / - */ - List queryAll(RoleQueryCriteria criteria); - - /** - * 导出数据 - * @param queryAll 待导出的数据 - * @param response / - * @throws IOException / - */ - void download(List queryAll, HttpServletResponse response) throws IOException; - - /** - * 获取用户权限信息 - * @param user 用户信息 - * @return 权限信息 - */ -// List mapToGrantedAuthorities(UserDto user); - - /** - * 通过id获取用户的权限 - * @param userDto - * @return - */ - List getPermissionList(UserDto userDto); - - /** - * 验证是否被用户关联 - * @param ids / - */ - void verification(Set ids); - - /** - * 根据菜单Id查询 - * @param menuIds / - * @return / - */ - List findInMenuId(List menuIds); -} diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/UserService.java b/lms/nladmin-system/src/main/java/org/nl/modules/system/service/UserService.java deleted file mode 100644 index 40ba27eea..000000000 --- a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/UserService.java +++ /dev/null @@ -1,117 +0,0 @@ -/* - * Copyright 2019-2020 Zheng Jie - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.nl.modules.system.service; - -import org.nl.modules.system.domain.User; -import org.nl.modules.system.service.dto.UserDto; -import org.nl.modules.system.service.dto.UserQueryCriteria; -import org.springframework.data.domain.Pageable; -import org.springframework.web.multipart.MultipartFile; - -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.util.List; -import java.util.Map; -import java.util.Set; - -/** - * @author Zheng Jie - * @date 2018-11-23 - */ -public interface UserService { - - /** - * 根据ID查询 - * @param id ID - * @return / - */ - UserDto findById(long id); - - /** - * 新增用户 - * @param resources / - */ - void create(User resources); - - /** - * 编辑用户 - * @param resources / - */ - void update(User resources) throws Exception; - - /** - * 删除用户 - * @param ids / - */ - void delete(Set ids); - - /** - * 根据用户名查询 - * @param userName / - * @return / - */ - UserDto findByName(String userName); - - /** - * 修改密码 - * @param username 用户名 - * @param encryptPassword 密码 - */ - void updatePass(String username, String encryptPassword); - - /** - * 修改头像 - * @param file 文件 - * @return / - */ - Map updateAvatar(MultipartFile file); - - /** - * 修改邮箱 - * @param username 用户名 - * @param email 邮箱 - */ - void updateEmail(String username, String email); - - /** - * 查询全部 - * @param criteria 条件 - * @param pageable 分页参数 - * @return / - */ - Object queryAll(UserQueryCriteria criteria, Pageable pageable); - - /** - * 查询全部不分页 - * @param criteria 条件 - * @return / - */ - List queryAll(UserQueryCriteria criteria); - - /** - * 导出数据 - * @param queryAll 待导出的数据 - * @param response / - * @throws IOException / - */ - void download(List queryAll, HttpServletResponse response) throws IOException; - - /** - * 用户自助修改资料 - * @param resources / - */ - void updateCenter(User resources); -} diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/dto/DeptDto.java b/lms/nladmin-system/src/main/java/org/nl/modules/system/service/dto/DeptDto.java deleted file mode 100644 index 96969f56c..000000000 --- a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/dto/DeptDto.java +++ /dev/null @@ -1,81 +0,0 @@ -/* - * Copyright 2019-2020 Zheng Jie - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.nl.modules.system.service.dto; - -import com.fasterxml.jackson.annotation.JsonInclude; -import lombok.Getter; -import lombok.Setter; -import org.nl.modules.common.base.BaseDTO; - -import java.io.Serializable; -import java.util.List; -import java.util.Objects; - -/** -* @author Zheng Jie -* @date 2019-03-25 -*/ -@Getter -@Setter -public class DeptDto extends BaseDTO implements Serializable { - - private Long id; - - private String name; - - private Boolean enabled; - - private Integer deptSort; - - @JsonInclude(JsonInclude.Include.NON_EMPTY) - private List children; - - private Long pid; - - private Integer subCount; - - private String versionId; - - public Boolean getHasChildren() { - return subCount > 0; - } - - public Boolean getLeaf() { - return subCount <= 0; - } - - public String getLabel() { - return name; - } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - DeptDto deptDto = (DeptDto) o; - return Objects.equals(id, deptDto.id) && - Objects.equals(name, deptDto.name); - } - - @Override - public int hashCode() { - return Objects.hash(id, name); - } -} diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/dto/DeptQueryCriteria.java b/lms/nladmin-system/src/main/java/org/nl/modules/system/service/dto/DeptQueryCriteria.java deleted file mode 100644 index 603af60a5..000000000 --- a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/dto/DeptQueryCriteria.java +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright 2019-2020 Zheng Jie - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.nl.modules.system.service.dto; - -import lombok.Data; -import org.nl.modules.common.annotation.DataPermission; -import org.nl.modules.common.annotation.Query; - -import java.sql.Timestamp; -import java.util.List; - -/** -* @author Zheng Jie -* @date 2019-03-25 -*/ -@Data -@DataPermission(fieldName = "id") -public class DeptQueryCriteria{ - - @Query(type = Query.Type.INNER_LIKE) - private String name; - - @Query - private String code; - - @Query - private Boolean enabled; - - @Query - private Long pid; - - @Query(type = Query.Type.IS_NULL, propName = "pid") - private Boolean pidIsNull; - - @Query(type = Query.Type.BETWEEN) - private List createTime; -} diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/dto/DeptSmallDto.java b/lms/nladmin-system/src/main/java/org/nl/modules/system/service/dto/DeptSmallDto.java deleted file mode 100644 index 4ff0a37c1..000000000 --- a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/dto/DeptSmallDto.java +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Copyright 2019-2020 Zheng Jie - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.nl.modules.system.service.dto; - -import lombok.Data; - -import java.io.Serializable; - -/** -* @author Zheng Jie -* @date 2019-6-10 16:32:18 -*/ -@Data -public class DeptSmallDto implements Serializable { - - private Long id; - - private String code; - - private String name; -} diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/dto/DictDetailDto.java b/lms/nladmin-system/src/main/java/org/nl/modules/system/service/dto/DictDetailDto.java deleted file mode 100644 index 44b85a4ee..000000000 --- a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/dto/DictDetailDto.java +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright 2019-2020 Zheng Jie - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.nl.modules.system.service.dto; - -import lombok.Getter; -import lombok.Setter; -import org.nl.modules.common.base.BaseDTO; - -import java.io.Serializable; - -/** -* @author Zheng Jie -* @date 2019-04-10 -*/ -@Getter -@Setter -public class DictDetailDto extends BaseDTO implements Serializable { - - private Long id; - - private DictSmallDto dict; - - private String label; - - private String value; - - private Integer dictSort; -} \ No newline at end of file diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/dto/DictDetailQueryCriteria.java b/lms/nladmin-system/src/main/java/org/nl/modules/system/service/dto/DictDetailQueryCriteria.java deleted file mode 100644 index ae75372fa..000000000 --- a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/dto/DictDetailQueryCriteria.java +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright 2019-2020 Zheng Jie - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.nl.modules.system.service.dto; - -import lombok.Data; -import org.nl.modules.common.annotation.Query; - -/** -* @author Zheng Jie -* @date 2019-04-10 -*/ -@Data -public class DictDetailQueryCriteria { - - @Query(type = Query.Type.INNER_LIKE) - private String label; - - @Query(propName = "name",joinName = "dict") - private String dictName; -} \ No newline at end of file diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/dto/DictQueryCriteria.java b/lms/nladmin-system/src/main/java/org/nl/modules/system/service/dto/DictQueryCriteria.java deleted file mode 100644 index 410b72568..000000000 --- a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/dto/DictQueryCriteria.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Copyright 2019-2020 Zheng Jie - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.nl.modules.system.service.dto; - -import lombok.Data; -import org.nl.modules.common.annotation.Query; - -/** - * @author Zheng Jie - * 公共查询类 - */ -@Data -public class DictQueryCriteria { - - @Query(blurry = "name,description") - private String blurry; -} diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/dto/DictSmallDto.java b/lms/nladmin-system/src/main/java/org/nl/modules/system/service/dto/DictSmallDto.java deleted file mode 100644 index ea42f8a94..000000000 --- a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/dto/DictSmallDto.java +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Copyright 2019-2020 Zheng Jie - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.nl.modules.system.service.dto; - -import lombok.Getter; -import lombok.Setter; - -import java.io.Serializable; - -/** -* @author Zheng Jie -* @date 2019-04-10 -*/ -@Getter -@Setter -public class DictSmallDto implements Serializable { - - private Long id; -} diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/dto/MenuQueryCriteria.java b/lms/nladmin-system/src/main/java/org/nl/modules/system/service/dto/MenuQueryCriteria.java deleted file mode 100644 index b7b9209f6..000000000 --- a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/dto/MenuQueryCriteria.java +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright 2019-2020 Zheng Jie - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.nl.modules.system.service.dto; - -import lombok.Data; -import org.nl.modules.common.annotation.Query; - -import java.sql.Timestamp; -import java.util.List; - -/** - * @author Zheng Jie - * 公共查询类 - */ -@Data -public class MenuQueryCriteria { - - @Query(blurry = "title,component,permission") - private String blurry; - - @Query(type = Query.Type.BETWEEN) - private List createTime; - - @Query(type = Query.Type.IS_NULL, propName = "pid") - private Boolean pidIsNull; - - @Query - private Long pid; -} diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/dto/ParamDto.java b/lms/nladmin-system/src/main/java/org/nl/modules/system/service/dto/ParamDto.java index 86da40182..f62b4af72 100644 --- a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/dto/ParamDto.java +++ b/lms/nladmin-system/src/main/java/org/nl/modules/system/service/dto/ParamDto.java @@ -26,9 +26,9 @@ public class ParamDto implements Serializable { private String is_delete; - private Long create_id; + private String create_id; - private Long update_optid; + private String update_optid; private String create_name; diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/dto/RoleDto.java b/lms/nladmin-system/src/main/java/org/nl/modules/system/service/dto/RoleDto.java deleted file mode 100644 index d92488320..000000000 --- a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/dto/RoleDto.java +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Copyright 2019-2020 Zheng Jie - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.nl.modules.system.service.dto; - -import lombok.Getter; -import lombok.Setter; -import org.nl.modules.common.base.BaseDTO; - -import java.io.Serializable; -import java.util.Objects; -import java.util.Set; - -/** - * @author Zheng Jie - * @date 2018-11-23 - */ -@Getter -@Setter -public class RoleDto extends BaseDTO implements Serializable { - - private Long id; - - private Set menus; - - private Set depts; - - private String name; - - private String dataScope; - - private Integer level; - - private String description; - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - RoleDto roleDto = (RoleDto) o; - return Objects.equals(id, roleDto.id); - } - - @Override - public int hashCode() { - return Objects.hash(id); - } -} diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/dto/RoleQueryCriteria.java b/lms/nladmin-system/src/main/java/org/nl/modules/system/service/dto/RoleQueryCriteria.java deleted file mode 100644 index 9df73bf12..000000000 --- a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/dto/RoleQueryCriteria.java +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright 2019-2020 Zheng Jie - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.nl.modules.system.service.dto; - -import lombok.Data; -import org.nl.modules.common.annotation.Query; - -import java.sql.Timestamp; -import java.util.List; - -/** - * @author Zheng Jie - * 公共查询类 - */ -@Data -public class RoleQueryCriteria { - - @Query(blurry = "name,description") - private String blurry; - - @Query(type = Query.Type.BETWEEN) - private List createTime; -} diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/dto/RoleSmallDto.java b/lms/nladmin-system/src/main/java/org/nl/modules/system/service/dto/RoleSmallDto.java deleted file mode 100644 index 150b19135..000000000 --- a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/dto/RoleSmallDto.java +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright 2019-2020 Zheng Jie - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.nl.modules.system.service.dto; - -import lombok.Data; - -import java.io.Serializable; - -/** - * @author Zheng Jie - * @date 2018-11-23 - */ -@Data -public class RoleSmallDto implements Serializable { - - private Long id; - - private String name; - - private Integer level; - - private String dataScope; -} diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/dto/UserQueryCriteria.java b/lms/nladmin-system/src/main/java/org/nl/modules/system/service/dto/UserQueryCriteria.java deleted file mode 100644 index 70d81bc4f..000000000 --- a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/dto/UserQueryCriteria.java +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright 2019-2020 Zheng Jie - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.nl.modules.system.service.dto; - -import lombok.Data; -import org.nl.modules.common.annotation.Query; - -import java.io.Serializable; -import java.sql.Timestamp; -import java.util.HashSet; -import java.util.List; -import java.util.Set; - -/** - * @author Zheng Jie - * @date 2018-11-23 - */ -@Data -public class UserQueryCriteria implements Serializable { - - @Query - private Long id; - - @Query(propName = "id", type = Query.Type.IN, joinName = "dept") - private Set deptIds = new HashSet<>(); - - @Query(blurry = "email,username,nickName") - private String blurry; - - @Query - private Boolean enabled; - - private Long deptId; - - @Query(type = Query.Type.BETWEEN) - private List createTime; -} diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/impl/CodeDetailServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/modules/system/service/impl/CodeDetailServiceImpl.java index c9339208b..074db0459 100644 --- a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/impl/CodeDetailServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/modules/system/service/impl/CodeDetailServiceImpl.java @@ -4,7 +4,7 @@ import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.IdUtil; import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; -import org.nl.modules.common.utils.SecurityUtils; +import org.nl.common.utils.SecurityUtils; import org.nl.modules.system.service.CodeDetailService; import org.nl.modules.wql.core.bean.ResultBean; import org.nl.modules.wql.core.bean.WQLObject; diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/impl/DataServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/modules/system/service/impl/DataServiceImpl.java index 24e4d3f95..ce575158a 100644 --- a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/impl/DataServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/modules/system/service/impl/DataServiceImpl.java @@ -1,95 +1,94 @@ -/* - * Copyright 2019-2020 Zheng Jie - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.nl.modules.system.service.impl; - -import cn.hutool.core.util.ObjectUtil; -import lombok.RequiredArgsConstructor; -import org.nl.modules.common.utils.enums.DataScopeEnum; -import org.nl.modules.system.domain.Dept; -import org.nl.modules.system.service.DataService; -import org.nl.modules.system.service.DeptService; -import org.nl.modules.system.service.RoleService; -import org.nl.modules.system.service.dto.RoleSmallDto; -import org.nl.modules.system.service.dto.UserDto; -import org.springframework.cache.annotation.CacheConfig; -import org.springframework.cache.annotation.Cacheable; -import org.springframework.stereotype.Service; - -import java.util.*; - -/** - * @author Zheng Jie - * @website https://el-admin.vip - * @description 数据权限服务实现 - * @date 2020-05-07 - **/ -@Service -@RequiredArgsConstructor -@CacheConfig(cacheNames = "data") -public class DataServiceImpl implements DataService { - - private final RoleService roleService; - private final DeptService deptService; - - /** - * 用户角色改变时需清理缓存 - * @param user / - * @return / - */ - @Override - @Cacheable(key = "'user:' + #p0.id") - public List getDeptIds(UserDto user) { - // 用于存储部门id - Set deptIds = new HashSet<>(); - // 查询用户角色 - List roleSet = roleService.findByUsersId(user.getId()); - // 获取对应的部门ID - for (RoleSmallDto role : roleSet) { - DataScopeEnum dataScopeEnum = DataScopeEnum.find(role.getDataScope()); - switch (Objects.requireNonNull(dataScopeEnum)) { - case THIS_LEVEL: - if (ObjectUtil.isNotEmpty(user.getDept())){ - deptIds.add(user.getDept().getId()); - } - break; - case CUSTOMIZE: - deptIds.addAll(getCustomize(deptIds, role)); - break; - default: - return new ArrayList<>(deptIds); - } - } - return new ArrayList<>(deptIds); - } - - /** - * 获取自定义的数据权限 - * @param deptIds 部门ID - * @param role 角色 - * @return 数据权限ID - */ - public Set getCustomize(Set deptIds, RoleSmallDto role){ - Set depts = deptService.findByRoleId(role.getId()); - for (Dept dept : depts) { - deptIds.add(dept.getId()); - List deptChildren = deptService.findByPid(dept.getId()); - if (deptChildren != null && deptChildren.size() != 0) { - deptIds.addAll(deptService.getDeptChildren(deptChildren)); - } - } - return deptIds; - } -} +///* +// * Copyright 2019-2020 Zheng Jie +// * +// * Licensed under the Apache License, Version 2.0 (the "License"); +// * you may not use this file except in compliance with the License. +// * You may obtain a copy of the License at +// * +// * http://www.apache.org/licenses/LICENSE-2.0 +// * +// * Unless required by applicable law or agreed to in writing, software +// * distributed under the License is distributed on an "AS IS" BASIS, +// * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// * See the License for the specific language governing permissions and +// * limitations under the License. +// */ +//package org.nl.modules.system.service.impl; +// +//import cn.hutool.core.util.ObjectUtil; +//import lombok.RequiredArgsConstructor; +//import org.nl.modules.common.utils.enums.DataScopeEnum; +//import org.nl.modules.system.domain.Dept; +//import org.nl.modules.system.service.DataService; +//import org.nl.system.service.dept.ISysDeptService; +//import org.nl.system.service.role.ISysRoleService; +//import org.nl.system.service.user.dto.UserDto; +//import org.springframework.cache.annotation.CacheConfig; +//import org.springframework.cache.annotation.Cacheable; +//import org.springframework.stereotype.Service; +// +//import java.util.*; +// +///** +// * @author Zheng Jie +// * @website https://el-admin.vip +// * @description 数据权限服务实现 +// * @date 2020-05-07 +// **/ +//@Service +//@RequiredArgsConstructor +//@CacheConfig(cacheNames = "data") +//public class DataServiceImpl implements DataService { +// +// private final ISysRoleService roleService; +// private final ISysDeptService deptService; +// +// /** +// * 用户角色改变时需清理缓存 +// * @param user / +// * @return / +// */ +// @Override +// @Cacheable(key = "'user:' + #p0.id") +// public List getDeptIds(UserDto user) { +// // 用于存储部门id +// Set deptIds = new HashSet<>(); +// // 查询用户角色 +// List roleSet = roleService.findByUsersId(user.getId()); +// // 获取对应的部门ID +// for (RoleSmallDto role : roleSet) { +// DataScopeEnum dataScopeEnum = DataScopeEnum.find(role.getDataScope()); +// switch (Objects.requireNonNull(dataScopeEnum)) { +// case THIS_LEVEL: +// if (ObjectUtil.isNotEmpty(user.getDept())){ +// deptIds.add(user.getDept().getId()); +// } +// break; +// case CUSTOMIZE: +// deptIds.addAll(getCustomize(deptIds, role)); +// break; +// default: +// return new ArrayList<>(deptIds); +// } +// } +// return new ArrayList<>(deptIds); +// } +// +// /** +// * 获取自定义的数据权限 +// * @param deptIds 部门ID +// * @param role 角色 +// * @return 数据权限ID +// */ +// public Set getCustomize(Set deptIds, RoleSmallDto role){ +// Set depts = deptService.findByRoleId(role.getId()); +// for (Dept dept : depts) { +// deptIds.add(dept.getId()); +// List deptChildren = deptService.findByPid(dept.getId()); +// if (deptChildren != null && deptChildren.size() != 0) { +// deptIds.addAll(deptService.getDeptChildren(deptChildren)); +// } +// } +// return deptIds; +// } +//} diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/impl/DeptServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/modules/system/service/impl/DeptServiceImpl.java deleted file mode 100644 index 553f9e557..000000000 --- a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/impl/DeptServiceImpl.java +++ /dev/null @@ -1,346 +0,0 @@ -/* - * Copyright 2019-2020 Zheng Jie - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.nl.modules.system.service.impl; - -import cn.hutool.core.collection.CollectionUtil; -import cn.hutool.core.util.ObjectUtil; -import cn.hutool.core.util.StrUtil; -import cn.hutool.db.Db; -import cn.hutool.db.Entity; -import com.alibaba.fastjson.JSONArray; -import lombok.RequiredArgsConstructor; -import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.utils.CacheKey; -import org.nl.modules.common.utils.QueryHelp; -import org.nl.modules.common.utils.RedisUtils; -import org.nl.modules.common.utils.ValidationUtil; -import org.nl.modules.system.domain.Dept; -import org.nl.modules.system.domain.User; -import org.nl.modules.system.repository.DeptRepository; -import org.nl.modules.system.repository.RoleRepository; -import org.nl.modules.system.repository.UserRepository; -import org.nl.modules.system.service.DeptService; -import org.nl.modules.system.service.dto.DeptDto; -import org.nl.modules.system.service.dto.DeptQueryCriteria; -import org.nl.modules.system.service.mapstruct.DeptMapper; -import org.nl.modules.wql.core.bean.WQLObject; -import org.nl.modules.wql.util.SpringContextHolder; -import org.springframework.cache.annotation.CacheConfig; -import org.springframework.cache.annotation.Cacheable; -import org.springframework.data.domain.Sort; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import javax.sql.DataSource; -import java.lang.reflect.Field; -import java.sql.SQLException; -import java.util.*; -import java.util.stream.Collectors; - -/** - * @author Zheng Jie - * @date 2019-03-25 - */ -@Service -@RequiredArgsConstructor -@CacheConfig(cacheNames = "dept") -public class DeptServiceImpl implements DeptService { - - private final DeptRepository deptRepository; - private final DeptMapper deptMapper; - private final UserRepository userRepository; - private final RedisUtils redisUtils; - private final RoleRepository roleRepository; - - @Override - public List queryAll(DeptQueryCriteria criteria, Boolean isQuery) throws Exception { - Sort sort = Sort.by(Sort.Direction.ASC, "deptSort"); -// String dataScopeType = SecurityUtils.getDataScopeType(); - if (isQuery) { -// if (dataScopeType.equals(DataScopeEnum.ALL.getValue())) { - criteria.setPidIsNull(true); -// } - List fields = QueryHelp.getAllFields(criteria.getClass(), new ArrayList<>()); - List fieldNames = new ArrayList() {{ - add("pidIsNull"); - add("enabled"); - }}; - for (Field field : fields) { - //设置对象的访问权限,保证对private的属性的访问 - field.setAccessible(true); - Object val = field.get(criteria); - if (fieldNames.contains(field.getName())) { - continue; - } - if (ObjectUtil.isNotNull(val)) { - criteria.setPidIsNull(null); - break; - } - } - } - List list = deptMapper.toDto(deptRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root, criteria, criteriaBuilder), sort)); - // 如果为空,就代表为自定义权限或者本级权限,就需要去重,不理解可以注释掉,看查询结果 -// if (StrUtil.isEmpty(dataScopeType)) { -// return deduplication(list); -// } - return list; - } - - @Override - @Cacheable(key = "'id:' + #p0") - public DeptDto findById(Long id) { - Dept dept = deptRepository.findById(id).orElseGet(Dept::new); - ValidationUtil.isNull(dept.getId(), "Dept", "id", id); - return deptMapper.toDto(dept); - } - - @Override - public List findByPid(long pid) { - return deptRepository.findByPid(pid); - } - - @Override - public Set findByRoleId(Long id) { - return deptRepository.findByRoleId(id); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void create(Dept resources) { - deptRepository.save(resources); - // 计算子节点数目 - resources.setSubCount(0); - // 清理缓存 - updateSubCnt(resources.getPid()); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void update(Dept resources) { - // 旧的部门 - Long oldPid = findById(resources.getId()).getPid(); - Long newPid = resources.getPid(); - if (resources.getPid() != null && resources.getId().equals(resources.getPid())) { - throw new BadRequestException("上级不能为自己"); - } - Dept dept = deptRepository.findById(resources.getId()).orElseGet(Dept::new); - ValidationUtil.isNull(dept.getId(), "Dept", "id", resources.getId()); - resources.setId(dept.getId()); - deptRepository.save(resources); - // 更新父节点中子节点数目 - updateSubCnt(oldPid); - updateSubCnt(newPid); - // 清理缓存 - delCaches(resources.getId()); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void delete(Set deptDtos) { - for (DeptDto deptDto : deptDtos) { - // 清理缓存 - delCaches(deptDto.getId()); - deptRepository.deleteById(deptDto.getId()); - updateSubCnt(deptDto.getPid()); - } - } - - @Override - public Set getDeleteDepts(List menuList, Set deptDtos) { - for (Dept dept : menuList) { - deptDtos.add(deptMapper.toDto(dept)); - List depts = deptRepository.findByPid(dept.getId()); - if (depts != null && depts.size() != 0) { - getDeleteDepts(depts, deptDtos); - } - } - return deptDtos; - } - - @Override - public List getSuperior(DeptDto deptDto, List depts) { - if (deptDto.getPid() == null) { - depts.addAll(deptRepository.findByPidIsNull()); - return deptMapper.toDto(depts); - } - depts.addAll(deptRepository.findByPid(deptDto.getPid())); - return getSuperior(findById(deptDto.getPid()), depts); - } - - @Override - public Object buildTree(List deptDtos) { - Set trees = new LinkedHashSet<>(); - Set depts = new LinkedHashSet<>(); - List deptNames = deptDtos.stream().map(DeptDto::getName).collect(Collectors.toList()); - boolean isChild; - for (DeptDto deptDTO : deptDtos) { - isChild = false; - if (deptDTO.getPid() == null) { - trees.add(deptDTO); - } - for (DeptDto it : deptDtos) { - if (it.getPid() != null && deptDTO.getId().equals(it.getPid())) { - isChild = true; - if (deptDTO.getChildren() == null) { - deptDTO.setChildren(new ArrayList<>()); - } - deptDTO.getChildren().add(it); - } - } - if (isChild) { - depts.add(deptDTO); - } else if (deptDTO.getPid() != null && !deptNames.contains(findById(deptDTO.getPid()).getName())) { - depts.add(deptDTO); - } - } - - if (CollectionUtil.isEmpty(trees)) { - trees = depts; - } - Map map = new HashMap<>(2); - map.put("totalElements", deptDtos.size()); - map.put("content", CollectionUtil.isEmpty(trees) ? deptDtos : trees); - return map; - } - - @Override - public void verification(Set deptDtos) { - Set deptIds = deptDtos.stream().map(DeptDto::getId).collect(Collectors.toSet()); - if (userRepository.countByDepts(deptIds) > 0) { - throw new BadRequestException("所选部门存在用户关联,请解除后再试!"); - } - if (roleRepository.countByDepts(deptIds) > 0) { - throw new BadRequestException("所选部门存在角色关联,请解除后再试!"); - } - } - - - private void updateSubCnt(Long deptId) { - if (deptId != null) { - int count = deptRepository.countByPid(deptId); - deptRepository.updateSubCntById(count, deptId); - } - } - - private List deduplication(List list) { - List deptDtos = new ArrayList<>(); - for (DeptDto deptDto : list) { - boolean flag = true; - for (DeptDto dto : list) { - if (dto.getId().equals(deptDto.getPid())) { - flag = false; - break; - } - } - if (flag) { - deptDtos.add(deptDto); - } - } - return deptDtos; - } - - /** - * 清理缓存 - * - * @param id / - */ - public void delCaches(Long id) { - List users = userRepository.findByRoleDeptId(id); - // 删除数据权限 - redisUtils.delByKeys(CacheKey.DATA_USER, users.stream().map(User::getId).collect(Collectors.toSet())); - redisUtils.del(CacheKey.DEPT_ID + id); - } - - @Override - public List getDeptChildren(List deptList) { - List list = new ArrayList<>(); - deptList.forEach(dept -> { - if (dept != null && dept.getEnabled()) { - List depts = deptRepository.findByPid(dept.getId()); - if (deptList.size() != 0) { - list.addAll(getDeptChildren(depts)); - } - list.add(dept.getId()); - } - } - ); - return list; - } - - @Override - public Set getChildIdSet(Long pid) { - String sql = "select dept_id from (\n" + - " select t1.dept_id,\n" + - " if(find_in_set(pid, @pids) > 0, @pids := concat(@pids, ',', dept_id), 0) as ischild\n" + - " from (\n" + - " select dept_id,pid from sys_dept t where t.enabled = 1\n" + - " ) t1,\n" + - " (select @pids :=" + pid + ") t2\n" + - " ) t3 where ischild != 0"; - Set set = new HashSet<>(); - //添加本级 - set.add(pid); - - //添加子节点 - try { - List list = Db.use((DataSource) SpringContextHolder.getBean("dataSource")).query(sql); - list.forEach(item -> { - set.add(item.getLong("dept_id")); - }); - } catch (SQLException e) { - e.printStackTrace(); - } - return set; - } - - @Override - public Set getAllChildIdSet(String dept_idStr) { - JSONArray arr = WQLObject.getWQLObject("sys_dept").query("dept_id IN " + dept_idStr).getResultJSONArray(0); - Set set = new HashSet<>(); - for (int i = 0; i < arr.size(); i++) { - set.addAll(this.getChildIdSet(arr.getJSONObject(i).getLong("dept_id"))); - } - return set; - } - - @Override - public String getChildIdStr(Long dept_id) { - Set set = this.getChildIdSet(dept_id); - StringBuilder sb = new StringBuilder(); - set.forEach(item -> { - sb.append(",'" + item + "'"); - }); - String str = sb.toString(); - if (StrUtil.isNotEmpty(str)) { - str = "(" + str.substring(1) + ")"; - } - return str; - } - - @Override - public String getAllChildIdStr(String dept_idStr) { - Set set = this.getAllChildIdSet(dept_idStr); - StringBuilder sb = new StringBuilder(); - set.forEach(item -> { - sb.append(",'" + item + "'"); - }); - String str = sb.toString(); - if (StrUtil.isNotEmpty(str)) { - str = "(" + str.substring(1) + ")"; - } - return str; - } -} diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/impl/DictDetailServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/modules/system/service/impl/DictDetailServiceImpl.java deleted file mode 100644 index e60fa8e13..000000000 --- a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/impl/DictDetailServiceImpl.java +++ /dev/null @@ -1,99 +0,0 @@ -/* - * Copyright 2019-2020 Zheng Jie - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.nl.modules.system.service.impl; - -import lombok.RequiredArgsConstructor; -import org.nl.modules.common.utils.PageUtil; -import org.nl.modules.common.utils.QueryHelp; -import org.nl.modules.common.utils.RedisUtils; -import org.nl.modules.common.utils.ValidationUtil; -import org.nl.modules.system.domain.Dict; -import org.nl.modules.system.domain.DictDetail; -import org.nl.modules.system.repository.DictDetailRepository; -import org.nl.modules.system.repository.DictRepository; -import org.nl.modules.system.service.DictDetailService; -import org.nl.modules.system.service.dto.DictDetailDto; -import org.nl.modules.system.service.dto.DictDetailQueryCriteria; -import org.nl.modules.system.service.mapstruct.DictDetailMapper; -import org.springframework.cache.annotation.CacheConfig; -import org.springframework.cache.annotation.Cacheable; -import org.springframework.data.domain.Page; -import org.springframework.data.domain.Pageable; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.List; -import java.util.Map; - -/** -* @author Zheng Jie -* @date 2019-04-10 -*/ -@Service -@RequiredArgsConstructor -@CacheConfig(cacheNames = "dict") -public class DictDetailServiceImpl implements DictDetailService { - - private final DictRepository dictRepository; - private final DictDetailRepository dictDetailRepository; - private final DictDetailMapper dictDetailMapper; - private final RedisUtils redisUtils; - - @Override - public Map queryAll(DictDetailQueryCriteria criteria, Pageable pageable) { - Page page = dictDetailRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder),pageable); - return PageUtil.toPage(page.map(dictDetailMapper::toDto)); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void create(DictDetail resources) { - dictDetailRepository.save(resources); - // 清理缓存 - delCaches(resources); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void update(DictDetail resources) { - DictDetail dictDetail = dictDetailRepository.findById(resources.getId()).orElseGet(DictDetail::new); - ValidationUtil.isNull( dictDetail.getId(),"DictDetail","id",resources.getId()); - resources.setId(dictDetail.getId()); - dictDetailRepository.save(resources); - // 清理缓存 - delCaches(resources); - } - - @Override - @Cacheable(key = "'name:' + #p0") - public List getDictByName(String name) { - return dictDetailMapper.toDto(dictDetailRepository.findByDictName(name)); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void delete(Long id) { - DictDetail dictDetail = dictDetailRepository.findById(id).orElseGet(DictDetail::new); - // 清理缓存 - delCaches(dictDetail); - dictDetailRepository.deleteById(id); - } - - public void delCaches(DictDetail dictDetail){ - Dict dict = dictRepository.findById(dictDetail.getDict().getId()).orElseGet(Dict::new); - redisUtils.del("dict::name:" + dict.getName()); - } -} \ No newline at end of file diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/impl/DictServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/modules/system/service/impl/DictServiceImpl.java deleted file mode 100644 index 4b938b44f..000000000 --- a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/impl/DictServiceImpl.java +++ /dev/null @@ -1,122 +0,0 @@ -/* - * Copyright 2019-2020 Zheng Jie - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.nl.modules.system.service.impl; - -import cn.hutool.core.collection.CollectionUtil; -import lombok.RequiredArgsConstructor; -import org.nl.modules.common.utils.*; -import org.nl.modules.system.domain.Dict; -import org.nl.modules.system.repository.DictRepository; -import org.nl.modules.system.service.DictService; -import org.nl.modules.system.service.dto.DictDetailDto; -import org.nl.modules.system.service.dto.DictDto; -import org.nl.modules.system.service.dto.DictQueryCriteria; -import org.nl.modules.system.service.mapstruct.DictMapper; -import org.springframework.cache.annotation.CacheConfig; -import org.springframework.data.domain.Page; -import org.springframework.data.domain.Pageable; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.util.*; - -/** -* @author Zheng Jie -* @date 2019-04-10 -*/ -@Service -@RequiredArgsConstructor -@CacheConfig(cacheNames = "dict") -public class DictServiceImpl implements DictService { - - private final DictRepository dictRepository; - private final DictMapper dictMapper; - private final RedisUtils redisUtils; - - @Override - public Map queryAll(DictQueryCriteria dict, Pageable pageable){ - Page page = dictRepository.findAll((root, query, cb) -> QueryHelp.getPredicate(root, dict, cb), pageable); - return PageUtil.toPage(page.map(dictMapper::toDto)); - } - - @Override - public List queryAll(DictQueryCriteria dict) { - List list = dictRepository.findAll((root, query, cb) -> QueryHelp.getPredicate(root, dict, cb)); - return dictMapper.toDto(list); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void create(Dict resources) { - dictRepository.save(resources); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void update(Dict resources) { - // 清理缓存 - delCaches(resources); - Dict dict = dictRepository.findById(resources.getId()).orElseGet(Dict::new); - ValidationUtil.isNull( dict.getId(),"Dict","id",resources.getId()); - dict.setName(resources.getName()); - dict.setDescription(resources.getDescription()); - dictRepository.save(dict); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void delete(Set ids) { - // 清理缓存 - List dicts = dictRepository.findByIdIn(ids); - for (Dict dict : dicts) { - delCaches(dict); - } - dictRepository.deleteByIdIn(ids); - } - - @Override - public void download(List dictDtos, HttpServletResponse response) throws IOException { - List> list = new ArrayList<>(); - for (DictDto dictDTO : dictDtos) { - if(CollectionUtil.isNotEmpty(dictDTO.getDictDetails())){ - for (DictDetailDto dictDetail : dictDTO.getDictDetails()) { - Map map = new LinkedHashMap<>(); - map.put("字典名称", dictDTO.getName()); - map.put("字典描述", dictDTO.getDescription()); - map.put("字典标签", dictDetail.getLabel()); - map.put("字典值", dictDetail.getValue()); - map.put("创建日期", dictDetail.getCreateTime()); - list.add(map); - } - } else { - Map map = new LinkedHashMap<>(); - map.put("字典名称", dictDTO.getName()); - map.put("字典描述", dictDTO.getDescription()); - map.put("字典标签", null); - map.put("字典值", null); - map.put("创建日期", dictDTO.getCreateTime()); - list.add(map); - } - } - FileUtil.downloadExcel(list, response); - } - - public void delCaches(Dict dict){ - redisUtils.del("dict::name:" + dict.getName()); - } -} diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/impl/GenCodeServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/modules/system/service/impl/GenCodeServiceImpl.java index 22988635e..f4efed975 100644 --- a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/impl/GenCodeServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/modules/system/service/impl/GenCodeServiceImpl.java @@ -7,7 +7,7 @@ import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.utils.SecurityUtils; +import org.nl.common.utils.SecurityUtils; import org.nl.modules.system.service.GenCodeService; import org.nl.modules.wql.core.bean.ResultBean; import org.nl.modules.wql.core.bean.WQLObject; @@ -50,7 +50,7 @@ public class GenCodeServiceImpl implements GenCodeService { @Override public void create(Map form) { - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String currentUsername = SecurityUtils.getCurrentUsername(); WQLObject wql = WQLObject.getWQLObject("sys_code_rule"); JSONObject json = new JSONObject(); diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/impl/GridFieldServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/modules/system/service/impl/GridFieldServiceImpl.java index 291bfebe6..125df219a 100644 --- a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/impl/GridFieldServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/modules/system/service/impl/GridFieldServiceImpl.java @@ -8,7 +8,7 @@ import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.utils.SecurityUtils; +import org.nl.common.utils.SecurityUtils; import org.nl.modules.system.service.GridFieldService; import org.nl.modules.system.service.dto.GridFieldDto; import org.nl.modules.wql.WQL; @@ -47,7 +47,7 @@ public class GridFieldServiceImpl implements GridFieldService { @Transactional(rollbackFor = Exception.class) public void create(GridFieldDto dto) { String currentUsername = SecurityUtils.getCurrentUsername(); - Long uid = SecurityUtils.getCurrentUserId(); + String uid = SecurityUtils.getCurrentUserId(); String now = DateUtil.now(); dto.setId(IdUtil.simpleUUID()); @@ -108,7 +108,7 @@ public class GridFieldServiceImpl implements GridFieldService { JSONArray fieldDatas = json.getJSONArray("gridFieldData"); WQLObject wo = WQLObject.getWQLObject("sys_grid_field"); String currentUsername = SecurityUtils.getCurrentUsername(); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); // 先删除原先所有的数据 wo.delete("grid_id = '" + grid_id + "'"); // 然后添加 diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/impl/GridServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/modules/system/service/impl/GridServiceImpl.java index 129658176..27e240c32 100644 --- a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/impl/GridServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/modules/system/service/impl/GridServiceImpl.java @@ -7,7 +7,7 @@ import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.utils.SecurityUtils; +import org.nl.common.utils.SecurityUtils; import org.nl.modules.system.service.GridService; import org.nl.modules.system.service.dto.GridDto; import org.nl.modules.wql.core.bean.ResultBean; @@ -44,7 +44,7 @@ public class GridServiceImpl implements GridService { @Transactional(rollbackFor = Exception.class) public void create(GridDto dto) { String currentUsername = SecurityUtils.getCurrentUsername(); - Long uid = SecurityUtils.getCurrentUserId(); + String uid = SecurityUtils.getCurrentUserId(); String now = DateUtil.now(); dto.setId(IdUtil.simpleUUID()); diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/impl/MenuServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/modules/system/service/impl/MenuServiceImpl.java deleted file mode 100644 index 17e3a9f67..000000000 --- a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/impl/MenuServiceImpl.java +++ /dev/null @@ -1,341 +0,0 @@ -/* - * Copyright 2019-2020 Zheng Jie - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.nl.modules.system.service.impl; - -import cn.hutool.core.util.ObjectUtil; -import cn.hutool.core.util.StrUtil; -import lombok.RequiredArgsConstructor; -import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.exception.EntityExistException; -import org.nl.modules.common.utils.QueryHelp; -import org.nl.modules.common.utils.RedisUtils; -import org.nl.modules.common.utils.ValidationUtil; -import org.nl.modules.system.domain.Menu; -import org.nl.modules.system.domain.Role; -import org.nl.modules.system.domain.User; -import org.nl.modules.system.domain.vo.MenuMetaVo; -import org.nl.modules.system.domain.vo.MenuVo; -import org.nl.modules.system.repository.MenuRepository; -import org.nl.modules.system.repository.UserRepository; -import org.nl.modules.system.service.MenuService; -import org.nl.modules.system.service.RoleService; -import org.nl.modules.system.service.dto.MenuDto; -import org.nl.modules.system.service.dto.MenuQueryCriteria; -import org.nl.modules.system.service.dto.RoleSmallDto; -import org.nl.modules.system.service.mapstruct.MenuMapper; -import org.springframework.cache.annotation.CacheConfig; -import org.springframework.cache.annotation.Cacheable; -import org.springframework.data.domain.Sort; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.lang.reflect.Field; -import java.util.*; -import java.util.stream.Collectors; - -/** - * @author Zheng Jie - */ -@Service -@RequiredArgsConstructor -@CacheConfig(cacheNames = "menu") -public class MenuServiceImpl implements MenuService { - - private final MenuRepository menuRepository; - private final UserRepository userRepository; - private final MenuMapper menuMapper; - private final RoleService roleService; - private final RedisUtils redisUtils; - - @Override - public List queryAll(MenuQueryCriteria criteria, Boolean isQuery) throws Exception { - Sort sort = Sort.by(Sort.Direction.ASC, "menuSort"); - if (isQuery) { - criteria.setPidIsNull(true); - List fields = QueryHelp.getAllFields(criteria.getClass(), new ArrayList<>()); - for (Field field : fields) { - //设置对象的访问权限,保证对private的属性的访问 - field.setAccessible(true); - Object val = field.get(criteria); - if ("pidIsNull".equals(field.getName())) { - continue; - } - if (ObjectUtil.isNotNull(val)) { - criteria.setPidIsNull(null); - break; - } - } - } - return menuMapper.toDto(menuRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root, criteria, criteriaBuilder), sort)); - } - - @Override - @Cacheable(key = "'id:' + #p0") - public MenuDto findById(long id) { - Menu menu = menuRepository.findById(id).orElseGet(Menu::new); - ValidationUtil.isNull(menu.getId(), "Menu", "id", id); - return menuMapper.toDto(menu); - } - - /** - * 用户角色改变时需清理缓存 - * - * @param currentUserId / - * @return / - */ - @Override - @Cacheable(key = "'user:' + #p0") - public List findByUser(Long currentUserId) { - List roles = roleService.findByUsersId(currentUserId); - Set roleIds = roles.stream().map(RoleSmallDto::getId).collect(Collectors.toSet()); - LinkedHashSet menus = menuRepository.findByRoleIdsAndTypeNot(roleIds, 2); - return menus.stream().map(menuMapper::toDto).collect(Collectors.toList()); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void create(Menu resources) { - if (menuRepository.findByTitle(resources.getTitle()) != null) { - throw new EntityExistException(Menu.class, "title", resources.getTitle()); - } - if (StrUtil.isNotEmpty(resources.getComponentName())) { - if (menuRepository.findByComponentName(resources.getComponentName()) != null) { - throw new EntityExistException(Menu.class, "componentName", resources.getComponentName()); - } - } - if (resources.getPid().equals(0L)) { - resources.setPid(null); - } - if (resources.getIFrame()) { - String http = "http://", https = "https://"; - if (!(resources.getPath().toLowerCase().startsWith(http) || resources.getPath().toLowerCase().startsWith(https))) { - throw new BadRequestException("外链必须以http://或者https://开头"); - } - } - menuRepository.save(resources); - // 计算子节点数目 - resources.setSubCount(0); - // 更新父节点菜单数目 - updateSubCnt(resources.getPid()); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void update(Menu resources) { - if (resources.getId().equals(resources.getPid())) { - throw new BadRequestException("上级不能为自己"); - } - Menu menu = menuRepository.findById(resources.getId()).orElseGet(Menu::new); - ValidationUtil.isNull(menu.getId(), "Permission", "id", resources.getId()); - - if (resources.getIFrame()) { - String http = "http://", https = "https://"; - if (!(resources.getPath().toLowerCase().startsWith(http) || resources.getPath().toLowerCase().startsWith(https))) { - throw new BadRequestException("外链必须以http://或者https://开头"); - } - } - Menu menu1 = menuRepository.findByTitle(resources.getTitle()); - - if (menu1 != null && !menu1.getId().equals(menu.getId())) { - throw new EntityExistException(Menu.class, "title", resources.getTitle()); - } - - if (resources.getPid().equals(0L)) { - resources.setPid(null); - } - - // 记录的父节点ID - Long oldPid = menu.getPid(); - Long newPid = resources.getPid(); - - if (StrUtil.isNotEmpty(resources.getComponentName())) { - menu1 = menuRepository.findByComponentName(resources.getComponentName()); - if (menu1 != null && !menu1.getId().equals(menu.getId())) { - throw new EntityExistException(Menu.class, "componentName", resources.getComponentName()); - } - } - menu.setTitle(resources.getTitle()); - menu.setComponent(resources.getComponent()); - menu.setPath(resources.getPath()); - menu.setIcon(resources.getIcon()); - menu.setIFrame(resources.getIFrame()); - menu.setPid(resources.getPid()); - menu.setMenuSort(resources.getMenuSort()); - menu.setCache(resources.getCache()); - menu.setHidden(resources.getHidden()); - menu.setComponentName(resources.getComponentName()); - menu.setPermission(resources.getPermission()); - menu.setType(resources.getType()); - menuRepository.save(menu); - // 计算父级菜单节点数目 - updateSubCnt(oldPid); - updateSubCnt(newPid); - // 清理缓存 - delCaches(resources.getId()); - } - - @Override - public Set getChildMenus(List menuList, Set menuSet) { - for (Menu menu : menuList) { - menuSet.add(menu); - List menus = menuRepository.findByPid(menu.getId()); - if (menus != null && menus.size() != 0) { - getChildMenus(menus, menuSet); - } - } - return menuSet; - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void delete(Set menuSet) { - for (Menu menu : menuSet) { - // 清理缓存 - delCaches(menu.getId()); - roleService.untiedMenu(menu.getId()); - menuRepository.deleteById(menu.getId()); - updateSubCnt(menu.getPid()); - } - } - - @Override - public List getMenus(Long pid) { - List menus; - if (pid != null && !pid.equals(0L)) { - menus = menuRepository.findByPid(pid); - } else { - menus = menuRepository.findByPidIsNull(); - } - return menuMapper.toDto(menus); - } - - @Override - public List getSuperior(MenuDto menuDto, List menus) { - if (menuDto.getPid() == null) { - menus.addAll(menuRepository.findByPidIsNull()); - return menuMapper.toDto(menus); - } - menus.addAll(menuRepository.findByPid(menuDto.getPid())); - return getSuperior(findById(menuDto.getPid()), menus); - } - - @Override - public List buildTree(List menuDtos) { - List trees = new ArrayList<>(); - Set ids = new HashSet<>(); - for (MenuDto menuDTO : menuDtos) { - if (menuDTO.getPid() == null) { - trees.add(menuDTO); - } - for (MenuDto it : menuDtos) { - if (menuDTO.getId().equals(it.getPid())) { - if (menuDTO.getChildren() == null) { - menuDTO.setChildren(new ArrayList<>()); - } - menuDTO.getChildren().add(it); - ids.add(it.getId()); - } - } - } - if (trees.size() == 0) { - trees = menuDtos.stream().filter(s -> !ids.contains(s.getId())).collect(Collectors.toList()); - } - return trees; - } - - @Override - public List buildMenus(List menuDtos) { - List list = new LinkedList<>(); - menuDtos.forEach(menuDTO -> { - if (menuDTO != null) { - List menuDtoList = menuDTO.getChildren(); - MenuVo menuVo = new MenuVo(); - menuVo.setName(ObjectUtil.isNotEmpty(menuDTO.getComponentName()) ? menuDTO.getComponentName() : menuDTO.getTitle()); - // 一级目录需要加斜杠,不然会报警告 - menuVo.setPath(menuDTO.getPid() == null ? "/" + menuDTO.getPath() : menuDTO.getPath()); - menuVo.setHidden(menuDTO.getHidden()); - // 如果不是外链 - if (!menuDTO.getIFrame()) { - if (menuDTO.getPid() == null) { - menuVo.setComponent(StrUtil.isEmpty(menuDTO.getComponent()) ? "Layout" : menuDTO.getComponent()); - } else if (menuDTO.getPid() != null && menuDTO.getType() == 0) { - menuVo.setComponent(StrUtil.isEmpty(menuDTO.getComponent()) ? "ParentView" : menuDTO.getComponent()); - - } else if (!StrUtil.isEmpty(menuDTO.getComponent())) { - menuVo.setComponent(menuDTO.getComponent()); - } - } - menuVo.setMeta(new MenuMetaVo(menuDTO.getTitle(), menuDTO.getIcon(), !menuDTO.getCache())); - if (menuDtoList != null && menuDtoList.size() != 0) { - menuVo.setAlwaysShow(true); - menuVo.setRedirect("noredirect"); - menuVo.setChildren(buildMenus(menuDtoList)); - // 处理是一级菜单并且没有子菜单的情况 - } else if (menuDTO.getPid() == null) { - MenuVo menuVo1 = new MenuVo(); - menuVo1.setMeta(menuVo.getMeta()); - // 非外链 - if (!menuDTO.getIFrame()) { - menuVo1.setPath("index"); - menuVo1.setName(menuVo.getName()); - menuVo1.setComponent(menuVo.getComponent()); - } else { - menuVo1.setPath(menuDTO.getPath()); - } - menuVo.setName(null); - menuVo.setMeta(null); - menuVo.setComponent("Layout"); - List list1 = new ArrayList<>(); - list1.add(menuVo1); - menuVo.setChildren(list1); - } - list.add(menuVo); - } - } - ); - return list; - } - - @Override - public Menu findOne(Long id) { - Menu menu = menuRepository.findById(id).orElseGet(Menu::new); - ValidationUtil.isNull(menu.getId(), "Menu", "id", id); - return menu; - } - - private void updateSubCnt(Long menuId) { - if (menuId != null) { - int count = menuRepository.countByPid(menuId); - menuRepository.updateSubCntById(count, menuId); - } - } - - /** - * 清理缓存 - * - * @param id 菜单ID - */ - public void delCaches(Long id) { - List users = userRepository.findByMenuId(id); - redisUtils.del("menu::id:" + id); - redisUtils.delByKeys("menu::user:", users.stream().map(User::getId).collect(Collectors.toSet())); - // 清除 Role 缓存 - List roles = roleService.findInMenuId(new ArrayList() {{ - add(id); - }}); - redisUtils.delByKeys("role::id:", roles.stream().map(Role::getId).collect(Collectors.toSet())); - } -} diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/impl/ParamServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/modules/system/service/impl/ParamServiceImpl.java deleted file mode 100644 index 78ec333bb..000000000 --- a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/impl/ParamServiceImpl.java +++ /dev/null @@ -1,140 +0,0 @@ - -package org.nl.modules.system.service.impl; - - -import cn.dev33.satoken.stp.StpUtil; -import cn.hutool.core.date.DateUtil; -import cn.hutool.core.util.IdUtil; -import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.utils.FileUtil; -import org.nl.modules.common.utils.SecurityUtils; -import org.nl.modules.common.utils.dto.CurrentUser; -import org.nl.modules.system.service.ParamService; -import org.nl.modules.system.service.dto.ParamDto; -import org.nl.modules.wql.core.bean.ResultBean; -import org.nl.modules.wql.core.bean.WQLObject; -import org.nl.modules.wql.util.WqlUtil; -import org.springframework.data.domain.Pageable; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.util.ArrayList; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; - -/** - * @author ldjun - * @description 服务实现 - * @date 2021-03-16 - **/ -@Service -@RequiredArgsConstructor -@Slf4j -public class ParamServiceImpl implements ParamService { - - @Override - public Map queryAll(Map whereJson, Pageable page) { - WQLObject wo = WQLObject.getWQLObject("sys_param"); - ResultBean rb = wo.pagequery(WqlUtil.getHttpContext(page), "", "update_time desc"); - final JSONObject json = rb.pageResult(); - return json; - } - - @Override - public List queryAll(Map whereJson) { - WQLObject wo = WQLObject.getWQLObject("sys_param"); - JSONArray arr = wo.query().getResultJSONArray(0); - List list = arr.toJavaList(ParamDto.class); - return list; - } - - @Override - public ParamDto findById(String id) { - WQLObject wo = WQLObject.getWQLObject("sys_param"); - JSONObject json = wo.query("id ='" + id + "'").uniqueResult(0); - final ParamDto obj = json.toJavaObject(ParamDto.class);; - return obj; - } - - @Override - public ParamDto findByCode(String code) { - WQLObject wo = WQLObject.getWQLObject("sys_param"); - JSONObject json = wo.query("code ='" + code + "'").uniqueResult(0); - final ParamDto obj = json.toJavaObject(ParamDto.class);; - return obj; - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void create(ParamDto dto) { - CurrentUser currentUsername = SecurityUtils.getCurrentUser(); - Long currentId = StpUtil.getLoginIdAsLong(); - - String now = DateUtil.now(); - - dto.setId(IdUtil.simpleUUID()); - dto.setCreate_id(currentId); - dto.setUpdate_optid(currentId); - dto.setCreate_name(currentUsername.getNickName()); - dto.setUpdate_optname(currentUsername.getNickName()); - dto.setUpdate_time(now); - dto.setCreate_time(now); - - WQLObject wo = WQLObject.getWQLObject("sys_param"); - JSONObject json = JSONObject.parseObject( JSONObject.toJSONString(dto)); - wo.insert(json); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void update(ParamDto dto) { - ParamDto entity = this.findById(dto.getId()); - if (entity == null) throw new BadRequestException("被删除或无权限,操作失败!"); - - String now = DateUtil.now(); - - dto.setUpdate_optid(StpUtil.getLoginIdAsLong()); - dto.setUpdate_time(now); - dto.setUpdate_optname(SecurityUtils.getCurrentNickName()); - - WQLObject wo = WQLObject.getWQLObject("sys_param"); - JSONObject json = JSONObject.parseObject( JSONObject.toJSONString(dto)); - wo.update(json); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void deleteAll(String[] ids) { - WQLObject wo = WQLObject.getWQLObject("sys_param"); - for (String id : ids) { - wo.delete("id = '" + id + "'"); - } - } - - @Override - public void download(List all, HttpServletResponse response) throws IOException { - List> list = new ArrayList<>(); - for (ParamDto param : all) { - Map map = new LinkedHashMap<>(); - map.put("编码", param.getCode()); - map.put("名称", param.getName()); - map.put("值", param.getValue()); - map.put("备注", param.getRemark()); - map.put("是否启用", param.getIs_active()); - map.put("是否删除", param.getIs_delete()); - map.put("创建者", param.getCreate_name()); - map.put("创建时间", param.getCreate_time()); - map.put("修改者", param.getUpdate_optname()); - map.put("修改时间", param.getUpdate_time()); - list.add(map); - } - FileUtil.downloadExcel(list, response); - } -} diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/impl/RoleServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/modules/system/service/impl/RoleServiceImpl.java deleted file mode 100644 index 93d21e1a0..000000000 --- a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/impl/RoleServiceImpl.java +++ /dev/null @@ -1,223 +0,0 @@ -/* - * Copyright 2019-2020 Zheng Jie - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.nl.modules.system.service.impl; - -import cn.hutool.core.collection.CollectionUtil; -import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; -import lombok.RequiredArgsConstructor; -import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.exception.EntityExistException; -import org.nl.modules.common.utils.*; -import org.nl.modules.system.domain.Role; -import org.nl.modules.system.domain.User; -import org.nl.modules.system.repository.RoleRepository; -import org.nl.modules.system.repository.UserRepository; -import org.nl.modules.system.service.RoleService; -import org.nl.modules.system.service.dto.RoleDto; -import org.nl.modules.system.service.dto.RoleQueryCriteria; -import org.nl.modules.system.service.dto.RoleSmallDto; -import org.nl.modules.system.service.dto.UserDto; -import org.nl.modules.system.service.mapstruct.RoleMapper; -import org.nl.modules.system.service.mapstruct.RoleSmallMapper; -import org.nl.modules.wql.WQL; -import org.springframework.cache.annotation.CacheConfig; -import org.springframework.cache.annotation.Cacheable; -import org.springframework.data.domain.Page; -import org.springframework.data.domain.Pageable; -import org.springframework.data.domain.Sort; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.util.*; -import java.util.stream.Collectors; - -/** - * @author Zheng Jie - * @date 2018-12-03 - */ -@Service -@RequiredArgsConstructor -@CacheConfig(cacheNames = "role") -public class RoleServiceImpl implements RoleService { - - private final RoleRepository roleRepository; - private final RoleMapper roleMapper; - private final RoleSmallMapper roleSmallMapper; - private final RedisUtils redisUtils; - private final UserRepository userRepository; -// private final UserCacheClean userCacheClean; - - @Override - public List queryAll() { - Sort sort = Sort.by(Sort.Direction.ASC, "level"); - return roleMapper.toDto(roleRepository.findAll(sort)); - } - - @Override - public List queryAll(RoleQueryCriteria criteria) { - return roleMapper.toDto(roleRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root, criteria, criteriaBuilder))); - } - - @Override - public Object queryAll(RoleQueryCriteria criteria, Pageable pageable) { - Page page = roleRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root, criteria, criteriaBuilder), pageable); - return PageUtil.toPage(page.map(roleMapper::toDto)); - } - - @Override - @Cacheable(key = "'id:' + #p0") - @Transactional(rollbackFor = Exception.class) - public RoleDto findById(long id) { - Role role = roleRepository.findById(id).orElseGet(Role::new); - ValidationUtil.isNull(role.getId(), "Role", "id", id); - return roleMapper.toDto(role); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void create(Role resources) { - if (roleRepository.findByName(resources.getName()) != null) { - throw new EntityExistException(Role.class, "username", resources.getName()); - } - roleRepository.save(resources); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void update(Role resources) { - Role role = roleRepository.findById(resources.getId()).orElseGet(Role::new); - ValidationUtil.isNull(role.getId(), "Role", "id", resources.getId()); - - Role role1 = roleRepository.findByName(resources.getName()); - - if (role1 != null && !role1.getId().equals(role.getId())) { - throw new EntityExistException(Role.class, "username", resources.getName()); - } - role.setName(resources.getName()); - role.setDescription(resources.getDescription()); - role.setDataScope(resources.getDataScope()); - role.setDepts(resources.getDepts()); - role.setLevel(resources.getLevel()); - roleRepository.save(role); - // 更新相关缓存 - delCaches(role.getId(), null); - } - - @Override - public void updateMenu(Role resources, RoleDto roleDTO) { - Role role = roleMapper.toEntity(roleDTO); - List users = userRepository.findByRoleId(role.getId()); - // 更新菜单 - role.setMenus(resources.getMenus()); - delCaches(resources.getId(), users); - roleRepository.save(role); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void untiedMenu(Long menuId) { - // 更新菜单 - roleRepository.untiedMenu(menuId); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void delete(Set ids) { - for (Long id : ids) { - // 更新相关缓存 - delCaches(id, null); - } - roleRepository.deleteAllByIdIn(ids); - } - - @Override - public List findByUsersId(Long id) { - return roleSmallMapper.toDto(new ArrayList<>(roleRepository.findByUserId(id))); - } - - @Override - public Integer findByRoles(Set roles) { - Set roleDtos = new HashSet<>(); - for (Role role : roles) { - roleDtos.add(findById(role.getId())); - } - return Collections.min(roleDtos.stream().map(RoleDto::getLevel).collect(Collectors.toList())); - } - - @Override - @Cacheable(key = "'auth:' + #p0.id") - public List getPermissionList(UserDto userDto) { - List permission = new LinkedList<>(); - // 查看是否为管理员 - if (userDto.getIsAdmin()) { // 是管理员 - permission.add("admin"); - } - HashMap map = new HashMap<>(); - map.put("flag", "1"); - map.put("user_id", userDto.getId().toString()); - JSONArray rows = WQL.getWO("SYS_MENU").addParamMap(map).process().getResultJSONArray(0); - for (int i = 0; i < rows.size(); i++) { - JSONObject jsonObject = rows.getJSONObject(i); - permission.add(jsonObject.getString("permission")); - } - return permission; - } - - @Override - public void download(List roles, HttpServletResponse response) throws IOException { - List> list = new ArrayList<>(); - for (RoleDto role : roles) { - Map map = new LinkedHashMap<>(); - map.put("角色名称", role.getName()); - map.put("角色级别", role.getLevel()); - map.put("描述", role.getDescription()); - map.put("创建日期", role.getCreateTime()); - list.add(map); - } - FileUtil.downloadExcel(list, response); - } - - @Override - public void verification(Set ids) { - if (userRepository.countByRoles(ids) > 0) { - throw new BadRequestException("所选角色存在用户关联,请解除关联再试!"); - } - } - - @Override - public List findInMenuId(List menuIds) { - return roleRepository.findInMenuId(menuIds); - } - - /** - * 清理缓存 - * @param id / - */ - public void delCaches(Long id, List users) { - users = CollectionUtil.isEmpty(users) ? userRepository.findByRoleId(id) : users; - if (CollectionUtil.isNotEmpty(users)) { -// users.forEach(item -> userCacheClean.cleanUserCache(item.getUsername())); - Set userIds = users.stream().map(User::getId).collect(Collectors.toSet()); - redisUtils.delByKeys(CacheKey.DATA_USER, userIds); - redisUtils.delByKeys(CacheKey.MENU_USER, userIds); - redisUtils.delByKeys(CacheKey.ROLE_AUTH, userIds); - } - redisUtils.del(CacheKey.ROLE_ID + id); - } -} diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/impl/UserServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/modules/system/service/impl/UserServiceImpl.java deleted file mode 100644 index eb91de11e..000000000 --- a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/impl/UserServiceImpl.java +++ /dev/null @@ -1,230 +0,0 @@ -/* - * Copyright 2019-2020 Zheng Jie - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.nl.modules.system.service.impl; - -import cn.dev33.satoken.secure.SaSecureUtil; -import cn.hutool.core.util.ObjectUtil; -import cn.hutool.core.util.StrUtil; -import lombok.RequiredArgsConstructor; -import org.nl.modules.common.config.FileProperties; -import org.nl.modules.common.exception.EntityExistException; -import org.nl.modules.common.exception.EntityNotFoundException; -import org.nl.modules.common.utils.*; -import org.nl.modules.security.service.OnlineUserService; -import org.nl.modules.system.domain.User; -import org.nl.modules.system.repository.UserRepository; -import org.nl.modules.system.service.UserService; -import org.nl.modules.system.service.dto.RoleSmallDto; -import org.nl.modules.system.service.dto.UserDto; -import org.nl.modules.system.service.dto.UserQueryCriteria; -import org.nl.modules.system.service.mapstruct.UserMapper; -import org.springframework.cache.annotation.CacheConfig; -import org.springframework.cache.annotation.Cacheable; -import org.springframework.data.domain.Page; -import org.springframework.data.domain.Pageable; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.web.multipart.MultipartFile; - -import javax.servlet.http.HttpServletResponse; -import javax.validation.constraints.NotBlank; -import java.io.File; -import java.io.IOException; -import java.util.*; -import java.util.stream.Collectors; - -/** - * @author Zheng Jie - * @date 2018-11-23 - */ -@Service -@RequiredArgsConstructor -@CacheConfig(cacheNames = "user") -public class UserServiceImpl implements UserService { - - private final UserRepository userRepository; - private final UserMapper userMapper; - private final FileProperties properties; - private final RedisUtils redisUtils; - private final OnlineUserService onlineUserService; -// private final FlushSessionUtil flushSessionUtil; -// private final RoleService roleService; - - - @Override - public Object queryAll(UserQueryCriteria criteria, Pageable pageable) { - Page page = userRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root, criteria, criteriaBuilder), pageable); - return PageUtil.toPage(page.map(userMapper::toDto)); - } - - @Override - public List queryAll(UserQueryCriteria criteria) { - List users = userRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root, criteria, criteriaBuilder)); - return userMapper.toDto(users); - } - - @Override - @Cacheable(key = "'id:' + #p0") - @Transactional(rollbackFor = Exception.class) - public UserDto findById(long id) { - User user = userRepository.findById(id).orElseGet(User::new); - ValidationUtil.isNull(user.getId(), "User", "id", id); - return userMapper.toDto(user); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void create(User resources) { - if (userRepository.findByUsername(resources.getUsername()) != null) { - throw new EntityExistException(User.class, "username", resources.getUsername()); - } - resources.setCreateBy(SecurityUtils.getCurrentUsername()); - userRepository.save(resources); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void update(User resources) throws Exception{ - User user = userRepository.findById(resources.getId()).orElseGet(User::new); - ValidationUtil.isNull(user.getId(), "User", "id", resources.getId()); - User user1 = userRepository.findByUsername(resources.getUsername()); - - if (user1 != null && !user.getId().equals(user1.getId())) { - throw new EntityExistException(User.class, "username", resources.getUsername()); - } - // 如果用户的角色改变 - if (!resources.getRoles().equals(user.getRoles())) { - redisUtils.del(CacheKey.DATA_USER + resources.getId()); - redisUtils.del(CacheKey.MENU_USER + resources.getId()); - redisUtils.del(CacheKey.ROLE_AUTH + resources.getId()); - } - // 如果用户名称或者状态修改 - redisUtils.del("user::username:" + user.getUsername()); - // 如果用户被禁用,则清除用户登录信息 - if(!resources.getEnabled()){ - onlineUserService.kickOutForUsername(resources.getUsername()); - } - user.setId(resources.getId()); - user.setUsername(resources.getUsername()); - user.setEmail(resources.getEmail()); - user.setEnabled(resources.getEnabled()); - user.setRoles(resources.getRoles()); - user.setDept(resources.getDept()); - user.setPhone(resources.getPhone()); - user.setNickName(resources.getNickName()); - user.setGender(resources.getGender()); - if (ObjectUtil.isNotEmpty(resources.getPassword())) - user.setPassword(SaSecureUtil.md5BySalt(resources.getPassword(), "salt")); - - userRepository.save(user); - // 清除缓存 - delCaches(user.getId(), user.getUsername()); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void updateCenter(User resources) { - User user = userRepository.findById(resources.getId()).orElseGet(User::new); - user.setNickName(resources.getNickName()); - user.setPhone(resources.getPhone()); - user.setGender(resources.getGender()); - userRepository.save(user); - // 清理缓存 - delCaches(user.getId(), user.getUsername()); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void delete(Set ids) { - for (Long id : ids) { - // 清理缓存 - UserDto user = findById(id); - delCaches(user.getId(), user.getUsername()); - } - userRepository.deleteAllByIdIn(ids); - } - - @Override - @Cacheable(key = "'username:' + #p0") - public UserDto findByName(String userName) { - User user = userRepository.findByUsername(userName); - if (user == null) { - throw new EntityNotFoundException(User.class, "name", userName); - } else { - return userMapper.toDto(user); - } - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void updatePass(String username, String pass) { - userRepository.updatePass(username, pass, new Date()); - redisUtils.del("user::username:" + username); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public Map updateAvatar(MultipartFile multipartFile) { - User user = userRepository.findByUsername(SecurityUtils.getCurrentUsername()); - String oldPath = user.getAvatarPath(); - File file = FileUtil.upload(multipartFile, properties.getPath().getAvatar()); - user.setAvatarPath(Objects.requireNonNull(file).getPath()); - user.setAvatarName(file.getName()); - userRepository.save(user); - if (StrUtil.isNotEmpty(oldPath)) { - FileUtil.del(oldPath); - } - @NotBlank String username = user.getUsername(); - return new HashMap(1) {{ - put("avatar", file.getName()); - }}; - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void updateEmail(String username, String email) { - userRepository.updateEmail(username, email); - } - - @Override - public void download(List queryAll, HttpServletResponse response) throws IOException { - List> list = new ArrayList<>(); - for (UserDto userDTO : queryAll) { - List roles = userDTO.getRoles().stream().map(RoleSmallDto::getName).collect(Collectors.toList()); - Map map = new LinkedHashMap<>(); - map.put("用户名", userDTO.getUsername()); - map.put("角色", roles); - map.put("部门", userDTO.getDept().getName()); - map.put("邮箱", userDTO.getEmail()); - map.put("状态", userDTO.getEnabled() ? "启用" : "禁用"); - map.put("手机号码", userDTO.getPhone()); - map.put("修改密码的时间", userDTO.getPwdResetTime()); - map.put("创建日期", userDTO.getCreateTime()); - list.add(map); - } - FileUtil.downloadExcel(list, response); - } - - /** - * 清理缓存 - * - * @param id / - */ - public void delCaches(Long id, String username) { - redisUtils.del(CacheKey.USER_ID + id); - } - -} diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/mapstruct/DeptMapper.java b/lms/nladmin-system/src/main/java/org/nl/modules/system/service/mapstruct/DeptMapper.java deleted file mode 100644 index f59b53d2a..000000000 --- a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/mapstruct/DeptMapper.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Copyright 2019-2020 Zheng Jie - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.nl.modules.system.service.mapstruct; - -import org.mapstruct.Mapper; -import org.mapstruct.ReportingPolicy; -import org.nl.modules.common.base.BaseMapper; -import org.nl.modules.system.domain.Dept; -import org.nl.modules.system.service.dto.DeptDto; - -/** -* @author Zheng Jie -* @date 2019-03-25 -*/ -@Mapper(componentModel = "spring",unmappedTargetPolicy = ReportingPolicy.IGNORE) -public interface DeptMapper extends BaseMapper { -} \ No newline at end of file diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/mapstruct/DeptSmallMapper.java b/lms/nladmin-system/src/main/java/org/nl/modules/system/service/mapstruct/DeptSmallMapper.java deleted file mode 100644 index 443be1445..000000000 --- a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/mapstruct/DeptSmallMapper.java +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Copyright 2019-2020 Zheng Jie - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.nl.modules.system.service.mapstruct; - -import org.mapstruct.Mapper; -import org.mapstruct.ReportingPolicy; -import org.nl.modules.common.base.BaseMapper; -import org.nl.modules.system.domain.Dept; -import org.nl.modules.system.service.dto.DeptSmallDto; - -/** -* @author Zheng Jie -* @date 2019-03-25 -*/ -@Mapper(componentModel = "spring",unmappedTargetPolicy = ReportingPolicy.IGNORE) -public interface DeptSmallMapper extends BaseMapper { - -} \ No newline at end of file diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/mapstruct/DictDetailMapper.java b/lms/nladmin-system/src/main/java/org/nl/modules/system/service/mapstruct/DictDetailMapper.java deleted file mode 100644 index cbab093f9..000000000 --- a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/mapstruct/DictDetailMapper.java +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Copyright 2019-2020 Zheng Jie - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.nl.modules.system.service.mapstruct; - -import org.mapstruct.Mapper; -import org.mapstruct.ReportingPolicy; -import org.nl.modules.common.base.BaseMapper; -import org.nl.modules.system.domain.DictDetail; -import org.nl.modules.system.service.dto.DictDetailDto; - -/** -* @author Zheng Jie -* @date 2019-04-10 -*/ -@Mapper(componentModel = "spring", uses = {DictSmallMapper.class}, unmappedTargetPolicy = ReportingPolicy.IGNORE) -public interface DictDetailMapper extends BaseMapper { - -} \ No newline at end of file diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/mapstruct/DictMapper.java b/lms/nladmin-system/src/main/java/org/nl/modules/system/service/mapstruct/DictMapper.java deleted file mode 100644 index 03f167f10..000000000 --- a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/mapstruct/DictMapper.java +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Copyright 2019-2020 Zheng Jie - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.nl.modules.system.service.mapstruct; - - -import org.mapstruct.Mapper; -import org.mapstruct.ReportingPolicy; -import org.nl.modules.common.base.BaseMapper; -import org.nl.modules.system.domain.Dict; -import org.nl.modules.system.service.dto.DictDto; - -/** -* @author Zheng Jie -* @date 2019-04-10 -*/ -@Mapper(componentModel = "spring",unmappedTargetPolicy = ReportingPolicy.IGNORE) -public interface DictMapper extends BaseMapper { - -} \ No newline at end of file diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/mapstruct/DictSmallMapper.java b/lms/nladmin-system/src/main/java/org/nl/modules/system/service/mapstruct/DictSmallMapper.java deleted file mode 100644 index 65432fbb0..000000000 --- a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/mapstruct/DictSmallMapper.java +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Copyright 2019-2020 Zheng Jie - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.nl.modules.system.service.mapstruct; - -import org.mapstruct.Mapper; -import org.mapstruct.ReportingPolicy; -import org.nl.modules.common.base.BaseMapper; -import org.nl.modules.system.domain.Dict; -import org.nl.modules.system.service.dto.DictSmallDto; - -/** -* @author Zheng Jie -* @date 2019-04-10 -*/ -@Mapper(componentModel = "spring",unmappedTargetPolicy = ReportingPolicy.IGNORE) -public interface DictSmallMapper extends BaseMapper { - -} \ No newline at end of file diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/mapstruct/MenuMapper.java b/lms/nladmin-system/src/main/java/org/nl/modules/system/service/mapstruct/MenuMapper.java deleted file mode 100644 index 7827d46e3..000000000 --- a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/mapstruct/MenuMapper.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Copyright 2019-2020 Zheng Jie - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.nl.modules.system.service.mapstruct; - -import org.mapstruct.Mapper; -import org.mapstruct.ReportingPolicy; -import org.nl.modules.common.base.BaseMapper; -import org.nl.modules.system.domain.Menu; -import org.nl.modules.system.service.dto.MenuDto; - -/** - * @author Zheng Jie - * @date 2018-12-17 - */ -@Mapper(componentModel = "spring",unmappedTargetPolicy = ReportingPolicy.IGNORE) -public interface MenuMapper extends BaseMapper { -} diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/mapstruct/RoleMapper.java b/lms/nladmin-system/src/main/java/org/nl/modules/system/service/mapstruct/RoleMapper.java deleted file mode 100644 index ced4c664d..000000000 --- a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/mapstruct/RoleMapper.java +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Copyright 2019-2020 Zheng Jie - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.nl.modules.system.service.mapstruct; - -import org.mapstruct.Mapper; -import org.mapstruct.ReportingPolicy; -import org.nl.modules.common.base.BaseMapper; -import org.nl.modules.system.domain.Role; -import org.nl.modules.system.service.dto.RoleDto; - -/** - * @author Zheng Jie - * @date 2018-11-23 - */ -@Mapper(componentModel = "spring", uses = {MenuMapper.class, DeptMapper.class}, unmappedTargetPolicy = ReportingPolicy.IGNORE) -public interface RoleMapper extends BaseMapper { - -} diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/mapstruct/RoleSmallMapper.java b/lms/nladmin-system/src/main/java/org/nl/modules/system/service/mapstruct/RoleSmallMapper.java deleted file mode 100644 index 25dba93ed..000000000 --- a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/mapstruct/RoleSmallMapper.java +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Copyright 2019-2020 Zheng Jie - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.nl.modules.system.service.mapstruct; - -import org.mapstruct.Mapper; -import org.mapstruct.ReportingPolicy; -import org.nl.modules.common.base.BaseMapper; -import org.nl.modules.system.domain.Role; -import org.nl.modules.system.service.dto.RoleSmallDto; - -/** - * @author Zheng Jie - * @date 2019-5-23 - */ -@Mapper(componentModel = "spring",unmappedTargetPolicy = ReportingPolicy.IGNORE) -public interface RoleSmallMapper extends BaseMapper { - -} diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/mapstruct/UserMapper.java b/lms/nladmin-system/src/main/java/org/nl/modules/system/service/mapstruct/UserMapper.java deleted file mode 100644 index caf1c7c28..000000000 --- a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/mapstruct/UserMapper.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Copyright 2019-2020 Zheng Jie - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.nl.modules.system.service.mapstruct; - -import org.mapstruct.Mapper; -import org.mapstruct.ReportingPolicy; -import org.nl.modules.common.base.BaseMapper; -import org.nl.modules.system.domain.User; -import org.nl.modules.system.service.dto.UserDto; - -/** - * @author Zheng Jie - * @date 2018-11-23 - */ -@Mapper(componentModel = "spring",uses = {RoleMapper.class, DeptMapper.class},unmappedTargetPolicy = ReportingPolicy.IGNORE) -public interface UserMapper extends BaseMapper { -} diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/tools/service/impl/LocalStorageServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/modules/tools/service/impl/LocalStorageServiceImpl.java index 837f4e5d2..fef1a37e9 100644 --- a/lms/nladmin-system/src/main/java/org/nl/modules/tools/service/impl/LocalStorageServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/modules/tools/service/impl/LocalStorageServiceImpl.java @@ -22,6 +22,7 @@ import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; +import org.nl.common.utils.SecurityUtils; import org.nl.modules.common.config.FileProperties; import org.nl.modules.common.exception.BadRequestException; import org.nl.modules.common.utils.*; @@ -146,7 +147,7 @@ public class LocalStorageServiceImpl implements LocalStorageService { public void importExcel(String path) { WQLObject measureunitTab = WQLObject.getWQLObject("md_pb_measureunit"); WQLObject materialbaseTab = WQLObject.getWQLObject("md_me_materialbase"); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); //List> listMap = EasyExcel.read(path).sheet(1).doReadSync(); diff --git a/lms/nladmin-system/src/main/java/org/nl/start/Init.java b/lms/nladmin-system/src/main/java/org/nl/start/Init.java index 11be8ca76..427c2652d 100644 --- a/lms/nladmin-system/src/main/java/org/nl/start/Init.java +++ b/lms/nladmin-system/src/main/java/org/nl/start/Init.java @@ -5,7 +5,7 @@ import cn.hutool.core.util.IdUtil; import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.nl.modules.common.utils.SecurityUtils; +import org.nl.common.utils.SecurityUtils; import org.nl.modules.wql.core.bean.WQLObject; import org.springframework.boot.ApplicationArguments; import org.springframework.boot.ApplicationRunner; diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/system/rest/DeptController.java b/lms/nladmin-system/src/main/java/org/nl/system/controller/dept/DeptController.java similarity index 51% rename from lms/nladmin-system/src/main/java/org/nl/modules/system/rest/DeptController.java rename to lms/nladmin-system/src/main/java/org/nl/system/controller/dept/DeptController.java index b9d9cac90..22aea2e88 100644 --- a/lms/nladmin-system/src/main/java/org/nl/modules/system/rest/DeptController.java +++ b/lms/nladmin-system/src/main/java/org/nl/system/controller/dept/DeptController.java @@ -13,27 +13,30 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.nl.modules.system.rest; +package org.nl.system.controller.dept; import cn.dev33.satoken.annotation.SaCheckPermission; import cn.dev33.satoken.annotation.SaMode; -import cn.hutool.core.collection.CollectionUtil; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; +import org.nl.common.TableDataInfo; +import org.nl.common.domain.query.PageQuery; import org.nl.modules.common.exception.BadRequestException; import org.nl.modules.common.utils.PageUtil; import org.nl.modules.logging.annotation.Log; -import org.nl.modules.system.domain.Dept; -import org.nl.modules.system.service.DeptService; -import org.nl.modules.system.service.dto.DeptDto; -import org.nl.modules.system.service.dto.DeptQueryCriteria; +import org.nl.system.service.dept.ISysDeptService; +import org.nl.system.service.dept.dao.SysDept; +import org.nl.system.service.dept.dto.DeptQuery; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; +import org.springframework.util.CollectionUtils; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; -import java.util.*; +import java.util.List; +import java.util.Set; /** * @author Zheng Jie @@ -45,67 +48,69 @@ import java.util.*; @RequestMapping("/api/dept") public class DeptController { - private final DeptService deptService; - private static final String ENTITY_NAME = "dept"; + private final ISysDeptService deptService; @ApiOperation("查询部门") @GetMapping - @SaCheckPermission(value = {"user:list", "dept:list"}, mode = SaMode.AND) - public ResponseEntity query(DeptQueryCriteria criteria) throws Exception { - List deptDtos = deptService.queryAll(criteria, true); - return new ResponseEntity<>(PageUtil.toPage(deptDtos, deptDtos.size()),HttpStatus.OK); + public ResponseEntity query(DeptQuery query) throws Exception { + List list = deptService.list(query.build()); + return new ResponseEntity<>(PageUtil.toPage(list, list.size()),HttpStatus.OK); + } + + @ApiOperation("查询部门") + @GetMapping("/vo") + public ResponseEntity queryvo(DeptQuery query, PageQuery pageQuery) throws Exception { + Page deptPage = deptService.queryVo(query, pageQuery); + return new ResponseEntity((TableDataInfo.build(deptPage)),HttpStatus.OK); + } + + + @ApiOperation("查询所有部门树") + @GetMapping("/allTree") + public ResponseEntity allTree(DeptQuery query) { + return new ResponseEntity<>(deptService.buildTree(query),HttpStatus.OK); } @ApiOperation("查询部门:根据ID获取同级与上级数据") @PostMapping("/superior") @SaCheckPermission(value = {"user:list", "dept:list"}, mode = SaMode.AND) public ResponseEntity getSuperior(@RequestBody List ids) { - Set deptDtos = new LinkedHashSet<>(); - for (Long id : ids) { - DeptDto deptDto = deptService.findById(id); - List depts = deptService.getSuperior(deptDto, new ArrayList<>()); - deptDtos.addAll(depts); + if (CollectionUtils.isEmpty(ids)){ + return ResponseEntity.noContent().build(); } - return new ResponseEntity<>(deptService.buildTree(new ArrayList<>(deptDtos)),HttpStatus.OK); + return new ResponseEntity<>(deptService.getSuperior(ids),HttpStatus.OK); } - +// @Log("新增部门") @ApiOperation("新增部门") @PostMapping - @SaCheckPermission("dept:add") - public ResponseEntity create(@Validated @RequestBody Dept resources){ - if (resources.getId() != null) { - throw new BadRequestException("A new "+ ENTITY_NAME +" cannot already have an ID"); - } - deptService.create(resources); +// @SaCheckPermission("dept:add") + public ResponseEntity create(@Validated @RequestBody SysDept resources){ + deptService.createDept(resources); return new ResponseEntity<>(HttpStatus.CREATED); } - +// @Log("修改部门") @ApiOperation("修改部门") @PutMapping - @SaCheckPermission("dept:edit") - public ResponseEntity update(@Validated(Dept.Update.class) @RequestBody Dept resources){ - deptService.update(resources); +// @SaCheckPermission("dept:edit") + public ResponseEntity update(@Validated @RequestBody SysDept dept){ + if (dept.getPid() != null && dept.getDeptId().equals(dept.getPid())) { + throw new BadRequestException("上级不能为自己"); + } + deptService.updateDept(dept); return new ResponseEntity<>(HttpStatus.NO_CONTENT); } - +// @Log("删除部门") @ApiOperation("删除部门") @DeleteMapping - @SaCheckPermission("dept:del") - public ResponseEntity delete(@RequestBody Set ids){ - Set deptDtos = new HashSet<>(); - for (Long id : ids) { - List deptList = deptService.findByPid(id); - deptDtos.add(deptService.findById(id)); - if(CollectionUtil.isNotEmpty(deptList)){ - deptDtos = deptService.getDeleteDepts(deptList, deptDtos); - } +// @SaCheckPermission("dept:del") + public ResponseEntity delete(@RequestBody Set deptIds){ + if (CollectionUtils.isEmpty(deptIds)){ + return ResponseEntity.noContent().build(); } - // 验证是否被角色或用户关联 - deptService.verification(deptDtos); - deptService.delete(deptDtos); + deptService.delateDept(deptIds); return new ResponseEntity<>(HttpStatus.OK); } } diff --git a/lms/nladmin-system/src/main/java/org/nl/system/controller/dept/SysUserDeptController.java b/lms/nladmin-system/src/main/java/org/nl/system/controller/dept/SysUserDeptController.java new file mode 100644 index 000000000..626ab5426 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/system/controller/dept/SysUserDeptController.java @@ -0,0 +1,20 @@ +package org.nl.system.controller.dept; + + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 部门表 前端控制器 + *

+ * + * @author generator + * @since 2022-12-15 + */ +@RestController +@RequestMapping("/sysUserDept") +public class SysUserDeptController { + +} + diff --git a/lms/nladmin-system/src/main/java/org/nl/system/controller/dict/SysDictController.java b/lms/nladmin-system/src/main/java/org/nl/system/controller/dict/SysDictController.java new file mode 100644 index 000000000..6818e3337 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/system/controller/dict/SysDictController.java @@ -0,0 +1,119 @@ +package org.nl.system.controller.dict; + + +import com.alibaba.fastjson.JSONObject; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.nl.common.TableDataInfo; +import org.nl.common.domain.query.PageQuery; +import org.nl.modules.logging.annotation.Log; +import org.nl.system.service.dict.ISysDictService; +import org.nl.system.service.dict.dao.Dict; +import org.nl.system.service.dict.dto.DictQuery; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Set; + +/** + *

+ * 字典表 前端控制器 + *

+ * + * @author generator + * @since 2022-12-14 + */ +@RestController +@RequiredArgsConstructor +@RequestMapping("/api/dict") +public class SysDictController { + + private final ISysDictService dictService; + + @Log("查询字典") + @GetMapping + @ApiOperation("查询字典") +// @SaCheckPermission("dict:list") + public ResponseEntity query(@RequestParam Map whereJson, PageQuery pageable){ + return new ResponseEntity<>(TableDataInfo.build(dictService.queryAll(whereJson,pageable)), HttpStatus.OK); + } + + @Log("新增字典") + @PostMapping + @ApiOperation("新增字典") +// @SaCheckPermission("dict:add") + public ResponseEntity create(@RequestBody Dict dict){ + dictService.create(dict); + return new ResponseEntity<>(HttpStatus.CREATED); + } + + @PutMapping + @Log("修改字典") + @ApiOperation("修改字典") + //@SaCheckPermission("@el.check('dict:edit')") + public ResponseEntity updateDict(@Validated @RequestBody Dict dto){ + dictService.updateDict(dto); + return new ResponseEntity<>(HttpStatus.NO_CONTENT); + } + + @Log("删除字典") + @ApiOperation("删除字典") + @DeleteMapping +// @SaCheckPermission("dict:del") + public ResponseEntity delete(@RequestBody Set ids){ + dictService.deleteBatchByIds(ids); + return new ResponseEntity<>(HttpStatus.OK); + } + + @GetMapping("/dictDetail") + @ApiOperation("查询字典详情") + public ResponseEntity queryDetails(@RequestParam Map criteria, PageQuery pageable){ + DictQuery dictQuery = JSONObject.parseObject(JSONObject.toJSONString(criteria), DictQuery.class); + return new ResponseEntity<>(TableDataInfo.build(dictService.queryAllDetail(dictQuery,pageable)),HttpStatus.OK); + } + + @ApiOperation("查询多个字典详情") + @GetMapping(value = "/dictDetail/map") + public ResponseEntity getDictDetailMaps(@RequestParam String dictName){ + String[] names = dictName.split("[,,]"); + Map> dictMap = new HashMap<>(16); + for (String name : names) { + dictMap.put(name, dictService.getDictByName(name)); + } + return new ResponseEntity<>(dictMap, HttpStatus.OK); + } + + @Log("新增字典详情") + @ApiOperation("新增字典详情") + @PostMapping("/dictDetail") +// @SaCheckPermission("dict:add") + public ResponseEntity createDetail(@RequestBody Dict resources){ + dictService.createDetail(resources); + return new ResponseEntity<>(HttpStatus.CREATED); + } + + @Log("修改字典详情") + @ApiOperation("修改字典详情") + @PutMapping("/dictDetail") +// @SaCheckPermission("dict:edit") + public ResponseEntity updateDetail(@RequestBody Dict resources){ + dictService.updateDetail(resources); + return new ResponseEntity<>(HttpStatus.NO_CONTENT); + } + + @Log("删除字典详情") + @ApiOperation("删除字典详情") + @DeleteMapping(value = "/dictDetail/{id}") +// @SaCheckPermission("dict:del") + public ResponseEntity deleteDetail(@PathVariable String id){ + dictService.deleteDetail(id); + return new ResponseEntity<>(HttpStatus.OK); + } + +} + diff --git a/lms/nladmin-system/src/main/java/org/nl/system/controller/menu/SysMenuController.java b/lms/nladmin-system/src/main/java/org/nl/system/controller/menu/SysMenuController.java new file mode 100644 index 000000000..fb9363c81 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/system/controller/menu/SysMenuController.java @@ -0,0 +1,128 @@ +package org.nl.system.controller.menu; + + +import cn.dev33.satoken.annotation.SaCheckPermission; +import cn.dev33.satoken.annotation.SaMode; +import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson.JSONObject; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.nl.common.TableDataInfo; +import org.nl.common.domain.query.PageQuery; +import org.nl.modules.logging.annotation.Log; +import org.nl.system.service.menu.ISysMenuService; +import org.nl.system.service.menu.dao.SysMenu; +import org.nl.system.service.menu.dto.MenuDto; +import org.nl.system.service.menu.dto.MenuQuery; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.*; +import java.util.stream.Collectors; + +/** + *

+ * 菜单表 前端控制器 + *

+ * + * @author generator + * @since 2022-12-15 + */ +@RestController +@RequestMapping("api/sysMenu") +@RequiredArgsConstructor +public class SysMenuController { + private final ISysMenuService iSysMenuService; + + @GetMapping(value = "/build") + @ApiOperation("根据用户获取菜单") + public ResponseEntity buildMenus(@Validated String systemType) { + //校验系统表是否存在该系统类型 + return new ResponseEntity(iSysMenuService.buildMenus(systemType),HttpStatus.OK); + } + + @ApiOperation("返回全部的菜单") + @GetMapping(value = "/lazy") + @SaCheckPermission(value = {"menu:list", "roles:list"}, mode = SaMode.AND) + public ResponseEntity query(@RequestParam String pid) { + return new ResponseEntity<>(iSysMenuService.getMenus(pid), HttpStatus.OK); + } + @ApiOperation("获取菜单列表") + @PostMapping(value = "/getMenusByRole") + @SaCheckPermission(value = {"menu:list", "roles:list"}, mode = SaMode.AND) + public ResponseEntity getMenusByRole(@RequestBody JSONObject json) { + String role_id = json.getString("role_id"); + String system_type = json.getString("system_type"); + String category = json.getString("category"); + return new ResponseEntity<>(iSysMenuService.getMenusByRole(role_id, system_type, category), HttpStatus.OK); + } + + @ApiOperation("根据菜单ID返回所有子节点ID,包含自身ID") + @GetMapping(value = "/child") + @SaCheckPermission(value = {"menu:list", "roles:list"}, mode = SaMode.AND) + public ResponseEntity child(@RequestParam String id) { + Set menuSet = new HashSet<>(); + List menuList = iSysMenuService.getMenus(id); + menuSet.add(iSysMenuService.findById(id)); + menuSet = iSysMenuService.getChildMenus(menuList, menuSet); + Set ids = menuSet.stream().map(SysMenu::getMenuId).collect(Collectors.toSet()); + return new ResponseEntity<>(ids, HttpStatus.OK); + } + + @GetMapping + @ApiOperation("查询菜单") + @SaCheckPermission("menu:list") + public ResponseEntity pageQuery(MenuQuery query, PageQuery page) throws Exception { + List list = iSysMenuService.query(query, page); + return new ResponseEntity<>(TableDataInfo.build(list), HttpStatus.OK); + } + + @ApiOperation("查询菜单:根据ID获取同级与上级数据") + @PostMapping("/superior") + @SaCheckPermission("menu:list") + public ResponseEntity getSuperior(@RequestBody JSONObject param) { + Set menuDtos = new LinkedHashSet<>(); + String id=param.getString("ids"); + if (StrUtil.isNotEmpty(id)) { + menuDtos.addAll(iSysMenuService.getSuperior(iSysMenuService.doToDto(iSysMenuService.findById(id)), new ArrayList<>())); + return new ResponseEntity<>(iSysMenuService.buildTree(new ArrayList<>(menuDtos)), HttpStatus.OK); + } + return new ResponseEntity<>(iSysMenuService.getMenus(null), HttpStatus.OK); + } + + @Log("新增菜单") + @ApiOperation("新增菜单") + @PostMapping + @SaCheckPermission("menu:add") + public ResponseEntity create(@RequestBody SysMenu form) { + iSysMenuService.create(form); + return new ResponseEntity<>(HttpStatus.CREATED); + } + + @Log("修改菜单") + @ApiOperation("修改菜单") + @PutMapping + @SaCheckPermission("menu:edit") + public ResponseEntity update( @RequestBody SysMenu form) { + iSysMenuService.update(form); + return new ResponseEntity<>(HttpStatus.NO_CONTENT); + } + + @Log("删除菜单") + @ApiOperation("删除菜单") + @DeleteMapping + @SaCheckPermission("menu:del") + public ResponseEntity delete(@RequestBody Set ids) { + Set menuSet = new HashSet<>(); + for (String id : ids) { + List menuList = iSysMenuService.getMenus(id); + menuSet.add(iSysMenuService.findById(id)); + menuSet = iSysMenuService.getChildMenus(menuList, menuSet); + } + iSysMenuService.delete(menuSet); + return new ResponseEntity<>(HttpStatus.OK); + } +} + diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/system/rest/ParamController.java b/lms/nladmin-system/src/main/java/org/nl/system/controller/param/SysParamController.java similarity index 61% rename from lms/nladmin-system/src/main/java/org/nl/modules/system/rest/ParamController.java rename to lms/nladmin-system/src/main/java/org/nl/system/controller/param/SysParamController.java index d9ae404e6..a1f8fa9ca 100644 --- a/lms/nladmin-system/src/main/java/org/nl/modules/system/rest/ParamController.java +++ b/lms/nladmin-system/src/main/java/org/nl/system/controller/param/SysParamController.java @@ -1,49 +1,54 @@ -package org.nl.modules.system.rest; - +package org.nl.system.controller.param; +import cn.dev33.satoken.annotation.SaIgnore; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.nl.common.TableDataInfo; +import org.nl.common.domain.query.PageQuery; import org.nl.modules.logging.annotation.Log; -import org.nl.modules.system.service.ParamService; -import org.nl.modules.system.service.dto.ParamDto; -import org.springframework.data.domain.Pageable; +import org.nl.system.service.param.ISysParamService; +import org.nl.system.service.param.dao.Param; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; +import java.util.Arrays; +import java.util.List; import java.util.Map; /** - * @author ldjun - * @date 2021-01-14 - **/ -@RestController -@RequiredArgsConstructor + *

+ * 系统参数表 前端控制器 + *

+ * + * @author generator + * @since 2022-12-14 + */ @Api(tags = "系统参数管理") -@RequestMapping("/api/param") @Slf4j -public class ParamController { - - private final ParamService paramService; +@RestController +@RequestMapping("/api/param") +@RequiredArgsConstructor +class SysParamController { + private final ISysParamService paramService; @GetMapping @Log("查询系统参数") @ApiOperation("查询系统参数") //@SaCheckPermission("param:list") - public ResponseEntity query(@RequestParam Map whereJson, Pageable page){ - return new ResponseEntity<>(paramService.queryAll(whereJson,page),HttpStatus.OK); + public ResponseEntity query(@RequestParam Map whereJson, PageQuery page){ + return new ResponseEntity<>(TableDataInfo.build(paramService.queryPage(whereJson, page)), HttpStatus.OK); } + @PostMapping @Log("新增系统参数") @ApiOperation("新增系统参数") //@SaCheckPermission("param:add") - public ResponseEntity create(@Validated @RequestBody ParamDto dto){ - paramService.create(dto); + public ResponseEntity create(@Validated @RequestBody Param param){ + paramService.create(param); return new ResponseEntity<>(HttpStatus.CREATED); } @@ -51,8 +56,8 @@ public class ParamController { @Log("修改系统参数") @ApiOperation("修改系统参数") //@SaCheckPermission("param:edit") - public ResponseEntity update(@Validated @RequestBody ParamDto dto){ - paramService.update(dto); + public ResponseEntity update(@Validated @RequestBody Param param){ + paramService.update(param); return new ResponseEntity<>(HttpStatus.NO_CONTENT); } @@ -61,22 +66,19 @@ public class ParamController { //@SaCheckPermission("param:del") @DeleteMapping public ResponseEntity delete(@RequestBody String[] ids) { - paramService.deleteAll(ids); + List Ids = Arrays.asList(ids); + paramService.deleteByIds(Ids); return new ResponseEntity<>(HttpStatus.OK); } - @Log("导出系统参数") - @ApiOperation("导出系统参数") - @GetMapping(value = "/download") - //@SaCheckPermission("param:list") - public void download(HttpServletResponse response, Map whereJson) throws IOException { - paramService.download(paramService.queryAll(whereJson), response); - } - - @PostMapping("/getValueByCode") + @PostMapping("/getValueByCode/{code}") @Log("根据编码获取值") @ApiOperation("根据编码获取值") - public ResponseEntity getValueByCode(@RequestBody String code) { + @SaIgnore + public ResponseEntity getValueByCode(@PathVariable String code) { return new ResponseEntity<>(paramService.findByCode(code), HttpStatus.CREATED); } + } + + diff --git a/lms/nladmin-system/src/main/java/org/nl/system/controller/permission/SysDataPermissionController.java b/lms/nladmin-system/src/main/java/org/nl/system/controller/permission/SysDataPermissionController.java new file mode 100644 index 000000000..3e03ac66b --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/system/controller/permission/SysDataPermissionController.java @@ -0,0 +1,110 @@ +package org.nl.system.controller.permission; + + +import com.alibaba.fastjson.JSONObject; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.nl.common.TableDataInfo; +import org.nl.common.domain.query.PageQuery; +import org.nl.modules.logging.annotation.Log; +import org.nl.system.service.permission.ISysDataPermissionService; +import org.nl.system.service.permission.dao.SysDataPermission; +import org.nl.system.service.permission.dto.SysDataPermissionQuery; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.Set; + +/** + *

+ * 数据数据权限表 前端控制器 + *

+ * + * @author generator + * @since 2022-12-20 + */ +@Slf4j +@RestController +@RequiredArgsConstructor +@Api(tags = "数据管理") +@RequestMapping("/api/dataPermission") +public class SysDataPermissionController { + + private final ISysDataPermissionService dataPermissionService; + + @GetMapping + @Log("查询数据权限") + @ApiOperation("查询数据权限") + //@SaCheckPermission("@el.check('dataPermission:list')") + public ResponseEntity query(SysDataPermissionQuery dataPermissionQuery, PageQuery page) { + return new ResponseEntity<>(TableDataInfo.build(dataPermissionService.queryAll(dataPermissionQuery, page)), HttpStatus.OK); + } + + @PostMapping + @Log("新增数据权限") + @ApiOperation("新增数据权限") + //@SaCheckPermission("@el.check('dataPermission:add')") + public ResponseEntity create(@Validated @RequestBody SysDataPermission permission) { + dataPermissionService.create(permission); + return new ResponseEntity<>(HttpStatus.CREATED); + } + + @PutMapping + @Log("修改数据权限") + @ApiOperation("修改数据权限") + //@SaCheckPermission("@el.check('dataPermission:edit')") + public ResponseEntity update(@Validated @RequestBody SysDataPermission permission) { + dataPermissionService.update(permission); + return new ResponseEntity<>(HttpStatus.NO_CONTENT); + } + + @Log("删除数据权限") + @ApiOperation("删除数据权限") + //@SaCheckPermission("@el.check('dataPermission:del')") + @DeleteMapping + public ResponseEntity delete(@RequestBody Set ids) { + dataPermissionService.deleteAll(ids); + return new ResponseEntity<>(HttpStatus.OK); + } + + @GetMapping("/scopeType") + @Log("获取数据权限范围") + @ApiOperation("获取数据权限范围") + public ResponseEntity getDataScopeType(){ + return new ResponseEntity<>(dataPermissionService.getDataScopeType(),HttpStatus.OK); + } + + @GetMapping("/dataPermissionOption") + @Log("获取数据权限下拉框") + @ApiOperation("获取数据权限下拉框") + public ResponseEntity getDataPermissionOption(){ + return new ResponseEntity<>(dataPermissionService.getDataPermissionOption(),HttpStatus.OK); + } + + @PostMapping("/saveDataPermission") + @Log("保存数据权限") + @ApiOperation("保存数据权限") + public ResponseEntity saveDataPermission(@RequestBody JSONObject datas){ + dataPermissionService.savePermission(datas); + return new ResponseEntity<>(HttpStatus.CREATED); + } + + @PostMapping("/dataShow") + @Log("查看数据权限") + @ApiOperation("查看数据权限") + public ResponseEntity getDataShow(@RequestBody String id){ + return new ResponseEntity<>(dataPermissionService.getDataShow(id),HttpStatus.OK); + } + + @PostMapping("/dataDetail") + @Log("查看数据明细") + @ApiOperation("查看数据明细") + public ResponseEntity getDataDetail(@RequestBody JSONObject data){ + return new ResponseEntity<>(dataPermissionService.getDataDetail(data),HttpStatus.OK); + } +} + diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/quartz/rest/QuartzJobController.java b/lms/nladmin-system/src/main/java/org/nl/system/controller/quartz/SysQuartzJobController.java similarity index 51% rename from lms/nladmin-system/src/main/java/org/nl/modules/quartz/rest/QuartzJobController.java rename to lms/nladmin-system/src/main/java/org/nl/system/controller/quartz/SysQuartzJobController.java index f84511bab..51dc5c88d 100644 --- a/lms/nladmin-system/src/main/java/org/nl/modules/quartz/rest/QuartzJobController.java +++ b/lms/nladmin-system/src/main/java/org/nl/system/controller/quartz/SysQuartzJobController.java @@ -1,31 +1,18 @@ -/* - * Copyright 2019-2020 Zheng Jie - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.nl.modules.quartz.rest; +package org.nl.system.controller.quartz; + import cn.dev33.satoken.annotation.SaCheckPermission; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.nl.common.TableDataInfo; +import org.nl.common.domain.query.PageQuery; import org.nl.modules.common.exception.BadRequestException; import org.nl.modules.logging.annotation.Log; -import org.nl.modules.quartz.domain.QuartzJob; -import org.nl.modules.quartz.service.QuartzJobService; -import org.nl.modules.quartz.service.dto.JobQueryCriteria; -import org.springframework.data.domain.Pageable; +import org.nl.system.service.quartz.ISysQuartzJobService; +import org.nl.system.service.quartz.dao.SysQuartzJob; +import org.nl.system.service.quartz.dto.JobQuery; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.validation.annotation.Validated; @@ -34,42 +21,46 @@ import org.springframework.web.bind.annotation.*; import java.util.Set; /** - * @author Zheng Jie - * @date 2019-01-07 + *

+ * 定时任务表 前端控制器 + *

+ * + * @author generator + * @since 2022-12-19 */ @Slf4j @RestController @RequiredArgsConstructor @RequestMapping("/api/jobs") @Api(tags = "系统:定时任务管理") -public class QuartzJobController { - +public class SysQuartzJobController { private static final String ENTITY_NAME = "quartzJob"; - private final QuartzJobService quartzJobService; + + private final ISysQuartzJobService quartzJobService; @ApiOperation("查询定时任务") @GetMapping @SaCheckPermission("timing:list") - public ResponseEntity query(JobQueryCriteria criteria, Pageable pageable) { - return new ResponseEntity<>(quartzJobService.queryAll(criteria, pageable), HttpStatus.OK); + public ResponseEntity query(JobQuery criteria, PageQuery pageable) { + return new ResponseEntity<>(TableDataInfo.build(quartzJobService.queryAll(criteria, pageable)), HttpStatus.OK); } @ApiOperation("查询任务执行日志") @GetMapping(value = "/logs") @SaCheckPermission("timing:list") - public ResponseEntity queryJobLog(JobQueryCriteria criteria, Pageable pageable) { - return new ResponseEntity<>(quartzJobService.queryAllLog(criteria, pageable), HttpStatus.OK); + public ResponseEntity queryJobLog(JobQuery criteria, PageQuery pageable) { + return new ResponseEntity<>(TableDataInfo.build(quartzJobService.queryAllLog(criteria, pageable)), HttpStatus.OK); } @Log("新增定时任务") @ApiOperation("新增定时任务") @PostMapping @SaCheckPermission("timing:add") - public ResponseEntity create(@Validated @RequestBody QuartzJob resources) { - if (resources.getId() != null) { + public ResponseEntity create(@Validated @RequestBody SysQuartzJob resources) { + if (resources.getJobId() != null) { throw new BadRequestException("A new " + ENTITY_NAME + " cannot already have an ID"); } - quartzJobService.create(resources); + quartzJobService.createJob(resources); return new ResponseEntity<>(HttpStatus.CREATED); } @@ -77,8 +68,8 @@ public class QuartzJobController { @ApiOperation("修改定时任务") @PutMapping @SaCheckPermission("timing:edit") - public ResponseEntity update(@Validated(QuartzJob.Update.class) @RequestBody QuartzJob resources) { - quartzJobService.update(resources); + public ResponseEntity update(@Validated @RequestBody SysQuartzJob resources) { + quartzJobService.updateJob(resources); return new ResponseEntity<>(HttpStatus.NO_CONTENT); } @@ -86,8 +77,8 @@ public class QuartzJobController { @ApiOperation("更改定时任务状态") @PutMapping(value = "/{id}") @SaCheckPermission("timing:edit") - public ResponseEntity update(@PathVariable Long id) { - quartzJobService.updateIsPause(quartzJobService.findById(id)); + public ResponseEntity update(@PathVariable String id) { + quartzJobService.updateIsPause(quartzJobService.getById(id)); return new ResponseEntity<>(HttpStatus.NO_CONTENT); } @@ -95,8 +86,8 @@ public class QuartzJobController { @ApiOperation("执行定时任务") @PutMapping(value = "/exec/{id}") @SaCheckPermission("timing:edit") - public ResponseEntity execution(@PathVariable Long id) { - quartzJobService.execution(quartzJobService.findById(id)); + public ResponseEntity execution(@PathVariable String id) { + quartzJobService.execution(quartzJobService.getById(id)); return new ResponseEntity<>(HttpStatus.NO_CONTENT); } @@ -104,8 +95,9 @@ public class QuartzJobController { @ApiOperation("删除定时任务") @DeleteMapping @SaCheckPermission("timing:del") - public ResponseEntity delete(@RequestBody Set ids) { - quartzJobService.delete(ids); + public ResponseEntity delete(@RequestBody Set ids) { + quartzJobService.deleteJob(ids); return new ResponseEntity<>(HttpStatus.OK); } } + diff --git a/lms/nladmin-system/src/main/java/org/nl/system/controller/role/SysRoleController.java b/lms/nladmin-system/src/main/java/org/nl/system/controller/role/SysRoleController.java new file mode 100644 index 000000000..9e804a8bb --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/system/controller/role/SysRoleController.java @@ -0,0 +1,82 @@ +package org.nl.system.controller.role; + +import cn.dev33.satoken.annotation.SaCheckPermission; +import com.alibaba.fastjson.JSONObject; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.nl.common.TableDataInfo; +import org.nl.common.domain.query.PageQuery; +import org.nl.modules.logging.annotation.Log; +import org.nl.system.service.role.ISysRoleService; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; + +import java.util.Map; +import java.util.Set; + +/** + *

+ * 角色表 前端控制器 + *

+ * + * @author generator + * @since 2022-12-15 + */ +@RestController +@RequestMapping("/api/sysRole") +@RequiredArgsConstructor +public class SysRoleController { + + private final ISysRoleService roleService; + + @ApiOperation("分页查询角色") + @GetMapping + @SaCheckPermission("roles:list") + public ResponseEntity pageQuery(@RequestParam Map param, PageQuery page) { + return new ResponseEntity<>(TableDataInfo.build(roleService.query(param, page)), HttpStatus.OK); + } + + @ApiOperation("查询所有角色") + @GetMapping("/all") + public ResponseEntity queryAll() { + return new ResponseEntity<>(roleService.list(), HttpStatus.OK); + } + + @Log("新增角色") + @ApiOperation("新增角色") + @PostMapping + @SaCheckPermission("roles:add") + public ResponseEntity create(@RequestBody JSONObject param) { + roleService.create(param); + return new ResponseEntity<>(HttpStatus.CREATED); + } + + @Log("修改角色") + @ApiOperation("修改角色") + @PutMapping + @SaCheckPermission("roles:edit") + public ResponseEntity update(@RequestBody JSONObject param) { + roleService.update(param); + return new ResponseEntity<>(HttpStatus.NO_CONTENT); + } + + @Log("删除角色") + @ApiOperation("删除角色") + @DeleteMapping + @SaCheckPermission("roles:del") + public ResponseEntity delete(@RequestBody Set ids) { + roleService.deleteBatchByIds(ids); + return new ResponseEntity<>(HttpStatus.OK); + } + + @Log("修改角色菜单") + @ApiOperation("修改角色菜单") + @PutMapping(value = "/menu") + @SaCheckPermission("roles:edit") + public ResponseEntity updateMenu(@RequestBody JSONObject form) { + roleService.updateMenu(form); + return new ResponseEntity<>(HttpStatus.NO_CONTENT); + } +} + diff --git a/lms/nladmin-system/src/main/java/org/nl/system/controller/secutiry/AuthorizationController.java b/lms/nladmin-system/src/main/java/org/nl/system/controller/secutiry/AuthorizationController.java new file mode 100644 index 000000000..53918f487 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/system/controller/secutiry/AuthorizationController.java @@ -0,0 +1,132 @@ +/* + * Copyright 2019-2020 Zheng Jie + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.nl.system.controller.secutiry; + + +import cn.dev33.satoken.stp.StpUtil; +import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.ObjectUtil; +import com.alibaba.fastjson.JSONObject; +import com.wf.captcha.base.Captcha; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.nl.common.utils.SecurityUtils; +import org.nl.modules.common.utils.RedisUtils; +import org.nl.modules.security.config.bean.LoginCodeEnum; +import org.nl.modules.security.config.bean.LoginProperties; +import org.nl.modules.wql.core.bean.WQLObject; +import org.nl.system.service.dept.ISysDeptService; +import org.nl.system.service.dept.dao.SysDept; +import org.nl.system.service.secutiry.impl.OnlineUserService; +import org.nl.system.service.user.dto.CurrentUser; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.concurrent.TimeUnit; + +/** + * @author Zheng Jie + * @date 2018-11-23 + * 授权、根据token获取用户详细信息 + */ +@Slf4j +@RestController +@RequestMapping("/auth") +@RequiredArgsConstructor +@Api(tags = "系统:系统授权接口") +public class AuthorizationController { + private final RedisUtils redisUtils; + private final OnlineUserService onlineUserService; + private final ISysDeptService deptService; + + @Resource + private LoginProperties loginProperties; + + @ApiOperation("登录授权") + @PostMapping(value = "/login") + public ResponseEntity login(@RequestBody Map authMap) throws Exception { + if (ObjectUtil.isEmpty(authMap)){ + return ResponseEntity.noContent().build(); + } + return ResponseEntity.ok(onlineUserService.login(authMap)); + } + + + @ApiOperation("获取用户信息") + @GetMapping(value = "/info") + public ResponseEntity getUserInfo() { + CurrentUser currentUser = SecurityUtils.getCurrentUser(); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("roles", SecurityUtils.getCurrentUserPermissions()); + jsonObject.put("user", currentUser.getUser()); + //TODO:添加部门 + List depts = deptService.getUserDeptRelation(currentUser.getId()); + jsonObject.put("depts",depts); + + return ResponseEntity.ok(jsonObject); + } + + @ApiOperation("获取指定用户信息") + @GetMapping(value = "/userInfo") + public ResponseEntity getUserInfo(Long loginId) { + if (loginId != null){ + WQLObject userTab = WQLObject.getWQLObject("sys_user"); + JSONObject user = userTab.query("user_id = '" + loginId + "'").uniqueResult(0); + return ResponseEntity.ok(user); + } + return ResponseEntity.noContent().build(); + } + + @ApiOperation("获取验证码") + @GetMapping(value = "/code") + public ResponseEntity getCode() { + // 获取运算的结果 + Captcha captcha = loginProperties.getCaptcha(); + String uuid = IdUtil.simpleUUID(); + //当验证码类型为 arithmetic时且长度 >= 2 时,captcha.text()的结果有几率为浮点型 + String captchaValue = captcha.text(); + if (captcha.getCharType() - 1 == LoginCodeEnum.arithmetic.ordinal() && captchaValue.contains(".")) { + captchaValue = captchaValue.split("\\.")[0]; + } + // 保存 + redisUtils.set(uuid, captchaValue, loginProperties.getLoginCode().getExpiration(), TimeUnit.MINUTES); + // 验证码信息 + Map imgResult = new HashMap(2) {{ + put("img", captcha.toBase64()); + put("uuid", uuid); + }}; + return ResponseEntity.ok(imgResult); + } + + @ApiOperation("退出登录") + @DeleteMapping(value = "/logout") + public ResponseEntity logout(HttpServletRequest request) { + if (ObjectUtil.isNotEmpty(StpUtil.getTokenValue())) { + onlineUserService.logout(StpUtil.getTokenValue()); + } + StpUtil.logout(); + return new ResponseEntity<>(HttpStatus.OK); + } + +} diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/security/rest/OnlineController.java b/lms/nladmin-system/src/main/java/org/nl/system/controller/user/OnlineController.java similarity index 95% rename from lms/nladmin-system/src/main/java/org/nl/modules/security/rest/OnlineController.java rename to lms/nladmin-system/src/main/java/org/nl/system/controller/user/OnlineController.java index e5b183944..6b0f7bd22 100644 --- a/lms/nladmin-system/src/main/java/org/nl/modules/security/rest/OnlineController.java +++ b/lms/nladmin-system/src/main/java/org/nl/system/controller/user/OnlineController.java @@ -13,13 +13,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.nl.modules.security.rest; +package org.nl.system.controller.user; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import org.nl.modules.common.utils.EncryptUtils; -import org.nl.modules.security.service.OnlineUserService; +import org.nl.system.service.secutiry.impl.OnlineUserService; import org.springframework.data.domain.Pageable; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; diff --git a/lms/nladmin-system/src/main/java/org/nl/system/controller/user/UserController.java b/lms/nladmin-system/src/main/java/org/nl/system/controller/user/UserController.java new file mode 100644 index 000000000..b59852667 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/system/controller/user/UserController.java @@ -0,0 +1,143 @@ +/* + * Copyright 2019-2020 Zheng Jie + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.nl.system.controller.user; + +import cn.dev33.satoken.secure.SaSecureUtil; +import cn.dev33.satoken.stp.StpUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.nl.common.TableDataInfo; +import org.nl.common.domain.query.PageQuery; +import org.nl.common.utils.SecurityUtils; +import org.nl.modules.common.config.RsaProperties; +import org.nl.modules.common.exception.BadRequestException; +import org.nl.modules.common.utils.RsaUtils; +import org.nl.modules.logging.annotation.Log; +import org.nl.system.service.user.ISysUserService; +import org.nl.system.service.user.dao.SysUser; +import org.nl.system.service.user.dto.UserQuery; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import java.util.Map; +import java.util.Set; + +/** + * @author Zheng Jie + * @date 2018-11-23 + */ +@Api(tags = "系统:用户管理") +@RestController +@RequestMapping("/api/users") +@RequiredArgsConstructor +public class UserController { + + @Autowired + ISysUserService userService; + + + @ApiOperation("查询用户") + @GetMapping + public ResponseEntity query(UserQuery query, PageQuery page){ + return new ResponseEntity(TableDataInfo.build(userService.getUserDetail(query, page)),HttpStatus.OK); + } + + @Log("新增用户") + @ApiOperation("新增用户") + @PostMapping +// @SaCheckPermission("user:add") + public ResponseEntity create(@RequestBody Map user){ + userService.create(user); + return new ResponseEntity<>(HttpStatus.CREATED); + } + + @Log("修改用户") + @ApiOperation("修改用户") + @PutMapping +// @SaCheckPermission("user:edit") + public ResponseEntity update( @RequestBody Map resources) throws Exception { + userService.update(resources); + return new ResponseEntity<>(HttpStatus.NO_CONTENT); + } + + @Log("修改用户:个人中心") + @ApiOperation("修改用户:个人中心") +// @PutMapping(value = "center") + public ResponseEntity center(@RequestBody SysUser resources){ + if(!resources.getUserId().equals(StpUtil.getLoginIdAsLong())){ + throw new BadRequestException("不能修改他人资料"); + } + userService.saveOrUpdate(resources); + return new ResponseEntity<>(HttpStatus.NO_CONTENT); + } + + @Log("删除用户") + @ApiOperation("删除用户") + @DeleteMapping +// @SaCheckPermission("user:del") + public ResponseEntity delete(@RequestBody Set ids) { + userService.removeByIds(ids); + return new ResponseEntity<>(HttpStatus.OK); + } + + /* @ApiOperation("修改密码") + @PostMapping(value = "/updatePass") + public ResponseEntity updatePass(@RequestBody UserPassVo passVo) throws Exception { + // 解密,得到字符密码 + String oldPass = RsaUtils.decryptByPrivateKey(RsaProperties.privateKey,passVo.getOldPass()); + String newPass = RsaUtils.decryptByPrivateKey(RsaProperties.privateKey,passVo.getNewPass()); + User user = userService.findByName(SecurityUtils.getCurrentUsername()); + if (!SaSecureUtil.md5BySalt(user.getPassword(), "salt").equals(SaSecureUtil.md5BySalt(oldPass, "salt"))) { + throw new BadRequestException("修改失败,旧密码错误"); + } + if (!SaSecureUtil.md5BySalt(user.getPassword(), "salt").equals(SaSecureUtil.md5BySalt(newPass, "salt"))) { + throw new BadRequestException("新密码不能与旧密码相同"); + } + userService.updatePass(user.getUsername(),SaSecureUtil.md5BySalt(newPass, "salt")); + return new ResponseEntity<>(HttpStatus.OK); + }*/ + + @ApiOperation("修改头像") + @PostMapping(value = "/updateAvatar") + public ResponseEntity updateAvatar(@RequestParam MultipartFile avatar){ + return new ResponseEntity<>(userService.updateAvatar(avatar), HttpStatus.OK); + } + + @Log("修改邮箱") + @ApiOperation("修改邮箱") + @PostMapping(value = "/updateEmail/{code}") + public ResponseEntity updateEmail(@PathVariable String code,@RequestBody SysUser user) throws Exception { + String password = RsaUtils.decryptByPrivateKey(RsaProperties.privateKey,user.getPassword()); + SysUser userInfo = userService.getOne(new QueryWrapper().eq("username", SecurityUtils.getCurrentUsername())); + if(!SaSecureUtil.md5BySalt(userInfo.getPassword(), "salt").equals(SaSecureUtil.md5BySalt(password, "salt"))){ + throw new BadRequestException("密码错误"); + } + userService.update(new UpdateWrapper().set(userInfo.getUsername(),user.getEmail())); + return new ResponseEntity<>(HttpStatus.OK); + } + + /** + * 如果当前用户的角色级别低于创建用户的角色级别,则抛出权限不足的错误 + * @param resources / + */ + +} diff --git a/lms/nladmin-system/src/main/java/org/nl/system/service/dept/ISysDeptService.java b/lms/nladmin-system/src/main/java/org/nl/system/service/dept/ISysDeptService.java new file mode 100644 index 000000000..a6cfa231b --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/dept/ISysDeptService.java @@ -0,0 +1,70 @@ +package org.nl.system.service.dept; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import org.nl.common.domain.query.PageQuery; +import org.nl.system.service.dept.dao.SysDept; +import org.nl.system.service.dept.dto.DeptQuery; + +import java.util.Collection; +import java.util.List; +import java.util.Map; +import java.util.Set; + +/** + *

+ * 部门 服务类 + *

+ * + * @author generator + * @since 2022-12-15 + */ +public interface ISysDeptService extends IService { + /** + * 条件查询 + * @param query + * @param pageQuery + * @return + */ + Page queryVo(DeptQuery query, PageQuery pageQuery); + + /** + * 条件查询树结构 + * @param query + * @return + */ + Map buildTree(DeptQuery query); + + /** + * 查询当前部门id的上级id + * @param deptIds + * @return + */ + Map getSuperior(List deptIds); + + /** + * 保存用户部门关系 + * @param UserId + * @param deptIds + */ + void saveUserDeptRelation(String UserId, Collection deptIds); + + List getUserDeptRelation(String UserId); + + void delUserDeptRelation(String user); + + /** + * 更新部门:同时更新节点 + * @param dept + */ + void updateDept(SysDept dept); + + /** + * 删除部门及子部门 + * @param deptIds + */ + void delateDept(Set deptIds); + + void createDept(SysDept dept); + +} diff --git a/lms/nladmin-system/src/main/java/org/nl/system/service/dept/ISysUserDeptService.java b/lms/nladmin-system/src/main/java/org/nl/system/service/dept/ISysUserDeptService.java new file mode 100644 index 000000000..d36b29264 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/dept/ISysUserDeptService.java @@ -0,0 +1,16 @@ +package org.nl.system.service.dept; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.nl.system.service.dept.dao.SysUserDept; + +/** + *

+ * 部门表 服务类 + *

+ * + * @author generator + * @since 2022-12-15 + */ +public interface ISysUserDeptService extends IService { + +} diff --git a/lms/nladmin-system/src/main/java/org/nl/system/service/dept/dao/SysDept.java b/lms/nladmin-system/src/main/java/org/nl/system/service/dept/dao/SysDept.java new file mode 100644 index 000000000..e3c4b02ce --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/dept/dao/SysDept.java @@ -0,0 +1,93 @@ +package org.nl.system.service.dept.dao; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; +import java.util.Date; + +/** + *

+ * 部门 + *

+ * + * @author generator + * @since 2022-12-15 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("sys_dept") +public class SysDept implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * ID + */ + @TableId(value = "dept_id", type = IdType.NONE) + private String deptId; + + /** + * 上级部门 + */ + private String pid; + + /** + * 子部门数目 + */ + private Integer subCount; + + /** + * 名称 + */ + private String name; + + /** + * 排序 + */ + private Integer deptSort; + + /** + * 状态 + */ + private Boolean isUsed; + + private String createId; + + /** + * 创建者 + */ + private String createName; + + private String updateId; + + /** + * 更新者 + */ + private String updateName; + + /** + * 创建日期 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date createTime; + + /** + * 更新时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date updateTime; + + /** + * 部门编号 + */ + private String code; + + private String extId; + + +} diff --git a/lms/nladmin-system/src/main/java/org/nl/system/service/dept/dao/SysUserDept.java b/lms/nladmin-system/src/main/java/org/nl/system/service/dept/dao/SysUserDept.java new file mode 100644 index 000000000..1cd05ab5c --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/dept/dao/SysUserDept.java @@ -0,0 +1,35 @@ +package org.nl.system.service.dept.dao; + +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; + +/** + *

+ * 部门表 + *

+ * + * @author generator + * @since 2022-12-15 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("sys_user_dept") +public class SysUserDept implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 用户标识 + */ + private Long userId; + + /** + * 部门标识 + */ + private Long deptId; + + +} diff --git a/lms/nladmin-system/src/main/java/org/nl/system/service/dept/dao/mapper/SysDeptMapper.java b/lms/nladmin-system/src/main/java/org/nl/system/service/dept/dao/mapper/SysDeptMapper.java new file mode 100644 index 000000000..bfdc60734 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/dept/dao/mapper/SysDeptMapper.java @@ -0,0 +1,49 @@ +package org.nl.system.service.dept.dao.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; +import org.nl.system.service.dept.dao.SysDept; + +import java.util.Collection; +import java.util.List; +import java.util.Map; + +/** + *

+ * 部门 Mapper 接口 + *

+ * + * @author generator + * @since 2022-12-15 + */ +public interface SysDeptMapper extends BaseMapper { + + /** + * 保存依赖关系 + * @param UserId + * @param deptId + */ + void saveDeptRelation(@Param("user") String UserId,@Param("depts") Collection deptId); + void delDeptRelation(@Param("user") String UserId); + + List getDeptRelation(@Param("deptIds") Collection deptIds); + + + @Select("select sys_dept.* from sys_dept inner join sys_user_dept on sys_dept.dept_id = sys_user_dept.dept_id where sys_user_dept.user_id = #{user}") + List getDeptRelationByUser(@Param("user") String user); + + /** + * 跟新sub_count字段 + * @param deptId + * @return + */ + int updateSubCount(String deptId); + + /** + * 返回字符串列表 split = , + * @param pid + * @return + */ + String findAllChild(String pid); +} diff --git a/lms/nladmin-system/src/main/java/org/nl/system/service/dept/dao/mapper/SysDeptMapper.xml b/lms/nladmin-system/src/main/java/org/nl/system/service/dept/dao/mapper/SysDeptMapper.xml new file mode 100644 index 000000000..b5ec9e870 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/dept/dao/mapper/SysDeptMapper.xml @@ -0,0 +1,40 @@ + + + + + + replace into sys_user_dept values + + (#{user},#{dept}) + + + + delete from sys_user_dept where user_id = #{user} + + + + update sys_dept set sub_count = + (select m.count from (select count(*) count from sys_dept where pid = #{pid}) as m) + where dept_id = #{pid} + + + + diff --git a/lms/nladmin-system/src/main/java/org/nl/system/service/dept/dao/mapper/SysUserDeptMapper.java b/lms/nladmin-system/src/main/java/org/nl/system/service/dept/dao/mapper/SysUserDeptMapper.java new file mode 100644 index 000000000..54a4953d5 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/dept/dao/mapper/SysUserDeptMapper.java @@ -0,0 +1,16 @@ +package org.nl.system.service.dept.dao.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.nl.system.service.dept.dao.SysUserDept; + +/** + *

+ * 部门表 Mapper 接口 + *

+ * + * @author generator + * @since 2022-12-15 + */ +public interface SysUserDeptMapper extends BaseMapper { + +} diff --git a/lms/nladmin-system/src/main/java/org/nl/system/service/dept/dao/mapper/SysUserDeptMapper.xml b/lms/nladmin-system/src/main/java/org/nl/system/service/dept/dao/mapper/SysUserDeptMapper.xml new file mode 100644 index 000000000..6abf5295e --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/dept/dao/mapper/SysUserDeptMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/lms/nladmin-system/src/main/java/org/nl/system/service/dept/dto/DeptQuery.java b/lms/nladmin-system/src/main/java/org/nl/system/service/dept/dto/DeptQuery.java new file mode 100644 index 000000000..6861e2f57 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/dept/dto/DeptQuery.java @@ -0,0 +1,33 @@ +package org.nl.system.service.dept.dto; + +import lombok.Data; +import org.nl.common.domain.query.BaseQuery; +import org.nl.common.domain.query.QParam; +import org.nl.common.enums.QueryTEnum; +import org.nl.system.service.dept.dao.SysDept; + +import java.util.List; + +/* + * @author ZZQ + * @Date 2022/12/15 4:20 下午 + */ +@Data +public class DeptQuery extends BaseQuery { + + private List deptIds; + + private String name; + + private String code; + + private Long pid; + + private Boolean pidIsNull; + + @Override + public void paramMapping() { + super.doP.put("pidIsNull", QParam.builder().k(new String[]{"pid"}).type(QueryTEnum.NO).build()); + super.doP.put("deptIds", QParam.builder().k(new String[]{"deptId"}).type(QueryTEnum.IN).build()); + } +} diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/dto/DictDto.java b/lms/nladmin-system/src/main/java/org/nl/system/service/dept/dto/DeptTree.java similarity index 72% rename from lms/nladmin-system/src/main/java/org/nl/modules/system/service/dto/DictDto.java rename to lms/nladmin-system/src/main/java/org/nl/system/service/dept/dto/DeptTree.java index 5eb3a8425..61c0323aa 100644 --- a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/dto/DictDto.java +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/dept/dto/DeptTree.java @@ -13,28 +13,29 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.nl.modules.system.service.dto; +package org.nl.system.service.dept.dto; +import com.fasterxml.jackson.annotation.JsonInclude; import lombok.Getter; import lombok.Setter; -import org.nl.modules.common.base.BaseDTO; import java.io.Serializable; import java.util.List; /** * @author Zheng Jie -* @date 2019-04-10 +* @date 2019-03-25 */ @Getter @Setter -public class DictDto extends BaseDTO implements Serializable { +public class DeptTree implements Serializable { - private Long id; + private String deptId; - private List dictDetails; + private String pid; private String name; + @JsonInclude(JsonInclude.Include.NON_EMPTY) + private List children; - private String description; } diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/system/domain/Dept.java b/lms/nladmin-system/src/main/java/org/nl/system/service/dept/dto/DeptVo.java similarity index 54% rename from lms/nladmin-system/src/main/java/org/nl/modules/system/domain/Dept.java rename to lms/nladmin-system/src/main/java/org/nl/system/service/dept/dto/DeptVo.java index 9a68cb5a9..dac9eec3f 100644 --- a/lms/nladmin-system/src/main/java/org/nl/modules/system/domain/Dept.java +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/dept/dto/DeptVo.java @@ -13,75 +13,60 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.nl.modules.system.domain; +package org.nl.system.service.dept.dto; -import com.fasterxml.jackson.annotation.JsonIgnore; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; -import org.nl.modules.common.base.BaseEntity; +import org.nl.modules.common.base.BaseDTO; -import javax.persistence.*; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import java.io.Serializable; -import java.util.Objects; -import java.util.Set; +import java.util.List; /** * @author Zheng Jie * @date 2019-03-25 */ -@Entity @Getter @Setter -@Table(name="sys_dept") -public class Dept extends BaseEntity implements Serializable { +public class DeptVo extends BaseDTO implements Serializable { - @Id - @Column(name = "dept_id") - @NotNull(groups = Update.class) - @ApiModelProperty(value = "ID", hidden = true) - @GeneratedValue(strategy = GenerationType.IDENTITY) - private Long id; - @JsonIgnore - @ManyToMany(mappedBy = "depts") - @ApiModelProperty(value = "角色") - private Set roles; + private String deptId; + + private String code; + + private String extId; + @ApiModelProperty(value = "排序") private Integer deptSort; + @NotBlank @ApiModelProperty(value = "部门名称") private String name; @NotNull @ApiModelProperty(value = "是否启用") - private Boolean enabled; + private Boolean isUsed; @ApiModelProperty(value = "上级部门") private Long pid; @ApiModelProperty(value = "子节点数目", hidden = true) private Integer subCount = 0; + //前端显示 + private Boolean hasChildren =Boolean.FALSE; - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - Dept dept = (Dept) o; - return Objects.equals(id, dept.id) && - Objects.equals(name, dept.name); - } + private List children; - @Override - public int hashCode() { - return Objects.hash(id, name); + public void setSubCount(Integer subCount) { + this.subCount = subCount; + if (subCount>0){ + this.hasChildren=Boolean.TRUE; + } } } diff --git a/lms/nladmin-system/src/main/java/org/nl/system/service/dept/impl/SysDeptServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/system/service/dept/impl/SysDeptServiceImpl.java new file mode 100644 index 000000000..d53d61237 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/dept/impl/SysDeptServiceImpl.java @@ -0,0 +1,185 @@ +package org.nl.system.service.dept.impl; + +import cn.hutool.core.collection.CollectionUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.apache.commons.lang3.StringUtils; +import org.nl.common.domain.query.PageQuery; +import org.nl.common.utils.CopyUtil; +import org.nl.common.utils.IdUtil; +import org.nl.common.utils.SecurityUtils; +import org.nl.modules.common.exception.BadRequestException; +import org.nl.system.service.dept.ISysDeptService; +import org.nl.system.service.dept.dao.SysDept; +import org.nl.system.service.dept.dao.mapper.SysDeptMapper; +import org.nl.system.service.dept.dto.DeptQuery; +import org.nl.system.service.dept.dto.DeptTree; +import org.nl.system.service.dept.dto.DeptVo; +import org.nl.system.service.user.dto.CurrentUser; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; + +import java.util.*; +import java.util.stream.Collectors; + +/** + *

+ * 部门 服务实现类 + *

+ * + * @author generator + * @since 2022-12-15 + */ +@Service +public class SysDeptServiceImpl extends ServiceImpl implements ISysDeptService { + + @Autowired + private SysDeptMapper sysDeptMapper; + + @Override + public Map buildTree(DeptQuery query) { + List list = this.list(query.build()); + List deptTrees = CopyUtil.copyList(list, DeptTree.class); + return this.buildTree(deptTrees); + } + + @Override + public Map getSuperior(List deptIds) { + return null; + } + + private Map buildTree(List deptDtos) { + List trees= new ArrayList<>(); + Set depts = new LinkedHashSet<>(); + List deptNames = deptDtos.stream().map(DeptTree::getName).collect(Collectors.toList()); + boolean isChild; + for (DeptTree deptDTO : deptDtos) { + isChild = false; + if (deptDTO.getPid() == null) { + trees.add(deptDTO); + } + for (DeptTree it : deptDtos) { + if (it.getPid() != null && deptDTO.getDeptId().equals(it.getPid())) { + isChild = true; + if (deptDTO.getChildren() == null) { + deptDTO.setChildren(new ArrayList<>()); + } + deptDTO.getChildren().add(it); + } + } + if (isChild) { + depts.add(deptDTO); + } else if (deptDTO.getPid() != null && !deptNames.contains(this.getById(deptDTO.getPid()).getName())) { + depts.add(deptDTO); + } + } + Map map = new HashMap<>(2); + map.put("totalElements", deptDtos.size()); + map.put("content", CollectionUtil.isEmpty(trees) ? deptDtos : trees); + return map; + } + + @Override + public Page queryVo(DeptQuery query, PageQuery pageQuery) { + if (query.getPidIsNull() == null){ + if (query.getPid() == null){ + query.setPidIsNull(true); + } + if (StringUtils.isNotEmpty(query.getName()) || query.getIsUsed()!=null){ + query.setPidIsNull(null); + } + } + Page page = this.page(pageQuery.build(SysDept.class), query.build()); + page.setRecords(CopyUtil.copyList(page.getRecords(), DeptVo.class)); + if (StringUtils.isNotEmpty(query.getName()) || query.getIsUsed()!=null){ + page.getRecords().forEach(a->((DeptVo)a).setHasChildren(false) ); + } + return page; + } + + + @Override + public void saveUserDeptRelation(String userId, Collection deptIds) { + if (StringUtils.isEmpty(userId) || CollectionUtils.isEmpty(deptIds)){ + return; + } + sysDeptMapper.saveDeptRelation(userId,deptIds); + } + + @Override + public List getUserDeptRelation(String user) { + return sysDeptMapper.getDeptRelationByUser(user); + } + + @Override + public void delUserDeptRelation(String user) { + sysDeptMapper.delDeptRelation(user); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void updateDept(SysDept dept) { + if (dept == null ||StringUtils.isEmpty(dept.getDeptId())){ + return; + } + this.updateById(dept); + //删除节点信息 + sysDeptMapper.updateSubCount(dept.getDeptId()); + if (StringUtils.isNotEmpty(dept.getPid())){ + sysDeptMapper.updateSubCount(dept.getPid()); + } + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delateDept(Set deptIds) { + if (CollectionUtils.isEmpty(deptIds)){ + return; + } + verification(deptIds); + Set depts = new HashSet<>(); + Set pids = new HashSet<>(); + List deptList = sysDeptMapper.selectList(new QueryWrapper().in("dept_id", deptIds)); + for (String deptId : deptIds) { + depts.add(deptId); + String allChild = sysDeptMapper.findAllChild(deptId); + if (StringUtils.isNotEmpty(allChild)){ + String[] split = allChild.split(","); + depts.addAll(Arrays.asList(split)); + } + } + this.remove(new QueryWrapper().in("dept_id", depts)); + deptList.forEach(dept -> { + if (StringUtils.isNotEmpty(dept.getPid())){sysDeptMapper.updateSubCount(dept.getPid());} + }); + + } + + private void verification(Set depeIds) { + if (!CollectionUtils.isEmpty(depeIds)){ + List deptRelation = sysDeptMapper.getDeptRelation(depeIds); + if (!CollectionUtils.isEmpty(deptRelation)){ + throw new BadRequestException("部门存在绑定的人员,请先解绑人员对应部门"); + } + } + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void createDept(SysDept dept) { + dept.setDeptId(IdUtil.getStringId()); + CurrentUser user = SecurityUtils.getCurrentUser(); + dept.setCreateId(user.getId()); + dept.setCreateName(user.getPresonName()); + dept.setCreateTime(new Date()); + dept.setCode(UUID.randomUUID().toString()); + this.save(dept); + // 清理缓存 + if (StringUtils.isNotEmpty(dept.getPid())){ + sysDeptMapper.updateSubCount(dept.getPid()); + } + } +} diff --git a/lms/nladmin-system/src/main/java/org/nl/system/service/dept/impl/SysUserDeptServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/system/service/dept/impl/SysUserDeptServiceImpl.java new file mode 100644 index 000000000..e9a9774b7 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/dept/impl/SysUserDeptServiceImpl.java @@ -0,0 +1,20 @@ +package org.nl.system.service.dept.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.nl.system.service.dept.ISysUserDeptService; +import org.nl.system.service.dept.dao.SysUserDept; +import org.nl.system.service.dept.dao.mapper.SysUserDeptMapper; +import org.springframework.stereotype.Service; + +/** + *

+ * 部门表 服务实现类 + *

+ * + * @author generator + * @since 2022-12-15 + */ +@Service +public class SysUserDeptServiceImpl extends ServiceImpl implements ISysUserDeptService { + +} diff --git a/lms/nladmin-system/src/main/java/org/nl/system/service/dict/ISysDictService.java b/lms/nladmin-system/src/main/java/org/nl/system/service/dict/ISysDictService.java new file mode 100644 index 000000000..00afc03c9 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/dict/ISysDictService.java @@ -0,0 +1,81 @@ +package org.nl.system.service.dict; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import org.nl.common.domain.query.PageQuery; +import org.nl.system.service.dict.dao.Dict; +import org.nl.system.service.dict.dto.DictQuery; + +import java.util.List; +import java.util.Map; +import java.util.Set; + +/** + *

+ * 字典表 服务类 + *

+ * + * @author generator + * @since 2022-12-14 + */ +public interface ISysDictService extends IService { + + /** + * 分页查找 + * @param whereJson + * @param pageable + * @return + */ + IPage queryAll(Map whereJson, PageQuery pageable); + + /** + * 新增 + * @param dict + */ + void create(Dict dict); + + /** + * 修改字典数据 + * @param dto + */ + void updateDict(Dict dto); + + /** + * 通过id批量删除字典 + * @param ids + */ + void deleteBatchByIds(Set ids); + + /** + * 分页查询获取字典明细 + * @param criteria + * @param pageable + * @return + */ + IPage queryAllDetail(DictQuery criteria, PageQuery pageable); + + /** + * 获取字典明细 + * @param name + * @return + */ + List getDictByName(String name); + + /** + * 添加字典明细 + * @param resources + */ + void createDetail(Dict resources); + + /** + * 更新字典明细 + * @param resources + */ + void updateDetail(Dict resources); + + /** + * 删除字典 + * @param id + */ + void deleteDetail(String id); +} diff --git a/lms/nladmin-system/src/main/java/org/nl/system/service/dict/dao/Dict.java b/lms/nladmin-system/src/main/java/org/nl/system/service/dict/dao/Dict.java new file mode 100644 index 000000000..518b5bcf2 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/dict/dao/Dict.java @@ -0,0 +1,107 @@ +package org.nl.system.service.dict.dao; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; +import java.math.BigDecimal; + +/** + *

+ * 字典表 + *

+ * + * @author generator + * @since 2022-12-14 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("sys_dict") +public class Dict implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 字典标识 + */ + @TableId(value = "dict_id") + private String dictId; + + /** + * 编码 + */ + private String code; + + /** + * 名称 + */ + private String name; + + /** + * 字典标签 + */ + private String label; + + /** + * 字典值 + */ + private String value; + + /** + * 排序号 + */ + private BigDecimal dictSort; + + /** + * 字典类型 + */ + private String dictType; + + /** + * 参数1 + */ + private String para1; + + /** + * 参数2 + */ + private String para2; + + /** + * 参数3 + */ + private String para3; + + /** + * 创建人 + */ + private String createId; + + /** + * 创建人 + */ + private String createName; + + /** + * 创建时间 + */ + private String createTime; + + /** + * 修改人 + */ + private String updateId; + + /** + * 修改人 + */ + private String updateName; + + /** + * 修改时间 + */ + private String updateTime; + +} diff --git a/lms/nladmin-system/src/main/java/org/nl/system/service/dict/dao/mapper/SysDictMapper.java b/lms/nladmin-system/src/main/java/org/nl/system/service/dict/dao/mapper/SysDictMapper.java new file mode 100644 index 000000000..5bffec6ac --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/dict/dao/mapper/SysDictMapper.java @@ -0,0 +1,16 @@ +package org.nl.system.service.dict.dao.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.nl.system.service.dict.dao.Dict; + +/** + *

+ * 字典表 Mapper 接口 + *

+ * + * @author generator + * @since 2022-12-14 + */ +public interface SysDictMapper extends BaseMapper { + +} diff --git a/lms/nladmin-system/src/main/java/org/nl/system/service/dict/dao/mapper/SysDictMapper.xml b/lms/nladmin-system/src/main/java/org/nl/system/service/dict/dao/mapper/SysDictMapper.xml new file mode 100644 index 000000000..d4acd6535 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/dict/dao/mapper/SysDictMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/lms/nladmin-system/src/main/java/org/nl/system/service/dict/dto/DictQuery.java b/lms/nladmin-system/src/main/java/org/nl/system/service/dict/dto/DictQuery.java new file mode 100644 index 000000000..3802779cc --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/dict/dto/DictQuery.java @@ -0,0 +1,18 @@ +package org.nl.system.service.dict.dto; + +import lombok.Data; +import org.nl.common.domain.query.BaseQuery; +import org.nl.system.service.dict.dao.Dict; + +/** + * @Author: lyd + * @Description: + * @Date: 2022/12/15 + */ +@Data +public class DictQuery extends BaseQuery { + private String code; + + private String dictName; + private String dictId; +} diff --git a/lms/nladmin-system/src/main/java/org/nl/system/service/dict/impl/SysDictServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/system/service/dict/impl/SysDictServiceImpl.java new file mode 100644 index 000000000..d0bac39ee --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/dict/impl/SysDictServiceImpl.java @@ -0,0 +1,182 @@ +package org.nl.system.service.dict.impl; + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.RequiredArgsConstructor; +import org.nl.common.domain.query.PageQuery; +import org.nl.common.utils.SecurityUtils; +import org.nl.modules.common.exception.BadRequestException; +import org.nl.system.service.dict.ISysDictService; +import org.nl.system.service.dict.dao.Dict; +import org.nl.system.service.dict.dao.mapper.SysDictMapper; +import org.nl.system.service.dict.dto.DictQuery; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; +import java.util.Map; +import java.util.Set; + +/** + *

+ * 字典表 服务实现类 + *

+ * + * @author generator + * @since 2022-12-14 + */ +@Service +@RequiredArgsConstructor +public class SysDictServiceImpl extends ServiceImpl implements ISysDictService { + + private final SysDictMapper sysDictMapper; + + @Override + public IPage queryAll(Map whereJson, PageQuery page) { + String blurry = null; + if (ObjectUtil.isNotEmpty(whereJson.get("blurry"))) blurry = whereJson.get("blurry").toString(); + IPage pages = this.page(new Page<>(page.getPage() + 1, page.getSize()), new QueryWrapper() + .select("MAX(dict_id) AS dictId, code, name") + .lambda() + .like(ObjectUtil.isNotEmpty(blurry), Dict::getCode, blurry) + .or(ObjectUtil.isNotEmpty(blurry)) + .like(ObjectUtil.isNotEmpty(blurry), Dict::getName, blurry) + .orderBy(true, true, Dict::getCode) + .groupBy(Dict::getCode, Dict::getName)); + return pages; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void create(Dict dict) { + String currentUserId = SecurityUtils.getCurrentUserId(); + String nickName = SecurityUtils.getCurrentNickName(); + String date = DateUtil.now(); + List oldDict = sysDictMapper.selectList(new LambdaQueryWrapper() + .eq(ObjectUtil.isNotEmpty(dict.getCode()), Dict::getCode, dict.getCode())); + if (ObjectUtil.isNotEmpty(oldDict)) throw new BadRequestException("字典[" + dict.getCode() + "]已存在"); + dict.setDictId(IdUtil.getSnowflake(1, 1).nextIdStr()); + dict.setCreateId(currentUserId); + dict.setCreateName(nickName); + dict.setCreateTime(date); + dict.setUpdateId(currentUserId); + dict.setUpdateName(nickName); + dict.setUpdateTime(date); + sysDictMapper.insert(dict); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void updateDict(Dict dto) { + Dict dict = sysDictMapper.selectById(dto.getDictId()); + List dictList = sysDictMapper.selectList(new LambdaQueryWrapper().eq(Dict::getCode, dto.getCode())); + if (ObjectUtil.isNotEmpty(dictList) && !dto.getCode().equals(dict.getCode())) + throw new BadRequestException("字典[" + dto.getCode() + "]已存在"); + String currentUserId = SecurityUtils.getCurrentUserId(); + String currentNickName = SecurityUtils.getCurrentNickName(); + // 根据code获取所有字典 + List dicts = sysDictMapper.selectList(new LambdaQueryWrapper().eq(Dict::getCode, dict.getCode())); + dicts.forEach(di -> { + di.setCode(dto.getCode()); + di.setName(dto.getName()); + di.setUpdateId(currentUserId); + di.setUpdateName(currentNickName); + di.setUpdateTime(DateUtil.now()); + sysDictMapper.updateById(di); + }); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void deleteBatchByIds(Set ids) { + // 查找code删除 + ids.forEach(id -> { + String code = sysDictMapper.selectById(id).getCode(); + sysDictMapper.delete(new LambdaQueryWrapper().eq(Dict::getCode, code)); + }); + } + + @Override + public IPage queryAllDetail(DictQuery criteria, PageQuery page) { + LambdaQueryWrapper lam = new LambdaQueryWrapper<>(); + lam.eq(Dict::getCode, criteria.getCode()) + .isNotNull(Dict::getLabel) + .ne(Dict::getLabel, "") + .orderBy(true, true, Dict::getDictSort); + IPage pages = new Page<>(page.getPage() + 1, page.getSize()); + sysDictMapper.selectPage(pages, lam); + return pages; + } + + @Override + public List getDictByName(String name) { + List dictList = sysDictMapper.selectList(new LambdaQueryWrapper().eq(Dict::getCode, name) + .isNotNull(Dict::getLabel) + .ne(Dict::getLabel, "")); + return dictList; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void createDetail(Dict dict) { + // 校验是否已经有标签 + Dict one = sysDictMapper.selectOne(new LambdaQueryWrapper().eq(Dict::getLabel, dict.getLabel()) + .eq(Dict::getCode, dict.getCode())); + if (ObjectUtil.isNotEmpty(one)) throw new BadRequestException("标签[" + dict.getLabel() + "]已存在"); + // 判断是否有空的值 + List selectOne = sysDictMapper.selectList(new LambdaQueryWrapper().eq(Dict::getCode, dict.getCode())); + Dict dic = selectOne.get(0); + if (ObjectUtil.isEmpty(dic.getLabel())) { + // 空就赋值 + dic.setCode(dict.getCode()); + dic.setLabel(dict.getLabel()); + dic.setValue(dict.getValue()); + dic.setDictSort(dict.getDictSort()); + dic.setDictType(dict.getDictType()); + dic.setPara1(dict.getPara1()); + dic.setPara2(dict.getPara2()); + dic.setPara3(dict.getPara3()); + sysDictMapper.updateById(dic); + return; + } + // 插入新的数据 + dict.setDictId(IdUtil.getSnowflake(1, 1).nextIdStr()); + dict.setCode(dic.getCode()); + dict.setName(dic.getName()); + dict.setCreateId(SecurityUtils.getCurrentUserId()); + dict.setCreateName(SecurityUtils.getCurrentNickName()); + dict.setCreateTime(DateUtil.now()); + dict.setUpdateId(SecurityUtils.getCurrentUserId()); + dict.setUpdateName(SecurityUtils.getCurrentNickName()); + dict.setUpdateTime(DateUtil.now()); + sysDictMapper.insert(dict); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void updateDetail(Dict resources) { + Dict dict = sysDictMapper.selectById(resources.getDictId()); + if (ObjectUtil.isEmpty(dict)) throw new BadRequestException("被删除或无权限,操作失败!"); + // 校验是否已经有标签 + List dictList = sysDictMapper.selectList(new LambdaQueryWrapper().eq(Dict::getLabel, resources.getLabel()) + .eq(Dict::getCode, resources.getCode())); + if (ObjectUtil.isNotEmpty(dictList) && !resources.getLabel().equals(dict.getLabel())) throw new BadRequestException("标签[" + dict.getLabel() + "]已存在"); + resources.setUpdateId(SecurityUtils.getCurrentUserId()); + resources.setUpdateName(SecurityUtils.getCurrentNickName()); + resources.setUpdateTime(DateUtil.now()); + sysDictMapper.updateById(resources); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void deleteDetail(String id) { + sysDictMapper.deleteById(id); + } + +} diff --git a/lms/nladmin-system/src/main/java/org/nl/system/service/menu/ISysMenuService.java b/lms/nladmin-system/src/main/java/org/nl/system/service/menu/ISysMenuService.java new file mode 100644 index 000000000..5403902e5 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/menu/ISysMenuService.java @@ -0,0 +1,139 @@ +package org.nl.system.service.menu; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.nl.common.domain.query.PageQuery; +import org.nl.system.service.menu.dao.SysMenu; +import org.nl.system.service.menu.dto.MenuDto; +import org.nl.system.service.menu.dto.MenuQuery; +import org.nl.system.service.menu.dto.MenuVo; + +import java.util.List; +import java.util.Map; +import java.util.Set; + +/** + *

+ * 菜单表 服务类 + *

+ * + * @author ldjun + * @since 2022-12-15 + */ +public interface ISysMenuService extends IService { + /** + * 查询全部数据,菜单不使用分页 + * + * @param param 查询条件 + * @return + */ + List queryAll(Map param); + + /** + * 条件查询 + * @param query + * @param page + * @return + */ + List query(MenuQuery query, PageQuery page); + + /** + * 根据ID获取同级与上级数据 + * + * @param menuDto 菜单对象 + * @param menus + * @return / + */ + List getSuperior(MenuDto menuDto, List menus); + + /** + * 根据ID查询 菜单对象 + * + * @param id 菜单标识 + * @return 菜单对象 + */ + SysMenu findById(String id); + + /** + * 根据菜单父节点标识查询菜单列表 + * + * @param pid + * @return 菜单列表 + */ + List findByPid(String pid); + + /** + * 查询父节点为空的菜单列表 + * + * @return 菜单列表 + */ + List findByPidIsNull(); + + /** + * 获取所有子节点,包含自身ID + * + * @param menuList + * @param menuSet + * @return / + */ + Set getChildMenus(List menuList, Set menuSet); + + /** + * 创建 + * + * @param menu + */ + void create(SysMenu menu); + + /** + * 删除 + * + * @param menuSet + */ + void delete(Set menuSet); + + /** + * 编辑 + * + * @param menu + */ + void update(SysMenu menu); + + + List findByUser(String userId); + + /** + * 构建菜单树 + * + * @param menuDtos + * @return / + */ + List buildMenus(List menuDtos); + List buildMenus(List menuDtos,String pid); + + List buildMenus(String systemType); + + /** + * 构建菜单树 + * + * @param menuDtos 原始数据 + * @return / + */ + List buildTree(List menuDtos); + + /** + * 懒加载菜单数据 + * + * @param pid / + * @return / + */ + List getMenus(String pid); + + /** + * @param sysMenu + * @return + */ + MenuDto doToDto(SysMenu sysMenu); + + List getMenusByRole(String roleId, String systemType, String category); + +} diff --git a/lms/nladmin-system/src/main/java/org/nl/system/service/menu/dao/SysMenu.java b/lms/nladmin-system/src/main/java/org/nl/system/service/menu/dao/SysMenu.java new file mode 100644 index 000000000..401fdc22f --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/menu/dao/SysMenu.java @@ -0,0 +1,141 @@ +package org.nl.system.service.menu.dao; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; +import java.util.Date; + +/** + *

+ * 菜单表 + *

+ * + * @author generator + * @since 2022-12-15 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("sys_menu") +public class SysMenu implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 菜单标识 + */ + @TableId(value = "menu_id", type = IdType.NONE) + private String menuId; + + /** + * 上级菜单ID + */ + @TableField(updateStrategy = FieldStrategy.IGNORED) + private String pid; + + /** + * 子菜单数目 + */ + private Integer subCount; + + /** + * 菜单类型 + */ + private String type; + + /** + * 所属系统 + */ + private String systemType; + + /** + * 菜单分类 + */ + private String category; + + /** + * 菜单标题 + */ + private String title; + + /** + * 组件名称 + */ + private String componentName; + + /** + * 组件 + */ + private String component; + + /** + * 排序 + */ + private Integer menuSort; + + /** + * 图标 + */ + private String icon; + + /** + * 链接地址 + */ + private String path; + + /** + * 是否外链 + */ + private Boolean iframe; + + /** + * 是否缓存 + */ + private Boolean cache; + + /** + * 是否隐藏 + */ + private Boolean hidden; + + /** + * 权限 + */ + private String permission; + + /** + * 创建人标识 + */ + private String createId; + + /** + * 创建人 + */ + private String createName; + + /** + * 创建时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date createTime; + + /** + * 修改人标识 + */ + private String updateId; + + /** + * 修改人 + */ + private String updateName; + + /** + * 修改时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date updateTime; + + +} diff --git a/lms/nladmin-system/src/main/java/org/nl/system/service/menu/dao/mapper/SysMenuMapper.java b/lms/nladmin-system/src/main/java/org/nl/system/service/menu/dao/mapper/SysMenuMapper.java new file mode 100644 index 000000000..7964cb9d1 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/menu/dao/mapper/SysMenuMapper.java @@ -0,0 +1,62 @@ +package org.nl.system.service.menu.dao.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Delete; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; +import org.nl.system.service.menu.dao.SysMenu; + +import java.util.List; +import java.util.Map; + +/** + *

+ * 菜单表 Mapper 接口 + *

+ * + * @author ldjun + * @since 2022-12-15 + */ +public interface SysMenuMapper extends BaseMapper { + @Select("select * from sys_menu where (pid is null or pid = '' or pid = 0 )") + List findByPidIsNull(); + + @Select("select * from sys_menu where pid = #{pid}") + List findByPid(@Param("pid") String pid); + + /** + * 根据用户获取菜单 + * + * @param userId 用户标识 + * @return 当前用户拥有的菜单列表 + */ + List findByUser(@Param("userId") String userId); + + /** + * 获取系统菜单 + * @param userId + * @param systemType + * @return + */ + List findSystemMenu(@Param("user") String userId,@Param("systemType") String systemType); + + /** + * 根据用户标识获取权限列表 + * + * @param userId 用户标识 + * @return 权限列表 + */ + List getPermissionByUserId(@Param("userId") String userId); + + /** + * 解绑角色菜单 + * + * @param menuId 菜单ID + */ + @Delete(value = "delete from sys_roles_menus where menu_id = #{menuId}") + void untiedMenu(String menuId); + + List getMenusByRole(@Param("systemType") String systemType, @Param("category")String category); + + String findAllChild(String pid); +} diff --git a/lms/nladmin-system/src/main/java/org/nl/system/service/menu/dao/mapper/SysMenuMapper.xml b/lms/nladmin-system/src/main/java/org/nl/system/service/menu/dao/mapper/SysMenuMapper.xml new file mode 100644 index 000000000..7787999ee --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/menu/dao/mapper/SysMenuMapper.xml @@ -0,0 +1,101 @@ + + + + + + + + + + diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/dto/MenuDto.java b/lms/nladmin-system/src/main/java/org/nl/system/service/menu/dto/MenuDto.java similarity index 81% rename from lms/nladmin-system/src/main/java/org/nl/modules/system/service/dto/MenuDto.java rename to lms/nladmin-system/src/main/java/org/nl/system/service/menu/dto/MenuDto.java index 0911324b4..3ae1c2991 100644 --- a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/dto/MenuDto.java +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/menu/dto/MenuDto.java @@ -13,29 +13,23 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.nl.modules.system.service.dto; +package org.nl.system.service.menu.dto; -import lombok.Getter; -import lombok.Setter; +import lombok.Data; import org.nl.modules.common.base.BaseDTO; import java.io.Serializable; import java.util.List; import java.util.Objects; -/** - * @author Zheng Jie - * @date 2018-12-17 - */ -@Getter -@Setter +@Data public class MenuDto extends BaseDTO implements Serializable { - private Long id; + private String menuId; private List children; - private Integer type; + private String type; private String permission; @@ -44,16 +38,17 @@ public class MenuDto extends BaseDTO implements Serializable { private Integer menuSort; private String path; + private String name; private String component; - private Long pid; + private String pid; private Integer subCount; - private Boolean iFrame; + private Boolean iframe; - private Boolean isPc; + private String systemType; private Boolean cache; @@ -63,6 +58,10 @@ public class MenuDto extends BaseDTO implements Serializable { private String icon; + private boolean hasChildren; + + private boolean leaf; + public Boolean getHasChildren() { return subCount > 0; } @@ -84,11 +83,11 @@ public class MenuDto extends BaseDTO implements Serializable { return false; } MenuDto menuDto = (MenuDto) o; - return Objects.equals(id, menuDto.id); + return Objects.equals(menuId, menuDto.menuId); } @Override public int hashCode() { - return Objects.hash(id); + return Objects.hash(menuId); } } diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/system/domain/vo/MenuMetaVo.java b/lms/nladmin-system/src/main/java/org/nl/system/service/menu/dto/MenuMetaVo.java similarity index 95% rename from lms/nladmin-system/src/main/java/org/nl/modules/system/domain/vo/MenuMetaVo.java rename to lms/nladmin-system/src/main/java/org/nl/system/service/menu/dto/MenuMetaVo.java index 72b475c0f..b2338b530 100644 --- a/lms/nladmin-system/src/main/java/org/nl/modules/system/domain/vo/MenuMetaVo.java +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/menu/dto/MenuMetaVo.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.nl.modules.system.domain.vo; +package org.nl.system.service.menu.dto; import lombok.AllArgsConstructor; import lombok.Data; diff --git a/lms/nladmin-system/src/main/java/org/nl/system/service/menu/dto/MenuQuery.java b/lms/nladmin-system/src/main/java/org/nl/system/service/menu/dto/MenuQuery.java new file mode 100644 index 000000000..6202256e9 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/menu/dto/MenuQuery.java @@ -0,0 +1,23 @@ +package org.nl.system.service.menu.dto; + +import lombok.Data; +import org.nl.common.domain.query.BaseQuery; +import org.nl.common.domain.query.QParam; +import org.nl.common.enums.QueryTEnum; +import org.nl.system.service.menu.dao.SysMenu; + +/** + * @Author: lyd + * @Description: + * @Date: 2022/12/15 + */ +@Data +public class MenuQuery extends BaseQuery { + private String pid = ""; + private String systemType; + @Override + public void paramMapping() { + this.doP.put("pid", QParam.builder().k(new String[]{"pid"}).type(QueryTEnum.OREQ).build()); + this.doP.put("blurry", QParam.builder().k(new String[]{"title"}).type(QueryTEnum.LK).build()); + } +} diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/system/domain/vo/MenuVo.java b/lms/nladmin-system/src/main/java/org/nl/system/service/menu/dto/MenuVo.java similarity index 96% rename from lms/nladmin-system/src/main/java/org/nl/modules/system/domain/vo/MenuVo.java rename to lms/nladmin-system/src/main/java/org/nl/system/service/menu/dto/MenuVo.java index 2bb784f25..c086365d3 100644 --- a/lms/nladmin-system/src/main/java/org/nl/modules/system/domain/vo/MenuVo.java +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/menu/dto/MenuVo.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.nl.modules.system.domain.vo; +package org.nl.system.service.menu.dto; import com.fasterxml.jackson.annotation.JsonInclude; import lombok.Data; diff --git a/lms/nladmin-system/src/main/java/org/nl/system/service/menu/impl/SysMenuServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/system/service/menu/impl/SysMenuServiceImpl.java new file mode 100644 index 000000000..68fa355d4 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/menu/impl/SysMenuServiceImpl.java @@ -0,0 +1,461 @@ +package org.nl.system.service.menu.impl; + +import cn.hutool.core.map.MapUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.google.common.collect.Lists; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.nl.common.domain.constant.DictConstantPool; +import org.nl.common.domain.query.PageQuery; +import org.nl.common.utils.CopyUtil; +import org.nl.common.utils.IdUtil; +import org.nl.common.utils.SecurityUtils; +import org.nl.modules.common.exception.BadRequestException; +import org.nl.system.service.dict.ISysDictService; +import org.nl.system.service.dict.dao.Dict; +import org.nl.system.service.menu.ISysMenuService; +import org.nl.system.service.menu.dao.SysMenu; +import org.nl.system.service.menu.dao.mapper.SysMenuMapper; +import org.nl.system.service.menu.dto.MenuDto; +import org.nl.system.service.menu.dto.MenuMetaVo; +import org.nl.system.service.menu.dto.MenuQuery; +import org.nl.system.service.menu.dto.MenuVo; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; + +import java.util.*; +import java.util.stream.Collectors; + +/** + *

+ * 菜单表 服务实现类 + *

+ * + * @author generator + * @since 2022-12-15 + */ +@Service +@RequiredArgsConstructor +@Slf4j +public class SysMenuServiceImpl extends ServiceImpl implements ISysMenuService { + + private final SysMenuMapper baseMapper; + private final ISysDictService sysDictMapper; + + @Override + public List queryAll(Map param) { +// 父节点标识 + String pid = MapUtil.getStr(param, "pid"); + return getMenus(pid).stream().map(menu -> this.doToDto(menu)).collect(Collectors.toList()); + } + + + @Override + public List query(MenuQuery query, PageQuery page) { + if (StringUtils.isNotEmpty(query.getBlurry())){ + query.setPid(null); + } + Page menuPage = this.page(page.build(), query.build()); + List collect = menuPage.getRecords().stream().map(menu -> this.doToDto(menu)).collect(Collectors.toList()); + return collect; + } + + @Override + public List getSuperior(MenuDto menuDto, List menus) { + if (menuDto.getPid() == null) { + menus.addAll(this.findByPidIsNull()); + return menus.stream().map(menu -> this.doToDto(menu)).collect(Collectors.toList()); + } + menus.addAll(baseMapper.findByPid(menuDto.getPid())); + + return getSuperior(this.doToDto(findById(menuDto.getPid())), menus); + } + + @Override + public SysMenu findById(String id) { + return baseMapper.selectById(id); + } + + @Override + public List findByPid(String pid) { + return baseMapper.findByPid(pid); + } + + @Override + public List findByPidIsNull() { + return baseMapper.findByPidIsNull(); + } + + @Override + public Set getChildMenus(List menuList, Set menuSet) { + for (SysMenu menu : menuList) { + menuSet.add(menu); + List menus = this.findByPid(menu.getMenuId()); + if (menus != null && menus.size() != 0) { + getChildMenus(menus, menuSet); + } + } + return menuSet; + } + + @Transactional(rollbackFor = Exception.class) + @Override + public void create(SysMenu resources) { + + if (resources.getIframe()) { + String http = "http://", https = "https://"; + if (!(resources.getPath().toLowerCase().startsWith(http) || resources.getPath().toLowerCase().startsWith(https))) { + throw new BadRequestException("外链必须以http://或者https://开头"); + } + } + resources.setMenuId(IdUtil.getStringId()); + if (resources.getPid().equals("0")) { + resources.setPid(null); + addSystemTypeDict(resources); + } + + baseMapper.insert(resources); + // 计算子节点数目 + resources.setSubCount(0); + // 更新父节点菜单数目 + updateSubCnt(resources.getPid()); + updateRootSystemType(resources); + } + + private void addSystemTypeDict(SysMenu resources) { + Dict dict = sysDictMapper.getOne(new QueryWrapper().eq("code", DictConstantPool.DICT_SYS_CODE).orderByDesc("value").last("limit 1")); + Integer currentType = dict!=null?Integer.valueOf(dict.getValue())+1:1; + Dict currentSysType = new Dict(); + currentSysType.setDictId(IdUtil.getStringId()); + currentSysType.setCode(DictConstantPool.DICT_SYS_CODE); + currentSysType.setName(DictConstantPool.DICT_SYS_NAME); + currentSysType.setLabel(resources.getTitle()); + currentSysType.setValue(String.valueOf(currentType)); + currentSysType.setPara1(resources.getMenuId()); + sysDictMapper.save(currentSysType); + resources.setSystemType(String.valueOf(currentType)); + } + private void updateRootSystemType(SysMenu sysMenu) { + String rootMenuId = this.findRootMenuId(sysMenu.getMenuId()); + if (sysMenu.getMenuId().equals(rootMenuId)){ + return; + } + SysMenu rootMenu = this.findById(rootMenuId); + sysMenu.setSystemType(rootMenu.getSystemType()); + this.updateById(sysMenu); + } + private String findRootMenuId(String menuId) { + SysMenu sysMenu = this.findById(menuId); + if (StrUtil.isEmpty(sysMenu.getPid())) { + return menuId; + } else { + return findRootMenuId(sysMenu.getPid()); + } + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(Set menuSet) { + List pids = Lists.newArrayList(); + for (SysMenu menu : menuSet) { + //解绑菜单 + baseMapper.untiedMenu(menu.getMenuId()); + baseMapper.deleteById(menu.getMenuId()); + String pid = menu.getPid(); + if (StringUtils.isEmpty(pid)){ + pids.add(menu.getMenuId()); + } + updateSubCnt(pid); + } + if (!CollectionUtils.isEmpty(pids)){ + sysDictMapper.remove(new QueryWrapper().in("para1", pids).eq("code", DictConstantPool.DICT_SYS_CODE)); + } + } + + @Transactional(rollbackFor = Exception.class) + @Override + public void update(SysMenu resources) { + String menuId = resources.getMenuId(); + SysMenu menu = baseMapper.selectById(menuId); + String allChild = baseMapper.findAllChild(menuId); + List allChildIds = new ArrayList<>(); + allChildIds.add(menuId); + if (StringUtils.isNotEmpty(allChild)){ + allChildIds.addAll(Arrays.asList(allChild.split(","))); + } + + if (allChildIds.contains(resources.getPid())){ + throw new BadRequestException("上级不能为自己或自己的下级"); + } + if (resources.getIframe()) { + String http = "http://", https = "https://"; + if (!(resources.getPath().toLowerCase().startsWith(http) || resources.getPath().toLowerCase().startsWith(https))) { + throw new BadRequestException("外链必须以http://或者https://开头"); + } + } + + if (resources.getPid().equals("0")) { + resources.setPid(null); + if (StringUtils.isNotEmpty(menu.getPid())){ + addSystemTypeDict(resources); + } + }else { + resources.setSystemType(this.findById(resources.getPid()).getSystemType()); + } + String oldPid = menu.getPid(); + String newPid = resources.getPid(); + // 记录的父节点ID + if (oldPid == null && newPid != null){ + sysDictMapper.remove(new QueryWrapper().eq("para1",menu.getMenuId()).eq("code", DictConstantPool.DICT_SYS_CODE)); + } + if (!resources.getTitle().equals(menu.getTitle())){ + sysDictMapper.update(new UpdateWrapper().set("label",resources.getTitle()).eq("para1",menu.getMenuId()).eq("code", DictConstantPool.DICT_SYS_CODE)); + } + menu.setTitle(resources.getTitle()); + menu.setComponent(resources.getComponent()); + menu.setPath(resources.getPath()); + menu.setIcon(resources.getIcon()); + menu.setIframe(resources.getIframe()); + menu.setPid(resources.getPid()); + menu.setMenuSort(resources.getMenuSort()); + menu.setCache(resources.getCache()); + menu.setHidden(resources.getHidden()); + menu.setComponentName(resources.getComponentName()); + menu.setPermission(resources.getPermission()); + menu.setType(resources.getType()); + baseMapper.updateById(menu); + // 计算父级菜单节点数目 + updateSubCnt(oldPid); + updateSubCnt(newPid); + //更新SystemType + if (!resources.getSystemType().equals(menu.getSystemType())){ + this.update(new UpdateWrapper().set(DictConstantPool.DICT_SYS_CODE,resources.getSystemType()).in("menu_id",allChildIds)); + } + + } + + /** + * 计算菜单子节点数目 + * + * @param menuId + */ + private void updateSubCnt(String menuId) { + if (menuId != null) { + int count = baseMapper.findByPid(menuId).size(); + SysMenu sysMenu = baseMapper.selectById(menuId); + if (ObjectUtil.isEmpty(sysMenu)) return; + sysMenu.setSubCount(count); + baseMapper.updateById(sysMenu); + } + } + + @Override + public List findByUser(String userId) { + return baseMapper.findByUser(userId).stream().map(menu -> this.doToDto(menu)).collect(Collectors.toList()); + } + + @Override + public List buildMenus(List menuDtos) { + List list = new LinkedList<>(); + menuDtos.forEach(menuDTO -> { + if (menuDTO != null) { + List menuDtoList = menuDTO.getChildren(); + MenuVo menuVo = new MenuVo(); + menuVo.setName(ObjectUtil.isNotEmpty(menuDTO.getComponentName()) ? menuDTO.getComponentName() : menuDTO.getTitle()); + // 一级目录需要加斜杠,不然会报警告 + menuVo.setPath(ObjectUtil.isEmpty(menuDTO.getPid()) ? "/" + menuDTO.getPath() : menuDTO.getPath()); + menuVo.setHidden(menuDTO.getHidden()); + // 如果不是外链 + if (!menuDTO.getIframe()) { + if (ObjectUtil.isEmpty(menuDTO.getPid())) { + menuVo.setComponent(StrUtil.isEmpty(menuDTO.getComponent()) ? "Layout" : menuDTO.getComponent()); + } else if (!ObjectUtil.isEmpty(menuDTO.getPid()) && "0".equals(menuDTO.getType())) { + menuVo.setComponent(StrUtil.isEmpty(menuDTO.getComponent()) ? "ParentView" : menuDTO.getComponent()); + + } else if (!StrUtil.isEmpty(menuDTO.getComponent())) { + menuVo.setComponent(menuDTO.getComponent()); + } + } + menuVo.setMeta(new MenuMetaVo(menuDTO.getTitle(), menuDTO.getIcon(), !menuDTO.getCache())); + if (menuDtoList != null && menuDtoList.size() != 0) { + menuVo.setAlwaysShow(true); + menuVo.setRedirect("noredirect"); + menuVo.setChildren(buildMenus(menuDtoList)); + // 处理是一级菜单并且没有子菜单的情况 + } else if (ObjectUtil.isEmpty(menuDTO.getPid())) { + MenuVo menuVo1 = new MenuVo(); + menuVo1.setMeta(menuVo.getMeta()); + // 非外链 + if (!menuDTO.getIframe()) { + menuVo1.setPath("index"); + menuVo1.setName(menuVo.getName()); + menuVo1.setComponent(menuVo.getComponent()); + } else { + menuVo1.setPath(menuDTO.getPath()); + } + menuVo.setName(null); + menuVo.setMeta(null); + menuVo.setComponent("Layout"); + List list1 = new ArrayList<>(); + list1.add(menuVo1); + menuVo.setChildren(list1); + } + list.add(menuVo); + } + } + ); + return list; + } + + @Override + public List buildTree(List menuDtos) { + List trees = new ArrayList<>(); + Set ids = new HashSet<>(); + for (MenuDto menuDTO : menuDtos) { + if (menuDTO.getPid() == null) { + trees.add(menuDTO); + } + for (MenuDto it : menuDtos) { + if (menuDTO.getMenuId().equals(it.getPid())) { + if (menuDTO.getChildren() == null) { + menuDTO.setChildren(new ArrayList<>()); + } + menuDTO.getChildren().add(it); + ids.add(it.getMenuId()); + } + } + } + if (trees.size() == 0) { + trees = menuDtos.stream().filter(s -> !ids.contains(s.getMenuId())).collect(Collectors.toList()); + } + return trees; + } + + @Override + public List getMenus(String pid) { + QueryWrapper queryWrapper; + if (pid != null && !"0".equals(pid)) { + queryWrapper = new QueryWrapper().eq("pid", pid); + } else { + queryWrapper = new QueryWrapper().isNull("pid"); + } + return baseMapper.selectList(queryWrapper); + } + + @Override + public MenuDto doToDto(SysMenu entity) { + + MenuDto menuDto = new MenuDto(); + if (ObjectUtil.isEmpty(entity)){ + return menuDto; + } + menuDto.setMenuId(entity.getMenuId()); + menuDto.setType(entity.getType()); + menuDto.setPermission(entity.getPermission()); + menuDto.setTitle(entity.getTitle()); + menuDto.setMenuSort(entity.getMenuSort()); + menuDto.setPath(entity.getPath()); + menuDto.setComponent(entity.getComponent()); + menuDto.setSystemType(entity.getSystemType()); + menuDto.setPid(entity.getPid()); + menuDto.setSubCount(entity.getSubCount()); + menuDto.setIframe(entity.getIframe()); + menuDto.setCache(entity.getCache()); + menuDto.setHidden(entity.getHidden()); + menuDto.setComponentName(entity.getComponentName()); + menuDto.setIcon(entity.getIcon()); + menuDto.setCreateTime(entity.getCreateTime()); + + //构建前端需要的数据结构树 + Integer sub_count = entity.getSubCount(); + if (sub_count <= 0) { + menuDto.setLeaf(true); + menuDto.setHasChildren(false); + } else { + menuDto.setLeaf(false); + menuDto.setHasChildren(true); + } + return menuDto; + } + + @Override + public List buildMenus(String systemType) { + Dict dict = sysDictMapper.getOne(new QueryWrapper().eq("code", DictConstantPool.DICT_SYS_CODE).eq("value", systemType)); + if (dict == null || StringUtils.isEmpty(dict.getPara1())){ + throw new BadRequestException("获取对应的系统菜单不存在"); + } + String pid = dict.getPara1(); + List menuDtoList = baseMapper.findSystemMenu(SecurityUtils.getCurrentUserId(),systemType); + //移除系统级菜单 + menuDtoList.removeIf(a->a.getMenuId().equals(pid)); + List menuDtos = this.buildTree(CopyUtil.copyList(menuDtoList, MenuDto.class)); + return this.buildMenus(menuDtos,pid); + } + + @Override + public List buildMenus(List menuDtos, String pid) { + List list = new LinkedList<>(); + //剔除系统级菜单 + menuDtos.forEach(menuDTO -> { + if (menuDTO != null) { + List menuDtoList = menuDTO.getChildren(); + MenuVo menuVo = new MenuVo(); + menuVo.setName(ObjectUtil.isNotEmpty(menuDTO.getComponentName()) ? menuDTO.getComponentName() : menuDTO.getTitle()); + // 一级目录需要加斜杠,不然会报警告 + menuVo.setPath(pid.equals(menuDTO.getPid())? "/" + menuDTO.getPath() : menuDTO.getPath()); + menuVo.setHidden(menuDTO.getHidden()); + // 如果不是外链 + if (!menuDTO.getIframe()) { + if (pid.equals(menuDTO.getPid())) { + menuVo.setComponent(StrUtil.isEmpty(menuDTO.getComponent()) ? "Layout" : menuDTO.getComponent()); + } else if (!pid.equals(menuDTO.getPid()) && "0".equals(menuDTO.getType())) { + menuVo.setComponent(StrUtil.isEmpty(menuDTO.getComponent()) ? "ParentView" : menuDTO.getComponent()); + + } else if (!StrUtil.isEmpty(menuDTO.getComponent())) { + menuVo.setComponent(menuDTO.getComponent()); + } + } + menuVo.setMeta(new MenuMetaVo(menuDTO.getTitle(), menuDTO.getIcon(), !menuDTO.getCache())); + if (menuDtoList != null && menuDtoList.size() != 0) { + menuVo.setAlwaysShow(true); + menuVo.setRedirect("noredirect"); + menuVo.setChildren(buildMenus(menuDtoList,pid)); + // 处理是一级菜单并且没有子菜单的情况 + } else if (StrUtil.isEmpty(menuDTO.getPid())) { + MenuVo menuVo1 = new MenuVo(); + menuVo1.setMeta(menuVo.getMeta()); + // 非外链 + if (!menuDTO.getIframe()) { + menuVo1.setPath("index"); + menuVo1.setName(menuVo.getName()); + menuVo1.setComponent(menuVo.getComponent()); + } else { + menuVo1.setPath(menuDTO.getPath()); + } + menuVo.setName(null); + menuVo.setMeta(null); + menuVo.setComponent("Layout"); + List list1 = new ArrayList<>(); + list1.add(menuVo1); + menuVo.setChildren(list1); + } + list.add(menuVo); + } + } + ); + return list; + } + + @Override + public List getMenusByRole(String roleId, String systemType, String category) { + baseMapper.getMenusByRole(systemType,category); + return null; + } +} diff --git a/lms/nladmin-system/src/main/java/org/nl/system/service/param/ISysParamService.java b/lms/nladmin-system/src/main/java/org/nl/system/service/param/ISysParamService.java new file mode 100644 index 000000000..8a2a61a02 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/param/ISysParamService.java @@ -0,0 +1,58 @@ +package org.nl.system.service.param; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import org.nl.common.domain.query.PageQuery; +import org.nl.system.service.param.dao.Param; + +import java.util.List; +import java.util.Map; + +/** + *

+ * 系统参数表 服务类 + *

+ * + * @author generator + * @since 2022-12-14 + */ +public interface ISysParamService extends IService { + + /** + * 分页查找 + * + * @param whereJson 参数列表 + * @param page 分页信息 + * @return + */ + Page queryPage(Map whereJson, PageQuery page); + + /** + * 创建参数 + * + * @param param + */ + void create(Param param); + + /** + * 更新 + * + * @param param + */ + void update(Param param); + + /** + * 删除 + * + * @param ids + */ + void deleteByIds(List ids); + + /** + * 根据编码查询 + * + * @param code code + * @return Param + */ + Param findByCode(String code); +} diff --git a/lms/nladmin-system/src/main/java/org/nl/system/service/param/dao/Param.java b/lms/nladmin-system/src/main/java/org/nl/system/service/param/dao/Param.java new file mode 100644 index 000000000..0cbb48ec3 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/param/dao/Param.java @@ -0,0 +1,92 @@ +package org.nl.system.service.param.dao; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; + +/** + *

+ * 系统参数表 + *

+ * + * @author generator + * @since 2022-12-14 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("sys_param") +public class Param implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 标识 + */ + @TableId + private String id; + + /** + * 编码 + */ + private String code; + + /** + * 名称 + */ + private String name; + + /** + * 值 + */ + private String value; + + /** + * 备注 + */ + private String remark; + + /** + * 是否启用 + */ + private String isActive; + + /** + * 是否删除 + */ + private String isDelete; + + /** + * 创建者ID + */ + private String createId; + + /** + * 创建者 + */ + private String createName; + + /** + * 创建时间 + */ + private String createTime; + + /** + * 修改者ID + */ + private String updateId; + + /** + * 修改者 + */ + private String updateName; + + /** + * 修改时间 + */ + private String updateTime; + + +} diff --git a/lms/nladmin-system/src/main/java/org/nl/system/service/param/dao/mapper/SysParamMapper.java b/lms/nladmin-system/src/main/java/org/nl/system/service/param/dao/mapper/SysParamMapper.java new file mode 100644 index 000000000..6b7b870b0 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/param/dao/mapper/SysParamMapper.java @@ -0,0 +1,16 @@ +package org.nl.system.service.param.dao.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.nl.system.service.param.dao.Param; + +/** + *

+ * 系统参数表 Mapper 接口 + *

+ * + * @author generator + * @since 2022-12-14 + */ +public interface SysParamMapper extends BaseMapper { + +} diff --git a/lms/nladmin-system/src/main/java/org/nl/system/service/param/dao/mapper/SysParamMapper.xml b/lms/nladmin-system/src/main/java/org/nl/system/service/param/dao/mapper/SysParamMapper.xml new file mode 100644 index 000000000..6145c6208 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/param/dao/mapper/SysParamMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/lms/nladmin-system/src/main/java/org/nl/system/service/param/dto/ParamQuery.java b/lms/nladmin-system/src/main/java/org/nl/system/service/param/dto/ParamQuery.java new file mode 100644 index 000000000..3ed2662d2 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/param/dto/ParamQuery.java @@ -0,0 +1,15 @@ +package org.nl.system.service.param.dto; + +import lombok.Data; +import org.nl.common.domain.query.BaseQuery; +import org.nl.system.service.param.dao.Param; + +/** + * @Author: lyd + * @Description: + * @Date: 2022/12/15 + */ +@Data +public class ParamQuery extends BaseQuery { + +} diff --git a/lms/nladmin-system/src/main/java/org/nl/system/service/param/impl/SysParamServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/system/service/param/impl/SysParamServiceImpl.java new file mode 100644 index 000000000..9adf5d21d --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/param/impl/SysParamServiceImpl.java @@ -0,0 +1,89 @@ +package org.nl.system.service.param.impl; + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.nl.common.domain.query.PageQuery; +import org.nl.common.utils.MapOf; +import org.nl.common.utils.SecurityUtils; +import org.nl.modules.common.exception.BadRequestException; +import org.nl.system.service.param.ISysParamService; +import org.nl.system.service.param.dao.Param; +import org.nl.system.service.param.dao.mapper.SysParamMapper; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; +import java.util.Map; + +/** + *

+ * 系统参数表 服务实现类 + *

+ * + * @author generator + * @since 2022-12-14 + */ +@Service +@RequiredArgsConstructor +@Slf4j +public class SysParamServiceImpl extends ServiceImpl implements ISysParamService { + + private final SysParamMapper paramMapper; + + @Override + public Page queryPage(Map whereJson, PageQuery page) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.orderBy(true, true, "create_time"); + Page paramPage = paramMapper.selectPage(page.build(), queryWrapper); + return paramPage; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void create(Param param) { + List code = paramMapper.selectByMap(MapOf.of("code", param.getCode())); + if (ObjectUtil.isNotEmpty(code)) throw new BadRequestException("编码不能一致"); + param.setId(IdUtil.getSnowflake(1, 1).nextIdStr()); + String currentUserId = SecurityUtils.getCurrentUserId(); + String nickName = SecurityUtils.getCurrentNickName(); + String now = DateUtil.now(); + param.setCreateId(currentUserId); + param.setCreateName(nickName); + param.setCreateTime(now); + param.setUpdateId(currentUserId); + param.setUpdateName(nickName); + param.setUpdateTime(now); + paramMapper.insert(param); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(Param param) { + Param paramObj = paramMapper.selectById(param.getId()); + if (ObjectUtil.isEmpty(paramObj)) throw new BadRequestException("被删除或无权限,操作失败!"); + param.setUpdateId(SecurityUtils.getCurrentUserId()); + param.setUpdateName(SecurityUtils.getCurrentNickName()); + param.setUpdateTime(DateUtil.now()); + paramMapper.updateById(param); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void deleteByIds(List ids) { + paramMapper.deleteBatchIds(ids); + } + + @Override + public Param findByCode(String code) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("code", code); + Param param = paramMapper.selectOne(queryWrapper); + return param; + } +} diff --git a/lms/nladmin-system/src/main/java/org/nl/system/service/permission/ISysDataPermissionService.java b/lms/nladmin-system/src/main/java/org/nl/system/service/permission/ISysDataPermissionService.java new file mode 100644 index 000000000..db0769f3e --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/permission/ISysDataPermissionService.java @@ -0,0 +1,78 @@ +package org.nl.system.service.permission; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import org.nl.common.domain.query.PageQuery; +import org.nl.system.service.dict.dao.Dict; +import org.nl.system.service.permission.dao.SysDataPermission; +import org.nl.system.service.permission.dao.SysDataScope; +import org.nl.system.service.permission.dto.SysDataPermissionQuery; +import org.nl.system.service.user.dto.UserDataPermissionDto; + +import java.util.List; +import java.util.Set; + +/** + *

+ * 数据数据权限表 服务类 + *

+ * + * @author generator + * @since 2022-12-20 + */ +public interface ISysDataPermissionService extends IService { + + /** + * 分页查询 + * @param dataPermissionQuery + * @param page + * @return + */ + IPage queryAll(SysDataPermissionQuery dataPermissionQuery, PageQuery page); + + /** + * 新增数据权限 + * @param permission + */ + void create(SysDataPermission permission); + + /** + * 修改 + * @param permission + */ + void update(SysDataPermission permission); + + /** + * 批量删除 + * @param ids + */ + void deleteAll(Set ids); + + /** + * + * @return + */ + List getDataScopeType(); + + /** + * 获取数据权限下拉框 + * @return + */ + List getDataPermissionOption(); + + List getDataShow(String id); + + /** + * 保存数据权限 + * @param datas + */ + void savePermission(JSONObject datas); + + /** + * 数据展示 + * @param data + * @return + */ + List getDataDetail(JSONObject data); +} diff --git a/lms/nladmin-system/src/main/java/org/nl/system/service/permission/dao/SysDataPermission.java b/lms/nladmin-system/src/main/java/org/nl/system/service/permission/dao/SysDataPermission.java new file mode 100644 index 000000000..d796b1771 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/permission/dao/SysDataPermission.java @@ -0,0 +1,96 @@ +package org.nl.system.service.permission.dao; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.math.BigDecimal; + +/** + *

+ * 数据数据权限表 + *

+ * + * @author generator + * @since 2022-12-20 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("sys_data_permission") +public class SysDataPermission implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * permission_id + */ + @TableId(value = "permission_id") + private String permissionId; + + /** + * 编码 + */ + @NotNull + private String code; + + /** + * 名称 + */ + @NotNull + private String name; + + /** + * 排序 + */ + private BigDecimal orderSort; + + /** + * 备注 + */ + private String remark; + + /** + * 是否启用 + */ + private String isUsed; + + /** + * 是否删除 + */ + private String isDelete; + + /** + * 创建人标识 + */ + private String createId; + + /** + * 创建人 + */ + private String createName; + + /** + * 创建时间 + */ + private String createTime; + + /** + * 修改人标识 + */ + private String updateId; + + /** + * 修改人 + */ + private String updateName; + + /** + * 修改时间 + */ + private String updateTime; + + +} diff --git a/lms/nladmin-system/src/main/java/org/nl/system/service/permission/dao/SysDataScope.java b/lms/nladmin-system/src/main/java/org/nl/system/service/permission/dao/SysDataScope.java new file mode 100644 index 000000000..0160f6609 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/permission/dao/SysDataScope.java @@ -0,0 +1,56 @@ +package org.nl.system.service.permission.dao; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; + +/** + *

+ * 数据权限规则表 + *

+ * + * @author generator + * @since 2022-12-27 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("sys_data_scope") +public class SysDataScope implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 当前用户 + */ + private String selfUserId; + + /** + * 数据权限类型 + */ + private String permissionScopeType; + + /** + * 部门权限列表 + */ + private String deptId; + + /** + * 用户权限列表 + */ + private String userId; + + @TableField(exist = false) + private String deptName; + + @TableField(exist = false) + private String personName; + + @TableField(exist = false) + private String permissionName; + + @TableField(exist = false) + private String permissionId; +} diff --git a/lms/nladmin-system/src/main/java/org/nl/system/service/permission/dao/mapper/SysDataPermissionMapper.java b/lms/nladmin-system/src/main/java/org/nl/system/service/permission/dao/mapper/SysDataPermissionMapper.java new file mode 100644 index 000000000..cdcc8175b --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/permission/dao/mapper/SysDataPermissionMapper.java @@ -0,0 +1,31 @@ +package org.nl.system.service.permission.dao.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; +import org.nl.system.service.permission.dao.SysDataPermission; +import org.nl.system.service.permission.dao.SysDataScope; + +import java.util.List; + +/** + *

+ * 数据数据权限表 Mapper 接口 + *

+ * + * @author generator + * @since 2022-12-20 + */ +public interface SysDataPermissionMapper extends BaseMapper { + + List findDataScopeUserIdBySelfUserIdAndScopeType(String userId, String permissionScopeType); + + List findDataScopeDeptIdBySelfUserIdAndScopeType(String userId, String permissionScopeType); + + void deleteScopeBySelfUserId(String userId); + + void insertDataScope(@Param("dataScope") SysDataScope dataScope); + + void insertDataScopes(@Param("dataScope") SysDataScope dataScope); + + List getDataDetail(String selfUserId, String permissionScopeType); +} diff --git a/lms/nladmin-system/src/main/java/org/nl/system/service/permission/dao/mapper/SysDataPermissionMapper.xml b/lms/nladmin-system/src/main/java/org/nl/system/service/permission/dao/mapper/SysDataPermissionMapper.xml new file mode 100644 index 000000000..a8a0097f5 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/permission/dao/mapper/SysDataPermissionMapper.xml @@ -0,0 +1,61 @@ + + + + + INSERT INTO sys_data_scope(self_user_id, permission_scope_type, user_id) + VALUES (#{dataScope.selfUserId}, #{dataScope.permissionScopeType}, #{dataScope.userId}) + + + INSERT INTO sys_data_scope(self_user_id, permission_scope_type, user_id, dept_id) + VALUES (#{dataScope.selfUserId}, #{dataScope.permissionScopeType}, #{dataScope.userId}, #{dataScope.deptId}) + + + DELETE FROM sys_data_scope WHERE self_user_id = #{userId} + + + + + + diff --git a/lms/nladmin-system/src/main/java/org/nl/system/service/permission/dto/DataScopeEnum.java b/lms/nladmin-system/src/main/java/org/nl/system/service/permission/dto/DataScopeEnum.java new file mode 100644 index 000000000..9cd230035 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/permission/dto/DataScopeEnum.java @@ -0,0 +1,20 @@ +package org.nl.system.service.permission.dto; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * @Author: lyd + * @Description: + * @Date: 2022/12/27 + */ +@Getter +@AllArgsConstructor +public enum DataScopeEnum { + + USER("user", "用户数据权限"), + DEPT("dept", "部门数据权限"), + SELF("self", "自身数据权限"); + private final String code; + private final String name; +} diff --git a/lms/nladmin-system/src/main/java/org/nl/system/service/permission/dto/SysDataPermissionQuery.java b/lms/nladmin-system/src/main/java/org/nl/system/service/permission/dto/SysDataPermissionQuery.java new file mode 100644 index 000000000..3eb9aed57 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/permission/dto/SysDataPermissionQuery.java @@ -0,0 +1,14 @@ +package org.nl.system.service.permission.dto; + +import lombok.Data; +import org.nl.common.domain.query.BaseQuery; +import org.nl.system.service.permission.dao.SysDataPermission; + +/** + * @Author: lyd + * @Description: + * @Date: 2022/12/20 + */ +@Data +public class SysDataPermissionQuery extends BaseQuery { +} diff --git a/lms/nladmin-system/src/main/java/org/nl/system/service/permission/impl/SysDataPermissionServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/system/service/permission/impl/SysDataPermissionServiceImpl.java new file mode 100644 index 000000000..f498514b3 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/permission/impl/SysDataPermissionServiceImpl.java @@ -0,0 +1,176 @@ +package org.nl.system.service.permission.impl; + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.ObjectUtil; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.RequiredArgsConstructor; +import org.nl.common.domain.query.PageQuery; +import org.nl.common.utils.SecurityUtils; +import org.nl.modules.common.exception.BadRequestException; +import org.nl.system.service.dict.dao.Dict; +import org.nl.system.service.dict.dao.mapper.SysDictMapper; +import org.nl.system.service.permission.ISysDataPermissionService; +import org.nl.system.service.permission.dao.SysDataPermission; +import org.nl.system.service.permission.dao.SysDataScope; +import org.nl.system.service.permission.dao.mapper.SysDataPermissionMapper; +import org.nl.system.service.permission.dto.DataScopeEnum; +import org.nl.system.service.permission.dto.SysDataPermissionQuery; +import org.nl.system.service.user.ISysUserService; +import org.nl.system.service.user.dto.UserDataPermissionDto; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; +import java.util.Set; + +/** + *

+ * 数据数据权限表 服务实现类 + *

+ * + * @author generator + * @since 2022-12-20 + */ +@Service +@RequiredArgsConstructor +public class SysDataPermissionServiceImpl extends ServiceImpl implements ISysDataPermissionService { + + private final SysDataPermissionMapper dataPermissionMapper; + private final ISysUserService userService; + private final SysDictMapper dictMapper; + + @Override + public IPage queryAll(SysDataPermissionQuery dataPermissionQuery, PageQuery page) { + return this.page(page.build(SysDataPermission.class), dataPermissionQuery.build()); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void create(SysDataPermission permission) { + SysDataPermission sysDataPermission = dataPermissionMapper.selectOne(new LambdaQueryWrapper().eq(SysDataPermission::getCode, permission.getCode())); + if (ObjectUtil.isNotEmpty(sysDataPermission)) throw new BadRequestException("编码为[" + permission.getCode() + "]的数据权限已存在"); + String currentUserId = SecurityUtils.getCurrentUserId(); + String nickName = SecurityUtils.getCurrentNickName(); + String now = DateUtil.now(); + + permission.setPermissionId(IdUtil.getSnowflake(1, 1).nextIdStr()); + permission.setCreateId(currentUserId); + permission.setCreateName(nickName); + permission.setUpdateId(currentUserId); + permission.setUpdateName(nickName); + permission.setUpdateTime(now); + permission.setCreateTime(now); + dataPermissionMapper.insert(permission); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(SysDataPermission permission) { + SysDataPermission dataPermission = dataPermissionMapper.selectById(permission.getPermissionId()); + if (ObjectUtil.isEmpty(dataPermission)) throw new BadRequestException("被删除或无权限,操作失败!"); + permission.setUpdateTime(DateUtil.now()); + permission.setUpdateId(SecurityUtils.getCurrentUserId()); + permission.setUpdateName(SecurityUtils.getCurrentNickName()); + dataPermissionMapper.updateById(permission); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void deleteAll(Set ids) { + ids.forEach(id -> { + List permissions = userService.getUserDataPermissionByPermissionId(id); + if (ObjectUtil.isNotEmpty(permissions)) throw new BadRequestException("存在相关联的数据权限,请解除关联后删除"); + dataPermissionMapper.deleteById(id); + }); + } + + @Override + public List getDataScopeType() { + return dictMapper.selectList(new LambdaQueryWrapper().eq(Dict::getCode, "permission_scope_type")); + } + + @Override + public List getDataPermissionOption() { + return this.list(); + } + + @Override + public List getDataShow(String userId) { + List userDataPermissionDtoList = userService.getUserDataPermissionByUserId(userId); + userDataPermissionDtoList.forEach(userDataPermissionDto -> { + SysDataPermission sysDataPermission = dataPermissionMapper.selectOne(new LambdaQueryWrapper().eq(SysDataPermission::getPermissionId, userDataPermissionDto.getPermissionId())); + if (sysDataPermission.getCode().equals(DataScopeEnum.USER.getCode())) { // 用户权限 + List userIds = dataPermissionMapper.findDataScopeUserIdBySelfUserIdAndScopeType(userId, userDataPermissionDto.getPermissionScopeType()); + if (ObjectUtil.isNotEmpty(userIds)) userDataPermissionDto.setUsers(userIds); + } else if (sysDataPermission.getCode().equals(DataScopeEnum.DEPT.getCode())) { // 部门权限 + List deptIds = dataPermissionMapper.findDataScopeDeptIdBySelfUserIdAndScopeType(userId, userDataPermissionDto.getPermissionScopeType()); + if (ObjectUtil.isNotEmpty(deptIds)) userDataPermissionDto.setDepts(deptIds); + } else if (sysDataPermission.getCode().equals(DataScopeEnum.SELF.getCode())) { // 自身 + List userIds = dataPermissionMapper.findDataScopeUserIdBySelfUserIdAndScopeType(userId, userDataPermissionDto.getPermissionScopeType()); + if (ObjectUtil.isNotEmpty(userIds)) userDataPermissionDto.setUsers(userIds); + } + // 其他不做处理 + }); + return userDataPermissionDtoList; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void savePermission(JSONObject datas) { + String user_id = datas.getString("userId"); + JSONArray data = datas.getJSONArray("datas"); + if (ObjectUtil.isEmpty(user_id)) throw new BadRequestException("用户不能为空"); + // 删除用户绑定的数据 + userService.deleteDataPermissionById(user_id); + dataPermissionMapper.deleteScopeBySelfUserId(user_id); + for (int i = 0; i < data.size(); i++) { + JSONObject scopeObj = data.getJSONObject(i); + String permission_scope_type = scopeObj.getString("value"); + String permission_id = scopeObj.getString("permissionId"); + UserDataPermissionDto userDataPermissionDto = new UserDataPermissionDto(); + userDataPermissionDto.setUserId(user_id); + userDataPermissionDto.setPermissionId(permission_id); + userDataPermissionDto.setPermissionScopeType(permission_scope_type); + // 保存用户数据权限 + userService.insertDataPermission(userDataPermissionDto); + JSONArray users = scopeObj.getJSONArray("users"); + if (ObjectUtil.isNotEmpty(users)) { // 如果是用户直接将用户的id绑定进去 + for (int j = 0; j < users.size(); j++) { + JSONObject user = users.getJSONObject(j); + String userId = user.getString("userId"); + SysDataScope dataScope = new SysDataScope(); + dataScope.setUserId(userId); + dataScope.setSelfUserId(user_id); + dataScope.setPermissionScopeType(permission_scope_type); + dataPermissionMapper.insertDataScope(dataScope); + } + } + JSONArray depts = scopeObj.getJSONArray("depts"); + if (ObjectUtil.isNotEmpty(depts)) { // 如果是部门,先根据部门id求出所有的用户id + for (int j = 0; j < depts.size(); j++) { + JSONObject dept = depts.getJSONObject(j); + String deptId = dept.getString("deptId"); + List user_ids = userService.getUserIdByDeptId(deptId); + user_ids.forEach(id -> { + SysDataScope dataScope = new SysDataScope(); + dataScope.setUserId(id); + dataScope.setDeptId(deptId); + dataScope.setSelfUserId(user_id); + dataScope.setPermissionScopeType(permission_scope_type); + dataPermissionMapper.insertDataScopes(dataScope); + }); + } + } + } + } + + @Override + public List getDataDetail(JSONObject data) { + return dataPermissionMapper.getDataDetail(data.getString("userId"), data.getString("permissionScopeType")); + } +} diff --git a/lms/nladmin-system/src/main/java/org/nl/system/service/quartz/ISysQuartzJobService.java b/lms/nladmin-system/src/main/java/org/nl/system/service/quartz/ISysQuartzJobService.java new file mode 100644 index 000000000..428b55432 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/quartz/ISysQuartzJobService.java @@ -0,0 +1,76 @@ +package org.nl.system.service.quartz; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import org.nl.common.domain.query.PageQuery; +import org.nl.system.service.quartz.dao.SysQuartzJob; +import org.nl.system.service.quartz.dao.SysQuartzLog; +import org.nl.system.service.quartz.dto.JobQuery; + +import java.util.List; +import java.util.Set; + +/** + *

+ * 定时任务表 服务类 + *

+ * + * @author generator + * @since 2022-12-19 + */ +public interface ISysQuartzJobService extends IService { + + /** + * 分页查询任务 + * @param criteria + * @param pageable + * @return + */ + IPage queryAll(JobQuery criteria, PageQuery pageable); + + /** + * 分页查询日志 + * @param criteria + * @param pageable + * @return + */ + IPage queryAllLog(JobQuery criteria, PageQuery pageable); + + /** + * 创建任务 + * @param resources + */ + void createJob(SysQuartzJob resources); + + /** + * 修改任务 + * @param resources + */ + void updateJob(SysQuartzJob resources); + + /** + * 更改定时任务状态 + * @param id + */ + void updateIsPause(SysQuartzJob id); + + /** + * 执行定时任务 + * @param id + */ + void execution(SysQuartzJob id); + + /** + * 批量删除定时任务 + * @param ids + */ + void deleteJob(Set ids); + + void executionSubJob(String[] tasks) throws InterruptedException; + + /** + * 查找已启动的任务 + * @return + */ + List findByIsPauseIsFalse(); +} diff --git a/lms/nladmin-system/src/main/java/org/nl/system/service/quartz/config/JobRunner.java b/lms/nladmin-system/src/main/java/org/nl/system/service/quartz/config/JobRunner.java new file mode 100644 index 000000000..72df2fcba --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/quartz/config/JobRunner.java @@ -0,0 +1,33 @@ +package org.nl.system.service.quartz.config; + +import lombok.RequiredArgsConstructor; +import org.nl.system.service.quartz.ISysQuartzJobService; +import org.nl.system.service.quartz.utils.QuartzManage; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.boot.ApplicationArguments; +import org.springframework.boot.ApplicationRunner; +import org.springframework.core.annotation.Order; +import org.springframework.stereotype.Component; + +@Component +@RequiredArgsConstructor +@Order(100) +public class JobRunner implements ApplicationRunner { + private static final Logger log = LoggerFactory.getLogger(JobRunner.class); + private final ISysQuartzJobService quartzJobService; + private final QuartzManage quartzManage; + + /** + * 项目启动时重新激活启用的定时任务 + * + * @param applicationArguments / + */ + @Override + public void run(ApplicationArguments applicationArguments) { + log.info("--------------------注入定时任务---------------------"); +// List quartzJobs = quartzJobService.findByIsPauseIsFalse(); +// quartzJobs.forEach(quartzManage::addJob); + log.info("--------------------定时任务注入完成---------------------"); + } +} diff --git a/lms/nladmin-system/src/main/java/org/nl/system/service/quartz/config/QuartzConfig.java b/lms/nladmin-system/src/main/java/org/nl/system/service/quartz/config/QuartzConfig.java new file mode 100644 index 000000000..c00c0f373 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/quartz/config/QuartzConfig.java @@ -0,0 +1,57 @@ +package org.nl.system.service.quartz.config; + +import org.quartz.Scheduler; +import org.quartz.spi.TriggerFiredBundle; +import org.springframework.beans.factory.config.AutowireCapableBeanFactory; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.scheduling.quartz.AdaptableJobFactory; +import org.springframework.scheduling.quartz.SchedulerFactoryBean; +import org.springframework.stereotype.Component; + +/** + * 定时任务配置 + * @author / + * @date 2019-01-07 + */ +@Configuration +public class QuartzConfig { + + /** + * 解决Job中注入Spring Bean为null的问题 + */ + @Component("quartzJobFactory") + public static class QuartzJobFactory extends AdaptableJobFactory { + + private final AutowireCapableBeanFactory capableBeanFactory; + + public QuartzJobFactory(AutowireCapableBeanFactory capableBeanFactory) { + this.capableBeanFactory = capableBeanFactory; + } + + @Override + protected Object createJobInstance(TriggerFiredBundle bundle) throws Exception { + + //调用父类的方法 + Object jobInstance = super.createJobInstance(bundle); + capableBeanFactory.autowireBean(jobInstance); + return jobInstance; + } + } + + /** + * 注入scheduler到spring + * @param quartzJobFactory / + * @return Scheduler + * @throws Exception / + */ + @Bean(name = "scheduler") + public Scheduler scheduler(QuartzJobFactory quartzJobFactory) throws Exception { + SchedulerFactoryBean factoryBean=new SchedulerFactoryBean(); + factoryBean.setJobFactory(quartzJobFactory); + factoryBean.afterPropertiesSet(); + Scheduler scheduler=factoryBean.getScheduler(); + scheduler.start(); + return scheduler; + } +} diff --git a/lms/nladmin-system/src/main/java/org/nl/system/service/quartz/dao/SysQuartzJob.java b/lms/nladmin-system/src/main/java/org/nl/system/service/quartz/dao/SysQuartzJob.java new file mode 100644 index 000000000..c14c2b03b --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/quartz/dao/SysQuartzJob.java @@ -0,0 +1,127 @@ +package org.nl.system.service.quartz.dao; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + *

+ * 定时任务表 + *

+ * + * @author generator + * @since 2022-12-19 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("sys_quartz_job") +public class SysQuartzJob implements Serializable { + + public static final String JOB_KEY = "JOB_KEY"; + + private static final long serialVersionUID = 1L; + + /** + * 标识 + */ + @TableId(value = "job_id") + private String jobId; + + /** + * bean名 + */ + @NotBlank + private String beanName; + + /** + * corn表达式 + */ + @NotBlank + private String cronExpression; + + /** + * 状态 + */ + private Boolean isPause; + + /** + * 任务名称 + */ + @NotBlank + private String jobName; + + /** + * 方法名称 + */ + @NotBlank + private String methodName; + + /** + * 参数 + */ + private String params; + + /** + * 备注 + */ + @NotBlank + private String description; + + /** + * 负责人 + */ + private String personInCharge; + + /** + * 邮箱 + */ + private String email; + + /** + * 子任务ID + */ + private String subTask; + + /** + * 失败状态 + */ + private Boolean pauseAfterFailure; + + /** + * 创建人标识 + */ + private String createId; + + /** + * 创建人 + */ + private String createName; + + /** + * 创建时间 + */ + private String createTime; + + /** + * 修改人标识 + */ + private String updateId; + + /** + * 修改人 + */ + private String updateName; + + /** + * 修改时间 + */ + private String updateTime; + + @TableField(exist = false) + private String uuid; +} diff --git a/lms/nladmin-system/src/main/java/org/nl/system/service/quartz/dao/SysQuartzLog.java b/lms/nladmin-system/src/main/java/org/nl/system/service/quartz/dao/SysQuartzLog.java new file mode 100644 index 000000000..a7f0cfec2 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/quartz/dao/SysQuartzLog.java @@ -0,0 +1,77 @@ +package org.nl.system.service.quartz.dao; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; + +/** + *

+ * 定时任务日志 + *

+ * + * @author generator + * @since 2022-12-19 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("sys_quartz_log") +public class SysQuartzLog implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 标识 + */ + @TableId(value = "log_id") + private String logId; + + /** + * bean名 + */ + private String beanName; + + /** + * 创建时间 + */ + private String createTime; + + /** + * corn表达式 + */ + private String cronExpression; + + /** + * 异常信息 + */ + private String exceptionDetail; + + /** + * 是否成功 + */ + private Boolean isSuccess; + + /** + * 任务名称 + */ + private String jobName; + + /** + * 方法名称 + */ + private String methodName; + + /** + * 参数 + */ + private String params; + + /** + * 耗时 + */ + private Long time; + + +} diff --git a/lms/nladmin-system/src/main/java/org/nl/system/service/quartz/dao/mapper/SysQuartzJobMapper.java b/lms/nladmin-system/src/main/java/org/nl/system/service/quartz/dao/mapper/SysQuartzJobMapper.java new file mode 100644 index 000000000..1fed7f44c --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/quartz/dao/mapper/SysQuartzJobMapper.java @@ -0,0 +1,16 @@ +package org.nl.system.service.quartz.dao.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.nl.system.service.quartz.dao.SysQuartzJob; + +/** + *

+ * 定时任务表 Mapper 接口 + *

+ * + * @author generator + * @since 2022-12-19 + */ +public interface SysQuartzJobMapper extends BaseMapper { + +} diff --git a/lms/nladmin-system/src/main/java/org/nl/system/service/quartz/dao/mapper/SysQuartzJobMapper.xml b/lms/nladmin-system/src/main/java/org/nl/system/service/quartz/dao/mapper/SysQuartzJobMapper.xml new file mode 100644 index 000000000..22b1c0e3b --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/quartz/dao/mapper/SysQuartzJobMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/lms/nladmin-system/src/main/java/org/nl/system/service/quartz/dao/mapper/SysQuartzLogMapper.java b/lms/nladmin-system/src/main/java/org/nl/system/service/quartz/dao/mapper/SysQuartzLogMapper.java new file mode 100644 index 000000000..4f8d12140 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/quartz/dao/mapper/SysQuartzLogMapper.java @@ -0,0 +1,16 @@ +package org.nl.system.service.quartz.dao.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.nl.system.service.quartz.dao.SysQuartzLog; + +/** + *

+ * 定时任务日志 Mapper 接口 + *

+ * + * @author generator + * @since 2022-12-19 + */ +public interface SysQuartzLogMapper extends BaseMapper { + +} diff --git a/lms/nladmin-system/src/main/java/org/nl/system/service/quartz/dao/mapper/SysQuartzLogMapper.xml b/lms/nladmin-system/src/main/java/org/nl/system/service/quartz/dao/mapper/SysQuartzLogMapper.xml new file mode 100644 index 000000000..190cdac9b --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/quartz/dao/mapper/SysQuartzLogMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/lms/nladmin-system/src/main/java/org/nl/system/service/quartz/dto/JobQuery.java b/lms/nladmin-system/src/main/java/org/nl/system/service/quartz/dto/JobQuery.java new file mode 100644 index 000000000..725f60293 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/quartz/dto/JobQuery.java @@ -0,0 +1,26 @@ +package org.nl.system.service.quartz.dto; + +import lombok.Data; +import org.nl.common.domain.query.BaseQuery; +import org.nl.common.domain.query.QParam; +import org.nl.common.enums.QueryTEnum; +import org.nl.system.service.quartz.dao.SysQuartzJob; + +import java.sql.Timestamp; +import java.util.List; + +/** + * @Author: lyd + * @Description: + * @Date: 2022/12/19 + */ +@Data +public class JobQuery extends BaseQuery { + private String jobName; + private Boolean isSuccess; + private List createTime; + @Override + public void paramMapping() { + this.doP.put("jobName", QParam.builder().k(new String[]{"job_name"}).type(QueryTEnum.LK).build()); + } +} diff --git a/lms/nladmin-system/src/main/java/org/nl/system/service/quartz/impl/SysQuartzJobServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/system/service/quartz/impl/SysQuartzJobServiceImpl.java new file mode 100644 index 000000000..7b8bab70f --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/quartz/impl/SysQuartzJobServiceImpl.java @@ -0,0 +1,162 @@ +package org.nl.system.service.quartz.impl; + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.RequiredArgsConstructor; +import org.nl.common.domain.query.PageQuery; +import org.nl.common.utils.SecurityUtils; +import org.nl.modules.common.exception.BadRequestException; +import org.nl.modules.common.utils.RedisUtils; +import org.nl.system.service.quartz.ISysQuartzJobService; +import org.nl.system.service.quartz.dao.SysQuartzJob; +import org.nl.system.service.quartz.dao.SysQuartzLog; +import org.nl.system.service.quartz.dao.mapper.SysQuartzJobMapper; +import org.nl.system.service.quartz.dao.mapper.SysQuartzLogMapper; +import org.nl.system.service.quartz.dto.JobQuery; +import org.nl.system.service.quartz.utils.QuartzManage; +import org.quartz.CronExpression; +import org.springframework.scheduling.annotation.Async; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Arrays; +import java.util.List; +import java.util.Set; + +/** + *

+ * 定时任务表 服务实现类 + *

+ * + * @author generator + * @since 2022-12-19 + */ +@Service +@RequiredArgsConstructor +public class SysQuartzJobServiceImpl extends ServiceImpl implements ISysQuartzJobService { + + private final SysQuartzJobMapper quartzJobMapper; + private final SysQuartzLogMapper quartzLogMapper; + private final QuartzManage quartzManage; + private final RedisUtils redisUtils; + + @Override + public IPage queryAll(JobQuery criteria, PageQuery pageable) { + return this.page(pageable.build(SysQuartzJob.class), criteria.build()); + } + + @Override + public IPage queryAllLog(JobQuery criteria, PageQuery page) { + LambdaQueryWrapper lam = new LambdaQueryWrapper<>(); + lam.like(ObjectUtil.isNotEmpty(criteria.getJobName()), SysQuartzLog::getJobName, criteria.getJobName()) + .eq(ObjectUtil.isNotEmpty(criteria.getIsSuccess()), SysQuartzLog::getIsSuccess, criteria.getIsSuccess()) + .nested(ObjectUtil.isNotEmpty(criteria.getCreateTime()), i -> { + i.ge(SysQuartzLog::getCreateTime, criteria.getCreateTime().get(0)) + .le(SysQuartzLog::getCreateTime, criteria.getCreateTime().get(1)); + }); + IPage pages = new Page<>(page.getPage() + 1, page.getSize()); + quartzLogMapper.selectPage(pages, lam); + return pages; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void createJob(SysQuartzJob resources) { + if (!CronExpression.isValidExpression(resources.getCronExpression())) { + throw new BadRequestException("cron表达式格式错误"); + } + String currentUserId = SecurityUtils.getCurrentUserId(); + String nickName = SecurityUtils.getCurrentNickName(); + String now = DateUtil.now(); + resources.setJobId(IdUtil.getSnowflake(1,1).nextIdStr()); + resources.setCreateId(currentUserId); + resources.setCreateName(nickName); + resources.setCreateTime(now); + resources.setUpdateId(currentUserId); + resources.setUpdateName(nickName); + resources.setUpdateTime(now); + quartzJobMapper.insert(resources); + // 添加到任务管理 + quartzManage.addJob(resources); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void updateJob(SysQuartzJob resources) { + if (!CronExpression.isValidExpression(resources.getCronExpression())) { + throw new BadRequestException("cron表达式格式错误"); + } + if (StrUtil.isNotEmpty(resources.getSubTask())) { + List tasks = Arrays.asList(resources.getSubTask().split("[,,]")); + if (tasks.contains(resources.getJobId())) { + throw new BadRequestException("子任务中不能添加当前任务ID"); + } + } + resources.setUpdateId(SecurityUtils.getCurrentUserId()); + resources.setUpdateName(SecurityUtils.getCurrentNickName()); + resources.setUpdateTime(DateUtil.now()); + quartzJobMapper.updateById(resources); + quartzManage.updateJobCron(resources); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void updateIsPause(SysQuartzJob quartzJob) { + if (quartzJob.getIsPause()) { + quartzManage.resumeJob(quartzJob); + quartzJob.setIsPause(false); + } else { + quartzManage.pauseJob(quartzJob); + quartzJob.setIsPause(true); + } + quartzJobMapper.updateById(quartzJob); + } + + @Override + public void execution(SysQuartzJob quartzJob) { + quartzManage.runJobNow(quartzJob); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void deleteJob(Set ids) { + ids.forEach(id -> quartzManage.deleteJob(quartzJobMapper.selectById(id))); + quartzJobMapper.deleteBatchIds(ids); + } + + @Async + @Override + @Transactional(rollbackFor = Exception.class) + public void executionSubJob(String[] tasks) throws InterruptedException { + for (String id : tasks) { + SysQuartzJob quartzJob = getById(id); + // 执行任务 + String uuid = IdUtil.simpleUUID(); + quartzJob.setUuid(uuid); + // 执行任务 + execution(quartzJob); + // 获取执行状态,如果执行失败则停止后面的子任务执行 + Boolean result = (Boolean) redisUtils.get(uuid); + while (result == null) { + // 休眠5秒,再次获取子任务执行情况 + Thread.sleep(5000); + result = (Boolean) redisUtils.get(uuid); + } + if (!result) { + redisUtils.del(uuid); + break; + } + } + } + + @Override + public List findByIsPauseIsFalse() { + return quartzJobMapper.selectList(new LambdaQueryWrapper().eq(SysQuartzJob::getIsPause, false)); + } +} diff --git a/lms/nladmin-system/src/main/java/org/nl/system/service/quartz/task/TestTask.java b/lms/nladmin-system/src/main/java/org/nl/system/service/quartz/task/TestTask.java new file mode 100644 index 000000000..9a402db9f --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/quartz/task/TestTask.java @@ -0,0 +1,26 @@ +package org.nl.system.service.quartz.task; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +/** + * @Author: lyd + * @Description: 测试例子 + * @Date: 2022/12/19 + */ +@Slf4j +@Component +public class TestTask { + + public void run(){ + log.info("run 执行成功"); + } + + public void run1(String str){ + log.info("run1 执行成功,参数为: {}" + str); + } + + public void run2(){ + log.info("run2 执行成功"); + } +} diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/quartz/utils/ExecutionJob.java b/lms/nladmin-system/src/main/java/org/nl/system/service/quartz/utils/ExecutionJob.java similarity index 71% rename from lms/nladmin-system/src/main/java/org/nl/modules/quartz/utils/ExecutionJob.java rename to lms/nladmin-system/src/main/java/org/nl/system/service/quartz/utils/ExecutionJob.java index ee4f68570..f6416000e 100644 --- a/lms/nladmin-system/src/main/java/org/nl/modules/quartz/utils/ExecutionJob.java +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/quartz/utils/ExecutionJob.java @@ -1,31 +1,19 @@ -/* - * Copyright 2019-2020 Zheng Jie - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.nl.modules.quartz.utils; +package org.nl.system.service.quartz.utils; +import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.StrUtil; import lombok.extern.slf4j.Slf4j; import org.nl.config.thread.ThreadPoolExecutorUtil; import org.nl.modules.common.utils.RedisUtils; import org.nl.modules.common.utils.ThrowableUtil; -import org.nl.modules.quartz.domain.QuartzJob; -import org.nl.modules.quartz.domain.QuartzLog; -import org.nl.modules.quartz.repository.QuartzLogRepository; -import org.nl.modules.quartz.service.QuartzJobService; import org.nl.modules.wql.util.SpringContextHolder; +import org.nl.system.service.quartz.ISysQuartzJobService; +import org.nl.system.service.quartz.dao.SysQuartzJob; +import org.nl.system.service.quartz.dao.SysQuartzLog; +import org.nl.system.service.quartz.dao.mapper.SysQuartzLogMapper; +import org.nl.system.service.quartz.impl.SysQuartzJobServiceImpl; import org.quartz.JobExecutionContext; +import org.quartz.JobExecutionException; import org.springframework.scheduling.annotation.Async; import org.springframework.scheduling.quartz.QuartzJobBean; @@ -33,10 +21,9 @@ import java.util.concurrent.Future; import java.util.concurrent.ThreadPoolExecutor; /** - * 参考人人开源,https://gitee.com/renrenio/renren-security - * - * @author / - * @date 2019-01-07 + * @Author: / + * @Description: 参考人人开源,https://gitee.com/renrenio/renren-security + * @Date: 2022/12/19 */ @Async @SuppressWarnings({"unchecked", "all"}) @@ -47,18 +34,18 @@ public class ExecutionJob extends QuartzJobBean { * 该处仅供参考 */ private final static ThreadPoolExecutor EXECUTOR = ThreadPoolExecutorUtil.getPoll(); - @Override - public void executeInternal(JobExecutionContext context) { - QuartzJob quartzJob = (QuartzJob) context.getMergedJobDataMap().get(QuartzJob.JOB_KEY); + protected void executeInternal(JobExecutionContext context) throws JobExecutionException { + SysQuartzJob quartzJob = (SysQuartzJob) context.getMergedJobDataMap().get(SysQuartzJob.JOB_KEY); // 获取spring bean - QuartzLogRepository quartzLogRepository = SpringContextHolder.getBean(QuartzLogRepository.class); - QuartzJobService quartzJobService = SpringContextHolder.getBean(QuartzJobService.class); + ISysQuartzJobService quartzJobService = SpringContextHolder.getBean(SysQuartzJobServiceImpl.class); + SysQuartzLogMapper quartzLogMapper = SpringContextHolder.getBean(SysQuartzLogMapper.class); RedisUtils redisUtils = SpringContextHolder.getBean(RedisUtils.class); String uuid = quartzJob.getUuid(); - QuartzLog logDto = new QuartzLog(); + SysQuartzLog logDto = new SysQuartzLog(); + logDto.setLogId(IdUtil.getSnowflake(1,1).nextIdStr()); logDto.setJobName(quartzJob.getJobName()); logDto.setBeanName(quartzJob.getBeanName()); logDto.setMethodName(quartzJob.getMethodName()); @@ -107,10 +94,9 @@ public class ExecutionJob extends QuartzJobBean { } //异常时候打印日志 log.info(logDto.toString()); - quartzLogRepository.save(logDto); + quartzLogMapper.insert(logDto); } finally { } } - } diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/quartz/utils/QuartzManage.java b/lms/nladmin-system/src/main/java/org/nl/system/service/quartz/utils/QuartzManage.java similarity index 75% rename from lms/nladmin-system/src/main/java/org/nl/modules/quartz/utils/QuartzManage.java rename to lms/nladmin-system/src/main/java/org/nl/system/service/quartz/utils/QuartzManage.java index ac20ccf3c..5b22f0309 100644 --- a/lms/nladmin-system/src/main/java/org/nl/modules/quartz/utils/QuartzManage.java +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/quartz/utils/QuartzManage.java @@ -1,23 +1,8 @@ -/* - * Copyright 2019-2020 Zheng Jie - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.nl.modules.quartz.utils; +package org.nl.system.service.quartz.utils; import lombok.extern.slf4j.Slf4j; import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.quartz.domain.QuartzJob; +import org.nl.system.service.quartz.dao.SysQuartzJob; import org.quartz.*; import org.quartz.impl.triggers.CronTriggerImpl; import org.springframework.stereotype.Component; @@ -28,32 +13,32 @@ import java.util.Date; import static org.quartz.TriggerBuilder.newTrigger; /** - * @author Zheng Jie - * @date 2019-01-07 + * @Author: lyd + * @Description: + * @Date: 2022/12/19 */ @Slf4j @Component public class QuartzManage { - private static final String JOB_NAME = "TASK_"; @Resource(name = "scheduler") private Scheduler scheduler; - public void addJob(QuartzJob quartzJob){ + public void addJob(SysQuartzJob quartzJob) { try { // 构建job信息 JobDetail jobDetail = JobBuilder.newJob(ExecutionJob.class). - withIdentity(JOB_NAME + quartzJob.getId()).build(); + withIdentity(JOB_NAME + quartzJob.getJobId()).build(); //通过触发器名和cron 表达式创建 Trigger Trigger cronTrigger = newTrigger() - .withIdentity(JOB_NAME + quartzJob.getId()) + .withIdentity(JOB_NAME + quartzJob.getJobId()) .startNow() .withSchedule(CronScheduleBuilder.cronSchedule(quartzJob.getCronExpression())) .build(); - cronTrigger.getJobDataMap().put(QuartzJob.JOB_KEY, quartzJob); + cronTrigger.getJobDataMap().put(SysQuartzJob.JOB_KEY, quartzJob); //重置启动时间 ((CronTriggerImpl)cronTrigger).setStartTime(new Date()); @@ -75,9 +60,9 @@ public class QuartzManage { * 更新job cron表达式 * @param quartzJob / */ - public void updateJobCron(QuartzJob quartzJob){ + public void updateJobCron(SysQuartzJob quartzJob) { try { - TriggerKey triggerKey = TriggerKey.triggerKey(JOB_NAME + quartzJob.getId()); + TriggerKey triggerKey = TriggerKey.triggerKey(JOB_NAME + quartzJob.getJobId()); CronTrigger trigger = (CronTrigger) scheduler.getTrigger(triggerKey); // 如果不存在则创建一个定时任务 if(trigger == null){ @@ -88,7 +73,7 @@ public class QuartzManage { trigger = trigger.getTriggerBuilder().withIdentity(triggerKey).withSchedule(scheduleBuilder).build(); //重置启动时间 ((CronTriggerImpl)trigger).setStartTime(new Date()); - trigger.getJobDataMap().put(QuartzJob.JOB_KEY,quartzJob); + trigger.getJobDataMap().put(SysQuartzJob.JOB_KEY,quartzJob); scheduler.rescheduleJob(triggerKey, trigger); // 暂停任务 @@ -99,37 +84,21 @@ public class QuartzManage { log.error("更新定时任务失败", e); throw new BadRequestException("更新定时任务失败"); } - - } - - /** - * 删除一个job - * @param quartzJob / - */ - public void deleteJob(QuartzJob quartzJob){ - try { - JobKey jobKey = JobKey.jobKey(JOB_NAME + quartzJob.getId()); - scheduler.pauseJob(jobKey); - scheduler.deleteJob(jobKey); - } catch (Exception e){ - log.error("删除定时任务失败", e); - throw new BadRequestException("删除定时任务失败"); - } } /** * 恢复一个job * @param quartzJob / */ - public void resumeJob(QuartzJob quartzJob){ + public void resumeJob(SysQuartzJob quartzJob) { try { - TriggerKey triggerKey = TriggerKey.triggerKey(JOB_NAME + quartzJob.getId()); + TriggerKey triggerKey = TriggerKey.triggerKey(JOB_NAME + quartzJob.getJobId()); CronTrigger trigger = (CronTrigger) scheduler.getTrigger(triggerKey); // 如果不存在则创建一个定时任务 if(trigger == null) { addJob(quartzJob); } - JobKey jobKey = JobKey.jobKey(JOB_NAME + quartzJob.getId()); + JobKey jobKey = JobKey.jobKey(JOB_NAME + quartzJob.getJobId()); scheduler.resumeJob(jobKey); } catch (Exception e){ log.error("恢复定时任务失败", e); @@ -137,21 +106,35 @@ public class QuartzManage { } } + /** + * 暂停一个job + * @param quartzJob / + */ + public void pauseJob(SysQuartzJob quartzJob) { + try { + JobKey jobKey = JobKey.jobKey(JOB_NAME + quartzJob.getJobId()); + scheduler.pauseJob(jobKey); + } catch (Exception e){ + log.error("定时任务暂停失败", e); + throw new BadRequestException("定时任务暂停失败"); + } + } + /** * 立即执行job * @param quartzJob / */ - public void runJobNow(QuartzJob quartzJob){ + public void runJobNow(SysQuartzJob quartzJob) { try { - TriggerKey triggerKey = TriggerKey.triggerKey(JOB_NAME + quartzJob.getId()); + TriggerKey triggerKey = TriggerKey.triggerKey(JOB_NAME + quartzJob.getJobId()); CronTrigger trigger = (CronTrigger) scheduler.getTrigger(triggerKey); // 如果不存在则创建一个定时任务 if(trigger == null) { addJob(quartzJob); } JobDataMap dataMap = new JobDataMap(); - dataMap.put(QuartzJob.JOB_KEY, quartzJob); - JobKey jobKey = JobKey.jobKey(JOB_NAME + quartzJob.getId()); + dataMap.put(SysQuartzJob.JOB_KEY, quartzJob); + JobKey jobKey = JobKey.jobKey(JOB_NAME + quartzJob.getJobId()); scheduler.triggerJob(jobKey,dataMap); } catch (Exception e){ log.error("定时任务执行失败", e); @@ -160,16 +143,17 @@ public class QuartzManage { } /** - * 暂停一个job - * @param quartzJob / + * 删除job + * @param quartzJob */ - public void pauseJob(QuartzJob quartzJob){ + public void deleteJob(SysQuartzJob quartzJob) { try { - JobKey jobKey = JobKey.jobKey(JOB_NAME + quartzJob.getId()); + JobKey jobKey = JobKey.jobKey(JOB_NAME + quartzJob.getJobId()); scheduler.pauseJob(jobKey); + scheduler.deleteJob(jobKey); } catch (Exception e){ - log.error("定时任务暂停失败", e); - throw new BadRequestException("定时任务暂停失败"); + log.error("删除定时任务失败", e); + throw new BadRequestException("删除定时任务失败"); } } } diff --git a/lms/nladmin-system/src/main/java/org/nl/system/service/quartz/utils/QuartzRunnable.java b/lms/nladmin-system/src/main/java/org/nl/system/service/quartz/utils/QuartzRunnable.java new file mode 100644 index 000000000..f054f67f6 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/quartz/utils/QuartzRunnable.java @@ -0,0 +1,44 @@ +package org.nl.system.service.quartz.utils; + +import cn.hutool.core.util.StrUtil; +import lombok.extern.slf4j.Slf4j; +import org.nl.modules.wql.util.SpringContextHolder; +import org.springframework.util.ReflectionUtils; + +import java.lang.reflect.Method; +import java.util.concurrent.Callable; + +/** + * 执行定时任务 + * @author / + */ +@Slf4j +public class QuartzRunnable implements Callable { + + private final Object target; + private final Method method; + private final String params; + + QuartzRunnable(String beanName, String methodName, String params) + throws NoSuchMethodException, SecurityException { + this.target = SpringContextHolder.getBean(beanName); + this.params = params; + + if (StrUtil.isNotEmpty(params)) { + this.method = target.getClass().getDeclaredMethod(methodName, String.class); + } else { + this.method = target.getClass().getDeclaredMethod(methodName); + } + } + + @Override + public Object call() throws Exception { + ReflectionUtils.makeAccessible(method); + if (StrUtil.isNotEmpty(params)) { + method.invoke(target, params); + } else { + method.invoke(target); + } + return null; + } +} diff --git a/lms/nladmin-system/src/main/java/org/nl/system/service/role/ISysRoleService.java b/lms/nladmin-system/src/main/java/org/nl/system/service/role/ISysRoleService.java new file mode 100644 index 000000000..4570764ce --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/role/ISysRoleService.java @@ -0,0 +1,64 @@ +package org.nl.system.service.role; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import org.nl.common.domain.query.PageQuery; +import org.nl.system.service.role.dao.SysRole; + +import java.util.List; +import java.util.Map; +import java.util.Set; + +/** + *

+ * 角色表 服务类 + *

+ * + * @author generator + * @since 2022-12-15 + */ +public interface ISysRoleService extends IService { + + IPage query(Map param, PageQuery page); + + /** + * 创建角色 + * @param param + */ + void create(JSONObject param); + + /** + * 更新角色 + * @param param + */ + void update(JSONObject param); + + /** + * 删除角色 + * @param ids + */ + void deleteBatchByIds(Set ids); + + /** + * 更新角色菜单 + * @param form + */ + void updateMenu(JSONObject form); + + /** + * 通过id获取用户的权限 + * @param userDto + * @return + */ + List getPermissionList(JSONObject userDto); + + + /** + * 保存用户角色关系 + * @param UserId + * @param deptIds + */ + void saveUserRoleRelation(String UserId, List deptIds); + void delUserRoleRelation(String UserId); +} diff --git a/lms/nladmin-system/src/main/java/org/nl/system/service/role/dao/SysRole.java b/lms/nladmin-system/src/main/java/org/nl/system/service/role/dao/SysRole.java new file mode 100644 index 000000000..5b5d342c0 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/role/dao/SysRole.java @@ -0,0 +1,105 @@ +package org.nl.system.service.role.dao; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + +/** + *

+ * 角色表 + *

+ * + * @author generator + * @since 2022-12-15 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("sys_role") +public class SysRole implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * ID + */ + @TableId(value = "role_id") + private String roleId; + + /** + * 名称 + */ + private String name; + + /** + * 角色级别 + */ + private BigDecimal level; + + /** + * 排序 + */ + private BigDecimal orderSeq; + + /** + * 备注 + */ + private String remark; + + /** + * 是否启用 + */ + private String isUsed; + + /** + * 是否删除 + */ + private String isDelete; + + /** + * 创建人标识 + */ + private String createId; + + /** + * 创建人 + */ + private String createName; + + /** + * 创建时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date createTime; + + /** + * 修改人标识 + */ + private String updateId; + + /** + * 修改人 + */ + private String updateName; + + /** + * 修改时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date updateTime; + + /** + * 角色菜单id + */ + @TableField(exist = false) + private List menus; + + +} diff --git a/lms/nladmin-system/src/main/java/org/nl/system/service/role/dao/mapper/SysRoleMapper.java b/lms/nladmin-system/src/main/java/org/nl/system/service/role/dao/mapper/SysRoleMapper.java new file mode 100644 index 000000000..083233929 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/role/dao/mapper/SysRoleMapper.java @@ -0,0 +1,33 @@ +package org.nl.system.service.role.dao.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; +import org.nl.system.service.role.dao.SysRole; + +import java.util.Collection; +import java.util.List; + +/** + *

+ * 角色表 Mapper 接口 + *

+ * + * @author generator + * @since 2022-12-15 + */ +public interface SysRoleMapper extends BaseMapper { + + void saveRoleRelation(@Param("user") String UserId, @Param("roles") Collection roles); + void delRoleRelation(@Param("user") String UserId); + + void deleteRoleMenuBatchRoleIds(Collection ids); + + List selectMenuIdsByRoles(String roleId); + + /** + * 插入角色/菜单表 + * @param roleId + * @param menuIds + */ + void insertRoleMenu(String roleId, Collection menuIds); +} diff --git a/lms/nladmin-system/src/main/java/org/nl/system/service/role/dao/mapper/SysRoleMapper.xml b/lms/nladmin-system/src/main/java/org/nl/system/service/role/dao/mapper/SysRoleMapper.xml new file mode 100644 index 000000000..63c614179 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/role/dao/mapper/SysRoleMapper.xml @@ -0,0 +1,32 @@ + + + + + + replace into sys_users_roles values + + (#{user},#{role}) + + + + delete from sys_users_roles where user_id = #{user} + + + + + + insert into sys_roles_menus values + + (#{menuId},#{roleId}) + + + + DELETE FROM sys_roles_menus WHERE role_id in + + #{id} + + + + diff --git a/lms/nladmin-system/src/main/java/org/nl/system/service/role/impl/SysRoleServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/system/service/role/impl/SysRoleServiceImpl.java new file mode 100644 index 000000000..a85b92435 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/role/impl/SysRoleServiceImpl.java @@ -0,0 +1,149 @@ +package org.nl.system.service.role.impl; + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.RequiredArgsConstructor; +import org.apache.commons.lang3.StringUtils; +import org.nl.common.domain.query.PageQuery; +import org.nl.common.utils.SecurityUtils; +import org.nl.modules.common.exception.BadRequestException; +import org.nl.system.service.menu.dao.mapper.SysMenuMapper; +import org.nl.system.service.role.ISysRoleService; +import org.nl.system.service.role.dao.SysRole; +import org.nl.system.service.role.dao.mapper.SysRoleMapper; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; + +import java.util.*; + +/** + *

+ * 角色表 服务实现类 + *

+ * + * @author generator + * @since 2022-12-15 + */ +@Service +@RequiredArgsConstructor +public class SysRoleServiceImpl extends ServiceImpl implements ISysRoleService { + + private final SysRoleMapper roleMapper; + + private final SysMenuMapper sysMenuMapper; + + @Override + public IPage query(Map param, PageQuery page) { + String blurry = null; + if (ObjectUtil.isNotEmpty(param.get("blurry"))) blurry = param.get("blurry").toString(); + LambdaQueryWrapper lam = new LambdaQueryWrapper<>(); + lam.like(ObjectUtil.isNotEmpty(blurry), SysRole::getName, blurry); + IPage pages = new Page<>(page.getPage() + 1, page.getSize()); + roleMapper.selectPage(pages, lam); + // 需要吧menus反回去 + pages.getRecords().forEach(sysRole -> sysRole.setMenus(roleMapper.selectMenuIdsByRoles(sysRole.getRoleId()))); + return pages; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void create(JSONObject param) { + //判断角色名字是否存在 + String name = param.getString("name"); + if (StrUtil.isEmpty(name)) throw new BadRequestException("角色名字不能为空!"); + SysRole sysRole = JSONObject.parseObject(JSONObject.toJSONString(param), SysRole.class); + + //判断角色名字是否存在 + SysRole role = roleMapper.selectOne(new LambdaQueryWrapper().eq(SysRole::getName, sysRole.getName())); + if (ObjectUtil.isNotEmpty(role)) throw new BadRequestException("角色【" + name + "】已存在!"); + String userId = SecurityUtils.getCurrentUserId(); + String nickName = SecurityUtils.getCurrentNickName(); + String now = DateUtil.now(); + // 插入 + sysRole.setRoleId(IdUtil.getSnowflake(1, 1).nextIdStr()); + sysRole.setCreateId(userId); + sysRole.setCreateName(nickName); + sysRole.setCreateTime(new Date()); + sysRole.setUpdateId(userId); + sysRole.setUpdateName(nickName); + sysRole.setUpdateTime(new Date()); + roleMapper.insert(sysRole); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(JSONObject param) { + SysRole sysRole = JSONObject.parseObject(JSONObject.toJSONString(param), SysRole.class); + //判断角色名字是否存在 + String name = sysRole.getName(); + if (StrUtil.isEmpty(name)) throw new BadRequestException("角色名字不能为空!"); + + //判断角色名字是否存在 + SysRole role = roleMapper.selectOne(new LambdaQueryWrapper().eq(SysRole::getName, sysRole.getName()) + .ne(SysRole::getRoleId, sysRole.getRoleId())); + if (ObjectUtil.isNotEmpty(role)) throw new BadRequestException("角色【" + name + "】已存在!"); + String userId = SecurityUtils.getCurrentUserId(); + String nickName = SecurityUtils.getCurrentNickName(); + String now = DateUtil.now(); + sysRole.setUpdateId(userId); + sysRole.setUpdateName(nickName); + sysRole.setUpdateTime(new Date()); + roleMapper.updateById(sysRole); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void deleteBatchByIds(Set ids) { + // 删除角色表 + roleMapper.deleteBatchIds(ids); + // 删除角色菜单绑定关系 + roleMapper.deleteRoleMenuBatchRoleIds(ids); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void updateMenu(JSONObject form) { + String roleId = form.getString("roleId"); + JSONArray menus = form.getJSONArray("menus"); + Set menuIds = new HashSet<>(); + for (int i = 0; i < menus.size(); i++) { + JSONObject object = menus.getJSONObject(i); + menuIds.add(object.getString("menuId")); + } + // 删除当前角色绑定的菜单 + roleMapper.deleteRoleMenuBatchRoleIds(Arrays.asList(roleId)); + // 插入数据 + roleMapper.insertRoleMenu(roleId, menuIds); + } + + @Override + public List getPermissionList(JSONObject userDto) { + List permission = new LinkedList<>(); + // 查看是否为管理员 + permission.add("admin"); + permission.addAll(sysMenuMapper.getPermissionByUserId(userDto.getString("userId"))); + return permission; + } + + @Override + public void saveUserRoleRelation(String user, List roles) { + if (StringUtils.isEmpty(user) || CollectionUtils.isEmpty(roles)){ + return; + } + roleMapper.saveRoleRelation(user,roles); + } + + @Override + public void delUserRoleRelation(String user) { + roleMapper.delRoleRelation(user); + } +} diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/security/service/dto/AuthUserDto.java b/lms/nladmin-system/src/main/java/org/nl/system/service/secutiry/dto/AuthUserDto.java similarity index 95% rename from lms/nladmin-system/src/main/java/org/nl/modules/security/service/dto/AuthUserDto.java rename to lms/nladmin-system/src/main/java/org/nl/system/service/secutiry/dto/AuthUserDto.java index 61d9bed5b..9d810f01b 100644 --- a/lms/nladmin-system/src/main/java/org/nl/modules/security/service/dto/AuthUserDto.java +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/secutiry/dto/AuthUserDto.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.nl.modules.security.service.dto; +package org.nl.system.service.secutiry.dto; import lombok.Getter; import lombok.Setter; diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/security/service/dto/OnlineUserDto.java b/lms/nladmin-system/src/main/java/org/nl/system/service/secutiry/dto/OnlineUserDto.java similarity index 96% rename from lms/nladmin-system/src/main/java/org/nl/modules/security/service/dto/OnlineUserDto.java rename to lms/nladmin-system/src/main/java/org/nl/system/service/secutiry/dto/OnlineUserDto.java index e5468d669..c1e93e092 100644 --- a/lms/nladmin-system/src/main/java/org/nl/modules/security/service/dto/OnlineUserDto.java +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/secutiry/dto/OnlineUserDto.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.nl.modules.security.service.dto; +package org.nl.system.service.secutiry.dto; import lombok.AllArgsConstructor; import lombok.Data; diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/security/service/OnlineUserService.java b/lms/nladmin-system/src/main/java/org/nl/system/service/secutiry/impl/OnlineUserService.java similarity index 60% rename from lms/nladmin-system/src/main/java/org/nl/modules/security/service/OnlineUserService.java rename to lms/nladmin-system/src/main/java/org/nl/system/service/secutiry/impl/OnlineUserService.java index e4b8b5e1a..20035aec8 100644 --- a/lms/nladmin-system/src/main/java/org/nl/modules/security/service/OnlineUserService.java +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/secutiry/impl/OnlineUserService.java @@ -13,14 +13,29 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.nl.modules.security.service; +package org.nl.system.service.secutiry.impl; +import cn.dev33.satoken.secure.SaSecureUtil; +import cn.dev33.satoken.stp.SaLoginModel; import cn.dev33.satoken.stp.StpUtil; import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; +import org.nl.modules.common.config.RsaProperties; +import org.nl.modules.common.exception.BadRequestException; import org.nl.modules.common.utils.*; -import org.nl.modules.security.service.dto.OnlineUserDto; -import org.nl.modules.system.service.dto.UserDto; +import org.nl.system.service.role.ISysRoleService; +import org.nl.system.service.secutiry.dto.AuthUserDto; +import org.nl.system.service.user.ISysUserService; +import org.nl.system.service.user.dao.SysUser; +import org.nl.system.service.user.dto.CurrentUser; +import org.nl.system.service.user.dto.OnlineUserDto; +import org.nl.system.service.user.dto.UserDto; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.data.domain.Pageable; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; @@ -38,7 +53,13 @@ import java.util.*; @Slf4j public class OnlineUserService { + @Autowired + private ISysUserService sysUserService; + @Autowired + private ISysRoleService roleService; private final RedisUtils redisUtils; + @Value("${sa-token.cookie.domain}") + private String domain; public OnlineUserService(RedisUtils redisUtils) { this.redisUtils = redisUtils; @@ -51,14 +72,15 @@ public class OnlineUserService { * @param request / */ public void save(UserDto userDto, String token, HttpServletRequest request){ - String dept = userDto.getDept().getName(); +// String dept = userDto.getDept().getName(); + String dept = ""; String ip = StringUtils.getIp(request); String browser = StringUtils.getBrowser(request); // String address = StringUtils.getCityInfo(ip); String address = "局域网"; OnlineUserDto onlineUserDto = null; try { - onlineUserDto = new OnlineUserDto(userDto.getUsername(), userDto.getNickName(), dept, browser , ip, address, EncryptUtils.desEncrypt(token), new Date()); +// onlineUserDto = new OnlineUserDto(userDto.getUsername(), userDto.getNickName(), dept, browser , ip, address, EncryptUtils.desEncrypt(token), new Date()); } catch (Exception e) { log.error(e.getMessage(),e); } @@ -190,4 +212,58 @@ public class OnlineUserService { } } } + @SneakyThrows + public Map login(Map paramMap){ + // 密码解密 - 前端的加密规则: encrypt + AuthUserDto authUser = JSON.toJavaObject((JSON) JSON.toJSON(paramMap), AuthUserDto.class); + String password = RsaUtils.decryptByPrivateKey(RsaProperties.privateKey, authUser.getPassword()); + // 查询验证码 + String code = (String) redisUtils.get(authUser.getUuid()); + // 清除验证码 + redisUtils.del(authUser.getUuid()); +// if (StrUtil.isEmpty(code)) { +// throw new BadRequestException("验证码不存在或已过期"); +// } +// if (StrUtil.isEmpty(authUser.getCode()) || !authUser.getCode().equalsIgnoreCase(code)) { +// throw new BadRequestException("验证码错误"); +// } + // 校验数据库 + // 根据用户名查询,在比对密码 + SysUser userInfo = sysUserService.getOne(new QueryWrapper().eq("username",authUser.getUsername())); + if (userInfo == null||!userInfo.getPassword().equals(SaSecureUtil.md5BySalt(password, "salt"))) { // 这里需要密码加密 + throw new BadRequestException("账号或密码错误"); + } + + // 获取权限列表 - 登录查找权限 + List permissionList = roleService.getPermissionList((JSONObject) JSON.toJSON(userInfo)); + + + if (!userInfo.getIsUsed()) { + throw new BadRequestException("账号未激活"); + } + + // 登录输入,登出删除 + CurrentUser user = new CurrentUser(); + user.setId(userInfo.getUserId()); + user.setUsername(userInfo.getUsername()); + user.setPresonName((userInfo.getPersonName())); + user.setUser(userInfo); + user.setPermissions(permissionList); + + // SaLoginModel 配置登录相关参数 + StpUtil.login(userInfo.getUserId(), new SaLoginModel() + .setDevice("PC") // 此次登录的客户端设备类型, 用于[同端互斥登录]时指定此次登录的设备类型 + .setExtra("loginInfo", user) // Token挂载的扩展参数 (此方法只有在集成jwt插件时才会生效) + ); + + Map authInfo = new HashMap(2) {{ + put("token", StpUtil.getTokenValue()); + put("roles", permissionList); + put("domain", domain); + put("user", user); + }}; + // 保存在线信息 +// onlineUserService.save(userDto, StpUtil.getTokenValue(), request); + return authInfo; + } } diff --git a/lms/nladmin-system/src/main/java/org/nl/system/service/user/ISysUserService.java b/lms/nladmin-system/src/main/java/org/nl/system/service/user/ISysUserService.java new file mode 100644 index 000000000..92f84c895 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/user/ISysUserService.java @@ -0,0 +1,41 @@ +package org.nl.system.service.user; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.nl.common.domain.query.PageQuery; +import org.nl.system.service.user.dao.SysUser; +import org.nl.system.service.user.dto.SysUserDetail; +import org.nl.system.service.user.dto.UserDataPermissionDto; +import org.nl.system.service.user.dto.UserQuery; +import org.springframework.web.multipart.MultipartFile; + +import java.util.List; +import java.util.Map; + +/** + *

+ * 用户表 服务类 + *

+ * + * @author generator + * @since 2022-12-15 + */ +public interface ISysUserService extends IService { + + Map updateAvatar(MultipartFile avatar); + + List getUserDetail(UserQuery query, PageQuery pageQuery); + + void create(Map userDetail); + + void update(Map userDetail); + + List getUserDataPermissionByPermissionId(String permissionId); + + List getUserDataPermissionByUserId(String userId); + + void deleteDataPermissionById(String userId); + + void insertDataPermission(UserDataPermissionDto userDataPermissionDto); + + List getUserIdByDeptId(String deptId); +} diff --git a/lms/nladmin-system/src/main/java/org/nl/system/service/user/dao/SysUser.java b/lms/nladmin-system/src/main/java/org/nl/system/service/user/dao/SysUser.java new file mode 100644 index 000000000..b75b44217 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/user/dao/SysUser.java @@ -0,0 +1,137 @@ +package org.nl.system.service.user.dao; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; +import java.util.Date; + +/** + *

+ * 用户表 + *

+ * + * @author generator + * @since 2022-12-15 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("sys_user") +public class SysUser implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 用户标识 + */ + @TableId(value = "user_id", type = IdType.NONE) + private String userId; + + /** + * 登录账号 + */ + private String username; + + /** + * 姓名 + */ + private String personName; + + /** + * 性别 + */ + private String gender; + + /** + * 电话 + */ + private String phone; + + /** + * 电子邮箱 + */ + private String email; + + /** + * 头像地址 + */ + private String avatarName; + + /** + * 头像真实路径 + */ + private String avatarPath; + + /** + * 密码 + */ + private String password; + + /** + * 是否为admin账号 + */ + private Boolean isAdmin; + + /** + * 是否启用 + */ + private Boolean isUsed; + + /** + * 密码重置者 + */ + private Long pwdResetUserId; + + /** + * 密码重置时间 + */ + private Date pwdResetTime; + + /** + * 创建人标识 + */ + private String createId; + + /** + * 创建人 + */ + private String createName; + + /** + * 创建时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date createTime; + + /** + * 修改人标识 + */ + private String updateId; + + /** + * 修改人 + */ + private String updateName; + + /** + * 修改时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date updateTime; + + /** + * 外部人员标识 + */ + private String extpersonId; + + /** + * 外部用户标识 + */ + private String extuserId; + + +} diff --git a/lms/nladmin-system/src/main/java/org/nl/system/service/user/dao/mapper/SysUserMapper.java b/lms/nladmin-system/src/main/java/org/nl/system/service/user/dao/mapper/SysUserMapper.java new file mode 100644 index 000000000..92364746d --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/user/dao/mapper/SysUserMapper.java @@ -0,0 +1,37 @@ +package org.nl.system.service.user.dao.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; +import org.nl.common.domain.query.PageQuery; +import org.nl.system.service.user.dao.SysUser; +import org.nl.system.service.user.dto.SysUserDetail; +import org.nl.system.service.user.dto.UserDataPermissionDto; +import org.nl.system.service.user.dto.UserQuery; + +import java.util.List; +import java.util.Map; + +/** + *

+ * 用户表 Mapper 接口 + *

+ * + * @author generator + * @since 2022-12-15 + */ +public interface SysUserMapper extends BaseMapper { + + List getUserDetail(@Param("query") UserQuery query, @Param("page")PageQuery page); + + List> getDetailForMap(@Param("query") UserQuery query, @Param("page")PageQuery page); + + List getUserDataPermissionByPermissionId(String permissionId); + + List getUserDataPermissionByUserId(String userId); + + void deleteDataPermissionById(String userId); + + void insertDataPermission(@Param("dataPermission") UserDataPermissionDto dataPermission); + + List getUserIdByDeptId(String deptId); +} diff --git a/lms/nladmin-system/src/main/java/org/nl/system/service/user/dao/mapper/SysUserMapper.xml b/lms/nladmin-system/src/main/java/org/nl/system/service/user/dao/mapper/SysUserMapper.xml new file mode 100644 index 000000000..bb1a78448 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/user/dao/mapper/SysUserMapper.xml @@ -0,0 +1,143 @@ + + + + + sys_user.user_id as userId, + sys_user.username as username, + sys_user.person_name as personName, + sys_user.gender, + sys_user.phone, + sys_user.email, + sys_user.avatar_name as avatarName, + sys_user.avatar_path as avatarPath, + sys_user.password, + sys_user.is_admin as isAdmin, + sys_user.is_used as isUsed, + sys_user.pwd_reset_user_id as pwdResetUserId, + sys_user.pwd_reset_time as pwdResetTime, + sys_user.create_id as createId, + sys_user.create_name as createName, + sys_user.create_time as createTime, + sys_user.update_id as updateId, + sys_user.update_name as updateName, + sys_user.update_time as updateTime, + sys_user.extperson_id as extpersonId, + sys_user.extuser_id as extuserId + + + INSERT INTO sys_user_data_permission(user_id, permission_scope_type, permission_id) VALUES (#{dataPermission.userId}, #{dataPermission.permissionScopeType}, #{dataPermission.permissionId}) + + + DELETE FROM sys_user_data_permission WHERE user_id = #{userId} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/common/utils/dto/CurrentUser.java b/lms/nladmin-system/src/main/java/org/nl/system/service/user/dto/CurrentUser.java similarity index 74% rename from lms/nladmin-system/src/main/java/org/nl/modules/common/utils/dto/CurrentUser.java rename to lms/nladmin-system/src/main/java/org/nl/system/service/user/dto/CurrentUser.java index bbf7bdf4b..02d6e5f93 100644 --- a/lms/nladmin-system/src/main/java/org/nl/modules/common/utils/dto/CurrentUser.java +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/user/dto/CurrentUser.java @@ -1,9 +1,9 @@ -package org.nl.modules.common.utils.dto; +package org.nl.system.service.user.dto; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import lombok.Data; -import org.nl.modules.system.service.dto.UserDto; +import org.nl.system.service.user.dao.SysUser; import java.io.Serializable; import java.util.ArrayList; @@ -17,15 +17,17 @@ import java.util.List; @Data public class CurrentUser implements Serializable { @JsonSerialize(using = ToStringSerializer.class) - private Long id; + private String id; //账号 private String username; //姓名 - private String nickName; + private String presonName; //用户详细信息 - private UserDto user; + private SysUser user; private List permissions = new ArrayList<>(); + + private String domain; } diff --git a/lms/nladmin-system/src/main/java/org/nl/system/service/user/dto/OnlineUserDto.java b/lms/nladmin-system/src/main/java/org/nl/system/service/user/dto/OnlineUserDto.java new file mode 100644 index 000000000..18eccae9c --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/user/dto/OnlineUserDto.java @@ -0,0 +1,74 @@ +/* + * Copyright 2019-2020 Zheng Jie + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.nl.system.service.user.dto; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; + +/** + * 在线用户 + * @author Zheng Jie + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class OnlineUserDto { + + /** + * 用户名 + */ + private String userName; + + /** + * 昵称 + */ + private String nickName; + + /** + * 岗位 + */ + private String dept; + + /** + * 浏览器 + */ + private String browser; + + /** + * IP + */ + private String ip; + + /** + * 地址 + */ + private String address; + + /** + * token + */ + private String key; + + /** + * 登录时间 + */ + private Date loginTime; + + +} diff --git a/lms/nladmin-system/src/main/java/org/nl/system/service/user/dto/SysUserDetail.java b/lms/nladmin-system/src/main/java/org/nl/system/service/user/dto/SysUserDetail.java new file mode 100644 index 000000000..ae54c69cb --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/user/dto/SysUserDetail.java @@ -0,0 +1,19 @@ +package org.nl.system.service.user.dto; + +import lombok.Data; +import org.nl.system.service.dept.dao.SysDept; +import org.nl.system.service.role.dao.SysRole; +import org.nl.system.service.user.dao.SysUser; + +import java.util.List; + +/* + * @author ZZQ + * @Date 2022/12/16 10:02 上午 + */ +@Data +public class SysUserDetail extends SysUser { + private List depts; + + private List roles; +} diff --git a/lms/nladmin-system/src/main/java/org/nl/system/service/user/dto/UserDataPermissionDto.java b/lms/nladmin-system/src/main/java/org/nl/system/service/user/dto/UserDataPermissionDto.java new file mode 100644 index 000000000..841440567 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/user/dto/UserDataPermissionDto.java @@ -0,0 +1,31 @@ +package org.nl.system.service.user.dto; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; +import java.util.List; + +/** + * @Author: lyd + * @Description: 用户-权限表 + * @Date: 2022/12/20 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("sys_user_data_permission") +public class UserDataPermissionDto implements Serializable { + private String userId; + + private String permissionScopeType; + + private String permissionId; + + @TableField(exist = false) + private List users; + + @TableField(exist = false) + private List depts; +} diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/dto/UserDto.java b/lms/nladmin-system/src/main/java/org/nl/system/service/user/dto/UserDto.java similarity index 87% rename from lms/nladmin-system/src/main/java/org/nl/modules/system/service/dto/UserDto.java rename to lms/nladmin-system/src/main/java/org/nl/system/service/user/dto/UserDto.java index 11d92f4c8..8d09843c8 100644 --- a/lms/nladmin-system/src/main/java/org/nl/modules/system/service/dto/UserDto.java +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/user/dto/UserDto.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.nl.modules.system.service.dto; +package org.nl.system.service.user.dto; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.databind.annotation.JsonSerialize; @@ -24,7 +24,6 @@ import org.nl.modules.common.base.BaseDTO; import java.io.Serializable; import java.util.Date; -import java.util.Set; /** * @author Zheng Jie @@ -34,17 +33,14 @@ import java.util.Set; @Setter public class UserDto extends BaseDTO implements Serializable { @JsonSerialize(using = ToStringSerializer.class) - private Long id; + private String id; - private Set roles; +// private Set roles; - private DeptSmallDto dept; - - private Long deptId; private String username; - private String nickName; + private String personName; private String email; diff --git a/lms/nladmin-system/src/main/java/org/nl/system/service/user/dto/UserQuery.java b/lms/nladmin-system/src/main/java/org/nl/system/service/user/dto/UserQuery.java new file mode 100644 index 000000000..801df384d --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/user/dto/UserQuery.java @@ -0,0 +1,22 @@ +package org.nl.system.service.user.dto; + +import lombok.Data; +import org.nl.common.domain.query.BaseQuery; +import org.nl.common.domain.query.QParam; +import org.nl.common.enums.QueryTEnum; +import org.nl.system.service.user.dao.SysUser; + +/* + * @author ZZQ + * @Date 2022/12/15 9:53 上午 + */ +@Data +public class UserQuery extends BaseQuery { + + private Long deptId; + + @Override + public void paramMapping() { + this.doP.put("deptId", QParam.builder().k(new String[]{"deptId"}).type(QueryTEnum.LK).build()); + } +} diff --git a/lms/nladmin-system/src/main/java/org/nl/system/service/user/impl/ISysUserServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/system/service/user/impl/ISysUserServiceImpl.java new file mode 100644 index 000000000..38e9d9b3c --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/user/impl/ISysUserServiceImpl.java @@ -0,0 +1,163 @@ +package org.nl.system.service.user.impl; + +import cn.dev33.satoken.secure.SaSecureUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.SneakyThrows; +import org.apache.commons.beanutils.BeanUtils; +import org.apache.commons.beanutils.ConvertUtils; +import org.apache.commons.beanutils.Converter; +import org.nl.common.domain.query.PageQuery; +import org.nl.common.utils.IdUtil; +import org.nl.common.utils.SecurityUtils; +import org.nl.modules.common.config.FileProperties; +import org.nl.modules.common.utils.FileUtil; +import org.nl.system.service.dept.ISysDeptService; +import org.nl.system.service.role.ISysRoleService; +import org.nl.system.service.user.ISysUserService; +import org.nl.system.service.user.dao.SysUser; +import org.nl.system.service.user.dao.mapper.SysUserMapper; +import org.nl.system.service.user.dto.SysUserDetail; +import org.nl.system.service.user.dto.UserDataPermissionDto; +import org.nl.system.service.user.dto.UserQuery; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; +import org.springframework.web.multipart.MultipartFile; + +import java.io.File; +import java.text.SimpleDateFormat; +import java.util.*; + +/** + *

+ * 用户表 服务实现类 + *

+ * + * @author generator + * @since 2022-12-15 + */ +@Service +public class ISysUserServiceImpl extends ServiceImpl implements ISysUserService { + + @Autowired + private FileProperties properties; + @Autowired + private SysUserMapper sysUserMapper; + @Autowired + private ISysDeptService deptService; + @Autowired + private ISysRoleService roleService; + + @Override + public Map updateAvatar(MultipartFile multipartFile) { + SysUser user = this.getOne(new QueryWrapper().eq("username", SecurityUtils.getCurrentUsername())); + String oldPath = user.getAvatarPath(); + File file = FileUtil.upload(multipartFile, properties.getPath().getAvatar()); + user.setAvatarPath(Objects.requireNonNull(file).getPath()); + user.setAvatarName(file.getName()); + this.saveOrUpdate(user); + if (StrUtil.isNotEmpty(oldPath)) { + FileUtil.del(oldPath); + } + return new HashMap(1) {{ + put("avatar", file.getName()); + }}; + } + + @Override + public List getUserDetail(UserQuery query, PageQuery pageQuery) { + List userDetail = sysUserMapper.getUserDetail(query, pageQuery); + return userDetail; + } + + @Override + @Transactional(rollbackFor = Exception.class) + @SneakyThrows + public void create(Map userDetail) { + SysUser sysUser = new SysUser(); + BeanUtils.populate(sysUser,userDetail); + // 默认密码 123456 + if (ObjectUtil.isEmpty(sysUser.getPassword())) { + sysUser.setPassword(SaSecureUtil.md5BySalt("123456", "salt")); + } else { + sysUser.setPassword(SaSecureUtil.md5BySalt(sysUser.getPassword(), "salt")); + } + String userId = IdUtil.getStringId(); + sysUser.setUserId(userId); + this.save(sysUser); + if (userDetail.get("depts") !=null){ + deptService.saveUserDeptRelation(userId,(List)userDetail.get("depts")); + }; + if (userDetail.get("roles") !=null){ + roleService.saveUserRoleRelation(userId,(List)userDetail.get("roles")); + }; + } + + @Override + @Transactional + public void update(Map userDetail) { + if(CollectionUtils.isEmpty(userDetail)|| userDetail.get("userId")==null){ + return; + } + + SysUser sysUser = new SysUser(); + org.springframework.beans.BeanUtils.copyProperties(userDetail,sysUser); + //转换器 + ConvertUtils.register(new Converter() { + @Override + public Object convert(Class aClass, Object o) { + try { + if (o == null){ return null; } + return new SimpleDateFormat("yyyy-MM-dd").parse(o.toString()); + }catch (Exception ex){ + return null; + } + } + }, Date.class); + try { + BeanUtils.populate(sysUser,userDetail); + }catch (Exception ex){ + throw new RuntimeException(); + } + sysUser.setUpdateTime(new Date()); + sysUser.setUpdateId(SecurityUtils.getCurrentUserId()); + this.updateById(sysUser); + if (userDetail.get("deptIds")!=null){ + deptService.delUserDeptRelation(sysUser.getUserId()); + deptService.saveUserDeptRelation(sysUser.getUserId(), (List) userDetail.get("deptIds")); + }; + if (userDetail.get("rolesIds") !=null){ + roleService.delUserRoleRelation(sysUser.getUserId()); + roleService.saveUserRoleRelation(sysUser.getUserId(),(List) userDetail.get("rolesIds")); + } + } + + @Override + public List getUserDataPermissionByPermissionId(String permissionId) { + return sysUserMapper.getUserDataPermissionByPermissionId(permissionId); + } + + @Override + public List getUserDataPermissionByUserId(String userId) { + return sysUserMapper.getUserDataPermissionByUserId(userId); + } + + @Override + public void deleteDataPermissionById(String userId) { + sysUserMapper.deleteDataPermissionById(userId); + } + + @Override + public void insertDataPermission(UserDataPermissionDto userDataPermissionDto) { + sysUserMapper.insertDataPermission(userDataPermissionDto); + } + + @Override + public List getUserIdByDeptId(String deptId) { + return sysUserMapper.getUserIdByDeptId(deptId); + } +} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/autotask/CleanLog.java b/lms/nladmin-system/src/main/java/org/nl/wms/autotask/CleanLog.java index 3d82c433b..6ca865225 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/autotask/CleanLog.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/autotask/CleanLog.java @@ -2,8 +2,8 @@ package org.nl.wms.autotask; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.nl.modules.system.service.ParamService; import org.nl.modules.wql.core.bean.WQLObject; +import org.nl.system.service.param.ISysParamService; import org.springframework.stereotype.Component; /** @@ -13,7 +13,7 @@ import org.springframework.stereotype.Component; @Component @RequiredArgsConstructor public class CleanLog { - private final ParamService paramService; + private final ISysParamService paramService; public void run(){ //delete from sys_log where DATE(create_time) <= DATE(DATE_SUB(NOW(),INTERVAL 30 day)) limit 10; diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/BusinesstypematerialDto.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/BusinesstypematerialDto.java index 1d25b2e80..acc7dd2f4 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/BusinesstypematerialDto.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/BusinesstypematerialDto.java @@ -44,7 +44,7 @@ public class BusinesstypematerialDto implements Serializable { private String is_used; /** 创建人 */ - private Long create_id; + private String create_id; /** 创建人姓名 */ private String create_name; @@ -53,7 +53,7 @@ public class BusinesstypematerialDto implements Serializable { private String create_time; /** 修改人 */ - private Long update_optid; + private String update_optid; /** 修改人姓名 */ private String update_optname; diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/ClassstandardDto.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/ClassstandardDto.java index 2ddb62900..2ad8af16f 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/ClassstandardDto.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/ClassstandardDto.java @@ -45,13 +45,13 @@ public class ClassstandardDto implements Serializable { private String ext_parent_id; - private Long create_id; + private String create_id; private String create_name; private String create_time; - private Long update_optid; + private String update_optid; private String update_optname; diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/CustomerbaseDto.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/CustomerbaseDto.java index e3bf30b64..6f663ebe1 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/CustomerbaseDto.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/CustomerbaseDto.java @@ -108,7 +108,7 @@ public class CustomerbaseDto implements Serializable { /** * 创建人 */ - private Long create_id; + private String create_id; /** * 创建人姓名 @@ -123,7 +123,7 @@ public class CustomerbaseDto implements Serializable { /** * 修改人 */ - private Long update_optid; + private String update_optid; /** * 修改人姓名 diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/EndrealsemimaterialDto.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/EndrealsemimaterialDto.java index 221b61122..6fa00fd1f 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/EndrealsemimaterialDto.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/EndrealsemimaterialDto.java @@ -26,7 +26,7 @@ public class EndrealsemimaterialDto implements Serializable { private Long semi_material_id; /** 创建人 */ - private Long create_id; + private String create_id; /** 创建人姓名 */ private String create_name; @@ -35,7 +35,7 @@ public class EndrealsemimaterialDto implements Serializable { private String create_time; /** 修改人 */ - private Long update_optid; + private String update_optid; /** 修改人姓名 */ private String update_optname; diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/MaterialParametersDto.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/MaterialParametersDto.java index 6ebacb2b1..57da97a97 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/MaterialParametersDto.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/MaterialParametersDto.java @@ -61,13 +61,13 @@ public class MaterialParametersDto implements Serializable { private BigDecimal cubage; - private Long create_id; + private String create_id; private String create_name; private String create_time; - private Long update_optid; + private String update_optid; private String update_optname; diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/MaterialbaseDto.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/MaterialbaseDto.java index ce3519244..5b7c92807 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/MaterialbaseDto.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/MaterialbaseDto.java @@ -72,13 +72,13 @@ public class MaterialbaseDto implements Serializable { private BigDecimal cubage; - private Long create_id; + private String create_id; private String create_name; private String create_time; - private Long update_optid; + private String update_optid; private String update_optname; diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/SemirealrawmaterialDto.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/SemirealrawmaterialDto.java index 316588d90..44ef9d59e 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/SemirealrawmaterialDto.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/SemirealrawmaterialDto.java @@ -26,7 +26,7 @@ public class SemirealrawmaterialDto implements Serializable { private Long raw_material_id; /** 创建人 */ - private Long create_id; + private String create_id; /** 创建人姓名 */ private String create_name; @@ -35,7 +35,7 @@ public class SemirealrawmaterialDto implements Serializable { private String create_time; /** 修改人 */ - private Long update_optid; + private String update_optid; /** 修改人姓名 */ private String update_optname; diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/StoragevehicleinfoDto.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/StoragevehicleinfoDto.java index 171d9149c..61686636e 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/StoragevehicleinfoDto.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/StoragevehicleinfoDto.java @@ -29,13 +29,13 @@ public class StoragevehicleinfoDto implements Serializable { private String rfid_code; - private Long create_id; + private String create_id; private String create_name; private String create_time; - private Long update_optid; + private String update_optid; private String update_optname; diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/SupplierbaseDto.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/SupplierbaseDto.java index 57fb0b233..1ecb805fe 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/SupplierbaseDto.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/SupplierbaseDto.java @@ -53,7 +53,7 @@ public class SupplierbaseDto implements Serializable { private String corp_address; /** 创建人 */ - private Long create_id; + private String create_id; /** 创建人姓名 */ private String create_name; @@ -62,7 +62,7 @@ public class SupplierbaseDto implements Serializable { private String create_time; /** 修改人 */ - private Long update_optid; + private String update_optid; /** 修改人姓名 */ private String update_optname; diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/TransportationbaseDto.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/TransportationbaseDto.java index fc22e0e2e..0a638bf1e 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/TransportationbaseDto.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/dto/TransportationbaseDto.java @@ -109,7 +109,7 @@ public class TransportationbaseDto implements Serializable { /** * 创建人 */ - private Long create_id; + private String create_id; /** * 创建人姓名 @@ -124,7 +124,7 @@ public class TransportationbaseDto implements Serializable { /** * 修改人 */ - private Long update_optid; + private String update_optid; /** * 修改人姓名 diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/ClassstandardServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/ClassstandardServiceImpl.java index 64856070a..50736c2f5 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/ClassstandardServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/ClassstandardServiceImpl.java @@ -14,7 +14,7 @@ import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.utils.SecurityUtils; +import org.nl.common.utils.SecurityUtils; import org.nl.modules.wql.WQL; import org.nl.modules.wql.core.bean.ResultBean; import org.nl.modules.wql.core.bean.WQLObject; @@ -103,7 +103,7 @@ public class ClassstandardServiceImpl implements ClassstandardService { if (classstandardDto != null && classstandardDto.getIs_delete().equals("0") ) { throw new BadRequestException("存在相同的基础类别编号"); } - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -151,7 +151,7 @@ public class ClassstandardServiceImpl implements ClassstandardService { throw new BadRequestException("上级不能为自己"); } - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -171,7 +171,7 @@ public class ClassstandardServiceImpl implements ClassstandardService { @Override @Transactional(rollbackFor = Exception.class) public void deleteAll(Long[] ids) { - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/CustomerbaseServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/CustomerbaseServiceImpl.java index 36bae9b95..524f831c1 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/CustomerbaseServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/CustomerbaseServiceImpl.java @@ -12,7 +12,7 @@ import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.utils.SecurityUtils; +import org.nl.common.utils.SecurityUtils; import org.nl.wms.basedata.master.service.ClassstandardService; import org.nl.wms.basedata.master.service.CustomerbaseService; import org.nl.wms.basedata.master.service.dto.ClassstandardDto; @@ -88,7 +88,7 @@ public class CustomerbaseServiceImpl implements CustomerbaseService { throw new BadRequestException("存在相同的客户编号"); } - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -119,7 +119,7 @@ public class CustomerbaseServiceImpl implements CustomerbaseService { throw new BadRequestException("存在相同的客户编号"); } - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -135,7 +135,7 @@ public class CustomerbaseServiceImpl implements CustomerbaseService { @Override @Transactional(rollbackFor = Exception.class) public void deleteAll(Long[] ids) { - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/InterfacebackServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/InterfacebackServiceImpl.java index 4a5bcb961..65c5e3947 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/InterfacebackServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/InterfacebackServiceImpl.java @@ -21,7 +21,7 @@ import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.IdUtil; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; -import org.nl.modules.common.utils.SecurityUtils; +import org.nl.common.utils.SecurityUtils; import org.nl.modules.wql.core.bean.ResultBean; import org.nl.modules.wql.core.bean.WQLObject; import org.nl.modules.wql.util.WqlUtil; diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/MaterialbaseServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/MaterialbaseServiceImpl.java index 77310aef8..4a7a1d255 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/MaterialbaseServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/MaterialbaseServiceImpl.java @@ -13,7 +13,7 @@ import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.utils.SecurityUtils; +import org.nl.common.utils.SecurityUtils; import org.nl.wms.basedata.master.constant.MaterOptTypeEnum; import org.nl.wms.basedata.master.service.ClassstandardService; import org.nl.wms.basedata.master.service.MaterialbaseService; @@ -134,7 +134,7 @@ public class MaterialbaseServiceImpl implements MaterialbaseService { @Override @Transactional(rollbackFor = Exception.class) public void create(MaterialbaseDto dto) { - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -158,7 +158,7 @@ public class MaterialbaseServiceImpl implements MaterialbaseService { throw new BadRequestException("被删除或无权限,操作失败!"); } - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -173,7 +173,7 @@ public class MaterialbaseServiceImpl implements MaterialbaseService { @Override @Transactional(rollbackFor = Exception.class) public void deleteAll(Long[] ids) { - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/StoragevehicleinfoServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/StoragevehicleinfoServiceImpl.java index 1efb7731a..4cd4a1373 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/StoragevehicleinfoServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/StoragevehicleinfoServiceImpl.java @@ -15,7 +15,7 @@ import lombok.extern.slf4j.Slf4j; import org.nl.modules.common.exception.BadRequestException; import org.nl.modules.system.service.impl.GenCodeServiceImpl; import org.nl.modules.system.util.CodeUtil; -import org.nl.modules.common.utils.SecurityUtils; +import org.nl.common.utils.SecurityUtils; import org.nl.wms.basedata.master.service.StoragevehicleinfoService; import org.nl.wms.basedata.master.service.dto.StoragevehicleinfoDto; import org.nl.modules.wql.WQL; @@ -104,7 +104,7 @@ public class StoragevehicleinfoServiceImpl implements StoragevehicleinfoService if (!ObjectUtil.isEmpty(jsonObject)) { throw new BadRequestException("此载具已存在"); } - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -150,7 +150,7 @@ public class StoragevehicleinfoServiceImpl implements StoragevehicleinfoService StoragevehicleinfoDto entity = this.findById(dto.getStoragevehicle_id()); if (entity == null) throw new BadRequestException("被删除或无权限,操作失败!"); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -165,7 +165,7 @@ public class StoragevehicleinfoServiceImpl implements StoragevehicleinfoService @Override @Transactional(rollbackFor = Exception.class) public void deleteAll(Long[] ids) { - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -184,7 +184,7 @@ public class StoragevehicleinfoServiceImpl implements StoragevehicleinfoService @Override @Transactional(rollbackFor = Exception.class) public void changeActive(JSONObject json) { - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/SupplierbaseServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/SupplierbaseServiceImpl.java index 91676ab26..c60baf8ab 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/SupplierbaseServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/SupplierbaseServiceImpl.java @@ -12,7 +12,7 @@ import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.utils.SecurityUtils; +import org.nl.common.utils.SecurityUtils; import org.nl.wms.basedata.master.service.ClassstandardService; import org.nl.wms.basedata.master.service.SupplierbaseService; import org.nl.wms.basedata.master.service.dto.ClassstandardDto; @@ -87,7 +87,7 @@ public class SupplierbaseServiceImpl implements SupplierbaseService { if (supplierbaseDto != null && supplierbaseDto.getIs_delete().equals("0")) { throw new BadRequestException("存在相同的供应商编号"); } - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -128,7 +128,7 @@ public class SupplierbaseServiceImpl implements SupplierbaseService { throw new BadRequestException("存在相同的供应商编号"); } - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -144,7 +144,7 @@ public class SupplierbaseServiceImpl implements SupplierbaseService { @Override @Transactional(rollbackFor = Exception.class) public void deleteAll(Long[] ids) { - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/TransportationbaseServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/TransportationbaseServiceImpl.java index 221ea60d5..4ab959619 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/TransportationbaseServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/TransportationbaseServiceImpl.java @@ -12,7 +12,7 @@ import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.utils.SecurityUtils; +import org.nl.common.utils.SecurityUtils; import org.nl.modules.wql.WQL; import org.nl.modules.wql.core.bean.ResultBean; import org.nl.modules.wql.core.bean.WQLObject; @@ -87,7 +87,7 @@ public class TransportationbaseServiceImpl implements TransportationbaseService JSONObject jsonObject = tab.query("cust_code = '" + dto.getCust_code() + "'").uniqueResult(0); if (ObjectUtil.isNotEmpty(jsonObject)) throw new BadRequestException("此编码已存在"); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -110,7 +110,7 @@ public class TransportationbaseServiceImpl implements TransportationbaseService TransportationbaseDto entity = this.findById(dto.getCust_id()); if (entity == null) throw new BadRequestException("被删除或无权限,操作失败!"); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -126,7 +126,7 @@ public class TransportationbaseServiceImpl implements TransportationbaseService @Override @Transactional(rollbackFor = Exception.class) public void deleteAll(Long[] ids) { - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/UnitServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/UnitServiceImpl.java index d06950b72..8014a24aa 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/UnitServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/UnitServiceImpl.java @@ -12,7 +12,7 @@ import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.utils.SecurityUtils; +import org.nl.common.utils.SecurityUtils; import org.nl.wms.basedata.master.service.UnitService; import org.nl.wms.basedata.master.service.dto.UnitDto; import org.nl.modules.wql.core.bean.ResultBean; @@ -83,7 +83,7 @@ public class UnitServiceImpl implements UnitService { throw new BadRequestException("存在相同的编码"); } - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -116,7 +116,7 @@ public class UnitServiceImpl implements UnitService { throw new BadRequestException("存在相同的编码"); } - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); dto.setUpdate_time(now); @@ -139,7 +139,7 @@ public class UnitServiceImpl implements UnitService { @Override @Transactional(rollbackFor = Exception.class) public void deleteAll(String[] ids) { - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/StoreIvtServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/StoreIvtServiceImpl.java index 45cf89de5..40993f5c0 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/StoreIvtServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/StoreIvtServiceImpl.java @@ -6,7 +6,7 @@ import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONObject; import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.utils.SecurityUtils; +import org.nl.common.utils.SecurityUtils; import org.nl.modules.wql.core.bean.WQLObject; import java.math.BigDecimal; diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/dto/SectattrDto.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/dto/SectattrDto.java index be570484f..c828b4eff 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/dto/SectattrDto.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/dto/SectattrDto.java @@ -72,7 +72,7 @@ public class SectattrDto implements Serializable { private String remark; /** 创建人 */ - private Long create_id; + private String create_id; /** 创建人姓名 */ private String create_name; @@ -81,7 +81,7 @@ public class SectattrDto implements Serializable { private String create_time; /** 修改人 */ - private Long update_optid; + private String update_optid; /** 修改人姓名 */ private String update_optname; diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/dto/StorattrDto.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/dto/StorattrDto.java index fb16efef1..11cc9335d 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/dto/StorattrDto.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/dto/StorattrDto.java @@ -76,13 +76,13 @@ public class StorattrDto implements Serializable { private String base_class_id; - private Long create_id; + private String create_id; private String create_name; private String create_time; - private Long update_optid; + private String update_optid; private String update_optname; diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/dto/StructattrDto.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/dto/StructattrDto.java index cba9cbcca..7182dac18 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/dto/StructattrDto.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/dto/StructattrDto.java @@ -78,7 +78,7 @@ public class StructattrDto implements Serializable { private String is_tempstruct; /** 创建人 */ - private Long create_id; + private String create_id; /** 创建人姓名 */ private String create_name; @@ -87,7 +87,7 @@ public class StructattrDto implements Serializable { private String create_time; /** 修改人 */ - private Long update_optid; + private String update_optid; /** 修改人姓名 */ private String update_optname; diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/impl/SectattrServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/impl/SectattrServiceImpl.java index 74265a681..b7168376c 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/impl/SectattrServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/impl/SectattrServiceImpl.java @@ -12,7 +12,7 @@ import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.utils.SecurityUtils; +import org.nl.common.utils.SecurityUtils; import org.nl.wms.basedata.st.service.SectattrService; import org.nl.wms.basedata.st.service.StorattrService; import org.nl.wms.basedata.st.service.dto.SectattrDto; @@ -96,7 +96,7 @@ public class SectattrServiceImpl implements SectattrService { JSONObject json2 = tab.query("sect_code = '" + sect_code + "' and stor_id = '" + dto.getStor_id() + "'").uniqueResult(0); if (ObjectUtil.isNotEmpty(json2)) throw new BadRequestException("存在相同仓库的库区编号"); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -132,7 +132,7 @@ public class SectattrServiceImpl implements SectattrService { WQLObject tab = WQLObject.getWQLObject("st_ivt_sectattr"); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -153,7 +153,7 @@ public class SectattrServiceImpl implements SectattrService { @Override @Transactional(rollbackFor = Exception.class) public void deleteAll(Long[] ids) { - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -237,7 +237,7 @@ public class SectattrServiceImpl implements SectattrService { throw new BadRequestException("该库区所属的仓库已禁用,请先启用该仓库!"); } - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/impl/StorattrServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/impl/StorattrServiceImpl.java index 6fccddd7f..c4bce773b 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/impl/StorattrServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/impl/StorattrServiceImpl.java @@ -12,7 +12,7 @@ import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.utils.SecurityUtils; +import org.nl.common.utils.SecurityUtils; import org.nl.wms.basedata.st.service.StorattrService; import org.nl.wms.basedata.st.service.dto.StorattrDto; import org.nl.modules.wql.WQL; @@ -82,7 +82,7 @@ public class StorattrServiceImpl implements StorattrService { if (storattrDto != null && storattrDto.getIs_delete().equals("0")) { throw new BadRequestException("存在相同的仓库编号"); } - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -116,7 +116,7 @@ public class StorattrServiceImpl implements StorattrService { throw new BadRequestException("存在相同的供应商编号"); } - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -133,7 +133,7 @@ public class StorattrServiceImpl implements StorattrService { @Override @Transactional(rollbackFor = Exception.class) public void deleteAll(Long[] ids) { - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -186,7 +186,7 @@ public class StorattrServiceImpl implements StorattrService { @Override @Transactional(rollbackFor = Exception.class) public void changeActive(JSONObject json) { - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/impl/StructattrServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/impl/StructattrServiceImpl.java index 74571649d..ba18e91a6 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/impl/StructattrServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/impl/StructattrServiceImpl.java @@ -12,7 +12,7 @@ import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.utils.SecurityUtils; +import org.nl.common.utils.SecurityUtils; import org.nl.wms.basedata.st.service.SectattrService; import org.nl.wms.basedata.st.service.StorattrService; import org.nl.wms.basedata.st.service.StructattrService; @@ -102,7 +102,7 @@ public class StructattrServiceImpl implements StructattrService { if (structattrDto != null && structattrDto.getIs_delete().equals("0")) { throw new BadRequestException("存在相同的库区编号"); } - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -160,7 +160,7 @@ public class StructattrServiceImpl implements StructattrService { throw new BadRequestException("存在相同的库区编号"); } - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -192,7 +192,7 @@ public class StructattrServiceImpl implements StructattrService { @Override @Transactional(rollbackFor = Exception.class) public void deleteAll(Long[] ids) { - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -217,7 +217,7 @@ public class StructattrServiceImpl implements StructattrService { if (ObjectUtil.isEmpty(st_ivt_bsRealStorAttr)){ throw new BadRequestException("该仓位所属的库区已禁用,请先启用该库区!"); } - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String struct_id = json.getString("struct_id"); String now = DateUtil.now(); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/impl/StructivtServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/impl/StructivtServiceImpl.java index cfd57d5a3..8ef86805e 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/impl/StructivtServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/impl/StructivtServiceImpl.java @@ -14,7 +14,7 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.modules.common.exception.BadRequestException; import org.nl.modules.common.utils.FileUtil; -import org.nl.modules.common.utils.SecurityUtils; +import org.nl.common.utils.SecurityUtils; import org.nl.wms.basedata.master.service.ClassstandardService; import org.nl.wms.basedata.st.service.StructivtService; import org.nl.wms.basedata.st.service.dto.StructivtDto; @@ -136,7 +136,7 @@ public class StructivtServiceImpl implements StructivtService { @Override @Transactional(rollbackFor = Exception.class) public void deleteAll(Long[] ids) { - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/impl/StructrelamaterialServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/impl/StructrelamaterialServiceImpl.java index 3ffd99ea7..230f5e7d8 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/impl/StructrelamaterialServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/impl/StructrelamaterialServiceImpl.java @@ -12,7 +12,7 @@ import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.utils.SecurityUtils; +import org.nl.common.utils.SecurityUtils; import org.nl.wms.basedata.master.service.ClassstandardService; import org.nl.wms.basedata.st.service.StructrelamaterialService; import org.nl.wms.basedata.st.service.dto.StructrelamaterialDto; @@ -91,7 +91,7 @@ public class StructrelamaterialServiceImpl implements StructrelamaterialService @Override @Transactional(rollbackFor = Exception.class) public void create(StructrelamaterialDto dto) { - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -120,7 +120,7 @@ public class StructrelamaterialServiceImpl implements StructrelamaterialService @Override @Transactional(rollbackFor = Exception.class) public void deleteAll(Long[] ids) { - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -138,7 +138,7 @@ public class StructrelamaterialServiceImpl implements StructrelamaterialService @Override public void insertSet(Map whereJson) { - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); WQLObject mater = WQLObject.getWQLObject("ST_IVT_StructRelaMaterial"); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/impl/UserStorServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/impl/UserStorServiceImpl.java index 6ce64ad23..cb443f346 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/impl/UserStorServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/impl/UserStorServiceImpl.java @@ -9,7 +9,7 @@ import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.utils.SecurityUtils; +import org.nl.common.utils.SecurityUtils; import org.nl.modules.system.util.CodeUtil; import org.nl.modules.wql.WQL; import org.nl.modules.wql.core.bean.WQLObject; diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java index e8576561b..eeb283675 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java @@ -8,10 +8,12 @@ import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.system.service.impl.ParamServiceImpl; + import org.nl.modules.wql.WQL; import org.nl.modules.wql.core.bean.WQLObject; import org.nl.modules.wql.util.SpringContextHolder; +import org.nl.system.service.param.ISysParamService; +import org.nl.system.service.param.impl.SysParamServiceImpl; import org.nl.wms.ext.acs.service.AcsToWmsService; import org.nl.wms.log.LokiLog; import org.nl.wms.log.LokiLogType; @@ -359,10 +361,10 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { String print_code = ""; switch (print_type) { case "1": - print_code = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("print_device1").getValue(); + print_code = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("print_device1").getValue(); break; case "2": - print_code = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("print_device2").getValue(); + print_code = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("print_device2").getValue(); break; default: throw new BadRequestException("未查询到对应打印机!"); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/ext/crm/service/impl/CrmToLmsServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/ext/crm/service/impl/CrmToLmsServiceImpl.java index 32e786a99..91b0fd249 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/ext/crm/service/impl/CrmToLmsServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/ext/crm/service/impl/CrmToLmsServiceImpl.java @@ -8,7 +8,7 @@ import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.nl.modules.common.utils.SecurityUtils; +import org.nl.common.utils.SecurityUtils; import org.nl.modules.wql.WQL; import org.nl.wms.ext.crm.service.CrmToLmsService; import org.nl.modules.wql.core.bean.WQLObject; @@ -58,7 +58,7 @@ public class CrmToLmsServiceImpl implements CrmToLmsService { log.info(jo.toString()); //插入客户表 - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/ext/mes/service/impl/LmsToMesServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/ext/mes/service/impl/LmsToMesServiceImpl.java index cee816f9e..426345c45 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/ext/mes/service/impl/LmsToMesServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/ext/mes/service/impl/LmsToMesServiceImpl.java @@ -8,8 +8,9 @@ import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.system.service.impl.ParamServiceImpl; + import org.nl.modules.wql.util.SpringContextHolder; +import org.nl.system.service.param.impl.SysParamServiceImpl; import org.nl.wms.ext.mes.service.LmsToMesService; import org.nl.wms.log.LokiLog; import org.nl.wms.log.LokiLogType; @@ -46,14 +47,14 @@ public class LmsToMesServiceImpl implements LmsToMesService { return result; } - String UserName = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("MES_USERNAME").getValue(); - String Password = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("MES_PASSWORD").getValue(); + String UserName = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("MES_USERNAME").getValue(); + String Password = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("MES_PASSWORD").getValue(); param.put("UserName",UserName); param.put("Password",Password); // String url = acsUrl + api; - String url = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("MES_URL").getValue(); + String url = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("MES_URL").getValue(); String api = ""; url = url + api; try { @@ -96,7 +97,7 @@ public class LmsToMesServiceImpl implements LmsToMesService { JSONArray list = new JSONArray(); // String url = acsUrl + api; - String url = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("MES_URL").getValue(); + String url = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("MES_URL").getValue(); String api = "CamstarApi/MomRollBakeInBound"; url = url + api; try { @@ -137,13 +138,13 @@ public class LmsToMesServiceImpl implements LmsToMesService { } - String UserName = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("MES_USERNAME").getValue(); - String Password = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("MES_PASSWORD").getValue(); + String UserName = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("MES_USERNAME").getValue(); + String Password = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("MES_PASSWORD").getValue(); param.put("UserName",UserName); param.put("Password",Password); // String url = acsUrl + api; - String url = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("MES_URL").getValue(); + String url = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("MES_URL").getValue(); String api = "CamstarApi/MomRollBakeOutBound"; url = url + api; try { @@ -186,7 +187,7 @@ public class LmsToMesServiceImpl implements LmsToMesService { JSONArray list = new JSONArray(); // String url = acsUrl + api; - String url = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("MES_URL").getValue(); + String url = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("MES_URL").getValue(); String api = "CamstarApi/MomRollSemiFGInboundComplete"; url = url + api; try { @@ -237,7 +238,7 @@ public class LmsToMesServiceImpl implements LmsToMesService { jo.put("iisAirSwellAssComplete", 1); // String url = acsUrl + api; - String url = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("MES_URL").getValue(); + String url = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("MES_URL").getValue(); String api = "CamstarApi/AirSwellWithPaperTubeAssComplete"; url = url + api; try { @@ -291,13 +292,13 @@ public class LmsToMesServiceImpl implements LmsToMesService { jo.put("iisAirSwellAssComplete",""); jo.put("iisAirSwellDeliveryComplete",""); - String UserName = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("MES_USERNAME").getValue(); - String Password = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("MES_PASSWORD").getValue(); + String UserName = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("MES_USERNAME").getValue(); + String Password = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("MES_PASSWORD").getValue(); jo.put("UserName",UserName); jo.put("Password",Password); // String url = acsUrl + api; - String url = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("MES_URL").getValue(); + String url = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("MES_URL").getValue(); String api = "CamstarApi/CutPlanMomRollDeliveryComplete"; url = url + api; try { @@ -348,7 +349,7 @@ public class LmsToMesServiceImpl implements LmsToMesService { jo.put("iisAirSwellDeliveryComplete", 1); // String url = acsUrl + api; - String url = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("MES_URL").getValue(); + String url = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("MES_URL").getValue(); String api = "CamstarApi/AirSwellWithPaperTubeAssArrival"; url = url + api; try { @@ -398,13 +399,13 @@ public class LmsToMesServiceImpl implements LmsToMesService { jo.put("iArrivalDate", DateUtil.now()); jo.put("iUser", User); - String UserName = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("MES_USERNAME").getValue(); - String Password = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("MES_PASSWORD").getValue(); + String UserName = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("MES_USERNAME").getValue(); + String Password = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("MES_PASSWORD").getValue(); jo.put("UserName",UserName); jo.put("Password",Password); // String url = acsUrl + api; - String url = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("MES_URL").getValue(); + String url = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("MES_URL").getValue(); String api = "CamstarApi/ChildRollFGInboundComplete"; url = url + api; try { @@ -447,7 +448,7 @@ public class LmsToMesServiceImpl implements LmsToMesService { } // String url = acsUrl + api; - String url = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("MES_URL").getValue(); + String url = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("MES_URL").getValue(); String api = "CamstarApi/ChildRollFGOutboundComplete"; url = url + api; try { @@ -489,12 +490,12 @@ public class LmsToMesServiceImpl implements LmsToMesService { } // String url = acsUrl + api; - String url = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("MES_URL").getValue(); + String url = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("MES_URL").getValue(); String api = "CamstarApi/LMSUnPackage"; url = url + api; - String UserName = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("MES_USERNAME").getValue(); - String Password = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("MES_PASSWORD").getValue(); + String UserName = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("MES_USERNAME").getValue(); + String Password = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("MES_PASSWORD").getValue(); param.put("UserName",UserName); param.put("Password",Password); @@ -537,12 +538,12 @@ public class LmsToMesServiceImpl implements LmsToMesService { } // String url = acsUrl + api; - String url = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("MES_URL").getValue(); + String url = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("MES_URL").getValue(); String api = "CamstarApi/LMSPackage"; url = url + api; - String UserName = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("MES_USERNAME").getValue(); - String Password = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("MES_PASSWORD").getValue(); + String UserName = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("MES_USERNAME").getValue(); + String Password = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("MES_PASSWORD").getValue(); param.put("UserName",UserName); param.put("Password",Password); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/ext/mes/service/impl/MesToLmsServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/ext/mes/service/impl/MesToLmsServiceImpl.java index 1004b49fb..9a9d21719 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/ext/mes/service/impl/MesToLmsServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/ext/mes/service/impl/MesToLmsServiceImpl.java @@ -10,12 +10,13 @@ import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.utils.SecurityUtils; -import org.nl.modules.system.service.impl.ParamServiceImpl; +import org.nl.common.utils.SecurityUtils; + import org.nl.modules.system.util.CodeUtil; import org.nl.modules.wql.WQL; import org.nl.modules.wql.core.bean.WQLObject; import org.nl.modules.wql.util.SpringContextHolder; +import org.nl.system.service.param.impl.SysParamServiceImpl; import org.nl.wms.ext.acs.service.impl.WmsToAcsServiceImpl; import org.nl.wms.ext.mes.service.MesToLmsService; import org.nl.wms.log.LokiLog; @@ -147,7 +148,7 @@ public class MesToLmsServiceImpl implements MesToLmsService { JSONObject result = new JSONObject(); try { - String is_mesTolms = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("is_mesTolms").getValue(); + String is_mesTolms = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("is_mesTolms").getValue(); if (StrUtil.equals(is_mesTolms, "1")) { String ContainerName = param.getString("ContainerName"); String ResourceName = param.getString("ResourceName"); @@ -199,7 +200,7 @@ public class MesToLmsServiceImpl implements MesToLmsService { WQLObject rawTab = WQLObject.getWQLObject("PDM_BI_RawFoilWorkOrder"); // 生箔工单表 try { - String is_mesTolms = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("is_mesTolms").getValue(); + String is_mesTolms = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("is_mesTolms").getValue(); if (StrUtil.equals(is_mesTolms, "1")) { String containerName = param.getString("ContainerName"); String resourceName = param.getString("ResourceName"); @@ -259,7 +260,7 @@ public class MesToLmsServiceImpl implements MesToLmsService { JSONObject jsonParam = new JSONObject(); try { - String is_mesTolms = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("is_mesTolms").getValue(); + String is_mesTolms = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("is_mesTolms").getValue(); if (StrUtil.equals(is_mesTolms, "1")) { String containerName = param.getString("ContainerName"); // 母卷号 String nextSpec = param.getString("NextSpec"); // 下工序:1-入烘箱,2-入冷却 @@ -467,7 +468,7 @@ public class MesToLmsServiceImpl implements MesToLmsService { JSONObject result = new JSONObject(); try { - String is_mesTolms = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("is_mesTolms").getValue(); + String is_mesTolms = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("is_mesTolms").getValue(); if (StrUtil.equals(is_mesTolms, "1")) { String Attribute1 = param.getString("Attribute1"); if (Attribute1.equals("0")) { @@ -543,7 +544,7 @@ public class MesToLmsServiceImpl implements MesToLmsService { task_id = task.createTask(jo); //生成半成品出库单据 - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String currentUsername = SecurityUtils.getCurrentUsername(); JSONObject jsonCool = new JSONObject(); @@ -656,7 +657,7 @@ public class MesToLmsServiceImpl implements MesToLmsService { JSONObject result = new JSONObject(); try { - String is_mesTolms = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("is_mesTolms").getValue(); + String is_mesTolms = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("is_mesTolms").getValue(); if (StrUtil.equals(is_mesTolms, "1")) { String Status = param.getJSONObject(0).getString("Status"); @@ -776,7 +777,7 @@ public class MesToLmsServiceImpl implements MesToLmsService { JSONObject result = new JSONObject(); try { - // String is_mesTolms = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("is_mesTolms").getValue(); + // String is_mesTolms = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("is_mesTolms").getValue(); // if (StrUtil.equals(is_mesTolms, "1")) { String isUnPlanProductionBox = param.getString("isUnPlanProductionBox"); // 是否计划外子卷 @@ -903,7 +904,7 @@ public class MesToLmsServiceImpl implements MesToLmsService { log.info("inventoryTransferInfoSync接口输入参数为:-------------------" + param.toString()); JSONObject result = new JSONObject(); -// String is_mesTolms = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("is_mesTolms").getValue(); +// String is_mesTolms = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("is_mesTolms").getValue(); // if (StrUtil.equals(is_mesTolms, "1")) { try { JSONArray rows = param.getJSONArray("details"); @@ -957,7 +958,7 @@ public class MesToLmsServiceImpl implements MesToLmsService { detail_count += 1; } } - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -1020,7 +1021,7 @@ public class MesToLmsServiceImpl implements MesToLmsService { JSONObject result = new JSONObject(); try { - // String is_mesTolms = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("is_mesTolms").getValue(); + // String is_mesTolms = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("is_mesTolms").getValue(); // if (StrUtil.equals(is_mesTolms, "1")) { String ContainerName = param.getString("ContainerName"); @@ -1028,7 +1029,7 @@ public class MesToLmsServiceImpl implements MesToLmsService { String isUnPlanProduction = param.getString("isUnPlanProduction"); String sale_order_description = param.getString("Attribute1"); if (isUnPlanProduction.equals("1")) { - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); JSONObject sub_jo = WQLObject.getWQLObject("pdm_bi_subpackagerelation").query("container_name = '" + ContainerName + "'").uniqueResult(0); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/ext/sap/service/impl/LmsToSapServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/ext/sap/service/impl/LmsToSapServiceImpl.java index 948cd65eb..cf58447ff 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/ext/sap/service/impl/LmsToSapServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/ext/sap/service/impl/LmsToSapServiceImpl.java @@ -7,8 +7,9 @@ import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.system.service.impl.ParamServiceImpl; + import org.nl.modules.wql.util.SpringContextHolder; +import org.nl.system.service.param.impl.SysParamServiceImpl; import org.nl.wms.ext.sap.service.LmsToSapService; import org.nl.wms.log.LokiLog; import org.nl.wms.log.LokiLogType; @@ -51,9 +52,9 @@ public class LmsToSapServiceImpl implements LmsToSapService { } // String url = acsUrl + api; - String url = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("SAP_URL").getValue(); - String token = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("SAP_TOKEN").getValue(); - String sap_client = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("SAP_CLIENT").getValue(); + String url = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("SAP_URL").getValue(); + String token = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("SAP_TOKEN").getValue(); + String sap_client = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("SAP_CLIENT").getValue(); String api = ""; url = url + "/sap/center/wms/004"; try { @@ -116,9 +117,9 @@ public class LmsToSapServiceImpl implements LmsToSapService { JSONArray list = new JSONArray(); // String url = acsUrl + api; - String url = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("SAP_URL").getValue(); - String token = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("SAP_TOKEN").getValue(); - String sap_client = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("SAP_CLIENT").getValue(); + String url = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("SAP_URL").getValue(); + String token = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("SAP_TOKEN").getValue(); + String sap_client = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("SAP_CLIENT").getValue(); String api = "/sap/center/wms/005"; url = url + api; try { diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/mps/service/dto/ProduceshiftorderDto.java b/lms/nladmin-system/src/main/java/org/nl/wms/mps/service/dto/ProduceshiftorderDto.java index 3bb51b818..7a8892367 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/mps/service/dto/ProduceshiftorderDto.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/mps/service/dto/ProduceshiftorderDto.java @@ -110,7 +110,7 @@ public class ProduceshiftorderDto implements Serializable { /** * 创建人 */ - private Long create_id; + private String create_id; /** * 创建人姓名 @@ -125,7 +125,7 @@ public class ProduceshiftorderDto implements Serializable { /** * 修改人 */ - private Long update_optid; + private String update_optid; /** * 修改人姓名 diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/mps/service/dto/WorkteamDto.java b/lms/nladmin-system/src/main/java/org/nl/wms/mps/service/dto/WorkteamDto.java index 3e41086cd..5685ac0a8 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/mps/service/dto/WorkteamDto.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/mps/service/dto/WorkteamDto.java @@ -35,7 +35,7 @@ public class WorkteamDto implements Serializable { private String is_active; /** 创建人 */ - private Long create_id; + private String create_id; /** 创建人姓名 */ private String create_name; @@ -44,7 +44,7 @@ public class WorkteamDto implements Serializable { private String create_time; /** 修改人 */ - private Long update_optid; + private String update_optid; /** 修改人姓名 */ private String update_optname; @@ -53,10 +53,10 @@ public class WorkteamDto implements Serializable { private String update_time; /** 部门ID */ - private Long sysdeptid; + private String sysdeptid; /** 公司ID */ - private Long syscompanyid; + private String syscompanyid; /** 是否删除 */ private String is_delete; diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/mps/service/impl/PersoncorrdeviceServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/mps/service/impl/PersoncorrdeviceServiceImpl.java index 932766081..517fe8009 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/mps/service/impl/PersoncorrdeviceServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/mps/service/impl/PersoncorrdeviceServiceImpl.java @@ -13,7 +13,7 @@ import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.utils.SecurityUtils; +import org.nl.common.utils.SecurityUtils; import org.nl.wms.mps.service.PersoncorrdeviceService; import org.nl.wms.mps.service.dto.PersoncorrdeviceDto; import org.nl.modules.wql.WQL; @@ -79,7 +79,7 @@ public class PersoncorrdeviceServiceImpl implements PersoncorrdeviceService { @Override @Transactional(rollbackFor = Exception.class) public void create(PersoncorrdeviceDto dto) { - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -96,7 +96,7 @@ public class PersoncorrdeviceServiceImpl implements PersoncorrdeviceService { PersoncorrdeviceDto entity = this.findById(dto.getTeam_person_device_id()); if (entity == null) throw new BadRequestException("被删除或无权限,操作失败!"); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/mps/service/impl/ProduceshiftorderServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/mps/service/impl/ProduceshiftorderServiceImpl.java index f5187fe5c..d5eec3a2a 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/mps/service/impl/ProduceshiftorderServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/mps/service/impl/ProduceshiftorderServiceImpl.java @@ -12,10 +12,12 @@ import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.utils.dto.CurrentUser; -import org.nl.modules.system.service.dto.UserDto; +import org.nl.system.service.dept.ISysDeptService; +import org.nl.system.service.dept.dao.SysDept; +import org.nl.system.service.user.dto.CurrentUser; + import org.nl.modules.system.util.CodeUtil; -import org.nl.modules.common.utils.SecurityUtils; +import org.nl.common.utils.SecurityUtils; import org.nl.wms.basedata.master.service.ClassstandardService; import org.nl.wms.ext.acs.service.WmsToAcsService; import org.nl.wms.mps.service.ProduceshiftorderService; @@ -26,6 +28,7 @@ import org.nl.modules.wql.util.WqlUtil; import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; import java.util.List; import java.util.Map; @@ -42,6 +45,7 @@ public class ProduceshiftorderServiceImpl implements ProduceshiftorderService { private final ClassstandardService classstandardService; private final WmsToAcsService wmsToAcsService; + private final ISysDeptService deptService; @Override public Map queryAll(Map whereJson, Pageable page) { @@ -113,11 +117,10 @@ public class ProduceshiftorderServiceImpl implements ProduceshiftorderService { @Override @Transactional(rollbackFor = Exception.class) public void create(ProduceshiftorderDto dto) { - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); CurrentUser currentUser= SecurityUtils.getCurrentUser(); - Long deptId = currentUser.getUser().getDeptId(); String newCode = CodeUtil.getNewCode("PDM_SHIFTORDER"); dto.setProduceorder_id(IdUtil.getSnowflake(1, 1).nextId()); dto.setProduceorder_code(newCode); @@ -131,8 +134,12 @@ public class ProduceshiftorderServiceImpl implements ProduceshiftorderService { dto.setCreate_time(now); WQLObject wo = WQLObject.getWQLObject("mps_bd_produceshiftorder"); JSONObject json = JSONObject.parseObject(JSON.toJSONString(dto)); - json.put("sysdeptid", deptId); - json.put("syscompanyid", deptId); + List depts = deptService.getUserDeptRelation(currentUser.getId()); + if (!CollectionUtils.isEmpty(depts)){ + String deptId = depts.get(0).getDeptId(); + json.put("sysdeptid", deptId); + json.put("syscompanyid", deptId); + } wo.insert(json); } @@ -142,7 +149,7 @@ public class ProduceshiftorderServiceImpl implements ProduceshiftorderService { ProduceshiftorderDto entity = this.findById(dto.getProduceorder_id()); if (entity == null) throw new BadRequestException("被删除或无权限,操作失败!"); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -158,7 +165,7 @@ public class ProduceshiftorderServiceImpl implements ProduceshiftorderService { @Override @Transactional(rollbackFor = Exception.class) public void deleteAll(Long[] ids) { - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -177,7 +184,7 @@ public class ProduceshiftorderServiceImpl implements ProduceshiftorderService { @Override @Transactional(rollbackFor = Exception.class) public void submits(JSONObject param) { - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -198,7 +205,7 @@ public class ProduceshiftorderServiceImpl implements ProduceshiftorderService { @Override public JSONArray getDevice(JSONObject param) { final String workprocedure_id = param.getString("workprocedure_id"); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); JSONObject map = new JSONObject(); map.put("flag", "4"); map.put("jockey_id", currentUserId + ""); @@ -210,7 +217,7 @@ public class ProduceshiftorderServiceImpl implements ProduceshiftorderService { @Override public JSONArray getTable(JSONObject param) { //获取当前登录用户下的所有设备 - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); JSONObject map1 = new JSONObject(); map1.put("flag", "2"); map1.put("jockey_id", currentUserId + ""); @@ -243,7 +250,7 @@ public class ProduceshiftorderServiceImpl implements ProduceshiftorderService { @Override @Transactional(rollbackFor = Exception.class) public void openStart(JSONObject param) { - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); String device_id = param.getString("device_id"); @@ -333,7 +340,7 @@ public class ProduceshiftorderServiceImpl implements ProduceshiftorderService { @Override @Transactional(rollbackFor = Exception.class) public void saveReport(JSONObject param) { - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); final String report_qty = param.getString("report_qty"); @@ -379,7 +386,7 @@ public class ProduceshiftorderServiceImpl implements ProduceshiftorderService { @Override @Transactional(rollbackFor = Exception.class) public void finish(JSONObject param) { - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); JSONObject row = param.getJSONObject("row"); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/mps/service/impl/WorkteamServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/mps/service/impl/WorkteamServiceImpl.java index 99a838a8c..6df622393 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/mps/service/impl/WorkteamServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/mps/service/impl/WorkteamServiceImpl.java @@ -13,9 +13,11 @@ import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.utils.SecurityUtils; -import org.nl.modules.common.utils.dto.CurrentUser; -import org.nl.modules.system.service.dto.UserDto; +import org.nl.common.utils.SecurityUtils; +import org.nl.system.service.dept.ISysDeptService; +import org.nl.system.service.dept.dao.SysDept; +import org.nl.system.service.user.dto.CurrentUser; + import org.nl.wms.mps.service.WorkteamService; import org.nl.wms.mps.service.dto.WorkteamDto; import org.nl.modules.wql.core.bean.ResultBean; @@ -24,6 +26,7 @@ import org.nl.modules.wql.util.WqlUtil; import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; import java.util.List; import java.util.Map; @@ -38,6 +41,8 @@ import java.util.Map; @Slf4j public class WorkteamServiceImpl implements WorkteamService { + private final ISysDeptService deptService; + @Override public Map queryAll(Map whereJson, Pageable page) { WQLObject wo = WQLObject.getWQLObject("pdm_bi_workteam"); @@ -82,11 +87,10 @@ public class WorkteamServiceImpl implements WorkteamService { @Override @Transactional(rollbackFor = Exception.class) public void create(WorkteamDto dto) { - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); CurrentUser currentUser = SecurityUtils.getCurrentUser(); - Long deptId = currentUser.getUser().getId(); //编码唯一性校验 String team_code = dto.getTeam_code(); @@ -100,8 +104,13 @@ public class WorkteamServiceImpl implements WorkteamService { dto.setUpdate_optname(nickName); dto.setUpdate_time(now); dto.setCreate_time(now); - dto.setSyscompanyid(deptId); - dto.setSysdeptid(deptId); + List depts = deptService.getUserDeptRelation(currentUser.getId()); + if (!CollectionUtils.isEmpty(depts)){ + String deptId = depts.get(0).getDeptId(); + dto.setSyscompanyid(deptId); + dto.setSysdeptid(deptId); + } + WQLObject wo = WQLObject.getWQLObject("pdm_bi_workteam"); JSONObject json = JSONObject.parseObject(JSON.toJSONString(dto)); @@ -123,7 +132,7 @@ public class WorkteamServiceImpl implements WorkteamService { throw new BadRequestException("编码已存在!"); } - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -159,7 +168,7 @@ public class WorkteamServiceImpl implements WorkteamService { @Transactional(rollbackFor = Exception.class) public void changeActive(JSONObject json) { - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/BakingServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/BakingServiceImpl.java index 512fead61..028cd649a 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/BakingServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/BakingServiceImpl.java @@ -10,12 +10,13 @@ import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.utils.SecurityUtils; -import org.nl.modules.system.service.impl.ParamServiceImpl; +import org.nl.common.utils.SecurityUtils; + import org.nl.modules.system.util.CodeUtil; import org.nl.modules.wql.WQL; import org.nl.modules.wql.core.bean.WQLObject; import org.nl.modules.wql.util.SpringContextHolder; +import org.nl.system.service.param.impl.SysParamServiceImpl; import org.nl.wms.ext.acs.service.impl.WmsToAcsServiceImpl; import org.nl.wms.pda.mps.eum.RegionTypeEnum; import org.nl.wms.pda.mps.service.BakingService; @@ -61,7 +62,7 @@ public class BakingServiceImpl implements BakingService { WQLObject rawTab = WQLObject.getWQLObject("PDM_BI_RawFoilWorkOrder"); // 生箔工单表 WQLObject materTab = WQLObject.getWQLObject("md_me_materialbase"); // 物料表 - String temperature_lose = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("temperature_lose").getValue(); + String temperature_lose = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("temperature_lose").getValue(); if (StrUtil.equals(option, "1")) { // 入箱 @@ -214,7 +215,7 @@ public class BakingServiceImpl implements BakingService { // 生成冷却区出入表 - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String currentUsername = SecurityUtils.getCurrentUsername(); JSONObject jsonCool = new JSONObject(); @@ -386,7 +387,7 @@ public class BakingServiceImpl implements BakingService { this.createHotDtl(hotParam);*/ // 生成冷却区出入表 - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String currentUsername = SecurityUtils.getCurrentUsername(); JSONObject jsonRaw = rawTab.query("container_name = '" + container_name + "' and is_delete = '0'").uniqueResult(0); @@ -429,7 +430,7 @@ public class BakingServiceImpl implements BakingService { */ WQLObject hotMstTab = WQLObject.getWQLObject("ST_IVT_HotRegionIOMst"); // 烘箱区出入主表 - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String currentUsername = SecurityUtils.getCurrentUsername(); JSONObject jsonHotMst = new JSONObject(); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/CasingServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/CasingServiceImpl.java index 6a8dc1224..8cd81d060 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/CasingServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/CasingServiceImpl.java @@ -8,7 +8,7 @@ import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.utils.SecurityUtils; +import org.nl.common.utils.SecurityUtils; import org.nl.modules.wql.WQL; import org.nl.modules.wql.core.bean.WQLObject; import org.nl.modules.wql.core.content.HttpContext; @@ -59,7 +59,7 @@ public class CasingServiceImpl implements CasingService { @Transactional(rollbackFor = Exception.class) @Override public JSONObject confirm(JSONObject whereJson) { - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/EmptyTubeServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/EmptyTubeServiceImpl.java index 356a9bd12..e1487eae2 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/EmptyTubeServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/EmptyTubeServiceImpl.java @@ -7,10 +7,11 @@ import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.system.service.impl.ParamServiceImpl; + import org.nl.modules.wql.WQL; import org.nl.modules.wql.core.bean.WQLObject; import org.nl.modules.wql.util.SpringContextHolder; +import org.nl.system.service.param.impl.SysParamServiceImpl; import org.nl.wms.pda.mps.service.BakingService; import org.nl.wms.pda.mps.service.EmptyTubeService; import org.springframework.stereotype.Service; @@ -68,7 +69,7 @@ public class EmptyTubeServiceImpl implements EmptyTubeService { } //判断库存数量是否大于最大数量 - String num = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("MAX_TUBE_NUM").getValue(); + String num = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("MAX_TUBE_NUM").getValue(); int max_num = Integer.parseInt(num); if (add_qty + raw_jo.getIntValue("qty") > max_num) { throw new BadRequestException("当前货位已超过库存最大数量!"); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/FeedingServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/FeedingServiceImpl.java index ad1b13948..560d38171 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/FeedingServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/FeedingServiceImpl.java @@ -9,7 +9,7 @@ import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.utils.SecurityUtils; +import org.nl.common.utils.SecurityUtils; import org.nl.modules.system.util.CodeUtil; import org.nl.modules.wql.WQL; import org.nl.modules.wql.core.bean.WQLObject; @@ -127,7 +127,7 @@ public class FeedingServiceImpl implements FeedingService { task_id = task.createTask(jo); //生成半成品出库单据 - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String currentUsername = SecurityUtils.getCurrentUsername(); JSONObject jsonCool = new JSONObject(); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/HandleBakingServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/HandleBakingServiceImpl.java index 99c1dfc3e..8bc72fdb3 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/HandleBakingServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/HandleBakingServiceImpl.java @@ -9,12 +9,13 @@ import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.utils.SecurityUtils; -import org.nl.modules.system.service.impl.ParamServiceImpl; +import org.nl.common.utils.SecurityUtils; + import org.nl.modules.system.util.CodeUtil; import org.nl.modules.wql.WQL; import org.nl.modules.wql.core.bean.WQLObject; import org.nl.modules.wql.util.SpringContextHolder; +import org.nl.system.service.param.impl.SysParamServiceImpl; import org.nl.wms.ext.mes.service.impl.LmsToMesServiceImpl; import org.nl.wms.pda.mps.eum.RegionTypeEnum; import org.nl.wms.pda.mps.service.BakingService; @@ -64,7 +65,7 @@ public class HandleBakingServiceImpl implements HandleBakingService { String point_code1 = whereJson.getString("point_code"); // 起点 String next_point_code = whereJson.getString("next_point_code"); // 终点 - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); JSONObject jsonRaw = rawTab.query("container_name = '" + container_name + "' and is_delete = '0'").uniqueResult(0); @@ -161,8 +162,8 @@ public class HandleBakingServiceImpl implements HandleBakingService { // 将入烘箱信息发送给mes JSONObject param = new JSONObject(); - String userName = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("MES_USERNAME").getValue(); - String passWord = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("MES_PASSWORD").getValue(); + String userName = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("MES_USERNAME").getValue(); + String passWord = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("MES_PASSWORD").getValue(); param.put("iContainerName", container_name); param.put("iResourceName", jsonHotIvt.getString("ext_code")); param.put("iMoveInDate", DateUtil.now()); @@ -307,8 +308,8 @@ public class HandleBakingServiceImpl implements HandleBakingService { //调用回传MES的半成品入库接口 // 将入冷却信息发送给mes JSONObject param = new JSONObject(); - String userName = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("MES_USERNAME").getValue(); - String passWord = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("MES_PASSWORD").getValue(); + String userName = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("MES_USERNAME").getValue(); + String passWord = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("MES_PASSWORD").getValue(); param.put("iContainerName", on_container_name); param.put("iArrivalTime", DateUtil.now()); param.put("iWarehouse", 2); @@ -332,7 +333,7 @@ public class HandleBakingServiceImpl implements HandleBakingService { * 创建烘箱区出入主表 */ - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); WQLObject hotMstTab = WQLObject.getWQLObject("ST_IVT_HotRegionIOMst"); // 烘箱区出入主表 diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/RawFoilServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/RawFoilServiceImpl.java index 3925a58d7..cdc3466b9 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/RawFoilServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/RawFoilServiceImpl.java @@ -11,7 +11,7 @@ import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.utils.SecurityUtils; +import org.nl.common.utils.SecurityUtils; import org.nl.modules.system.util.CodeUtil; import org.nl.modules.wql.WQL; import org.nl.modules.wql.core.bean.WQLObject; diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/impl/CoolInServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/impl/CoolInServiceImpl.java index 621f860b6..563842a67 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/impl/CoolInServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/impl/CoolInServiceImpl.java @@ -11,7 +11,7 @@ import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.utils.SecurityUtils; +import org.nl.common.utils.SecurityUtils; import org.nl.modules.system.util.CodeUtil; import org.nl.modules.wql.WQL; import org.nl.modules.wql.core.bean.WQLObject; @@ -54,7 +54,7 @@ public class CoolInServiceImpl implements CoolInService { WQLObject coolIvtTab = WQLObject.getWQLObject("ST_IVT_CoolPointIvt"); // 冷却区库存表 - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String currentUsername = SecurityUtils.getCurrentUsername(); JSONObject raw_jo = whereJson.getJSONObject("raw_jo"); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/impl/CoolOutServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/impl/CoolOutServiceImpl.java index c5d5245c6..f81327ebd 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/impl/CoolOutServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/impl/CoolOutServiceImpl.java @@ -10,7 +10,7 @@ import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.utils.SecurityUtils; +import org.nl.common.utils.SecurityUtils; import org.nl.modules.wql.WQL; import org.nl.modules.wql.core.bean.WQLObject; import org.nl.wms.pda.st.service.CoolInService; diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/impl/ProductInstorServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/impl/ProductInstorServiceImpl.java index f4290540a..4ac163e2e 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/impl/ProductInstorServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/impl/ProductInstorServiceImpl.java @@ -11,7 +11,7 @@ import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.utils.SecurityUtils; +import org.nl.common.utils.SecurityUtils; import org.nl.modules.wql.WQL; import org.nl.modules.wql.core.bean.WQLObject; import org.nl.modules.wql.util.SpringContextHolder; @@ -101,7 +101,7 @@ public class ProductInstorServiceImpl implements ProductInstorService { WQLObject.getWQLObject("pdm_bi_subpackagerelation").update(sub_map, "package_box_SN = '" + box_no + "'"); }*/ - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); //如果是入虚拟库直接入库并确认,如果是入成品库则生成入库单,生成一个二楼去一楼的任务 diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/impl/ProductionOutServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/impl/ProductionOutServiceImpl.java index d454c53f7..1ac059917 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/impl/ProductionOutServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/impl/ProductionOutServiceImpl.java @@ -11,7 +11,7 @@ import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.utils.SecurityUtils; +import org.nl.common.utils.SecurityUtils; import org.nl.modules.system.util.CodeUtil; import org.nl.modules.wql.WQL; import org.nl.modules.wql.core.bean.WQLObject; diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/task/service/impl/PdaTaskServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pda/task/service/impl/PdaTaskServiceImpl.java index 28c91c01b..6dcbf616b 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/task/service/impl/PdaTaskServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/task/service/impl/PdaTaskServiceImpl.java @@ -10,7 +10,7 @@ import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.utils.SecurityUtils; +import org.nl.common.utils.SecurityUtils; import org.nl.modules.wql.WQL; import org.nl.modules.wql.core.bean.WQLObject; import org.nl.modules.wql.core.content.HttpContext; diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/bi/service/dto/SubpackagerelationDto.java b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/bi/service/dto/SubpackagerelationDto.java index eaa88c94b..d7ca7381d 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/bi/service/dto/SubpackagerelationDto.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/bi/service/dto/SubpackagerelationDto.java @@ -86,7 +86,7 @@ public class SubpackagerelationDto implements Serializable { private String remark; /** 创建人 */ - private Long create_id; + private String create_id; /** 创建人姓名 */ private String create_name; diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/bi/service/impl/SubpackagerelationServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/bi/service/impl/SubpackagerelationServiceImpl.java index 71c6419d8..29b1e3a17 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/bi/service/impl/SubpackagerelationServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/bi/service/impl/SubpackagerelationServiceImpl.java @@ -26,7 +26,7 @@ import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.IdUtil; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; -import org.nl.modules.common.utils.SecurityUtils; +import org.nl.common.utils.SecurityUtils; import org.nl.modules.wql.core.bean.ResultBean; import org.nl.modules.wql.core.bean.WQLObject; import org.nl.modules.wql.util.WqlUtil; @@ -116,7 +116,7 @@ public class SubpackagerelationServiceImpl implements SubpackagerelationService @Override @Transactional(rollbackFor = Exception.class) public void create(SubpackagerelationDto dto) { - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -148,7 +148,7 @@ public class SubpackagerelationServiceImpl implements SubpackagerelationService @Override @Transactional(rollbackFor = Exception.class) public void deleteAll(Long[] ids) { - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/dto/CoolPointIvtDto.java b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/dto/CoolPointIvtDto.java index 6416a9ec5..6b5bb87b3 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/dto/CoolPointIvtDto.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/dto/CoolPointIvtDto.java @@ -72,7 +72,7 @@ public class CoolPointIvtDto implements Serializable { private String remark; /** 创建人 */ - private Long create_id; + private String create_id; /** 创建人姓名 */ private String create_name; @@ -81,7 +81,7 @@ public class CoolPointIvtDto implements Serializable { private String create_time; /** 修改人 */ - private Long update_optid; + private String update_optid; /** 修改人姓名 */ private String update_optname; diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/dto/CutPointIvtDto.java b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/dto/CutPointIvtDto.java index b1228ea2c..51504a789 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/dto/CutPointIvtDto.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/dto/CutPointIvtDto.java @@ -60,7 +60,7 @@ public class CutPointIvtDto implements Serializable { private String remark; /** 创建人 */ - private Long create_id; + private String create_id; /** 创建人姓名 */ private String create_name; @@ -69,7 +69,7 @@ public class CutPointIvtDto implements Serializable { private String create_time; /** 修改人 */ - private Long update_optid; + private String update_optid; /** 修改人姓名 */ private String update_optname; diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/dto/DeliveryPointIvtDto.java b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/dto/DeliveryPointIvtDto.java index d6b2ca734..f06682348 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/dto/DeliveryPointIvtDto.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/dto/DeliveryPointIvtDto.java @@ -48,7 +48,7 @@ public class DeliveryPointIvtDto implements Serializable { private String remark; /** 创建人 */ - private Long create_id; + private String create_id; /** 创建人姓名 */ private String create_name; @@ -57,7 +57,7 @@ public class DeliveryPointIvtDto implements Serializable { private String create_time; /** 修改人 */ - private Long update_optid; + private String update_optid; /** 修改人姓名 */ private String update_optname; diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/dto/HotPointIvtDto.java b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/dto/HotPointIvtDto.java index 8f7c64a23..9799f69a0 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/dto/HotPointIvtDto.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/dto/HotPointIvtDto.java @@ -69,7 +69,7 @@ public class HotPointIvtDto implements Serializable { private String remark; /** 创建人 */ - private Long create_id; + private String create_id; /** 创建人姓名 */ private String create_name; @@ -78,7 +78,7 @@ public class HotPointIvtDto implements Serializable { private String create_time; /** 修改人 */ - private Long update_optid; + private String update_optid; /** 修改人姓名 */ private String update_optname; diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/dto/SbPointIvtDto.java b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/dto/SbPointIvtDto.java index 7f12c2119..a70676978 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/dto/SbPointIvtDto.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/dto/SbPointIvtDto.java @@ -44,7 +44,7 @@ public class SbPointIvtDto implements Serializable { private String is_used; /** 创建人 */ - private Long create_id; + private String create_id; /** 创建人 */ private String create_name; @@ -53,7 +53,7 @@ public class SbPointIvtDto implements Serializable { private String create_time; /** 修改人 */ - private Long update_optid; + private String update_optid; /** 修改人 */ private String update_optname; diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/impl/CoolPointIvtServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/impl/CoolPointIvtServiceImpl.java index 1774134df..a7a01e112 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/impl/CoolPointIvtServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/impl/CoolPointIvtServiceImpl.java @@ -12,7 +12,7 @@ import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.utils.SecurityUtils; +import org.nl.common.utils.SecurityUtils; import org.nl.modules.wql.WQL; import org.nl.modules.wql.core.bean.WQLObject; import org.nl.modules.wql.util.WqlUtil; @@ -87,7 +87,7 @@ public class CoolPointIvtServiceImpl implements CoolPointIvtService { @Override @Transactional(rollbackFor = Exception.class) public void create(CoolPointIvtDto dto) { - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -110,7 +110,7 @@ public class CoolPointIvtServiceImpl implements CoolPointIvtService { CoolPointIvtDto entity = this.findById(dto.getIvt_id()); if (entity == null) throw new BadRequestException("被删除或无权限,操作失败!"); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -126,7 +126,7 @@ public class CoolPointIvtServiceImpl implements CoolPointIvtService { @Override @Transactional(rollbackFor = Exception.class) public void deleteAll(Long[] ids) { - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/impl/CutPointIvtServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/impl/CutPointIvtServiceImpl.java index 2faa9e098..7cbb6deb3 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/impl/CutPointIvtServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/impl/CutPointIvtServiceImpl.java @@ -11,7 +11,7 @@ import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.utils.SecurityUtils; +import org.nl.common.utils.SecurityUtils; import org.nl.modules.wql.WQL; import org.nl.modules.wql.core.bean.WQLObject; import org.nl.modules.wql.util.WqlUtil; @@ -80,7 +80,7 @@ public List queryAll(Map whereJson){ @Override @Transactional(rollbackFor = Exception.class) public void create(CutPointIvtDto dto) { - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -103,7 +103,7 @@ public List queryAll(Map whereJson){ CutPointIvtDto entity = this.findById(dto.getIvt_id()); if (entity == null) throw new BadRequestException("被删除或无权限,操作失败!"); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -119,7 +119,7 @@ public List queryAll(Map whereJson){ @Override @Transactional(rollbackFor = Exception.class) public void deleteAll(Long[] ids) { - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/impl/DeliveryPointIvtServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/impl/DeliveryPointIvtServiceImpl.java index 56e798c4b..d174496d2 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/impl/DeliveryPointIvtServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/impl/DeliveryPointIvtServiceImpl.java @@ -11,7 +11,7 @@ import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.utils.SecurityUtils; +import org.nl.common.utils.SecurityUtils; import org.nl.modules.wql.WQL; import org.nl.modules.wql.core.bean.WQLObject; import org.nl.modules.wql.util.WqlUtil; @@ -78,7 +78,7 @@ public List queryAll(Map whereJson){ @Override @Transactional(rollbackFor = Exception.class) public void create(DeliveryPointIvtDto dto) { - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -101,7 +101,7 @@ public List queryAll(Map whereJson){ DeliveryPointIvtDto entity = this.findById(dto.getIvt_id()); if (entity == null) throw new BadRequestException("被删除或无权限,操作失败!"); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -117,7 +117,7 @@ public List queryAll(Map whereJson){ @Override @Transactional(rollbackFor = Exception.class) public void deleteAll(Long[] ids) { - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/impl/HotPointIvtServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/impl/HotPointIvtServiceImpl.java index f8c5a11e2..577055efe 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/impl/HotPointIvtServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/impl/HotPointIvtServiceImpl.java @@ -12,7 +12,7 @@ import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.utils.SecurityUtils; +import org.nl.common.utils.SecurityUtils; import org.nl.modules.wql.WQL; import org.nl.modules.wql.core.bean.WQLObject; import org.nl.modules.wql.util.WqlUtil; @@ -84,7 +84,7 @@ public class HotPointIvtServiceImpl implements HotPointIvtService { @Override @Transactional(rollbackFor = Exception.class) public void create(HotPointIvtDto dto) { - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -107,7 +107,7 @@ public class HotPointIvtServiceImpl implements HotPointIvtService { HotPointIvtDto entity = this.findById(dto.getIvt_id()); if (entity == null) throw new BadRequestException("被删除或无权限,操作失败!"); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -126,7 +126,7 @@ public class HotPointIvtServiceImpl implements HotPointIvtService { @Override @Transactional(rollbackFor = Exception.class) public void deleteAll(Long[] ids) { - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/impl/SbPointIvtServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/impl/SbPointIvtServiceImpl.java index df6a93462..d2bbe9dbe 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/impl/SbPointIvtServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/impl/SbPointIvtServiceImpl.java @@ -11,7 +11,7 @@ import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.utils.SecurityUtils; +import org.nl.common.utils.SecurityUtils; import org.nl.modules.wql.WQL; import org.nl.modules.wql.core.bean.WQLObject; import org.nl.modules.wql.util.WqlUtil; @@ -77,7 +77,7 @@ public class SbPointIvtServiceImpl implements SbPointIvtService { @Override @Transactional(rollbackFor = Exception.class) public void create(SbPointIvtDto dto) { - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -100,7 +100,7 @@ public class SbPointIvtServiceImpl implements SbPointIvtService { SbPointIvtDto entity = this.findById(dto.getPoint_id()); if (entity == null) throw new BadRequestException("被删除或无权限,操作失败!"); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -116,7 +116,7 @@ public class SbPointIvtServiceImpl implements SbPointIvtService { @Override @Transactional(rollbackFor = Exception.class) public void deleteAll(Long[] ids) { - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -131,4 +131,4 @@ public class SbPointIvtServiceImpl implements SbPointIvtService { wo.update(param); } } -} \ No newline at end of file +} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/dto/BomDto.java b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/dto/BomDto.java index f85d6b14e..eb3eb82b2 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/dto/BomDto.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/dto/BomDto.java @@ -44,7 +44,7 @@ public class BomDto implements Serializable { private String remark; /** 创建人 */ - private Long create_id; + private String create_id; /** 创建人 */ private String create_name; @@ -53,7 +53,7 @@ public class BomDto implements Serializable { private String create_time; /** 修改人 */ - private Long update_optid; + private String update_optid; /** 修改人 */ private String update_optname; diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/dto/DeviceDto.java b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/dto/DeviceDto.java index e1918955c..7fa21b497 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/dto/DeviceDto.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/dto/DeviceDto.java @@ -55,7 +55,7 @@ public class DeviceDto implements Serializable { /** * 创建人 */ - private Long create_id; + private String create_id; /** * 创建人姓名 diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/dto/ProcessrouteDto.java b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/dto/ProcessrouteDto.java index bbaabc202..f78be6d79 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/dto/ProcessrouteDto.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/dto/ProcessrouteDto.java @@ -36,7 +36,7 @@ public class ProcessrouteDto implements Serializable { private String remark; /** 创建人 */ - private Long create_id; + private String create_id; /** 创建人姓名 */ private String create_name; @@ -45,7 +45,7 @@ public class ProcessrouteDto implements Serializable { private String create_time; /** 修改人 */ - private Long update_optid; + private String update_optid; /** 修改人姓名 */ private String update_optname; diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/dto/ProductprocessrouteDto.java b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/dto/ProductprocessrouteDto.java index 4a800eeb2..512ffce94 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/dto/ProductprocessrouteDto.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/dto/ProductprocessrouteDto.java @@ -38,7 +38,7 @@ public class ProductprocessrouteDto implements Serializable { private String remark; /** 创建人 */ - private Long create_id; + private String create_id; /** 创建人姓名 */ private String create_name; @@ -47,7 +47,7 @@ public class ProductprocessrouteDto implements Serializable { private String create_time; /** 修改人 */ - private Long update_optid; + private String update_optid; /** 修改人姓名 */ private String update_optname; diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/dto/RawfoilworkorderDto.java b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/dto/RawfoilworkorderDto.java index 16d7994ed..3f20403bd 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/dto/RawfoilworkorderDto.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/dto/RawfoilworkorderDto.java @@ -106,7 +106,7 @@ public class RawfoilworkorderDto implements Serializable { /** * 创建人 */ - private Long create_id; + private String create_id; /** * 创建人 @@ -121,7 +121,7 @@ public class RawfoilworkorderDto implements Serializable { /** * 修改人 */ - private Long update_optid; + private String update_optid; /** * 修改人 diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/dto/SlittingproductionplanDto.java b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/dto/SlittingproductionplanDto.java index 3d10cf5e2..2ae99bf9b 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/dto/SlittingproductionplanDto.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/dto/SlittingproductionplanDto.java @@ -101,7 +101,7 @@ public class SlittingproductionplanDto implements Serializable { private String remark; /** 创建人 */ - private Long create_id; + private String create_id; /** 创建人姓名 */ private String create_name; @@ -110,7 +110,7 @@ public class SlittingproductionplanDto implements Serializable { private String create_time; /** 修改人 */ - private Long update_optid; + private String update_optid; /** 修改人姓名 */ private String update_optname; diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/dto/WorkProcedureDto.java b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/dto/WorkProcedureDto.java index e4c693429..215109863 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/dto/WorkProcedureDto.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/dto/WorkProcedureDto.java @@ -56,7 +56,7 @@ public class WorkProcedureDto implements Serializable { /** * 创建人 */ - private Long create_id; + private String create_id; /** * 创建人姓名 @@ -95,7 +95,7 @@ public class WorkProcedureDto implements Serializable { /** * 修改人 */ - private Long update_optid; + private String update_optid; /** * 修改人姓名 diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/DeviceServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/DeviceServiceImpl.java index 96a4792d9..e1e308bf6 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/DeviceServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/DeviceServiceImpl.java @@ -13,7 +13,7 @@ import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.utils.SecurityUtils; +import org.nl.common.utils.SecurityUtils; import org.nl.wms.pdm.service.DeviceService; import org.nl.wms.pdm.service.dto.DeviceDto; import org.nl.modules.wql.WQL; @@ -79,7 +79,7 @@ public class DeviceServiceImpl implements DeviceService { @Override @Transactional(rollbackFor = Exception.class) public void create(DeviceDto dto) { - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); //编码唯一性校验 diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/ProcessrouteServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/ProcessrouteServiceImpl.java index ef93d5479..5757a2205 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/ProcessrouteServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/ProcessrouteServiceImpl.java @@ -12,9 +12,9 @@ import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.utils.SecurityUtils; -import org.nl.modules.common.utils.dto.CurrentUser; -import org.nl.modules.system.service.dto.UserDto; +import org.nl.common.utils.SecurityUtils; +import org.nl.system.service.user.dto.CurrentUser; + import org.nl.wms.pdm.service.ProcessrouteService; import org.nl.wms.pdm.service.dto.ProcessrouteDto; import org.nl.modules.wql.WQL; @@ -78,7 +78,7 @@ public class ProcessrouteServiceImpl implements ProcessrouteService { @Override @Transactional(rollbackFor = Exception.class) public void create(JSONObject json) { - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); Long deptId = SecurityUtils.getDeptId(); @@ -167,7 +167,7 @@ public class ProcessrouteServiceImpl implements ProcessrouteService { @Override @Transactional(rollbackFor = Exception.class) public void deleteAll(Long[] ids) { - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/RawfoilworkorderServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/RawfoilworkorderServiceImpl.java index 38fdca9de..90300daf5 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/RawfoilworkorderServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/RawfoilworkorderServiceImpl.java @@ -21,7 +21,7 @@ import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.IdUtil; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; -import org.nl.modules.common.utils.SecurityUtils; +import org.nl.common.utils.SecurityUtils; import org.nl.modules.wql.core.bean.ResultBean; import org.nl.modules.wql.core.bean.WQLObject; import org.nl.modules.wql.util.WqlUtil; @@ -99,7 +99,7 @@ public class RawfoilworkorderServiceImpl implements RawfoilworkorderService { JSONObject json = wo.query("container_name = '" + container_name + "' and status <> '09'").uniqueResult(0); if (ObjectUtil.isNotEmpty(json)) throw new BadRequestException("母卷号已存在"); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -138,7 +138,7 @@ public class RawfoilworkorderServiceImpl implements RawfoilworkorderService { String container_name = dto.getContainer_name(); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -165,7 +165,7 @@ public class RawfoilworkorderServiceImpl implements RawfoilworkorderService { @Override @Transactional(rollbackFor = Exception.class) public void deleteAll(Long[] ids) { - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -185,7 +185,7 @@ public class RawfoilworkorderServiceImpl implements RawfoilworkorderService { @Transactional(rollbackFor = Exception.class) public void compelEnd(JSONObject whereJson) { String workorder_id = whereJson.getString("workorder_id"); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String currentUsername = SecurityUtils.getCurrentUsername(); //查询该生箔工单是否存在未完成的任务 diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/SlittingproductionplanServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/SlittingproductionplanServiceImpl.java index 8ea37910d..7f632aacc 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/SlittingproductionplanServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/SlittingproductionplanServiceImpl.java @@ -24,7 +24,7 @@ import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.IdUtil; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; -import org.nl.modules.common.utils.SecurityUtils; +import org.nl.common.utils.SecurityUtils; import org.nl.modules.wql.core.bean.ResultBean; import org.nl.modules.wql.core.bean.WQLObject; import org.nl.modules.wql.util.WqlUtil; @@ -100,7 +100,7 @@ public class SlittingproductionplanServiceImpl implements Slittingproductionplan @Override @Transactional(rollbackFor = Exception.class) public void create(SlittingproductionplanDto dto) { - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -128,7 +128,7 @@ public class SlittingproductionplanServiceImpl implements Slittingproductionplan SlittingproductionplanDto entity = this.findById(dto.getWorkorder_id()); if (entity == null) throw new BadRequestException("被删除或无权限,操作失败!"); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -144,7 +144,7 @@ public class SlittingproductionplanServiceImpl implements Slittingproductionplan @Override @Transactional(rollbackFor = Exception.class) public void deleteAll(Long[] ids) { - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -164,7 +164,7 @@ public class SlittingproductionplanServiceImpl implements Slittingproductionplan @Transactional(rollbackFor = Exception.class) public void upMaterFinish(JSONObject whereJson) { JSONArray data = whereJson.getJSONArray("data"); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String currentUsername = SecurityUtils.getCurrentUsername(); WQLObject tab = WQLObject.getWQLObject("PDM_BI_SlittingProductionPlan"); @@ -201,7 +201,7 @@ public class SlittingproductionplanServiceImpl implements Slittingproductionplan @Transactional(rollbackFor = Exception.class) public void caseFinish(JSONObject whereJson) { JSONArray data = whereJson.getJSONArray("data"); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String currentUsername = SecurityUtils.getCurrentUsername(); WQLObject tab = WQLObject.getWQLObject("PDM_BI_SlittingProductionPlan"); @@ -231,7 +231,7 @@ public class SlittingproductionplanServiceImpl implements Slittingproductionplan @Transactional(rollbackFor = Exception.class) public void sendFinish(JSONObject whereJson) { JSONArray data = whereJson.getJSONArray("data"); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String currentUsername = SecurityUtils.getCurrentUsername(); WQLObject tab = WQLObject.getWQLObject("PDM_BI_SlittingProductionPlan"); @@ -256,7 +256,7 @@ public class SlittingproductionplanServiceImpl implements Slittingproductionplan @Transactional(rollbackFor = Exception.class) public void compelFinish(JSONObject whereJson) { JSONArray data = whereJson.getJSONArray("data"); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String currentUsername = SecurityUtils.getCurrentUsername(); WQLObject tab = WQLObject.getWQLObject("PDM_BI_SlittingProductionPlan"); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/WorkProcedureServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/WorkProcedureServiceImpl.java index 76c0537e1..ad3350900 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/WorkProcedureServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/WorkProcedureServiceImpl.java @@ -12,9 +12,7 @@ import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.utils.SecurityUtils; -import org.nl.modules.common.utils.dto.CurrentUser; -import org.nl.modules.system.service.dto.UserDto; +import org.nl.common.utils.SecurityUtils; import org.nl.wms.pdm.service.WorkProcedureService; import org.nl.wms.pdm.service.dto.WorkProcedureDto; import org.nl.modules.wql.core.bean.ResultBean; @@ -84,7 +82,7 @@ public class WorkProcedureServiceImpl implements WorkProcedureService { WorkProcedureDto byCode = this.findByCode(workprocedure_code); if (ObjectUtil.isNotEmpty(byCode)) throw new BadRequestException("编码已存在!"); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); Long deptId = SecurityUtils.getDeptId(); @@ -115,7 +113,7 @@ public class WorkProcedureServiceImpl implements WorkProcedureService { if (ObjectUtil.isNotEmpty(byCode) && !dto.getWorkprocedure_id().equals(byCode.getWorkprocedure_id())) throw new BadRequestException("存在相同的编码!"); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -131,7 +129,7 @@ public class WorkProcedureServiceImpl implements WorkProcedureService { @Override @Transactional(rollbackFor = Exception.class) public void deleteAll(Long[] ids) { - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/AcsUtil.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/AcsUtil.java index 5c08bc22c..1a2b99a18 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/AcsUtil.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/AcsUtil.java @@ -6,8 +6,9 @@ import cn.hutool.http.HttpRequest; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.system.service.impl.ParamServiceImpl; + import org.nl.modules.wql.util.SpringContextHolder; +import org.nl.system.service.param.impl.SysParamServiceImpl; import org.springframework.http.HttpStatus; /** @@ -16,7 +17,7 @@ import org.springframework.http.HttpStatus; public class AcsUtil { public static JSONObject notifyAcs(String api, JSONArray list) { //判断是否连接ACS系统 - String isConnect = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("is_connect_acs").getValue(); + String isConnect = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("is_connect_acs").getValue(); JSONObject result = new JSONObject(); if (StrUtil.equals("0", isConnect)) { result.put("status", HttpStatus.OK.value()); @@ -26,7 +27,7 @@ public class AcsUtil { } //ACS地址:127.0.0.1:8010 - String acsUrl = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("acs_url").getValue(); + String acsUrl = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("acs_url").getValue(); String url = acsUrl + api; try { diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/SchTaskDto.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/SchTaskDto.java index 313d52df6..6a3c3bac5 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/SchTaskDto.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/SchTaskDto.java @@ -168,7 +168,7 @@ public class SchTaskDto implements Serializable { /** * 创建人 */ - private Long create_id; + private String create_id; /** * 创建人 @@ -187,7 +187,7 @@ public class SchTaskDto implements Serializable { /** * 修改人 */ - private Long update_optid; + private String update_optid; /** * 修改人 diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/dto/PointDto.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/dto/PointDto.java index c9800a13e..b9f894a15 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/dto/PointDto.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/dto/PointDto.java @@ -96,7 +96,7 @@ public class PointDto implements Serializable { private String is_delete; /** 创建人 */ - private Long create_id; + private String create_id; /** 创建人 */ private String create_name; @@ -105,7 +105,7 @@ public class PointDto implements Serializable { private String create_time; /** 修改人 */ - private Long update_optid; + private String update_optid; /** 修改人 */ private String update_optname; diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/dto/RegionDto.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/dto/RegionDto.java index 1c169fc0d..83bc6b095 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/dto/RegionDto.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/dto/RegionDto.java @@ -35,7 +35,7 @@ public class RegionDto implements Serializable { private String remark; /** 创建人 */ - private Long create_id; + private String create_id; /** 创建人姓名 */ private String create_name; @@ -44,7 +44,7 @@ public class RegionDto implements Serializable { private String create_time; /** 修改人 */ - private Long update_optid; + private String update_optid; /** 修改人姓名 */ private String update_optname; diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/impl/PointServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/impl/PointServiceImpl.java index 8ab05c401..ec0a22bb0 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/impl/PointServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/impl/PointServiceImpl.java @@ -11,7 +11,7 @@ import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.utils.SecurityUtils; +import org.nl.common.utils.SecurityUtils; import org.nl.modules.wql.WQL; import org.nl.modules.wql.core.bean.WQLObject; import org.nl.modules.wql.util.WqlUtil; @@ -125,7 +125,7 @@ public class PointServiceImpl implements PointService { if (ObjectUtil.isNotEmpty(byCode)) { throw new BadRequestException("存在相同的点位编码"); } - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -161,7 +161,7 @@ public class PointServiceImpl implements PointService { entity.setVehicle_qty(null); } - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); Long region_id = dto.getRegion_id(); @@ -183,7 +183,7 @@ public class PointServiceImpl implements PointService { @Override @Transactional(rollbackFor = Exception.class) public void deleteAll(Long[] ids) { - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -217,7 +217,7 @@ public class PointServiceImpl implements PointService { } } - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -315,7 +315,7 @@ public class PointServiceImpl implements PointService { // 先删除所有点位类型为仓位的点位 WQLObject.getWQLObject("sch_base_point").delete(" point_type = '2'"); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/impl/RegionServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/impl/RegionServiceImpl.java index 786f964ec..e02629382 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/impl/RegionServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/impl/RegionServiceImpl.java @@ -12,7 +12,7 @@ import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.utils.SecurityUtils; +import org.nl.common.utils.SecurityUtils; import org.nl.modules.wql.WQL; import org.nl.modules.wql.core.bean.WQLObject; import org.nl.modules.wql.util.WqlUtil; @@ -81,7 +81,7 @@ public class RegionServiceImpl implements RegionService { public void create(RegionDto dto) { WQLObject wo = WQLObject.getWQLObject("sch_base_region"); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -106,7 +106,7 @@ public class RegionServiceImpl implements RegionService { RegionDto entity = this.findById(dto.getRegion_id()); if (entity == null) throw new BadRequestException("被删除或无权限,操作失败!"); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/BookTwoConfirmTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/BookTwoConfirmTask.java index b0b6e4ea7..2cca04222 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/BookTwoConfirmTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/BookTwoConfirmTask.java @@ -9,7 +9,7 @@ import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.utils.SecurityUtils; +import org.nl.common.utils.SecurityUtils; import org.nl.modules.system.util.CodeUtil; import org.nl.modules.wql.core.bean.WQLObject; import org.nl.modules.wql.util.SpringContextHolder; @@ -66,7 +66,7 @@ public class BookTwoConfirmTask extends AbstractAcsTask { WQLObject coolTab = WQLObject.getWQLObject("ST_IVT_CoolRegionIO"); // 冷却区出入表 WQLObject rawTab = WQLObject.getWQLObject("PDM_BI_RawFoilWorkOrder"); // 生箔工序工单表 - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String currentUsername = SecurityUtils.getCurrentUsername(); String task_id = taskObj.getString("task_id"); @@ -164,7 +164,7 @@ public class BookTwoConfirmTask extends AbstractAcsTask { @Transactional public String createTask(JSONObject form) { WQLObject tab = WQLObject.getWQLObject("SCH_BASE_Task"); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String currentUsername = SecurityUtils.getCurrentUsername(); String point_code1 = form.getString("point_code1"); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CallEmpReelTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CallEmpReelTask.java index 7d62785b1..5a7e35427 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CallEmpReelTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CallEmpReelTask.java @@ -10,7 +10,7 @@ import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.utils.SecurityUtils; +import org.nl.common.utils.SecurityUtils; import org.nl.modules.system.util.CodeUtil; import org.nl.modules.wql.WQL; import org.nl.modules.wql.core.bean.WQLObject; @@ -82,7 +82,7 @@ public class CallEmpReelTask extends AbstractAcsTask { String task_id = taskObj.getString("task_id"); JSONObject jsonTask = taskTab.query("task_id = '" + task_id + "'").uniqueResult(0); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String currentUsername = SecurityUtils.getCurrentUsername(); //更新车号和重量 @@ -260,7 +260,7 @@ public class CallEmpReelTask extends AbstractAcsTask { @Transactional public String createTask(JSONObject form) { WQLObject tab = WQLObject.getWQLObject("SCH_BASE_Task"); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String currentUsername = SecurityUtils.getCurrentUsername(); CutConveyorTask cutConveyorTask = new CutConveyorTask(); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CoolCutTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CoolCutTask.java index 474368c5e..827977ab6 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CoolCutTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CoolCutTask.java @@ -9,7 +9,7 @@ import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.utils.SecurityUtils; +import org.nl.common.utils.SecurityUtils; import org.nl.modules.system.util.CodeUtil; import org.nl.modules.wql.WQL; import org.nl.modules.wql.core.bean.WQLObject; @@ -78,7 +78,7 @@ public class CoolCutTask extends AbstractAcsTask { String task_id = taskObj.getString("task_id"); JSONObject jsonTask = taskTab.query("task_id = '" + task_id + "'").uniqueResult(0); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String currentUsername = SecurityUtils.getCurrentUsername(); if (StrUtil.equals(status, "0")) { @@ -262,7 +262,7 @@ public class CoolCutTask extends AbstractAcsTask { @Transactional public String createTask(JSONObject form) { WQLObject tab = WQLObject.getWQLObject("SCH_BASE_Task"); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String currentUsername = SecurityUtils.getCurrentUsername(); String point_code1 = form.getString("point_code1"); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CutConveyorTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CutConveyorTask.java index e2e9f9313..497db460d 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CutConveyorTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CutConveyorTask.java @@ -9,7 +9,7 @@ import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.utils.SecurityUtils; +import org.nl.common.utils.SecurityUtils; import org.nl.modules.system.util.CodeUtil; import org.nl.modules.wql.WQL; import org.nl.modules.wql.core.bean.WQLObject; @@ -159,7 +159,7 @@ public class CutConveyorTask extends AbstractAcsTask { @Transactional public String createTask(JSONObject form) { WQLObject tab = WQLObject.getWQLObject("SCH_BASE_Task"); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String currentUsername = SecurityUtils.getCurrentUsername(); String point_code1 = form.getString("point_code1"); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CutTrussTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CutTrussTask.java index 232cbf9bb..5785c9f70 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CutTrussTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CutTrussTask.java @@ -10,7 +10,7 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.checkerframework.checker.units.qual.C; import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.utils.SecurityUtils; +import org.nl.common.utils.SecurityUtils; import org.nl.modules.system.util.CodeUtil; import org.nl.modules.wql.WQL; import org.nl.modules.wql.core.bean.WQLObject; @@ -224,7 +224,7 @@ public class CutTrussTask extends AbstractAcsTask { @Transactional public String createTask(JSONObject form) { WQLObject tab = WQLObject.getWQLObject("SCH_BASE_Task"); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String currentUsername = SecurityUtils.getCurrentUsername(); CutConveyorTask cutConveyorTask = new CutConveyorTask(); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/EmptyVehicleTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/EmptyVehicleTask.java index 91c4a801c..d2a623bd0 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/EmptyVehicleTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/EmptyVehicleTask.java @@ -7,7 +7,7 @@ import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.utils.SecurityUtils; +import org.nl.common.utils.SecurityUtils; import org.nl.modules.system.util.CodeUtil; import org.nl.modules.wql.core.bean.WQLObject; import org.nl.modules.wql.util.SpringContextHolder; @@ -74,7 +74,7 @@ public class EmptyVehicleTask extends AbstractAcsTask { WQLObject point_table = WQLObject.getWQLObject("SCH_BASE_Point"); WQLObject struct_table = WQLObject.getWQLObject("ST_IVT_StructAttr"); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); HashMap map = new HashMap(); @@ -146,7 +146,7 @@ public class EmptyVehicleTask extends AbstractAcsTask { throw new BadRequestException("载具号不能为空"); } - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String currentUsername = SecurityUtils.getCurrentUsername(); JSONObject json = new JSONObject(); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/InCoolIvtTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/InCoolIvtTask.java index c3333d7cf..93920ecf0 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/InCoolIvtTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/InCoolIvtTask.java @@ -9,12 +9,13 @@ import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.utils.SecurityUtils; -import org.nl.modules.system.service.impl.ParamServiceImpl; +import org.nl.common.utils.SecurityUtils; + import org.nl.modules.system.util.CodeUtil; import org.nl.modules.wql.WQL; import org.nl.modules.wql.core.bean.WQLObject; import org.nl.modules.wql.util.SpringContextHolder; +import org.nl.system.service.param.impl.SysParamServiceImpl; import org.nl.wms.ext.mes.service.impl.LmsToMesServiceImpl; import org.nl.wms.sch.AcsTaskDto; import org.nl.wms.sch.manage.AbstractAcsTask; @@ -139,8 +140,8 @@ public class InCoolIvtTask extends AbstractAcsTask { // 将入冷却信息发送给mes JSONObject param = new JSONObject(); - String userName = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("MES_USERNAME").getValue(); - String passWord = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("MES_PASSWORD").getValue(); + String userName = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("MES_USERNAME").getValue(); + String passWord = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("MES_PASSWORD").getValue(); param.put("iContainerName", jsonTask.getString("material_code")); param.put("iArrivalTime", DateUtil.now()); param.put("iWarehouse", 2); @@ -171,7 +172,7 @@ public class InCoolIvtTask extends AbstractAcsTask { WQLObject tab = WQLObject.getWQLObject("SCH_BASE_Task"); CutConveyorTask cutConveyorTask = new CutConveyorTask(); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String currentUsername = SecurityUtils.getCurrentUsername(); String point_code1 = form.getString("point_code1"); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/InHotTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/InHotTask.java index 959059da9..5e7e7cce6 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/InHotTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/InHotTask.java @@ -9,12 +9,13 @@ import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.utils.SecurityUtils; -import org.nl.modules.system.service.impl.ParamServiceImpl; +import org.nl.common.utils.SecurityUtils; + import org.nl.modules.system.util.CodeUtil; import org.nl.modules.wql.WQL; import org.nl.modules.wql.core.bean.WQLObject; import org.nl.modules.wql.util.SpringContextHolder; +import org.nl.system.service.param.impl.SysParamServiceImpl; import org.nl.wms.ext.mes.service.impl.LmsToMesServiceImpl; import org.nl.wms.sch.AcsTaskDto; import org.nl.wms.sch.manage.AbstractAcsTask; @@ -107,7 +108,7 @@ public class InHotTask extends AbstractAcsTask { } if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) { - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String currentUsername = SecurityUtils.getCurrentUsername(); // 更改任务状态为完成 @@ -189,8 +190,8 @@ public class InHotTask extends AbstractAcsTask { // 将入烘箱信息发送给mes JSONObject param = new JSONObject(); - String userName = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("MES_USERNAME").getValue(); - String passWord = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("MES_PASSWORD").getValue(); + String userName = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("MES_USERNAME").getValue(); + String passWord = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("MES_PASSWORD").getValue(); param.put("iContainerName", jsonHotMst.getString("container_name")); param.put("iResourceName", hot_point_code); param.put("iMoveInDate", DateUtil.now()); @@ -223,7 +224,7 @@ public class InHotTask extends AbstractAcsTask { WQLObject tab = WQLObject.getWQLObject("SCH_BASE_Task"); CutConveyorTask cutConveyorTask = new CutConveyorTask(); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String currentUsername = SecurityUtils.getCurrentUsername(); String task_id = ""; diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/InTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/InTask.java index afb71ab44..a970412fd 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/InTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/InTask.java @@ -7,7 +7,7 @@ import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.utils.SecurityUtils; +import org.nl.common.utils.SecurityUtils; import org.nl.modules.system.util.CodeUtil; import org.nl.modules.wql.core.bean.WQLObject; import org.nl.modules.wql.util.SpringContextHolder; @@ -71,7 +71,7 @@ public class InTask extends AbstractAcsTask { @Override @Transactional(rollbackFor = Exception.class) public void updateTaskStatus(JSONObject taskObj, String status) { - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); HashMap map = new HashMap(); @@ -130,7 +130,7 @@ public class InTask extends AbstractAcsTask { throw new BadRequestException("载具号不能为空"); } - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String currentUsername = SecurityUtils.getCurrentUsername(); JSONObject json = new JSONObject(); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/OutHotTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/OutHotTask.java index 4078f8ff9..4a07a1ea4 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/OutHotTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/OutHotTask.java @@ -10,7 +10,7 @@ import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.utils.SecurityUtils; +import org.nl.common.utils.SecurityUtils; import org.nl.modules.system.util.CodeUtil; import org.nl.modules.wql.WQL; import org.nl.modules.wql.core.bean.WQLObject; @@ -96,7 +96,7 @@ public class OutHotTask extends AbstractAcsTask { } if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) { - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String currentUsername = SecurityUtils.getCurrentUsername(); // 更改任务状态为完成 @@ -161,7 +161,7 @@ public class OutHotTask extends AbstractAcsTask { WQLObject tab = WQLObject.getWQLObject("SCH_BASE_Task"); CutConveyorTask cutConveyorTask = new CutConveyorTask(); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String currentUsername = SecurityUtils.getCurrentUsername(); String point_code1 = form.getString("point_code1"); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/OutTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/OutTask.java index 1627a0145..b956fec6d 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/OutTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/OutTask.java @@ -10,7 +10,7 @@ import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.utils.SecurityUtils; +import org.nl.common.utils.SecurityUtils; import org.nl.modules.system.util.CodeUtil; import org.nl.modules.wql.core.bean.WQLObject; import org.nl.modules.wql.util.SpringContextHolder; @@ -112,7 +112,7 @@ public class OutTask extends AbstractAcsTask { } if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) { - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String currentUsername = SecurityUtils.getCurrentUsername(); // 判断此任务是否有任务组 @@ -151,7 +151,7 @@ public class OutTask extends AbstractAcsTask { @Override @Transactional(rollbackFor = Exception.class) public String createTask(JSONObject form) { - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String currentUsername = SecurityUtils.getCurrentUsername(); JSONObject json = new JSONObject(); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/SendOutTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/SendOutTask.java index 1454f769b..0e8f66600 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/SendOutTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/SendOutTask.java @@ -9,7 +9,7 @@ import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.utils.SecurityUtils; +import org.nl.common.utils.SecurityUtils; import org.nl.modules.system.util.CodeUtil; import org.nl.modules.wql.WQL; import org.nl.modules.wql.core.bean.WQLObject; @@ -80,7 +80,7 @@ public class SendOutTask extends AbstractAcsTask { } if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) { - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String currentUsername = SecurityUtils.getCurrentUsername(); // 更改任务状态为完成 @@ -114,7 +114,7 @@ public class SendOutTask extends AbstractAcsTask { WQLObject tab = WQLObject.getWQLObject("SCH_BASE_Task"); CutConveyorTask cutConveyorTask = new CutConveyorTask(); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String currentUsername = SecurityUtils.getCurrentUsername(); String point_code2 = form.getString("point_code2"); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/dto/RegionioDto.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/dto/RegionioDto.java index 8083a9eb4..654862a04 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/dto/RegionioDto.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/dto/RegionioDto.java @@ -107,7 +107,7 @@ public class RegionioDto implements Serializable { /** * 创建人 */ - private Long create_id; + private String create_id; /** * 创建人姓名 @@ -122,7 +122,7 @@ public class RegionioDto implements Serializable { /** * 修改人 */ - private Long update_optid; + private String update_optid; /** * 修改人姓名 diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/InbillServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/InbillServiceImpl.java index 53ab2e3a2..395676328 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/InbillServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/InbillServiceImpl.java @@ -10,7 +10,7 @@ import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.utils.SecurityUtils; +import org.nl.common.utils.SecurityUtils; import org.nl.modules.wql.WQL; import org.nl.modules.wql.core.bean.WQLObject; import org.nl.wms.ext.mes.service.impl.LmsToMesServiceImpl; @@ -122,7 +122,7 @@ public class InbillServiceImpl { WQLObject dis_table = WQLObject.getWQLObject("ST_IVT_IOStorInvDis"); String iostorinv_id = from.getString("iostorinv_id"); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/InchargeServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/InchargeServiceImpl.java index 62d7e4ce7..03d933949 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/InchargeServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/InchargeServiceImpl.java @@ -13,7 +13,7 @@ import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.utils.SecurityUtils; +import org.nl.common.utils.SecurityUtils; import org.nl.modules.system.util.CodeUtil; import org.nl.modules.wql.WQL; import org.nl.modules.wql.core.bean.WQLObject; @@ -105,7 +105,7 @@ public class InchargeServiceImpl implements InchargeService { public void create(EmptyvehiclerecordDto dto) { WQLObject pointTab = WQLObject.getWQLObject("sch_base_point"); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -156,7 +156,7 @@ public class InchargeServiceImpl implements InchargeService { dto.setEnd_region_id(end_region_id); } - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -173,7 +173,7 @@ public class InchargeServiceImpl implements InchargeService { @Override @Transactional(rollbackFor = Exception.class) public void deleteAll(Long[] ids) { - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -199,7 +199,7 @@ public class InchargeServiceImpl implements InchargeService { WQLObject attrTab = WQLObject.getWQLObject("ST_IVT_StructAttr"); // 仓位表 WQLObject wo_sect = WQLObject.getWQLObject("st_ivt_sectattr"); // 库区表 - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); Long deptId = SecurityUtils.getDeptId(); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/OutChargeServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/OutChargeServiceImpl.java index 8d67a95fd..8721409b9 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/OutChargeServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/OutChargeServiceImpl.java @@ -12,7 +12,7 @@ import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.utils.SecurityUtils; +import org.nl.common.utils.SecurityUtils; import org.nl.modules.system.util.CodeUtil; import org.nl.modules.wql.WQL; import org.nl.modules.wql.core.bean.WQLObject; @@ -84,7 +84,7 @@ public class OutChargeServiceImpl implements OutChargeService { WQLObject mst_wql = WQLObject.getWQLObject("ST_IVT_IOStorInv"); WQLObject dis_wql = WQLObject.getWQLObject("ST_IVT_IOStorInvDis"); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/RawAssistIStorServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/RawAssistIStorServiceImpl.java index 561b3ac14..7d36263f5 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/RawAssistIStorServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/RawAssistIStorServiceImpl.java @@ -13,7 +13,7 @@ import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.utils.SecurityUtils; +import org.nl.common.utils.SecurityUtils; import org.nl.modules.system.util.CodeUtil; import org.nl.modules.wql.WQL; import org.nl.modules.wql.core.bean.WQLObject; @@ -142,7 +142,7 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService { @Transactional(rollbackFor = Exception.class) public String insertDtl(Map whereJson) { ArrayList rows = (ArrayList) whereJson.get("tableData"); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); double total_qty = 0; @@ -254,7 +254,7 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService { @Override public void deleteAll(Long[] ids) { - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -315,7 +315,7 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService { if (!mst_jo.getString("bill_status").equals("10")) { throw new BadRequestException("主表状态必须为生成!"); } - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -411,7 +411,7 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService { } HashMap map = new HashMap<>(); map.put("bill_status", "20"); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -456,7 +456,7 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService { @Transactional(rollbackFor = Exception.class) @Override public void divStruct(Map whereJson) { - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); String sect_id = ""; @@ -717,7 +717,7 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService { @Transactional(rollbackFor = Exception.class) @Override public void divPoint(Map whereJson) { - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -1000,7 +1000,7 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService { throw new BadRequestException("只能修改任务状态为生成的任务!"); }*/ - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -1230,7 +1230,7 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService { dtl_wql.insert(dtl_row); } - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/RegionioInServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/RegionioInServiceImpl.java index 7e94c2a4d..7e151e10d 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/RegionioInServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/RegionioInServiceImpl.java @@ -13,7 +13,7 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.modules.common.exception.BadRequestException; import org.nl.modules.system.util.CodeUtil; -import org.nl.modules.common.utils.SecurityUtils; +import org.nl.common.utils.SecurityUtils; import org.nl.modules.wql.util.SpringContextHolder; import org.nl.wms.pdm.service.DeviceService; import org.nl.wms.pdm.service.dto.DeviceDto; @@ -110,7 +110,7 @@ public class RegionioInServiceImpl implements RegionioInService { } String bill_code = CodeUtil.getNewCode("IN_STORE_CODE"); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -149,7 +149,7 @@ public class RegionioInServiceImpl implements RegionioInService { } } - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); dto.setBill_status("10"); @@ -167,7 +167,7 @@ public class RegionioInServiceImpl implements RegionioInService { @Override @Transactional(rollbackFor = Exception.class) public void deleteAll(Long[] ids) { - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/StorPublicServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/StorPublicServiceImpl.java index 924d2ac77..8ec515f98 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/StorPublicServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/StorPublicServiceImpl.java @@ -10,7 +10,7 @@ import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.utils.SecurityUtils; +import org.nl.common.utils.SecurityUtils; import org.nl.modules.wql.WQL; import org.nl.modules.wql.core.bean.WQLObject; import org.nl.wms.st.inbill.service.StorPublicService; @@ -67,7 +67,7 @@ public class StorPublicServiceImpl implements StorPublicService { WQLObject wql_StructIvtFlow = WQLObject.getWQLObject("ST_IVT_StructIvtFlow"); // 库区物流日表 WQLObject wql_IOSectDaily = WQLObject.getWQLObject("ST_IVT_IOStorDaily"); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); from.put("change_id", IdUtil.getSnowflake(1, 1).nextId() + ""); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/service/impl/ChangeServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/service/impl/ChangeServiceImpl.java index 20ebdd503..eccc2ccca 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/service/impl/ChangeServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/service/impl/ChangeServiceImpl.java @@ -10,7 +10,7 @@ import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.utils.SecurityUtils; +import org.nl.common.utils.SecurityUtils; import org.nl.modules.system.util.CodeUtil; import org.nl.modules.wql.WQL; import org.nl.modules.wql.core.bean.WQLObject; @@ -82,7 +82,7 @@ public class ChangeServiceImpl implements ChangeService { //主表 WQLObject wo_mst = WQLObject.getWQLObject("st_ivt_structivtchange"); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); HashMap map = new HashMap<>(); @@ -109,7 +109,7 @@ public class ChangeServiceImpl implements ChangeService { WQLObject wo_mst = WQLObject.getWQLObject("ST_IVT_MoveInv"); ArrayList rows = (ArrayList) map.get("tableData"); map.remove("tableData"); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); String changeinv_id = IdUtil.getSnowflake(1, 1).nextId() + ""; @@ -221,7 +221,7 @@ public class ChangeServiceImpl implements ChangeService { WQLObject wo_mst = WQLObject.getWQLObject("ST_IVT_MoveInv"); JSONArray rows = json.getJSONArray("tableData"); json.remove("tableData"); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); String moveinv_id = IdUtil.getSnowflake(1, 1).nextId() + ""; @@ -264,7 +264,7 @@ public class ChangeServiceImpl implements ChangeService { String is_task = jo_mst.getString("is_task"); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); //定义需要需要插入的库存集合 @@ -399,7 +399,7 @@ public class ChangeServiceImpl implements ChangeService { //主表 WQLObject wo_mst = WQLObject.getWQLObject("st_ivt_structivtchange"); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); String changeinv_id = (String) whereJson.get("changeinv_id"); @@ -557,7 +557,7 @@ public class ChangeServiceImpl implements ChangeService { //任务表 String changeinv_id = form.getString("changeinv_id"); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -620,7 +620,7 @@ public class ChangeServiceImpl implements ChangeService { //任务表 WQLObject wo_Task = WQLObject.getWQLObject("SCH_BASE_Task"); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -659,7 +659,7 @@ public class ChangeServiceImpl implements ChangeService { WQLObject wo_Task = WQLObject.getWQLObject("SCH_BASE_Task"); String task_id = whereJson.getString("task_id"); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -707,7 +707,7 @@ public class ChangeServiceImpl implements ChangeService { String iostorinv_id = whereJson.getString("iostorinv_id"); String taskdtl_id = whereJson.getString("taskdtl_id"); HashMap map = new HashMap(); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -816,7 +816,7 @@ public class ChangeServiceImpl implements ChangeService { HandMoveStorAcsTask handMoveStorAcsTask = new HandMoveStorAcsTask(); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -881,7 +881,7 @@ public class ChangeServiceImpl implements ChangeService { //出库明细表 WQLObject wo_dtl = WQLObject.getWQLObject("ST_IVT_IOStorInvDtl"); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); //查询主表信息 diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/service/impl/CheckServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/service/impl/CheckServiceImpl.java index 7b80526e2..6a66796a5 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/service/impl/CheckServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/service/impl/CheckServiceImpl.java @@ -10,7 +10,7 @@ import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.utils.SecurityUtils; +import org.nl.common.utils.SecurityUtils; import org.nl.modules.system.util.CodeUtil; import org.nl.modules.wql.WQL; import org.nl.modules.wql.core.bean.WQLObject; @@ -78,7 +78,7 @@ public class CheckServiceImpl implements CheckService { //主表 WQLObject wo_mst = WQLObject.getWQLObject("ST_IVT_CheckMst"); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); HashMap map = new HashMap<>(); @@ -111,7 +111,7 @@ public class CheckServiceImpl implements CheckService { WQLObject dtlTab = WQLObject.getWQLObject("ST_IVT_CheckDtl"); // 盘点单明细表 JSONArray dtlArr = jsonObject.getJSONArray("tableData"); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); Long deptId = SecurityUtils.getDeptId(); @@ -282,7 +282,7 @@ public class CheckServiceImpl implements CheckService { JSONObject form = whereJson.getJSONObject("row"); JSONArray rows = whereJson.getJSONArray("rows"); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -354,7 +354,7 @@ public class CheckServiceImpl implements CheckService { HandMoveStorAcsTask handMoveStorAcsTask = new HandMoveStorAcsTask(); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -407,7 +407,7 @@ public class CheckServiceImpl implements CheckService { JSONObject form = whereJson.getJSONObject("row"); JSONArray rows = whereJson.getJSONArray("rows"); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -464,7 +464,7 @@ public class CheckServiceImpl implements CheckService { JSONObject form = whereJson.getJSONObject("form"); JSONObject row = whereJson.getJSONObject("row"); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -514,7 +514,7 @@ public class CheckServiceImpl implements CheckService { JSONObject form = whereJson.getJSONObject("row"); JSONArray rows = whereJson.getJSONArray("rows"); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/service/impl/HandMoveStorServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/service/impl/HandMoveStorServiceImpl.java index d34c020b5..2617f866f 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/service/impl/HandMoveStorServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/service/impl/HandMoveStorServiceImpl.java @@ -10,7 +10,7 @@ import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.utils.SecurityUtils; +import org.nl.common.utils.SecurityUtils; import org.nl.modules.system.util.CodeUtil; import org.nl.modules.wql.WQL; import org.nl.modules.wql.core.bean.WQLObject; @@ -83,7 +83,7 @@ public class HandMoveStorServiceImpl implements HandMoveStorService { //任务表 WQLObject wo_Task = WQLObject.getWQLObject("SCH_BASE_Task"); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); HashMap map = new HashMap<>(); @@ -137,7 +137,7 @@ public class HandMoveStorServiceImpl implements HandMoveStorService { WQLObject wo_mst = WQLObject.getWQLObject("ST_IVT_MoveInv"); ArrayList rows = (ArrayList) map.get("tableData"); map.remove("tableData"); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); String moveinv_id = IdUtil.getSnowflake(1, 1).nextId() + ""; @@ -186,7 +186,7 @@ public class HandMoveStorServiceImpl implements HandMoveStorService { //定义返回数据 JSONObject ret = new JSONObject(); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); //定义需要需要插入的库存集合 @@ -314,7 +314,7 @@ public class HandMoveStorServiceImpl implements HandMoveStorService { WQLObject wo_mst = WQLObject.getWQLObject("ST_IVT_MoveInv"); JSONArray rows = json.getJSONArray("tableData"); json.remove("tableData"); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); String moveinv_id = IdUtil.getSnowflake(1, 1).nextId() + ""; @@ -357,7 +357,7 @@ public class HandMoveStorServiceImpl implements HandMoveStorService { String is_task = jo_mst.getString("is_task"); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); //定义需要需要插入的库存集合 @@ -492,7 +492,7 @@ public class HandMoveStorServiceImpl implements HandMoveStorService { //主表 WQLObject wo_mst = WQLObject.getWQLObject("ST_IVT_MoveInv"); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); String moveinv_id = (String) whereJson.get("moveinv_id"); @@ -689,7 +689,7 @@ public class HandMoveStorServiceImpl implements HandMoveStorService { WQLObject wo_Task = WQLObject.getWQLObject("SCH_BASE_Task"); String moveinv_id = form.getString("moveinv_id"); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -763,7 +763,7 @@ public class HandMoveStorServiceImpl implements HandMoveStorService { //任务表 WQLObject wo_Task = WQLObject.getWQLObject("SCH_BASE_Task"); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -802,7 +802,7 @@ public class HandMoveStorServiceImpl implements HandMoveStorService { WQLObject wo_Task = WQLObject.getWQLObject("SCH_BASE_Task"); String task_id = whereJson.getString("task_id"); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -850,7 +850,7 @@ public class HandMoveStorServiceImpl implements HandMoveStorService { String iostorinv_id = whereJson.getString("iostorinv_id"); String taskdtl_id = whereJson.getString("taskdtl_id"); HashMap map = new HashMap(); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -959,7 +959,7 @@ public class HandMoveStorServiceImpl implements HandMoveStorService { HandMoveStorAcsTask handMoveStorAcsTask = new HandMoveStorAcsTask(); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -1024,7 +1024,7 @@ public class HandMoveStorServiceImpl implements HandMoveStorService { //出库明细表 WQLObject wo_dtl = WQLObject.getWQLObject("ST_IVT_IOStorInvDtl"); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); //查询主表信息 diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/task/HandMoveStorAcsTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/task/HandMoveStorAcsTask.java index 45a629559..56bcf0eb5 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/task/HandMoveStorAcsTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/task/HandMoveStorAcsTask.java @@ -6,7 +6,7 @@ import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.utils.SecurityUtils; +import org.nl.common.utils.SecurityUtils; import org.nl.modules.wql.core.bean.WQLObject; import org.nl.modules.wql.util.SpringContextHolder; import org.nl.wms.sch.AcsTaskDto; @@ -75,7 +75,7 @@ public class HandMoveStorAcsTask extends AbstractAcsTask { WQLObject wo_dtl = WQLObject.getWQLObject("ST_IVT_MoveInvDtl"); HashMap map = new HashMap<>(); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); String taskdtl_id = taskObj.getString("taskdtl_id"); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/service/impl/CheckOutBillServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/service/impl/CheckOutBillServiceImpl.java index 5e762fd0f..99fdcaed5 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/service/impl/CheckOutBillServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/service/impl/CheckOutBillServiceImpl.java @@ -16,8 +16,8 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang.text.StrBuilder; import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.utils.SecurityUtils; -import org.nl.modules.system.service.impl.ParamServiceImpl; +import org.nl.common.utils.SecurityUtils; + import org.nl.modules.system.util.CodeUtil; import org.nl.modules.wql.WQL; import org.nl.modules.wql.core.bean.WQLObject; @@ -174,7 +174,7 @@ public class CheckOutBillServiceImpl implements CheckOutBillService { @Override @Transactional(rollbackFor = Exception.class) public void deleteAll(Long[] ids) { - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -196,7 +196,7 @@ public class CheckOutBillServiceImpl implements CheckOutBillService { //JSONArray jsonArr = JSONArray.fromObject(whereJson.get("tableData")); JSONArray rows = map.getJSONArray("tableData"); map.remove("tableData"); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); String iostorinv_id = IdUtil.getSnowflake(1, 1).nextId() + ""; @@ -260,16 +260,16 @@ public class CheckOutBillServiceImpl implements CheckOutBillService { } map.remove("tableData"); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String user = map.getString("user"); if (ObjectUtil.isNotEmpty(user)) { if (user.equals("mes")) { - currentUserId = Long.parseLong(2 + ""); + currentUserId = "2"; nickName = "mes用户"; } if (user.equals("sap")) { - currentUserId = Long.parseLong(3 + ""); + currentUserId = "3"; nickName = "sap用户"; } } @@ -393,16 +393,16 @@ public class CheckOutBillServiceImpl implements CheckOutBillService { JSONArray rows = map.getJSONArray("tableData"); map.remove("tableData"); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String user = map.getString("user"); if (ObjectUtil.isNotEmpty(user)) { if (user.equals("mes")) { - currentUserId = Long.parseLong(2 + ""); + currentUserId = "2"; nickName = "mes用户"; } if (user.equals("sap")) { - currentUserId = Long.parseLong(3 + ""); + currentUserId = "3"; nickName = "sap用户"; } } @@ -595,7 +595,7 @@ public class CheckOutBillServiceImpl implements CheckOutBillService { @Override @Transactional(rollbackFor = Exception.class) public void update(JSONObject whereJson) { - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -2033,7 +2033,7 @@ public class CheckOutBillServiceImpl implements CheckOutBillService { WQLObject subTab = WQLObject.getWQLObject("pdm_bi_subpackagerelation"); String iostorinv_id = form.getString("iostorinv_id"); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -2237,7 +2237,7 @@ public class CheckOutBillServiceImpl implements CheckOutBillService { * 销售出库:sap、mes * 改切出库:sap */ - /*String isUpload = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("is_upload").getValue(); + /*String isUpload = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("is_upload").getValue(); if (StrUtil.equals(isUpload, "1")) { String bill_type = jo_mst.getString("bill_type"); // 销售出库 @@ -2306,8 +2306,8 @@ public class CheckOutBillServiceImpl implements CheckOutBillService { // 2.回传mes JSONObject paramMesMst = new JSONObject(); - String userName = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("MES_USERNAME").getValue(); - String passWord = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("MES_PASSWORD").getValue(); + String userName = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("MES_USERNAME").getValue(); + String passWord = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("MES_PASSWORD").getValue(); paramMesMst.put("UserName", userName); paramMesMst.put("Password", passWord); @@ -2487,7 +2487,7 @@ public class CheckOutBillServiceImpl implements CheckOutBillService { //任务表 WQLObject wo_Task = WQLObject.getWQLObject("SCH_BASE_Task"); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -2553,7 +2553,7 @@ public class CheckOutBillServiceImpl implements CheckOutBillService { WQLObject wo_Task = WQLObject.getWQLObject("SCH_BASE_Task"); String task_id = whereJson.getString("task_id"); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -2613,7 +2613,7 @@ public class CheckOutBillServiceImpl implements CheckOutBillService { //出库主表 WQLObject wo_mst = WQLObject.getWQLObject("ST_IVT_IOStorInv"); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -2741,7 +2741,7 @@ public class CheckOutBillServiceImpl implements CheckOutBillService { mst_row.put("buss_type", ((String) mst_row.get("bill_type")).substring(0, 4)); mst_wql.insert(mst_row); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); JSONObject mst_row2 = mst_wql.query("iostorinv_id = '" + whereJson.get("iostorinv_id") + "'").uniqueResult(0); @@ -2990,7 +2990,7 @@ public class CheckOutBillServiceImpl implements CheckOutBillService { //出库明细表 WQLObject wo_dtl = WQLObject.getWQLObject("ST_IVT_IOStorInvDtl"); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); //查询主表信息 diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/service/impl/RegionioOutServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/service/impl/RegionioOutServiceImpl.java index 4b37e912e..c674b2301 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/service/impl/RegionioOutServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/service/impl/RegionioOutServiceImpl.java @@ -13,7 +13,7 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.modules.common.exception.BadRequestException; import org.nl.modules.system.util.CodeUtil; -import org.nl.modules.common.utils.SecurityUtils; +import org.nl.common.utils.SecurityUtils; import org.nl.wms.st.inbill.service.dto.RegionioDto; import org.nl.wms.st.outbill.service.RegionioOutService; import org.nl.modules.wql.WQL; @@ -107,7 +107,7 @@ public class RegionioOutServiceImpl implements RegionioOutService { } String bill_code = CodeUtil.getNewCode("OUT_STORE_CODE"); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -146,7 +146,7 @@ public class RegionioOutServiceImpl implements RegionioOutService { } } - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); dto.setBill_status("10"); @@ -164,7 +164,7 @@ public class RegionioOutServiceImpl implements RegionioOutService { @Override @Transactional(rollbackFor = Exception.class) public void deleteAll(Long[] ids) { - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/returns/service/impl/InAndOutRetrunServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/returns/service/impl/InAndOutRetrunServiceImpl.java index 5cb49cec7..eea4f6926 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/returns/service/impl/InAndOutRetrunServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/returns/service/impl/InAndOutRetrunServiceImpl.java @@ -9,9 +9,10 @@ import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.common.utils.SecurityUtils; -import org.nl.modules.common.utils.dto.CurrentUser; -import org.nl.modules.system.service.impl.ParamServiceImpl; +import org.nl.common.utils.SecurityUtils; +import org.nl.system.service.param.impl.SysParamServiceImpl; +import org.nl.system.service.user.dto.CurrentUser; + import org.nl.modules.wql.WQL; import org.nl.modules.wql.core.bean.WQLObject; import org.nl.modules.wql.util.SpringContextHolder; @@ -96,7 +97,7 @@ public class InAndOutRetrunServiceImpl implements InAndOutReturnService { JSONArray rows = whereJson.getJSONArray("rows"); for (int i = 0; i < rows.size(); i++) { JSONObject jo_mst = rows.getJSONObject(i); - String isUpload = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("is_upload").getValue(); + String isUpload = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("is_upload").getValue(); String bill_type = jo_mst.getString("bill_type"); String stor_id = jo_mst.getString("stor_id"); JSONObject stor_jo = WQLObject.getWQLObject("ST_IVT_BSRealStorAttr").query("stor_id = '" + stor_id + "'").uniqueResult(0); @@ -176,8 +177,8 @@ public class InAndOutRetrunServiceImpl implements InAndOutReturnService { if (StrUtil.equals(bill_type, "1001") && is_productstore.equals("1")) { // 2.回传mes JSONObject paramMesMst = new JSONObject(); - String userName = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("MES_USERNAME").getValue(); - String passWord = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("MES_PASSWORD").getValue(); + String userName = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("MES_USERNAME").getValue(); + String passWord = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("MES_PASSWORD").getValue(); paramMesMst.put("UserName", userName); paramMesMst.put("Password", passWord); @@ -213,8 +214,8 @@ public class InAndOutRetrunServiceImpl implements InAndOutReturnService { if (StrUtil.equals(bill_type, "1004") && is_productstore.equals("1")) { // 2.回传mes JSONObject paramMesMst = new JSONObject(); - String userName = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("MES_USERNAME").getValue(); - String passWord = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("MES_PASSWORD").getValue(); + String userName = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("MES_USERNAME").getValue(); + String passWord = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("MES_PASSWORD").getValue(); paramMesMst.put("UserName", userName); paramMesMst.put("Password", passWord); @@ -287,7 +288,7 @@ public class InAndOutRetrunServiceImpl implements InAndOutReturnService { JSONArray rows = whereJson.getJSONArray("rows"); for (int i = 0; i < rows.size(); i++) { JSONObject jo_mst = rows.getJSONObject(i); - String isUpload = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("is_upload").getValue(); + String isUpload = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("is_upload").getValue(); if (StrUtil.equals(isUpload, "1")) { String bill_type = jo_mst.getString("bill_type"); String stor_id = jo_mst.getString("stor_id"); @@ -957,8 +958,8 @@ public class InAndOutRetrunServiceImpl implements InAndOutReturnService { // 2.回传mes if (is_productstore.equals("1")) { JSONObject paramMesMst = new JSONObject(); - String userName = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("MES_USERNAME").getValue(); - String passWord = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("MES_PASSWORD").getValue(); + String userName = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("MES_USERNAME").getValue(); + String passWord = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("MES_PASSWORD").getValue(); paramMesMst.put("UserName", userName); paramMesMst.put("Password", passWord); @@ -1045,8 +1046,8 @@ public class InAndOutRetrunServiceImpl implements InAndOutReturnService { if (StrUtil.equals(bill_type, "1004") && is_productstore.equals("1")) { // 2.回传mes JSONObject paramMesMst = new JSONObject(); - String userName = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("MES_USERNAME").getValue(); - String passWord = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("MES_PASSWORD").getValue(); + String userName = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("MES_USERNAME").getValue(); + String passWord = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("MES_PASSWORD").getValue(); paramMesMst.put("UserName", userName); paramMesMst.put("Password", passWord); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/vehiclebill/service/dto/EmptyvehiclerecordDto.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/vehiclebill/service/dto/EmptyvehiclerecordDto.java index d79646783..bbe72ca47 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/vehiclebill/service/dto/EmptyvehiclerecordDto.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/vehiclebill/service/dto/EmptyvehiclerecordDto.java @@ -75,7 +75,7 @@ public class EmptyvehiclerecordDto implements Serializable { /** * 创建人 */ - private Long create_id; + private String create_id; /** * 创建人姓名 @@ -90,7 +90,7 @@ public class EmptyvehiclerecordDto implements Serializable { /** * 修改人 */ - private Long update_optid; + private String update_optid; /** * 修改人姓名 diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/vehiclebill/service/impl/InEmptyvehiclerecordServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/vehiclebill/service/impl/InEmptyvehiclerecordServiceImpl.java index d440f68ba..ee03f6b41 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/vehiclebill/service/impl/InEmptyvehiclerecordServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/vehiclebill/service/impl/InEmptyvehiclerecordServiceImpl.java @@ -13,7 +13,7 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.modules.common.exception.BadRequestException; import org.nl.modules.system.util.CodeUtil; -import org.nl.modules.common.utils.SecurityUtils; +import org.nl.common.utils.SecurityUtils; import org.nl.modules.wql.util.SpringContextHolder; import org.nl.wms.sch.service.PointService; import org.nl.wms.st.vehiclebill.service.InEmptyvehiclerecordService; @@ -85,7 +85,7 @@ public class InEmptyvehiclerecordServiceImpl implements InEmptyvehiclerecordServ public void create(EmptyvehiclerecordDto dto) { WQLObject pointTab = WQLObject.getWQLObject("sch_base_point"); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -136,7 +136,7 @@ public class InEmptyvehiclerecordServiceImpl implements InEmptyvehiclerecordServ dto.setEnd_region_id(end_region_id); } - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -153,7 +153,7 @@ public class InEmptyvehiclerecordServiceImpl implements InEmptyvehiclerecordServ @Override @Transactional(rollbackFor = Exception.class) public void deleteAll(Long[] ids) { - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/vehiclebill/service/impl/OutEmptyvehiclerecordServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/vehiclebill/service/impl/OutEmptyvehiclerecordServiceImpl.java index 8b6c0c3a5..885478bec 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/vehiclebill/service/impl/OutEmptyvehiclerecordServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/vehiclebill/service/impl/OutEmptyvehiclerecordServiceImpl.java @@ -13,7 +13,7 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.modules.common.exception.BadRequestException; import org.nl.modules.system.util.CodeUtil; -import org.nl.modules.common.utils.SecurityUtils; +import org.nl.common.utils.SecurityUtils; import org.nl.modules.wql.util.SpringContextHolder; import org.nl.wms.sch.service.PointService; import org.nl.wms.st.vehiclebill.service.OutEmptyvehiclerecordService; @@ -85,7 +85,7 @@ public class OutEmptyvehiclerecordServiceImpl implements OutEmptyvehiclerecordSe public void create(EmptyvehiclerecordDto dto) { WQLObject pointTab = WQLObject.getWQLObject("sch_base_point"); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -136,7 +136,7 @@ public class OutEmptyvehiclerecordServiceImpl implements OutEmptyvehiclerecordSe dto.setStart_region_id(start_region_id); } - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -153,7 +153,7 @@ public class OutEmptyvehiclerecordServiceImpl implements OutEmptyvehiclerecordSe @Override @Transactional(rollbackFor = Exception.class) public void deleteAll(Long[] ids) { - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); diff --git a/lms/nladmin-system/src/main/resources/config/application.yml b/lms/nladmin-system/src/main/resources/config/application.yml index f3b1af882..928a2ba24 100644 --- a/lms/nladmin-system/src/main/resources/config/application.yml +++ b/lms/nladmin-system/src/main/resources/config/application.yml @@ -93,4 +93,19 @@ sa-token: # 是否在初始化配置时打印版本字符画 is-print: false # token 前缀 - token-prefix: Bearer + token-prefix: + cookie: + # 配置 Cookie 作用域 + domain: open.com + +mybatis-plus: + configuration: + map-underscore-to-camel-case: true + log-impl: org.apache.ibatis.logging.stdout.StdOutImpl + mapper-locations: + - classpath:org.nl.**.mapper/*.xml + global-config: + db-config: + id-type: INPUT + + diff --git a/lms/nladmin-system/src/main/resources/template/generator/admin/ServiceImpl.ftl b/lms/nladmin-system/src/main/resources/template/generator/admin/ServiceImpl.ftl index 6d4cfc703..f1c872823 100644 --- a/lms/nladmin-system/src/main/resources/template/generator/admin/ServiceImpl.ftl +++ b/lms/nladmin-system/src/main/resources/template/generator/admin/ServiceImpl.ftl @@ -14,7 +14,7 @@ import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.IdUtil; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; -import org.nl.modules.common.utils.SecurityUtils; +import org.nl.common.utils.SecurityUtils; import org.nl.modules.wql.core.bean.ResultBean; import org.nl.modules.wql.core.bean.WQLObject; import org.nl.modules.wql.util.WqlUtil; @@ -70,7 +70,7 @@ public List<${className}Dto> queryAll(Map whereJson){ @Override @Transactional(rollbackFor = Exception.class) public void create(${className}Dto dto) { - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -93,7 +93,7 @@ public List<${className}Dto> queryAll(Map whereJson){ ${className}Dto entity = this.findById(dto.get${pkChangeColName ? cap_first }()); if (entity == null) throw new BadRequestException("被删除或无权限,操作失败!"); - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -109,7 +109,7 @@ public List<${className}Dto> queryAll(Map whereJson){ @Override @Transactional(rollbackFor = Exception.class) public void deleteAll(${pkColumnType}[] ids) { - Long currentUserId = SecurityUtils.getCurrentUserId(); + String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now();