Commit 1ad18b21 by renrui

[add]提交新功能

1 parent 98059f92
Showing with 6208 additions and 1340 deletions
/**
* Copyright (C) 2018-2020
* All rights reserved, Designed By www.yixiang.co
* 注意:
* 本软件为www.yixiang.co开发研制
*/
package org.arch.common.modules.sysmange.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author hupeng
* @date 2018-11-30
*/
@Data
@ApiModel(value="用户登录信息", description="用户登录信息")
public class AuthUser {
@ApiModelProperty(value ="用户账户",required = true,notes = "当前为用户手机号")
private String username;
@ApiModelProperty(required = true)
private String password;
public static void main(String[] args) {
//AuthUser authUser = new AuthUser();
//authUser.setPassword("12345678");
//authUser.setUsername("13500000001");
//System.out.println(JSON.toJSONString(authUser));
}
}
package org.arch.common.modules.sysmange.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.List;
/**
* 角色添加对象
*/
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="角色添加信息", description="角色添加信息")
public class RoleAddDto {
/**
* 角色名称
*/
@ApiModelProperty(value ="角色名称",required = true)
private String roleName;
/**
* 角色标识
*/
@ApiModelProperty(value ="角色标识",required = true)
private String roleSign;
/**
* 备注
*/
@ApiModelProperty(value ="备注")
private String remark;
/**
* 菜单id
*/
@ApiModelProperty(value ="菜单ID集合")
private List<Long> menuIds;
@ApiModelProperty(value ="禁用或者启用",notes = "0:禁用 1:启用")
private Integer enabled;
}
/**
* Copyright (C) 2018-2020
* All rights reserved, Designed By www.yixiang.co
* 注意:
* 本软件为www.yixiang.co开发研制
*/
package org.arch.common.modules.sysmange.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.util.Date;
/**
* @author hupeng
* @date 2020-05-14
*/
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="角色信息", description="角色信息")
public class RoleDto extends RoleAddDto implements Serializable {
@ApiModelProperty(value ="角色id")
private Long id;
/**
* 创建用户id
*/
@ApiModelProperty(value ="创建用户id")
private Long userIdCreate;
/**
* 创建时间
*/
@ApiModelProperty(value ="创建时间")
private Date createTime;
/**
* 修改人
*/
@ApiModelProperty(value ="修改人")
private Long userIdUpdate;
/**
* 修改时间
*/
@ApiModelProperty(value ="修改时间")
private Date updateTime;
}
package org.arch.common.modules.sysmange.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="角色查询条件对象", description="角色查询条件对象")
public class RoleQueryDto {
/**
* 当前页
*/
@ApiModelProperty(value="当前页", notes="当前页为空,默认查询第一页")
private Long currPage = 1L;
/**
* 每页显示条数
*/
@ApiModelProperty(value="每页显示条数", notes="每页显示条数为空,默认显示第一页")
private Long pageSize = 20L;
/**
* 关键字查询条件
*/
@ApiModelProperty(value="查询关键字", notes="查询关键字")
private String selectVal;
/**
* 人员姓名
*/
@ApiModelProperty(value="角色名", notes="角色名")
private String name;
}
package org.arch.common.modules.sysmange.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 角色添加对象
*/
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="角色修改信息", description="角色修改信息")
public class RoleUpdateDto extends RoleAddDto{
@ApiModelProperty(value ="角色id")
private Long id;
@ApiModelProperty(value ="角色编码")
private String roleSign;
@ApiModelProperty(value ="部门id串")
private String orgNum;
}
package org.arch.common.modules.sysmange.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.util.List;
/**
* 用户新建实体对象
*/
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="创建用户实体对象", description="创建用户实体对象")
public class UserAddDto implements Serializable {
/**
* 手机号码
*/
@ApiModelProperty(value ="手机号",required = false)
private String phone;
/**
* 用户姓名、昵称
*/
@ApiModelProperty(value ="用户名称或者昵称",required = true)
private String name;
/**
* 密码
*/
private String password;
/**
* 用户编码
*/
@ApiModelProperty(value ="用户编码",required = true)
private String userCode;
// /**
// * 员工类型
// */
// @ApiModelProperty(value ="用户类型",required = true)
// private Integer userType;
@ApiModelProperty(value ="用户角色ids",required = true)
// private Long roleId;
private List<Long> roleIds;
/**
* 组织机构编码
*/
@ApiModelProperty(value ="组织机构编码",required = true)
private String orgNum;
/**
* 用户数据权限范围
*/
@ApiModelProperty(value ="用户数据权限范围(对应组织编码)",required = false)
private String dataPermission;
// /**
// * 生日
// */
// @ApiModelProperty(value ="生日",required = true)
// private String birthday;
/**
* 部门
*/
@ApiModelProperty(value ="归属部门",required = false)
private Long deptId;
/**
* 组织机构id
*/
@ApiModelProperty(value ="归属组织机构",required = false)
private Long orgId;
// /**
// * 工作年限
// */
// @ApiModelProperty(value ="工作年限")
// private Double workYear;
// /**
// * 入职时间
// */
// @ApiModelProperty(value ="入职时间")
// private String entryTime;
// /**
// * 性别
// */
// @ApiModelProperty(value ="用户性别",required = true)
// private Integer sex;
/**
* 状态:1启用、0禁用
*/
@ApiModelProperty(value ="启用/禁用状态",required = true)
private Integer enabled;
public static void main(String[] args) {
// UserAddDto userAddDto = new UserAddDto();
//// userAddDto.setUserType(UserTypeEnum.REGULAR_EMPLOYEE.getCode());
//// userAddDto.setSex(SexEnum.UN_KNOW.getCode());
// userAddDto.setUserCode("0001");
// userAddDto.setPhone("15810222300");
// userAddDto.setPassword("123456");
// userAddDto.setOrgId(1L);
// userAddDto.setDeptId(1L);
// userAddDto.setName("刘雷");
//// userAddDto.setBirthday("2020-06-01");
// userAddDto.setEnabled(EnableEnum.ENABLE.getCode());
// System.out.println(JSON.toJSONString(userAddDto));
}
}
......@@ -102,4 +102,10 @@ public class UserDto implements Serializable {
@ApiModelProperty(value = "部门路径",notes = "部门路径")
private String orgSimpleName;
@ApiModelProperty(value = "组织机构Id",notes = "组织机构Id")
private String orgId;
@ApiModelProperty(value = "数据范围",notes = "数据范围")
private String orgNum;
}
package org.arch.common.modules.sysmange.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="用户登录返回信息", description="说明:1、登录成功后,将tokon放入请求头里面。所有需要在登录后才能访问的接口都需要该参数。参数名:Authorization.")
public class UserLoginDto {
@ApiModelProperty(value = "登录token 说明:登录成功后,将tokon放入请求头里面。所有需要在登录后才能访问的接口都需要该参数。参数名:Authorization",notes = "登录成功后,将tokon放入请求头里面。所有需要在登录后才能访问的接口都需要该参数。参数名:Authorization.")
private String token;
@ApiModelProperty(value = "用户信息",notes = "用户信息")
private UserDto userDto;
public UserLoginDto(String token, UserDto userDto) {
this.token = token;
this.userDto = userDto;
}
}
package org.arch.common.modules.sysmange.dto;
import com.alibaba.fastjson.JSON;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="用户查询条件对象", description="用户查询条件对象")
public class UserQueryDto {
/**
* 当前页
*/
@ApiModelProperty(value="当前页", notes="当前页为空,默认查询第一页")
private Long currPage = 1L;
/**
* 每页显示条数
*/
@ApiModelProperty(value="每页显示条数", notes="每页显示条数为空,默认显示第一页")
private Long pageSize = 20L;
/**
* 关键字查询条件
*/
@ApiModelProperty(value="查询关键字", notes="查询关键字")
private String selectVal;
/**
* 人员姓名
*/
@ApiModelProperty(value="人员姓名", notes="人员姓名")
private String name;
/**
* 人员编码
*/
@ApiModelProperty(value="人员编码", notes="人员编码")
private String userCode;
/**
* 所属组织
*/
@ApiModelProperty(value="所属组织", notes="所属组织")
private Long orgId;
/**
* 所属组织
*/
@ApiModelProperty(value="所属组织编码", notes="所属组织编码")
private String orgNum;
public static void main(String[] args) {
UserQueryDto userQueryDto = new UserQueryDto();
userQueryDto.setName("张三");
userQueryDto.setUserCode("YG001");
System.out.println(JSON.toJSONString(userQueryDto));
}
}
package org.arch.common.modules.sysmange.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="员工性别", description="员工性别")
public class UserSexDto {
/**
* 员工性别编码
*/
@ApiModelProperty(value = "员工性别编码",hidden = true)
private Integer code;
/**
* 员工性别
*/
@ApiModelProperty(value = "员工性别",hidden = true)
private String name;
}
package org.arch.common.modules.sysmange.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="员工类型", description="员工类型")
public class UserTypeDto {
/**
* 类型编码
*/
@ApiModelProperty(value = "员工类型编码",hidden = true)
private Integer code;
/**
* 类型
*/
@ApiModelProperty(value = "员工类型名称",hidden = true)
private String name;
}
package org.arch.common.modules.sysmange.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="更新用户实体对象", description="更新用户实体对象")
public class UserUpdateDto extends UserAddDto {
/**
* 用户id
*/
@ApiModelProperty(value ="用户id",required = true)
private Long id;
}
package org.arch.common.modules.sysmange.entity;
import com.baomidou.mybatisplus.annotation.IdType;
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 io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* 概设设计说明书表(AdsProject)实体类
*
* @author makejava
* @since 2022-02-28 13:52:32
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("ads_project")
@ApiModel(value="AdsProject对象",description="概设设计说明书表")
public class AdsProject implements Serializable {
private static final long serialVersionUID = 786031022867642331L;
/**
* 概设id
*/
@TableId(value = "ads_id", type = IdType.INPUT)
@ApiModelProperty(value = "+概设id")
private String adsId;
/**
* 编码
*/
@ApiModelProperty(value = "+编码")
private String code;
/**
* 模版id
*/
@ApiModelProperty(value = "+模版id")
private String templateId;
/**
* 可研id
*/
@ApiModelProperty(value = "+可研id")
private String fsrId;
/**
* 概设名称
*/
@ApiModelProperty(value = "+概设名称")
private String adsName;
/**
* 所属单位
*/
@ApiModelProperty(value = "+所属单位")
private String deptId;
/**
* 所属单位ID串
*/
@ApiModelProperty(value = "+所属单位ID串")
private String deptIds;
/**
* 状态(0编制中,1待审核,2待受理,3待预审,4预审中,5整改中,6待评审(选择评审方式)7线下评审中8待分派9线上评审中10待核查11待收口12归档)
*/
@ApiModelProperty(value = "+状态(0编制中,1待审核,2待受理,3待预审,4预审中,5整改中,6待评审(选择评审方式)7线下评审中8待分派9线上评审中10待核查11待收口12归档)")
private String state;
/**
* 创建人
*/
@ApiModelProperty(value = "+创建人")
private String creater;
/**
* 创建人id
*/
@ApiModelProperty(value = "+创建人id")
private String createrId;
/**
* 创建时间
*/
@ApiModelProperty(value = "+创建时间")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date createTime;
/**
* 近期更新时间
*/
@ApiModelProperty(value = "+近期更新时间")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date uploadTime;
/**
* 版本号
*/
@ApiModelProperty(value = "+版本号")
private Integer version;
/**
* 负责人id
*/
@ApiModelProperty(value = "+负责人id")
private String leaderId;
/**
* 负责人
*/
@ApiModelProperty(value = "+负责人")
private String leaderName;
/**
* 业务主管部门
*/
@ApiModelProperty(value = "+业务主管部门")
private String busCompetentDept;
/**
* 业务主管部门联系人
*/
@ApiModelProperty(value = "+业务主管部门联系人电话")
private String busCompetentPhone;
/**
* 业务主管部门联系人
*/
@ApiModelProperty(value = "+业务主管部门联系人名称")
private String busCompetentPeople;
/**
* 建设单位
*/
@ApiModelProperty(value = "+建设单位")
private String constructingUnits;
/**
* 建设单位联系人
*/
@ApiModelProperty(value = "+建设单位联系人电话")
private String constructingPhone;
/**
* 建设单位联系人
*/
@ApiModelProperty(value = "+建设单位联系人名称")
private String constructingPeople;
/**
* 承建单位
*/
@ApiModelProperty(value = "+承建单位")
private String contractBuildUnits;
/**
* 承建联系人
*/
@ApiModelProperty(value = "+承建联系人电话")
private String contractBuildPhone;
/**
* 承建联系人
*/
@ApiModelProperty(value = "+承建联系人名称")
private String contractBuildPeople;
/**
* 运维部门
*/
@ApiModelProperty(value = "+运维部门")
private String operationsUnits;
/**
* 运维联系人
*/
@ApiModelProperty(value = "+运维联系人电话")
private String operationsPhone;
/**
* 运维联系人
*/
@ApiModelProperty(value = "+运维联系人名称")
private String operationsPeople;
/**
* 系统类别
*/
@ApiModelProperty(value = "+系统类别")
private String sysType;
/**
* 系统名称
*/
@ApiModelProperty(value = "+系统名称")
private String sysName;
/**
* 浏览器减容
*/
@ApiModelProperty(value = "+浏览器减容")
private String browser;
/**
* 用户范围
*/
@ApiModelProperty(value = "+用户范围")
private String userArea;
/**
* 用户规模
*/
@ApiModelProperty(value = "+用户规模")
private String userScope;
/**
* 概设定级
*/
@ApiModelProperty(value = "+概设定级")
private String adsLevel;
/**
* 预审定级
*/
@ApiModelProperty(value = "+预审定级")
private String preliminaryLevel;
/**
* 批次
*/
@ApiModelProperty(value = "+批次")
private String batch;
/**
* 是否删除
*/
@ApiModelProperty(value = "+是否删除")
private Integer isDel;
/**
* 概设文档id
*/
@ApiModelProperty(value = "+概设文档id")
private String fileId;
/**
* 评审报告id
*/
@ApiModelProperty(value = "+评审报告id")
private String reportId;
/**
* 概设所属年月
*/
@ApiModelProperty(value = "+概设所属年月")
private String yearM;
/**
* 需求来源(0可研1任务工作书)
*/
@ApiModelProperty(value = "+需求来源(0可研1任务工作书)")
private String demandSource;
/**
* 环节:申报1,业务部门审核2,受理3,预审4,评审5,核查6,收口7,归档8
*/
@ApiModelProperty(value = "+环节:申报1,业务部门审核2,受理3,预审4,评审5,核查6,收口7,归档8")
private String step;
/**
* 提交时间
*/
@ApiModelProperty(value = "+提交时间")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date submitTime;
/**
* 预审时间
*/
@ApiModelProperty(value = "+预审时间")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date inquiryTime;
/**
* 评审时间
*/
@ApiModelProperty(value = "+评审时间")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date reviewTime;
/**
* 项目金额
*/
@ApiModelProperty(value = "+项目金额")
private Double projectAmount;
/**
* 合同开始时间
*/
@ApiModelProperty(value = "+合同开始时间")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date contractStartTime;
/**
* 合同结束时间
*/
@ApiModelProperty(value = "+合同结束时间")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date contractEndTime;
@ApiModelProperty(value = "+评审方式1线上2线下")
private String reviewType;
/**
* 合同结束时间
*/
@ApiModelProperty(value = "+评审批次名称")
private Date reviewBatchTime;
@ApiModelProperty(value = "+评审批次名称")
private String reviewBatch;
@ApiModelProperty(value = "+拟建系统id")
private String proposedSysId;
@ApiModelProperty(value = "+拟建系统名称")
private String proposedSysName;
@ApiModelProperty(value = "+'项目性质(0新建,1续建,2整合)'")
private String proProp;
/**
* 合同结束时间
*/
@ApiModelProperty(value = "+批复名称")
private String replyName;
@ApiModelProperty(value = "+第三方项目id")
private String tripartiteProjectId;
@ApiModelProperty(value = "+批复时间")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date replyTime;
@ApiModelProperty("是否当期批次")
@TableField(exist = false)
private Boolean isBatch;
@ApiModelProperty("附件集合")
@TableField(exist = false)
private List<String> fileIds;
@ApiModelProperty(value = "内容")
@TableField(exist = false)
private String content;
/* @ApiModelProperty("概设评审申请系统数据集合")
@TableField(exist = false)
private List<AdsReviewData> dataList;
@ApiModelProperty("概设评审申请项目信息集合")
@TableField(exist = false)
private List<AdsReviewProject> projectList;
@ApiModelProperty("概设评审申请集成关系集合")
@TableField(exist = false)
private List<AdsReviewRelation> relationList;
@ApiModelProperty("概设评审申请资源需求集合")
@TableField(exist = false)
private List<AdsReviewResources> resourcesList;
@ApiModelProperty("概设评审申请部署位置和技术中台数据")
@TableField(exist = false)
private List<AdsReviewDeployVo> voList;*/
@ApiModelProperty(value = "业务部门审核人名称")
private String examineUserName;
@ApiModelProperty(value = "业务部门审核人isc的id")
private String examineIscUserId;
@TableField(exist = false)
@ApiModelProperty(value = "是否提交")
private String isSubmit;
@TableField(exist = false)
@ApiModelProperty(value = "当前节点持续时间")
private String nowNodeTime;
@TableField(exist = false)
@ApiModelProperty(value = "流转时间")
private String circulationTime;
@TableField(exist = false)
@ApiModelProperty(value = "概设ID集合")
private List<String> adsIds;
@TableField(exist = false)
@ApiModelProperty(value = "安全测评ID")
private String safeTestId;
@ApiModelProperty("可研列表")
@TableField(exist = false)
private List<Project> fsrProList;
@TableField(exist = false)
@ApiModelProperty(value = "部署位置0:内网 1:外网 2:内外网")
private String deployStr;
@TableField(exist = false)
@ApiModelProperty(value = "上线模式以逗号隔开")
private String onlinePattern;
@TableField(exist = false)
@ApiModelProperty(value = "系统架构以逗号隔开")
private String sysFrameworkType;
@TableField(exist = false)
@ApiModelProperty(value = "客户端类型")
private String clientType;
@TableField(exist = false)
@ApiModelProperty(value = "测评ID")
private String testId;
@TableField(exist = false)
@ApiModelProperty(value = "上线ID")
private String onlineId;
@TableField(exist = false)
@ApiModelProperty(value = "验收ID")
private String cid;
@TableField(exist = false)
@ApiModelProperty(value = "项目上线时间")
private Date onlineTime;
public static final String ADS_ID = "ads_id";
public static final String CODE = "code";
public static final String ADS_NAME = "ads_name";
public static final String FSR_ID = "fsr_id";
public static final String TYPE = "type";
public static final String DEPT_ID = "dept_id";
public static final String DEPT = "dept";
public static final String STATE = "state";
public static final String CREATER = "creater";
public static final String CREATER_ID = "creater_id";
public static final String CREATE_TIME = "create_time";
public static final String UPLOAD_TIME = "upload_time";
public static final String VERSION = "version";
public static final String LEADER_ID = "leader_id";
public static final String LEADER_NAME = "leader_name";
public static final String IS_DEL = "is_del";
}
package org.arch.common.modules.sysmange.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.util.Date;
/**
* <p>
* 代办
* </p>
*
* @author audit
* @since 2020-11-07
*/
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("com_backlog")
@ApiModel(value="代办", description="代办")
public class BackLog implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "id")
private String bId;
@ApiModelProperty(value = "评审文档id")
private String rId;
@ApiModelProperty(value = "审批类型(0规划1可研,2概设,3需求,4测评,5上线,6下线,7检查督办8验收)")
private String type;
@ApiModelProperty(value = "业务名称")
private String name;
@ApiModelProperty(value = "环节类型(例如可研编制,可研初审,概设编制等)")
private String stepType;
@ApiModelProperty(value = "审批结果(0未处理,1处理)")
private String result;
@ApiModelProperty(value = "提交人")
private String submitterId;
@ApiModelProperty(value = "提交人名称")
@TableField(exist = false)
private String submitter;
@ApiModelProperty(value = "提交时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date submitTime;
@ApiModelProperty(value = "审批人")
private String approver;
@ApiModelProperty(value = "审批人id")
private String approverId;
@ApiModelProperty(value = "审批时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date approvalTime;
@ApiModelProperty(value = "预计完成时间")
private Date completionTime;
@ApiModelProperty(value = "接收人")
private String accepterId;
@ApiModelProperty(value = "接收人名称")
@TableField(exist = false)
private String accepter;
@ApiModelProperty(value = "根据type值所代表的项目状态")
private String state;
}
package org.arch.common.modules.sysmange.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.util.Date;
/**
* <p>
* 部门
* </p>
*
* @author audit
* @since 2020-08-27
*/
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("sys_dept")
@ApiModel(value="Dept对象", description="部门")
public class Dept implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "ID")
@TableId(value = "dept_id", type = IdType.AUTO)
private Long deptId;
@ApiModelProperty(value = "组织ID")
private Long orgId;
@ApiModelProperty(value = "上级部门")
private Long parentDeptId;
@ApiModelProperty(value = "名称")
private String deptName;
@ApiModelProperty(value = "部门简称")
private String deptSimpleName;
@ApiModelProperty(value = "状态")
private Boolean enabled;
@ApiModelProperty(value = "部门类型")
private String deptType;
@ApiModelProperty(value = "创建日期")
private Date createTime;
@ApiModelProperty(value = "创建人")
private String createMan;
@ApiModelProperty(value = "最后一次修改时间")
private Date lastUpdateTime;
@ApiModelProperty(value = "最后一次修改人")
private Long lastUpdateMan;
}
package org.arch.common.modules.sysmange.entity;
import com.baomidou.mybatisplus.annotation.IdType;
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 io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
/**
* <p>
* 可行性研究报告
* </p>
*
* @author zhenxu
* @since 2020-10-29
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("fsr_project")
@ApiModel(value = "Project对象", description = "可行性研究报告")
public class Project implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "可行性研究报告id")
@TableId(value = "fsr_id", type = IdType.INPUT)
private String fsrId;
@ApiModelProperty(value = "编码")
private String code;
@ApiModelProperty(value = "模板ID")
private String templateId;
@ApiModelProperty(value = "模板名称")
@TableField(exist = false)
private String templateN;
@ApiModelProperty(value = "可研名称")
private String prjName;
@ApiModelProperty(value = "系统名称")
private String sysName;
@ApiModelProperty(value = "当项目性质为续建时关联系统id用,分割")
private String sysId;
@ApiModelProperty(value = "所属年月")
private String yearM;
@ApiModelProperty(value = "类型(开发,开发实施,设计)")
private String prjType;
@ApiModelProperty(value = "类型名称")
@TableField(exist = false)
private String prjTypeN;
@ApiModelProperty(value = "项目性质(0新建,1续建,2优化)")
private String proProp;
@ApiModelProperty(value = "项目性质名称")
@TableField(exist = false)
private String proPropN;
@ApiModelProperty(value = "项目来源(0信息规划类,1管理新要求,2业务新需求)")
private String proSource;
@ApiModelProperty(value = "项目来源名称")
@TableField(exist = false)
private String proSourceN;
@ApiModelProperty(value = "单位编码")
private String deptId;
@ApiModelProperty(value = "单位ID串")
private String deptIds;
@ApiModelProperty(value = "所属单位")
private String dept;
@ApiModelProperty(value = "项目期号(1期,2期,3期,4期,5期)")
private String proNum;
@ApiModelProperty(value = "文档类型")
private String wordType;
@ApiModelProperty(value = "状态(0编制中,1待审核,2待受理,3待预审,4预审中,5预审整改中,6待评审7暂缓立项8评审整改中9待核查10待收口11归档20不予申报21不予受理22不予立项)")
private String state;
@ApiModelProperty(value = "状态(0编制中,1待审核,2待受理,3待预审,4预审中,5整改中,6待评审7暂缓立项9待核查10待收口11归档20不予申报21不予受理22不予立项)")
private String newState;
@ApiModelProperty(value = "状态名")
@TableField(exist = false)
private String stateN;
@ApiModelProperty(value = "建设类型")
private String buildType;
@ApiModelProperty(value = "建设类型")
@TableField(exist = false)
private String buildTypeN;
@ApiModelProperty(value = "创建人")
private String creater;
@ApiModelProperty(value = "创建人id")
private String createrId;
@ApiModelProperty(value = "创建时间")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date createTime;
@ApiModelProperty(value = "近期更新时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date uploadTime;
@ApiModelProperty(value = "版本号")
private Integer version;
@ApiModelProperty(value = "负责人")
private String leaderId;
private String leaderName;
@ApiModelProperty(value = "项目任务分类")
private String proTaskType;
@ApiModelProperty(value = "项目任务分类名称")
@TableField(exist = false)
private String proTaskTypeN;
@ApiModelProperty(value = "系统部署位置")
private String position;
@ApiModelProperty(value = "项目分类(0规划类,1需求类)")
private String proType;
@ApiModelProperty(value = "需求Id")
private String demandId;
@ApiModelProperty(value = "需求名称")
private String demandName;
@ApiModelProperty(value = "批次")
private String batch;
@ApiModelProperty("是否当期批次")
@TableField(exist = false)
private Boolean isBatch;
/* @ApiModelProperty(value = "关联规划的id数组")
@TableField(exist = false)
private List<PsrPlan> psrPlans;
@ApiModelProperty(value = "关联规划的id数组")
@TableField(exist = false)
private List<Demand> demands;*/
@ApiModelProperty("附件集合")
@TableField(exist = false)
private List<String> fileIds;
@ApiModelProperty(value = "数据工程费")
private BigDecimal engCost;
@ApiModelProperty(value = "软件购置费")
private BigDecimal softCost;
@ApiModelProperty(value = "硬件购置费")
private BigDecimal hardCost;
@ApiModelProperty(value = "咨询设计费")
private BigDecimal consultCost;
@ApiModelProperty(value = "系统功能开发费")
private BigDecimal sysDesignCost;
@ApiModelProperty(value = "系统集成开发费")
private BigDecimal sysIntegrateCost;
@ApiModelProperty(value = "系统实施费")
private BigDecimal sysImplCost;
@ApiModelProperty(value = "系统集成实施费")
private BigDecimal sysIntegrateImplCost;
@ApiModelProperty(value = "业务运营费")
private BigDecimal busOperationCost;
@ApiModelProperty(value = "其他费用")
private BigDecimal otherCost;
@ApiModelProperty(value = "数据工程数据产品(应用)研发费用")
private BigDecimal sysDataProduct;
@ApiModelProperty(value = "数据工程数据标准化、盘点、目录构建、质量治理等费用")
private BigDecimal sysDataStandard;
@ApiModelProperty(value = "数据工程数据接入、上传、下发、数据产品(应用)实施费用")
private BigDecimal sysDataCost;
@ApiModelProperty(value = "总计费用")
private BigDecimal totalCost;
@ApiModelProperty(value = "内容")
@TableField(exist = false)
private String content;
@ApiModelProperty(value = "删除标识")
private Integer isDel;
@ApiModelProperty(value = "可研文档存储ID")
private String fileId;
@ApiModelProperty(value = "估算书存储Id")
private String excelId;
@ApiModelProperty(value = "审批报告存储ID")
private String reportId;
@ApiModelProperty(value = "环节(申报1,业务部门审核2,受理3,预审4,评审5,核查6,收口7,归档8)")
private String step;
@ApiModelProperty(value = "建设可行性评分")
private BigDecimal gradeFeasibility;
@ApiModelProperty(value = "建设必要性评分")
private BigDecimal gradeNecessity;
@ApiModelProperty(value = "建设效益评价得分")
private BigDecimal gradeBenefit;
@ApiModelProperty(value = "审定金额(万元)")
private BigDecimal approvalCost;
@ApiModelProperty(value = "评审总得分")
private BigDecimal grade;
@ApiModelProperty(value = "评审意见文号")
private String gradeOpinionNumber;
@ApiModelProperty(value = "批复意见文号")
private String replyOpinionNumber;
@ApiModelProperty(value = "批复金额")
private BigDecimal replyCost;
@ApiModelProperty(value = "业务部门审核人名称")
private String examineUserName;
@ApiModelProperty(value = "业务部门审核人isc的id")
private String examineIscUserId;
@TableField(exist = false)
@ApiModelProperty(value = "部门路径")
private String orgSimpleName;
@TableField(exist = false)
@ApiModelProperty(value = "是否提交")
private String isSubmit;
@ApiModelProperty(value = "立项时间")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date confirmTime;
@ApiModelProperty(value = "验收时间")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date acceptanceTime;
@ApiModelProperty(value = "实施期限(月)")
private String implementDeadline;
@ApiModelProperty(value = "申报单位")
private String constructDeptName;
@ApiModelProperty(value = "编制单位")
private String demandReportDeptName;
@TableField(exist = false)
@ApiModelProperty(value = "项目联系人")
private String contactUser;
@TableField(exist = false)
@ApiModelProperty(value = "项目联系方式")
private String contactPhone;
@TableField(exist = false)
@ApiModelProperty(value = "可研id集合")
private List<String> fsrIds;
@TableField(exist = false)
@ApiModelProperty(value = "完成预审状态1通过2驳回")
private String preStart;
@ApiModelProperty(value = "是否补录: 1:是,2:否")
// @TableField(exist = false)
private String additionalRecordingFlag;
@ApiModelProperty(value = "可研编制单位")
private String fsrMakeUnitName;
@ApiModelProperty(value = "可研编制单位ID")
private String fsrMakeUnitId;
@ApiModelProperty(value = "可研编制单位ID串")
private String fsrMakeUnitIds;
@ApiModelProperty(value = "可研批次字段")
private String fsrBatch;
}
package org.arch.common.modules.sysmange.entity;
import com.baomidou.mybatisplus.annotation.IdType;
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 io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* <p>
* 规划设计研究-规划表
* </p>
*
* @author wubaoliang
* @since 2020-10-29
*/
@Data
@TableName("psr_plan")
public class PsrPlan implements Serializable {
private static final long serialVersionUID = 1L;
public static final String REFUSE_PSRPLAN = "0";
public static final String EDIT_PSRPLAN = "1";
public static final String AUDIT_PSRPLAN = "2";
public static final String PASS_PSRPLAN = "3";
public static final String INUSE_ENABLED = "1";
public static final String NOTUSE_ENABLED = "0";
/**
* 规划Id
*/
@TableId(value="id",type=IdType.INPUT)
private String id;
/**
* 规划年份
*/
private String year;
/**
* 规划名称
*/
private String name;
/**
* 规划描述
*/
private String description;
/**
* 创建用户id
*/
private String createrId;
/**
* 创建人
*/
private String creater;
/**
* 创建时间
*/
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
private Date createTime;
/**
* 状态(0驳回,1编辑,2审核,3通过)
*/
private String state;
/**
* 规划分类
*/
private String psrTypeId;
/**
* 是否禁用0 :禁用 1 启用
*/
private String enabled;
/**
* 需求来源描述
*/
private String remark;
private Integer version;
/**
* 估算值
*/
private Float estimatedValue;
/**
*项目计划父Id
*/
private String pId;
/**
*单位编码
*/
private String orgNum;
/**
*单位名称
*/
private String orgName;
/**
*规划编号
*/
private String planNum;
@ApiModelProperty(value = "规划所属单位id")
@TableField(exist = false)
private Long orgId;
/**
*规划分类id列表
*/
private String psrTypePids;
/**
*组织id列表
*/
private String orgPids;
@ApiModelProperty(value = "是否查询规划审批列表")
@TableField(exist = false)
private boolean whetherQueryApproval = false;
@ApiModelProperty(value = "关联目录ID")
@TableField(exist = false)
private String caId;
@ApiModelProperty(value = "关联目录名称")
@TableField(exist = false)
private String caName;
@ApiModelProperty("附件Id集合")
@TableField(exist = false)
private List<String> fileIds;
@ApiModelProperty(value = "部门路径")
@TableField(exist = false)
private String orgSimpleName;
public String getCaId() {
return caId;
}
public void setCaId(String caId) {
this.caId = caId;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getYear() {
return year;
}
public void setYear(String year) {
this.year = year;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public String getCreaterId() {
return createrId;
}
public void setCreaterId(String createrId) {
this.createrId = createrId;
}
public String getCreater() {
return creater;
}
public void setCreater(String creater) {
this.creater = creater;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public String getState() {
return state;
}
public void setState(String state) {
this.state = state;
}
public String getPsrTypeId() {
return psrTypeId;
}
public void setPsrTypeId(String psrTypeId) {
this.psrTypeId = psrTypeId;
}
public String getEnabled() {
return enabled;
}
public void setEnabled(String enabled) {
this.enabled = enabled;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public Integer getVersion() {
return version;
}
public void setVersion(Integer version) {
this.version = version;
}
public Float getEstimatedValue() {
return estimatedValue;
}
public void setEstimatedValue(Float estimatedValue) {
this.estimatedValue = estimatedValue;
}
public String getpId() {
return pId;
}
public void setpId(String pId) {
this.pId = pId;
}
public String getOrgNum() {
return orgNum;
}
public void setOrgNum(String orgNum) {
this.orgNum = orgNum;
}
public String getPlanNum() {
return planNum;
}
public void setPlanNum(String planNum) {
this.planNum = planNum;
}
public String getOrgName() {
return orgName;
}
public void setOrgName(String orgName) {
this.orgName = orgName;
}
public Long getOrgId() {
return orgId;
}
public void setOrgId(Long orgId) {
this.orgId = orgId;
}
public String getPsrTypePids() {
return psrTypePids;
}
public void setPsrTypePids(String psrTypePids) {
this.psrTypePids = psrTypePids;
}
public String getOrgPids() {
return orgPids;
}
public void setOrgPids(String orgPids) {
this.orgPids = orgPids;
}
public boolean isWhetherQueryApproval() {
return whetherQueryApproval;
}
public void setWhetherQueryApproval(boolean whetherQueryApproval) {
this.whetherQueryApproval = whetherQueryApproval;
}
public String getCaName() {
return caName;
}
public void setCaName(String caName) {
this.caName = caName;
}
@Override
public String toString() {
return "PsrPlan{" +
", id=" + id +
", year=" + year +
", name=" + name +
", description=" + description +
", createrId=" + createrId +
", creater=" + creater +
", createTime=" + createTime +
", state=" + state +
", psrTypeId=" + psrTypeId +
", enabled=" + enabled +
", remark=" + remark +
", version=" + version +
", estimatedValue=" + estimatedValue +
"}";
}
}
package org.arch.common.modules.sysmange.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* <p>
* 角色
* </p>
*
* @author liulei
* @since 2020-09-06
*/
@Data
@TableName("sys_role")
public class Role implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 角色名称
*/
private String roleName;
/**
* 角色标识
*/
private String roleSign;
/**
* 备注
*/
private String remark;
/**
* 创建用户id
*/
private Long userIdCreate;
/**
* 创建时间
*/
private Date createTime;
/**
* 修改人
*/
private Long userIdUpdate;
/**
* 修改时间
*/
private Date updateTime;
/**
* 禁用或者启用
* 0:禁用 1:启用
*/
private Integer enabled;
}
/**
* Copyright (C) 2018-2020
* All rights reserved, Designed By www.yixiang.co
* 注意:
* 本软件为www.yixiang.co开发研制
*/
package org.arch.common.modules.sysmange.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
/**
* 角色菜单
* @author hupeng
* @date 2020-05-16
*/
@Data
@TableName("sys_roles_menus")
public class RolesMenus implements Serializable {
/** 菜单ID */
private Long menuId;
/** 角色ID */
private Long roleId;
}
package org.arch.common.modules.sysmange.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* <p>
* 系统用户
* </p>
*
* @author liulei
* @since 2020-09-02
*/
@Data
@TableName("sys_user")
public class User implements Serializable {
private static final long serialVersionUID = 1L;
/**
* ID
*/
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 手机号码
*/
private String phone;
/**
* 用户姓名、昵称
*/
private String name;
/**
* 密码
*/
private String password;
/**
* 用户编码
*/
private String userCode;
/**
* 员工类型
*/
private Integer userType;
/**
* 生日
*/
private String birthday;
/**
* 部门名称
*/
private Long deptId;
/**
* 组织机构id
*/
private Long orgId;
/**
* 工作年限
*/
private Double workYear;
/**
* 入职时间
*/
private Date entryTime;
/**
* 创建日期
*/
private Date createTime;
/**
* 性别
*/
private Integer sex;
/**
* 状态:1启用、0禁用
*/
private Integer enabled;
/**
* 是否删除:1删除、0 未删除
*/
private Integer isDelete;
/**
* 组织编码
*/
private String orgNum;
/**
* 数据权限范围
*/
private String dataPermission;
/**
* iscUserId
*/
private String iscUserId;
/**
* isExpert
*/
private String isExpert;
/**
* 角色名称集合以逗号隔开
*/
@TableField(exist = false)
private String roleName;
}
/**
* Copyright (C) 2018-2020
* All rights reserved, Designed By www.yixiang.co
* 注意:
* 本软件为www.yixiang.co开发研制
*/
package org.arch.common.modules.sysmange.vo;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
/**
* @author hupeng
* @date 2020-05-16
*/
@Data
@TableName("sys_users_roles")
public class UsersRoles implements Serializable {
/** 用户ID */
private Long userId;
/** 角色ID */
private Long roleId;
}
2024-07-01 19:06:54 [main] ERROR org.springframework.boot.SpringApplication:821 - Application run failed
java.lang.IllegalStateException: Unable to read meta-data for class com.eadc.config.MybatisConfig
at org.springframework.boot.autoconfigure.AutoConfigurationSorter$AutoConfigurationClass.getAnnotationMetadata(AutoConfigurationSorter.java:237)
at org.springframework.boot.autoconfigure.AutoConfigurationSorter$AutoConfigurationClass.getOrder(AutoConfigurationSorter.java:208)
at org.springframework.boot.autoconfigure.AutoConfigurationSorter$AutoConfigurationClass.access$000(AutoConfigurationSorter.java:154)
at org.springframework.boot.autoconfigure.AutoConfigurationSorter.lambda$getInPriorityOrder$0(AutoConfigurationSorter.java:63)
at java.util.TimSort.countRunAndMakeAscending(TimSort.java:360)
at java.util.TimSort.sort(TimSort.java:234)
at java.util.Arrays.sort(Arrays.java:1512)
at java.util.ArrayList.sort(ArrayList.java:1462)
at org.springframework.boot.autoconfigure.AutoConfigurationSorter.getInPriorityOrder(AutoConfigurationSorter.java:62)
at org.springframework.boot.autoconfigure.AutoConfigurationImportSelector$AutoConfigurationGroup.sortAutoConfigurations(AutoConfigurationImportSelector.java:468)
at org.springframework.boot.autoconfigure.AutoConfigurationImportSelector$AutoConfigurationGroup.selectImports(AutoConfigurationImportSelector.java:453)
at org.springframework.context.annotation.ConfigurationClassParser$DeferredImportSelectorGrouping.getImports(ConfigurationClassParser.java:882)
at org.springframework.context.annotation.ConfigurationClassParser$DeferredImportSelectorGroupingHandler.processGroupImports(ConfigurationClassParser.java:809)
at org.springframework.context.annotation.ConfigurationClassParser$DeferredImportSelectorHandler.process(ConfigurationClassParser.java:780)
at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:193)
at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:331)
at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:247)
at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:311)
at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:112)
at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:746)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:564)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145)
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:732)
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:414)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:302)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1303)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1292)
at org.arch.modules.ArchOverallApp.main(ArchOverallApp.java:17)
Caused by: java.io.FileNotFoundException: class path resource [com/eadc/config/MybatisConfig.class] cannot be opened because it does not exist
at org.springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:199)
at org.springframework.core.type.classreading.SimpleMetadataReader.getClassReader(SimpleMetadataReader.java:55)
at org.springframework.core.type.classreading.SimpleMetadataReader.<init>(SimpleMetadataReader.java:49)
at org.springframework.core.type.classreading.SimpleMetadataReaderFactory.getMetadataReader(SimpleMetadataReaderFactory.java:103)
at org.springframework.boot.type.classreading.ConcurrentReferenceCachingMetadataReaderFactory.createMetadataReader(ConcurrentReferenceCachingMetadataReaderFactory.java:86)
at org.springframework.boot.type.classreading.ConcurrentReferenceCachingMetadataReaderFactory.getMetadataReader(ConcurrentReferenceCachingMetadataReaderFactory.java:73)
at org.springframework.core.type.classreading.SimpleMetadataReaderFactory.getMetadataReader(SimpleMetadataReaderFactory.java:81)
at org.springframework.boot.autoconfigure.AutoConfigurationSorter$AutoConfigurationClass.getAnnotationMetadata(AutoConfigurationSorter.java:233)
... 27 common frames omitted
2024-07-01 19:08:35 [main] ERROR o.s.boot.web.embedded.tomcat.TomcatStarter:61 - Error starting Tomcat context. Exception: org.springframework.beans.factory.BeanCreationException. Message: Error creating bean with name 'org.arch.config.LogAutoConfiguration': Injection of autowired dependencies failed; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'log.enable.flag' in value "${log.enable.flag}"
2024-07-01 19:08:35 [main] ERROR o.a.c.core.ContainerBase.[Tomcat].[localhost].[/]:175 - Failed to destroy the filter named [Tomcat WebSocket (JSR356) Filter] of type [org.apache.tomcat.websocket.server.WsFilter]
java.lang.AbstractMethodError: org.apache.tomcat.websocket.server.WsFilter.destroy()V
at org.apache.catalina.core.ApplicationFilterConfig.release(ApplicationFilterConfig.java:303)
at org.apache.catalina.core.StandardContext.filterStop(StandardContext.java:4647)
at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5469)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257)
at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1412)
at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1401)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)
at org.apache.catalina.core.ContainerBase.stopInternal(ContainerBase.java:986)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257)
at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1412)
at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1401)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)
at org.apache.catalina.core.ContainerBase.stopInternal(ContainerBase.java:986)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257)
at org.apache.catalina.core.StandardService.stopInternal(StandardService.java:497)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257)
at org.apache.catalina.core.StandardServer.stopInternal(StandardServer.java:979)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257)
at org.apache.catalina.startup.Tomcat.stop(Tomcat.java:496)
at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.stopTomcat(TomcatWebServer.java:273)
at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.stopSilently(TomcatWebServer.java:253)
at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.initialize(TomcatWebServer.java:140)
at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.<init>(TomcatWebServer.java:104)
at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getTomcatWebServer(TomcatServletWebServerFactory.java:478)
at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getWebServer(TomcatServletWebServerFactory.java:211)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.createWebServer(ServletWebServerApplicationContext.java:182)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:160)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:577)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145)
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:732)
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:414)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:302)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1303)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1292)
at org.arch.modules.ArchOverallApp.main(ArchOverallApp.java:17)
2024-07-01 19:08:35 [main] ERROR org.springframework.boot.SpringApplication:821 - Application run failed
org.springframework.context.ApplicationContextException: Unable to start web server; nested exception is org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:163)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:577)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145)
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:732)
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:414)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:302)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1303)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1292)
at org.arch.modules.ArchOverallApp.main(ArchOverallApp.java:17)
Caused by: org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat
at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.initialize(TomcatWebServer.java:142)
at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.<init>(TomcatWebServer.java:104)
at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getTomcatWebServer(TomcatServletWebServerFactory.java:478)
at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getWebServer(TomcatServletWebServerFactory.java:211)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.createWebServer(ServletWebServerApplicationContext.java:182)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:160)
... 8 common frames omitted
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.arch.config.LogAutoConfiguration': Injection of autowired dependencies failed; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'log.enable.flag' in value "${log.enable.flag}"
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:405)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1431)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542)
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208)
at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:410)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1352)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1195)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542)
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:213)
at org.springframework.boot.web.servlet.ServletContextInitializerBeans.getOrderedBeansOfType(ServletContextInitializerBeans.java:212)
at org.springframework.boot.web.servlet.ServletContextInitializerBeans.getOrderedBeansOfType(ServletContextInitializerBeans.java:203)
at org.springframework.boot.web.servlet.ServletContextInitializerBeans.addServletContextInitializerBeans(ServletContextInitializerBeans.java:97)
at org.springframework.boot.web.servlet.ServletContextInitializerBeans.<init>(ServletContextInitializerBeans.java:86)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.getServletContextInitializerBeans(ServletWebServerApplicationContext.java:260)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.selfInitialize(ServletWebServerApplicationContext.java:234)
at org.springframework.boot.web.embedded.tomcat.TomcatStarter.onStartup(TomcatStarter.java:53)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5219)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1396)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1386)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:919)
at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:835)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1396)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1386)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:919)
at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:263)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.StandardService.startInternal(StandardService.java:432)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:927)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.startup.Tomcat.start(Tomcat.java:486)
at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.initialize(TomcatWebServer.java:123)
... 13 common frames omitted
Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'log.enable.flag' in value "${log.enable.flag}"
at org.springframework.util.PropertyPlaceholderHelper.parseStringValue(PropertyPlaceholderHelper.java:180)
at org.springframework.util.PropertyPlaceholderHelper.replacePlaceholders(PropertyPlaceholderHelper.java:126)
at org.springframework.core.env.AbstractPropertyResolver.doResolvePlaceholders(AbstractPropertyResolver.java:239)
at org.springframework.core.env.AbstractPropertyResolver.resolveRequiredPlaceholders(AbstractPropertyResolver.java:210)
at org.springframework.context.support.PropertySourcesPlaceholderConfigurer.lambda$processProperties$0(PropertySourcesPlaceholderConfigurer.java:175)
at org.springframework.beans.factory.support.AbstractBeanFactory.resolveEmbeddedValue(AbstractBeanFactory.java:936)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1330)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1309)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:656)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:639)
at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:399)
... 60 common frames omitted
2024-07-01 19:12:19 [main] ERROR o.s.boot.web.embedded.tomcat.TomcatStarter:61 - Error starting Tomcat context. Exception: org.springframework.beans.factory.BeanCreationException. Message: Error creating bean with name 'logAutoConfiguration': Injection of autowired dependencies failed; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'log.enable.flag' in value "${log.enable.flag}"
2024-07-01 19:12:19 [main] ERROR o.a.c.core.ContainerBase.[Tomcat].[localhost].[/]:175 - Failed to destroy the filter named [Tomcat WebSocket (JSR356) Filter] of type [org.apache.tomcat.websocket.server.WsFilter]
java.lang.AbstractMethodError: org.apache.tomcat.websocket.server.WsFilter.destroy()V
at org.apache.catalina.core.ApplicationFilterConfig.release(ApplicationFilterConfig.java:303)
at org.apache.catalina.core.StandardContext.filterStop(StandardContext.java:4647)
at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5469)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257)
at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1412)
at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1401)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)
at org.apache.catalina.core.ContainerBase.stopInternal(ContainerBase.java:986)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257)
at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1412)
at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1401)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)
at org.apache.catalina.core.ContainerBase.stopInternal(ContainerBase.java:986)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257)
at org.apache.catalina.core.StandardService.stopInternal(StandardService.java:497)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257)
at org.apache.catalina.core.StandardServer.stopInternal(StandardServer.java:979)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257)
at org.apache.catalina.startup.Tomcat.stop(Tomcat.java:496)
at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.stopTomcat(TomcatWebServer.java:273)
at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.stopSilently(TomcatWebServer.java:253)
at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.initialize(TomcatWebServer.java:140)
at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.<init>(TomcatWebServer.java:104)
at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getTomcatWebServer(TomcatServletWebServerFactory.java:478)
at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getWebServer(TomcatServletWebServerFactory.java:211)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.createWebServer(ServletWebServerApplicationContext.java:182)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:160)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:577)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145)
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:732)
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:414)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:302)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1303)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1292)
at org.arch.modules.ArchOverallApp.main(ArchOverallApp.java:17)
2024-07-01 19:12:19 [main] ERROR org.springframework.boot.SpringApplication:821 - Application run failed
org.springframework.context.ApplicationContextException: Unable to start web server; nested exception is org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:163)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:577)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145)
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:732)
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:414)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:302)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1303)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1292)
at org.arch.modules.ArchOverallApp.main(ArchOverallApp.java:17)
Caused by: org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat
at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.initialize(TomcatWebServer.java:142)
at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.<init>(TomcatWebServer.java:104)
at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getTomcatWebServer(TomcatServletWebServerFactory.java:478)
at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getWebServer(TomcatServletWebServerFactory.java:211)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.createWebServer(ServletWebServerApplicationContext.java:182)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:160)
... 8 common frames omitted
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'logAutoConfiguration': Injection of autowired dependencies failed; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'log.enable.flag' in value "${log.enable.flag}"
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:405)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1431)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542)
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208)
at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:410)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1352)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1195)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542)
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:213)
at org.springframework.boot.web.servlet.ServletContextInitializerBeans.getOrderedBeansOfType(ServletContextInitializerBeans.java:212)
at org.springframework.boot.web.servlet.ServletContextInitializerBeans.getOrderedBeansOfType(ServletContextInitializerBeans.java:203)
at org.springframework.boot.web.servlet.ServletContextInitializerBeans.addServletContextInitializerBeans(ServletContextInitializerBeans.java:97)
at org.springframework.boot.web.servlet.ServletContextInitializerBeans.<init>(ServletContextInitializerBeans.java:86)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.getServletContextInitializerBeans(ServletWebServerApplicationContext.java:260)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.selfInitialize(ServletWebServerApplicationContext.java:234)
at org.springframework.boot.web.embedded.tomcat.TomcatStarter.onStartup(TomcatStarter.java:53)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5219)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1396)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1386)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:919)
at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:835)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1396)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1386)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:919)
at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:263)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.StandardService.startInternal(StandardService.java:432)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:927)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.startup.Tomcat.start(Tomcat.java:486)
at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.initialize(TomcatWebServer.java:123)
... 13 common frames omitted
Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'log.enable.flag' in value "${log.enable.flag}"
at org.springframework.util.PropertyPlaceholderHelper.parseStringValue(PropertyPlaceholderHelper.java:180)
at org.springframework.util.PropertyPlaceholderHelper.replacePlaceholders(PropertyPlaceholderHelper.java:126)
at org.springframework.core.env.AbstractPropertyResolver.doResolvePlaceholders(AbstractPropertyResolver.java:239)
at org.springframework.core.env.AbstractPropertyResolver.resolveRequiredPlaceholders(AbstractPropertyResolver.java:210)
at org.springframework.context.support.PropertySourcesPlaceholderConfigurer.lambda$processProperties$0(PropertySourcesPlaceholderConfigurer.java:175)
at org.springframework.beans.factory.support.AbstractBeanFactory.resolveEmbeddedValue(AbstractBeanFactory.java:936)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1330)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1309)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:656)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:639)
at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:399)
... 60 common frames omitted
2024-07-01 19:15:43 [main] ERROR o.s.boot.web.embedded.tomcat.TomcatStarter:61 - Error starting Tomcat context. Exception: org.springframework.beans.factory.BeanCreationException. Message: Error creating bean with name 'logAutoConfiguration': Injection of autowired dependencies failed; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'log.enable.flag' in value "${log.enable.flag}"
2024-07-01 19:15:43 [main] ERROR o.a.c.core.ContainerBase.[Tomcat].[localhost].[/]:175 - Failed to destroy the filter named [Tomcat WebSocket (JSR356) Filter] of type [org.apache.tomcat.websocket.server.WsFilter]
java.lang.AbstractMethodError: org.apache.tomcat.websocket.server.WsFilter.destroy()V
at org.apache.catalina.core.ApplicationFilterConfig.release(ApplicationFilterConfig.java:303)
at org.apache.catalina.core.StandardContext.filterStop(StandardContext.java:4647)
at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5469)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257)
at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1412)
at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1401)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)
at org.apache.catalina.core.ContainerBase.stopInternal(ContainerBase.java:986)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257)
at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1412)
at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1401)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)
at org.apache.catalina.core.ContainerBase.stopInternal(ContainerBase.java:986)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257)
at org.apache.catalina.core.StandardService.stopInternal(StandardService.java:497)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257)
at org.apache.catalina.core.StandardServer.stopInternal(StandardServer.java:979)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257)
at org.apache.catalina.startup.Tomcat.stop(Tomcat.java:496)
at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.stopTomcat(TomcatWebServer.java:273)
at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.stopSilently(TomcatWebServer.java:253)
at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.initialize(TomcatWebServer.java:140)
at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.<init>(TomcatWebServer.java:104)
at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getTomcatWebServer(TomcatServletWebServerFactory.java:478)
at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getWebServer(TomcatServletWebServerFactory.java:211)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.createWebServer(ServletWebServerApplicationContext.java:182)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:160)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:577)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145)
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:732)
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:414)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:302)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1303)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1292)
at org.arch.modules.ArchOverallApp.main(ArchOverallApp.java:17)
2024-07-01 19:15:43 [main] ERROR org.springframework.boot.SpringApplication:821 - Application run failed
org.springframework.context.ApplicationContextException: Unable to start web server; nested exception is org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:163)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:577)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145)
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:732)
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:414)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:302)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1303)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1292)
at org.arch.modules.ArchOverallApp.main(ArchOverallApp.java:17)
Caused by: org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat
at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.initialize(TomcatWebServer.java:142)
at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.<init>(TomcatWebServer.java:104)
at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getTomcatWebServer(TomcatServletWebServerFactory.java:478)
at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getWebServer(TomcatServletWebServerFactory.java:211)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.createWebServer(ServletWebServerApplicationContext.java:182)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:160)
... 8 common frames omitted
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'logAutoConfiguration': Injection of autowired dependencies failed; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'log.enable.flag' in value "${log.enable.flag}"
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:405)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1431)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542)
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208)
at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:410)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1352)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1195)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542)
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:213)
at org.springframework.boot.web.servlet.ServletContextInitializerBeans.getOrderedBeansOfType(ServletContextInitializerBeans.java:212)
at org.springframework.boot.web.servlet.ServletContextInitializerBeans.getOrderedBeansOfType(ServletContextInitializerBeans.java:203)
at org.springframework.boot.web.servlet.ServletContextInitializerBeans.addServletContextInitializerBeans(ServletContextInitializerBeans.java:97)
at org.springframework.boot.web.servlet.ServletContextInitializerBeans.<init>(ServletContextInitializerBeans.java:86)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.getServletContextInitializerBeans(ServletWebServerApplicationContext.java:260)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.selfInitialize(ServletWebServerApplicationContext.java:234)
at org.springframework.boot.web.embedded.tomcat.TomcatStarter.onStartup(TomcatStarter.java:53)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5219)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1396)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1386)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:919)
at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:835)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1396)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1386)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:919)
at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:263)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.StandardService.startInternal(StandardService.java:432)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:927)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.startup.Tomcat.start(Tomcat.java:486)
at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.initialize(TomcatWebServer.java:123)
... 13 common frames omitted
Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'log.enable.flag' in value "${log.enable.flag}"
at org.springframework.util.PropertyPlaceholderHelper.parseStringValue(PropertyPlaceholderHelper.java:180)
at org.springframework.util.PropertyPlaceholderHelper.replacePlaceholders(PropertyPlaceholderHelper.java:126)
at org.springframework.core.env.AbstractPropertyResolver.doResolvePlaceholders(AbstractPropertyResolver.java:239)
at org.springframework.core.env.AbstractPropertyResolver.resolveRequiredPlaceholders(AbstractPropertyResolver.java:210)
at org.springframework.context.support.PropertySourcesPlaceholderConfigurer.lambda$processProperties$0(PropertySourcesPlaceholderConfigurer.java:175)
at org.springframework.beans.factory.support.AbstractBeanFactory.resolveEmbeddedValue(AbstractBeanFactory.java:936)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1330)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1309)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:656)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:639)
at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:399)
... 60 common frames omitted
2024-07-01 19:21:41 [main] ERROR o.a.c.core.ContainerBase.[Tomcat].[localhost].[/]:175 - Failed to destroy the filter named [Tomcat WebSocket (JSR356) Filter] of type [org.apache.tomcat.websocket.server.WsFilter]
java.lang.AbstractMethodError: null
at org.apache.catalina.core.ApplicationFilterConfig.release(ApplicationFilterConfig.java:303)
at org.apache.catalina.core.StandardContext.filterStop(StandardContext.java:4647)
at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5469)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257)
at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1412)
at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1401)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)
at org.apache.catalina.core.ContainerBase.stopInternal(ContainerBase.java:986)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257)
at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1412)
at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1401)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)
at org.apache.catalina.core.ContainerBase.stopInternal(ContainerBase.java:986)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257)
at org.apache.catalina.core.StandardService.stopInternal(StandardService.java:497)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257)
at org.apache.catalina.core.StandardServer.stopInternal(StandardServer.java:979)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257)
at org.apache.catalina.startup.Tomcat.stop(Tomcat.java:496)
at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.stopTomcat(TomcatWebServer.java:273)
at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.stop(TomcatWebServer.java:331)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:150)
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:732)
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:414)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:302)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1303)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1292)
at org.arch.modules.ArchOverallApp.main(ArchOverallApp.java:17)
2024-07-01 19:21:41 [main] ERROR o.s.b.diagnostics.LoggingFailureAnalysisReporter:40 -
***************************
APPLICATION FAILED TO START
***************************
Description:
Parameter 0 of constructor in org.arch.modules.controller.ArchiElementController required a bean of type 'org.arch.modules.mapper.ArchiElementMapper' that could not be found.
Action:
Consider defining a bean of type 'org.arch.modules.mapper.ArchiElementMapper' in your configuration.
This diff could not be displayed because it is too large.
2024-07-01 19:06:54.529 [background-preinit] DEBUG org.jboss.logging:152 - Logging Provider: org.jboss.logging.Log4j2LoggerProvider
2024-07-01 19:06:54.533 [background-preinit] INFO org.hibernate.validator.internal.util.Version:21 - HV000001: Hibernate Validator 6.2.0.Final
2024-07-01 19:06:54.536 [main] INFO org.arch.modules.ArchOverallApp:55 - Starting ArchOverallApp using Java 1.8.0_251 on DESKTOP-NBP41QO with PID 10296 (E:\gw_space\arch-toos\arch-overall\target\classes started by Administrator in E:\gw_space\arch-toos)
2024-07-01 19:06:54.538 [main] DEBUG org.arch.modules.ArchOverallApp:56 - Running with Spring Boot v2.6.3, Spring v5.3.15
2024-07-01 19:06:54.538 [main] INFO org.arch.modules.ArchOverallApp:637 - No active profile set, falling back to default profiles: default
2024-07-01 19:06:54.544 [background-preinit] DEBUG o.h.v.internal.xml.config.ValidationXmlParser:120 - Trying to load META-INF/validation.xml for XML based Validator configuration.
2024-07-01 19:06:54.546 [background-preinit] DEBUG o.h.v.internal.xml.config.ResourceLoaderHelper:60 - Trying to load META-INF/validation.xml via TCCL
2024-07-01 19:06:54.547 [background-preinit] DEBUG o.h.v.internal.xml.config.ResourceLoaderHelper:66 - Trying to load META-INF/validation.xml via Hibernate Validator's class loader
2024-07-01 19:06:54.549 [background-preinit] DEBUG o.h.v.internal.xml.config.ValidationXmlParser:127 - No META-INF/validation.xml found. Using annotation based configuration only.
2024-07-01 19:06:54.555 [background-preinit] DEBUG o.h.v.i.engine.resolver.TraversableResolvers:60 - Cannot find javax.persistence.Persistence on classpath. Assuming non JPA 2 environment. All properties will per default be traversable.
2024-07-01 19:06:54.586 [background-preinit] DEBUG o.h.v.m.ResourceBundleMessageInterpolator:172 - Loaded expression factory via original TCCL
2024-07-01 19:06:54.816 [background-preinit] DEBUG o.h.v.i.engine.ValidatorFactoryConfigurationHelper:345 - HV000252: Using org.hibernate.validator.internal.engine.DefaultPropertyNodeNameProvider as property node name provider.
2024-07-01 19:06:54.825 [background-preinit] DEBUG o.h.v.i.engine.ValidatorFactoryConfigurationHelper:420 - HV000234: Using org.hibernate.validator.messageinterpolation.ResourceBundleMessageInterpolator as ValidatorFactory-scoped message interpolator.
2024-07-01 19:06:54.825 [background-preinit] DEBUG o.h.v.i.engine.ValidatorFactoryConfigurationHelper:421 - HV000234: Using org.hibernate.validator.internal.engine.resolver.TraverseAllTraversableResolver as ValidatorFactory-scoped traversable resolver.
2024-07-01 19:06:54.825 [background-preinit] DEBUG o.h.v.i.engine.ValidatorFactoryConfigurationHelper:422 - HV000234: Using org.hibernate.validator.internal.util.ExecutableParameterNameProvider as ValidatorFactory-scoped parameter name provider.
2024-07-01 19:06:54.825 [background-preinit] DEBUG o.h.v.i.engine.ValidatorFactoryConfigurationHelper:423 - HV000234: Using org.hibernate.validator.internal.engine.DefaultClockProvider as ValidatorFactory-scoped clock provider.
2024-07-01 19:06:54.826 [background-preinit] DEBUG o.h.v.i.engine.ValidatorFactoryConfigurationHelper:424 - HV000234: Using org.hibernate.validator.internal.engine.scripting.DefaultScriptEvaluatorFactory as ValidatorFactory-scoped script evaluator factory.
2024-07-01 19:06:54.973 [main] ERROR org.springframework.boot.SpringApplication:821 - Application run failed
java.lang.IllegalStateException: Unable to read meta-data for class com.eadc.config.MybatisConfig
at org.springframework.boot.autoconfigure.AutoConfigurationSorter$AutoConfigurationClass.getAnnotationMetadata(AutoConfigurationSorter.java:237)
at org.springframework.boot.autoconfigure.AutoConfigurationSorter$AutoConfigurationClass.getOrder(AutoConfigurationSorter.java:208)
at org.springframework.boot.autoconfigure.AutoConfigurationSorter$AutoConfigurationClass.access$000(AutoConfigurationSorter.java:154)
at org.springframework.boot.autoconfigure.AutoConfigurationSorter.lambda$getInPriorityOrder$0(AutoConfigurationSorter.java:63)
at java.util.TimSort.countRunAndMakeAscending(TimSort.java:360)
at java.util.TimSort.sort(TimSort.java:234)
at java.util.Arrays.sort(Arrays.java:1512)
at java.util.ArrayList.sort(ArrayList.java:1462)
at org.springframework.boot.autoconfigure.AutoConfigurationSorter.getInPriorityOrder(AutoConfigurationSorter.java:62)
at org.springframework.boot.autoconfigure.AutoConfigurationImportSelector$AutoConfigurationGroup.sortAutoConfigurations(AutoConfigurationImportSelector.java:468)
at org.springframework.boot.autoconfigure.AutoConfigurationImportSelector$AutoConfigurationGroup.selectImports(AutoConfigurationImportSelector.java:453)
at org.springframework.context.annotation.ConfigurationClassParser$DeferredImportSelectorGrouping.getImports(ConfigurationClassParser.java:882)
at org.springframework.context.annotation.ConfigurationClassParser$DeferredImportSelectorGroupingHandler.processGroupImports(ConfigurationClassParser.java:809)
at org.springframework.context.annotation.ConfigurationClassParser$DeferredImportSelectorHandler.process(ConfigurationClassParser.java:780)
at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:193)
at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:331)
at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:247)
at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:311)
at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:112)
at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:746)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:564)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145)
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:732)
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:414)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:302)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1303)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1292)
at org.arch.modules.ArchOverallApp.main(ArchOverallApp.java:17)
Caused by: java.io.FileNotFoundException: class path resource [com/eadc/config/MybatisConfig.class] cannot be opened because it does not exist
at org.springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:199)
at org.springframework.core.type.classreading.SimpleMetadataReader.getClassReader(SimpleMetadataReader.java:55)
at org.springframework.core.type.classreading.SimpleMetadataReader.<init>(SimpleMetadataReader.java:49)
at org.springframework.core.type.classreading.SimpleMetadataReaderFactory.getMetadataReader(SimpleMetadataReaderFactory.java:103)
at org.springframework.boot.type.classreading.ConcurrentReferenceCachingMetadataReaderFactory.createMetadataReader(ConcurrentReferenceCachingMetadataReaderFactory.java:86)
at org.springframework.boot.type.classreading.ConcurrentReferenceCachingMetadataReaderFactory.getMetadataReader(ConcurrentReferenceCachingMetadataReaderFactory.java:73)
at org.springframework.core.type.classreading.SimpleMetadataReaderFactory.getMetadataReader(SimpleMetadataReaderFactory.java:81)
at org.springframework.boot.autoconfigure.AutoConfigurationSorter$AutoConfigurationClass.getAnnotationMetadata(AutoConfigurationSorter.java:233)
... 27 common frames omitted
2024-07-01 19:08:33.948 [background-preinit] DEBUG org.jboss.logging:152 - Logging Provider: org.jboss.logging.Log4j2LoggerProvider
2024-07-01 19:08:33.951 [background-preinit] INFO org.hibernate.validator.internal.util.Version:21 - HV000001: Hibernate Validator 6.2.0.Final
2024-07-01 19:08:33.952 [main] INFO org.arch.modules.ArchOverallApp:55 - Starting ArchOverallApp using Java 1.8.0_251 on DESKTOP-NBP41QO with PID 19488 (E:\gw_space\arch-toos\arch-overall\target\classes started by Administrator in E:\gw_space\arch-toos)
2024-07-01 19:08:33.953 [main] DEBUG org.arch.modules.ArchOverallApp:56 - Running with Spring Boot v2.6.3, Spring v5.3.15
2024-07-01 19:08:33.953 [main] INFO org.arch.modules.ArchOverallApp:637 - No active profile set, falling back to default profiles: default
2024-07-01 19:08:33.961 [background-preinit] DEBUG o.h.v.internal.xml.config.ValidationXmlParser:120 - Trying to load META-INF/validation.xml for XML based Validator configuration.
2024-07-01 19:08:33.963 [background-preinit] DEBUG o.h.v.internal.xml.config.ResourceLoaderHelper:60 - Trying to load META-INF/validation.xml via TCCL
2024-07-01 19:08:33.964 [background-preinit] DEBUG o.h.v.internal.xml.config.ResourceLoaderHelper:66 - Trying to load META-INF/validation.xml via Hibernate Validator's class loader
2024-07-01 19:08:33.964 [background-preinit] DEBUG o.h.v.internal.xml.config.ValidationXmlParser:127 - No META-INF/validation.xml found. Using annotation based configuration only.
2024-07-01 19:08:33.970 [background-preinit] DEBUG o.h.v.i.engine.resolver.TraversableResolvers:60 - Cannot find javax.persistence.Persistence on classpath. Assuming non JPA 2 environment. All properties will per default be traversable.
2024-07-01 19:08:33.999 [background-preinit] DEBUG o.h.v.m.ResourceBundleMessageInterpolator:172 - Loaded expression factory via original TCCL
2024-07-01 19:08:34.231 [background-preinit] DEBUG o.h.v.i.engine.ValidatorFactoryConfigurationHelper:345 - HV000252: Using org.hibernate.validator.internal.engine.DefaultPropertyNodeNameProvider as property node name provider.
2024-07-01 19:08:34.239 [background-preinit] DEBUG o.h.v.i.engine.ValidatorFactoryConfigurationHelper:420 - HV000234: Using org.hibernate.validator.messageinterpolation.ResourceBundleMessageInterpolator as ValidatorFactory-scoped message interpolator.
2024-07-01 19:08:34.239 [background-preinit] DEBUG o.h.v.i.engine.ValidatorFactoryConfigurationHelper:421 - HV000234: Using org.hibernate.validator.internal.engine.resolver.TraverseAllTraversableResolver as ValidatorFactory-scoped traversable resolver.
2024-07-01 19:08:34.240 [background-preinit] DEBUG o.h.v.i.engine.ValidatorFactoryConfigurationHelper:422 - HV000234: Using org.hibernate.validator.internal.util.ExecutableParameterNameProvider as ValidatorFactory-scoped parameter name provider.
2024-07-01 19:08:34.240 [background-preinit] DEBUG o.h.v.i.engine.ValidatorFactoryConfigurationHelper:423 - HV000234: Using org.hibernate.validator.internal.engine.DefaultClockProvider as ValidatorFactory-scoped clock provider.
2024-07-01 19:08:34.240 [background-preinit] DEBUG o.h.v.i.engine.ValidatorFactoryConfigurationHelper:424 - HV000234: Using org.hibernate.validator.internal.engine.scripting.DefaultScriptEvaluatorFactory as ValidatorFactory-scoped script evaluator factory.
2024-07-01 19:08:34.775 [main] DEBUG o.m.s.boot.autoconfigure.MybatisAutoConfiguration:184 - Searching for mappers annotated with @Mapper
2024-07-01 19:08:34.781 [main] DEBUG org.apache.ibatis.logging.LogFactory:109 - Logging initialized using 'class org.apache.ibatis.logging.slf4j.Slf4jImpl' adapter.
2024-07-01 19:08:34.783 [main] DEBUG o.m.s.boot.autoconfigure.MybatisAutoConfiguration:196 - Using auto-configuration base package 'org.arch.modules.design'
2024-07-01 19:08:34.788 [main] WARN org.mybatis.spring.mapper.ClassPathMapperScanner:44 - No MyBatis mapper was found in '[org.arch.modules.design]' package. Please check your configuration.
2024-07-01 19:08:34.859 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate:262 - Multiple Spring Data modules found, entering strict repository configuration mode!
2024-07-01 19:08:34.861 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate:132 - Bootstrapping Spring Data Redis repositories in DEFAULT mode.
2024-07-01 19:08:34.885 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate:201 - Finished Spring Data repository scanning in 9 ms. Found 0 Redis repository interfaces.
2024-07-01 19:08:35.030 [main] WARN org.mybatis.spring.mapper.ClassPathMapperScanner:44 - No MyBatis mapper was found in '[org.arch.modules.design]' package. Please check your configuration.
2024-07-01 19:08:35.112 [main] INFO o.springframework.cloud.context.scope.GenericScope:283 - BeanFactory id=779a80a7-fd20-3111-a0e6-90f74decf762
2024-07-01 19:08:35.702 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer:108 - Tomcat initialized with port(s): 8080 (http)
2024-07-01 19:08:35.711 [main] INFO org.apache.coyote.http11.Http11NioProtocol:173 - Initializing ProtocolHandler ["http-nio-8080"]
2024-07-01 19:08:35.712 [main] INFO org.apache.catalina.core.StandardService:173 - Starting service [Tomcat]
2024-07-01 19:08:35.712 [main] INFO org.apache.catalina.core.StandardEngine:173 - Starting Servlet engine: [Apache Tomcat/9.0.56]
2024-07-01 19:08:35.862 [main] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/]:173 - Initializing Spring embedded WebApplicationContext
2024-07-01 19:08:35.862 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext:290 - Root WebApplicationContext: initialization completed in 1853 ms
2024-07-01 19:08:35.864 [main] INFO org.arch.config.LogAutoConfiguration:33 - 加载logging配置...
2024-07-01 19:08:35.867 [main] ERROR o.s.boot.web.embedded.tomcat.TomcatStarter:61 - Error starting Tomcat context. Exception: org.springframework.beans.factory.BeanCreationException. Message: Error creating bean with name 'org.arch.config.LogAutoConfiguration': Injection of autowired dependencies failed; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'log.enable.flag' in value "${log.enable.flag}"
2024-07-01 19:08:35.891 [main] INFO org.apache.catalina.core.StandardService:173 - Stopping service [Tomcat]
2024-07-01 19:08:35.894 [main] ERROR o.a.c.core.ContainerBase.[Tomcat].[localhost].[/]:175 - Failed to destroy the filter named [Tomcat WebSocket (JSR356) Filter] of type [org.apache.tomcat.websocket.server.WsFilter]
java.lang.AbstractMethodError: org.apache.tomcat.websocket.server.WsFilter.destroy()V
at org.apache.catalina.core.ApplicationFilterConfig.release(ApplicationFilterConfig.java:303)
at org.apache.catalina.core.StandardContext.filterStop(StandardContext.java:4647)
at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5469)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257)
at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1412)
at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1401)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)
at org.apache.catalina.core.ContainerBase.stopInternal(ContainerBase.java:986)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257)
at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1412)
at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1401)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)
at org.apache.catalina.core.ContainerBase.stopInternal(ContainerBase.java:986)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257)
at org.apache.catalina.core.StandardService.stopInternal(StandardService.java:497)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257)
at org.apache.catalina.core.StandardServer.stopInternal(StandardServer.java:979)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257)
at org.apache.catalina.startup.Tomcat.stop(Tomcat.java:496)
at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.stopTomcat(TomcatWebServer.java:273)
at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.stopSilently(TomcatWebServer.java:253)
at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.initialize(TomcatWebServer.java:140)
at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.<init>(TomcatWebServer.java:104)
at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getTomcatWebServer(TomcatServletWebServerFactory.java:478)
at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getWebServer(TomcatServletWebServerFactory.java:211)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.createWebServer(ServletWebServerApplicationContext.java:182)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:160)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:577)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145)
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:732)
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:414)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:302)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1303)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1292)
at org.arch.modules.ArchOverallApp.main(ArchOverallApp.java:17)
2024-07-01 19:08:35.907 [main] WARN o.s.b.w.s.c.AnnotationConfigServletWebServerApplicationContext:591 - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.context.ApplicationContextException: Unable to start web server; nested exception is org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat
2024-07-01 19:08:35.946 [main] INFO o.s.b.a.l.ConditionEvaluationReportLoggingListener:136 -
Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2024-07-01 19:08:35.992 [main] ERROR org.springframework.boot.SpringApplication:821 - Application run failed
org.springframework.context.ApplicationContextException: Unable to start web server; nested exception is org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:163)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:577)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145)
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:732)
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:414)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:302)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1303)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1292)
at org.arch.modules.ArchOverallApp.main(ArchOverallApp.java:17)
Caused by: org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat
at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.initialize(TomcatWebServer.java:142)
at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.<init>(TomcatWebServer.java:104)
at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getTomcatWebServer(TomcatServletWebServerFactory.java:478)
at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getWebServer(TomcatServletWebServerFactory.java:211)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.createWebServer(ServletWebServerApplicationContext.java:182)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:160)
... 8 common frames omitted
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.arch.config.LogAutoConfiguration': Injection of autowired dependencies failed; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'log.enable.flag' in value "${log.enable.flag}"
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:405)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1431)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542)
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208)
at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:410)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1352)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1195)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542)
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:213)
at org.springframework.boot.web.servlet.ServletContextInitializerBeans.getOrderedBeansOfType(ServletContextInitializerBeans.java:212)
at org.springframework.boot.web.servlet.ServletContextInitializerBeans.getOrderedBeansOfType(ServletContextInitializerBeans.java:203)
at org.springframework.boot.web.servlet.ServletContextInitializerBeans.addServletContextInitializerBeans(ServletContextInitializerBeans.java:97)
at org.springframework.boot.web.servlet.ServletContextInitializerBeans.<init>(ServletContextInitializerBeans.java:86)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.getServletContextInitializerBeans(ServletWebServerApplicationContext.java:260)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.selfInitialize(ServletWebServerApplicationContext.java:234)
at org.springframework.boot.web.embedded.tomcat.TomcatStarter.onStartup(TomcatStarter.java:53)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5219)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1396)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1386)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:919)
at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:835)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1396)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1386)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:919)
at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:263)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.StandardService.startInternal(StandardService.java:432)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:927)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.startup.Tomcat.start(Tomcat.java:486)
at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.initialize(TomcatWebServer.java:123)
... 13 common frames omitted
Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'log.enable.flag' in value "${log.enable.flag}"
at org.springframework.util.PropertyPlaceholderHelper.parseStringValue(PropertyPlaceholderHelper.java:180)
at org.springframework.util.PropertyPlaceholderHelper.replacePlaceholders(PropertyPlaceholderHelper.java:126)
at org.springframework.core.env.AbstractPropertyResolver.doResolvePlaceholders(AbstractPropertyResolver.java:239)
at org.springframework.core.env.AbstractPropertyResolver.resolveRequiredPlaceholders(AbstractPropertyResolver.java:210)
at org.springframework.context.support.PropertySourcesPlaceholderConfigurer.lambda$processProperties$0(PropertySourcesPlaceholderConfigurer.java:175)
at org.springframework.beans.factory.support.AbstractBeanFactory.resolveEmbeddedValue(AbstractBeanFactory.java:936)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1330)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1309)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:656)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:639)
at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:399)
... 60 common frames omitted
2024-07-01 19:12:17.972 [background-preinit] DEBUG org.jboss.logging:152 - Logging Provider: org.jboss.logging.Log4j2LoggerProvider
2024-07-01 19:12:17.976 [background-preinit] INFO org.hibernate.validator.internal.util.Version:21 - HV000001: Hibernate Validator 6.2.0.Final
2024-07-01 19:12:17.980 [main] INFO org.arch.modules.ArchOverallApp:55 - Starting ArchOverallApp using Java 1.8.0_251 on DESKTOP-NBP41QO with PID 8448 (E:\gw_space\arch-toos\arch-overall\target\classes started by Administrator in E:\gw_space\arch-toos)
2024-07-01 19:12:17.981 [main] DEBUG org.arch.modules.ArchOverallApp:56 - Running with Spring Boot v2.6.3, Spring v5.3.15
2024-07-01 19:12:17.981 [main] INFO org.arch.modules.ArchOverallApp:637 - No active profile set, falling back to default profiles: default
2024-07-01 19:12:17.985 [background-preinit] DEBUG o.h.v.internal.xml.config.ValidationXmlParser:120 - Trying to load META-INF/validation.xml for XML based Validator configuration.
2024-07-01 19:12:17.988 [background-preinit] DEBUG o.h.v.internal.xml.config.ResourceLoaderHelper:60 - Trying to load META-INF/validation.xml via TCCL
2024-07-01 19:12:17.988 [background-preinit] DEBUG o.h.v.internal.xml.config.ResourceLoaderHelper:66 - Trying to load META-INF/validation.xml via Hibernate Validator's class loader
2024-07-01 19:12:17.989 [background-preinit] DEBUG o.h.v.internal.xml.config.ValidationXmlParser:127 - No META-INF/validation.xml found. Using annotation based configuration only.
2024-07-01 19:12:17.994 [background-preinit] DEBUG o.h.v.i.engine.resolver.TraversableResolvers:60 - Cannot find javax.persistence.Persistence on classpath. Assuming non JPA 2 environment. All properties will per default be traversable.
2024-07-01 19:12:18.027 [background-preinit] DEBUG o.h.v.m.ResourceBundleMessageInterpolator:172 - Loaded expression factory via original TCCL
2024-07-01 19:12:18.254 [background-preinit] DEBUG o.h.v.i.engine.ValidatorFactoryConfigurationHelper:345 - HV000252: Using org.hibernate.validator.internal.engine.DefaultPropertyNodeNameProvider as property node name provider.
2024-07-01 19:12:18.261 [background-preinit] DEBUG o.h.v.i.engine.ValidatorFactoryConfigurationHelper:420 - HV000234: Using org.hibernate.validator.messageinterpolation.ResourceBundleMessageInterpolator as ValidatorFactory-scoped message interpolator.
2024-07-01 19:12:18.262 [background-preinit] DEBUG o.h.v.i.engine.ValidatorFactoryConfigurationHelper:421 - HV000234: Using org.hibernate.validator.internal.engine.resolver.TraverseAllTraversableResolver as ValidatorFactory-scoped traversable resolver.
2024-07-01 19:12:18.262 [background-preinit] DEBUG o.h.v.i.engine.ValidatorFactoryConfigurationHelper:422 - HV000234: Using org.hibernate.validator.internal.util.ExecutableParameterNameProvider as ValidatorFactory-scoped parameter name provider.
2024-07-01 19:12:18.262 [background-preinit] DEBUG o.h.v.i.engine.ValidatorFactoryConfigurationHelper:423 - HV000234: Using org.hibernate.validator.internal.engine.DefaultClockProvider as ValidatorFactory-scoped clock provider.
2024-07-01 19:12:18.263 [background-preinit] DEBUG o.h.v.i.engine.ValidatorFactoryConfigurationHelper:424 - HV000234: Using org.hibernate.validator.internal.engine.scripting.DefaultScriptEvaluatorFactory as ValidatorFactory-scoped script evaluator factory.
2024-07-01 19:12:18.827 [main] DEBUG o.m.s.boot.autoconfigure.MybatisAutoConfiguration:184 - Searching for mappers annotated with @Mapper
2024-07-01 19:12:18.832 [main] DEBUG org.apache.ibatis.logging.LogFactory:109 - Logging initialized using 'class org.apache.ibatis.logging.slf4j.Slf4jImpl' adapter.
2024-07-01 19:12:18.834 [main] DEBUG o.m.s.boot.autoconfigure.MybatisAutoConfiguration:196 - Using auto-configuration base package 'org.arch.modules.design'
2024-07-01 19:12:18.838 [main] WARN org.mybatis.spring.mapper.ClassPathMapperScanner:44 - No MyBatis mapper was found in '[org.arch.modules.design]' package. Please check your configuration.
2024-07-01 19:12:18.912 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate:262 - Multiple Spring Data modules found, entering strict repository configuration mode!
2024-07-01 19:12:18.914 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate:132 - Bootstrapping Spring Data Redis repositories in DEFAULT mode.
2024-07-01 19:12:18.936 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate:201 - Finished Spring Data repository scanning in 7 ms. Found 0 Redis repository interfaces.
2024-07-01 19:12:19.071 [main] WARN org.mybatis.spring.mapper.ClassPathMapperScanner:44 - No MyBatis mapper was found in '[org.arch.modules.design]' package. Please check your configuration.
2024-07-01 19:12:19.158 [main] INFO o.springframework.cloud.context.scope.GenericScope:283 - BeanFactory id=ccdbdb98-5d31-31fe-82f9-7000692f79a5
2024-07-01 19:12:19.725 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer:108 - Tomcat initialized with port(s): 8080 (http)
2024-07-01 19:12:19.733 [main] INFO org.apache.coyote.http11.Http11NioProtocol:173 - Initializing ProtocolHandler ["http-nio-8080"]
2024-07-01 19:12:19.733 [main] INFO org.apache.catalina.core.StandardService:173 - Starting service [Tomcat]
2024-07-01 19:12:19.733 [main] INFO org.apache.catalina.core.StandardEngine:173 - Starting Servlet engine: [Apache Tomcat/9.0.56]
2024-07-01 19:12:19.877 [main] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/]:173 - Initializing Spring embedded WebApplicationContext
2024-07-01 19:12:19.878 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext:290 - Root WebApplicationContext: initialization completed in 1843 ms
2024-07-01 19:12:19.879 [main] INFO org.arch.config.LogAutoConfiguration:33 - 加载logging配置...
2024-07-01 19:12:19.884 [main] ERROR o.s.boot.web.embedded.tomcat.TomcatStarter:61 - Error starting Tomcat context. Exception: org.springframework.beans.factory.BeanCreationException. Message: Error creating bean with name 'logAutoConfiguration': Injection of autowired dependencies failed; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'log.enable.flag' in value "${log.enable.flag}"
2024-07-01 19:12:19.905 [main] INFO org.apache.catalina.core.StandardService:173 - Stopping service [Tomcat]
2024-07-01 19:12:19.908 [main] ERROR o.a.c.core.ContainerBase.[Tomcat].[localhost].[/]:175 - Failed to destroy the filter named [Tomcat WebSocket (JSR356) Filter] of type [org.apache.tomcat.websocket.server.WsFilter]
java.lang.AbstractMethodError: org.apache.tomcat.websocket.server.WsFilter.destroy()V
at org.apache.catalina.core.ApplicationFilterConfig.release(ApplicationFilterConfig.java:303)
at org.apache.catalina.core.StandardContext.filterStop(StandardContext.java:4647)
at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5469)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257)
at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1412)
at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1401)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)
at org.apache.catalina.core.ContainerBase.stopInternal(ContainerBase.java:986)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257)
at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1412)
at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1401)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)
at org.apache.catalina.core.ContainerBase.stopInternal(ContainerBase.java:986)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257)
at org.apache.catalina.core.StandardService.stopInternal(StandardService.java:497)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257)
at org.apache.catalina.core.StandardServer.stopInternal(StandardServer.java:979)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257)
at org.apache.catalina.startup.Tomcat.stop(Tomcat.java:496)
at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.stopTomcat(TomcatWebServer.java:273)
at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.stopSilently(TomcatWebServer.java:253)
at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.initialize(TomcatWebServer.java:140)
at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.<init>(TomcatWebServer.java:104)
at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getTomcatWebServer(TomcatServletWebServerFactory.java:478)
at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getWebServer(TomcatServletWebServerFactory.java:211)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.createWebServer(ServletWebServerApplicationContext.java:182)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:160)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:577)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145)
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:732)
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:414)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:302)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1303)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1292)
at org.arch.modules.ArchOverallApp.main(ArchOverallApp.java:17)
2024-07-01 19:12:19.919 [main] WARN o.s.b.w.s.c.AnnotationConfigServletWebServerApplicationContext:591 - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.context.ApplicationContextException: Unable to start web server; nested exception is org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat
2024-07-01 19:12:19.933 [main] INFO o.s.b.a.l.ConditionEvaluationReportLoggingListener:136 -
Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2024-07-01 19:12:19.971 [main] ERROR org.springframework.boot.SpringApplication:821 - Application run failed
org.springframework.context.ApplicationContextException: Unable to start web server; nested exception is org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:163)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:577)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145)
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:732)
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:414)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:302)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1303)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1292)
at org.arch.modules.ArchOverallApp.main(ArchOverallApp.java:17)
Caused by: org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat
at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.initialize(TomcatWebServer.java:142)
at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.<init>(TomcatWebServer.java:104)
at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getTomcatWebServer(TomcatServletWebServerFactory.java:478)
at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getWebServer(TomcatServletWebServerFactory.java:211)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.createWebServer(ServletWebServerApplicationContext.java:182)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:160)
... 8 common frames omitted
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'logAutoConfiguration': Injection of autowired dependencies failed; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'log.enable.flag' in value "${log.enable.flag}"
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:405)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1431)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542)
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208)
at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:410)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1352)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1195)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542)
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:213)
at org.springframework.boot.web.servlet.ServletContextInitializerBeans.getOrderedBeansOfType(ServletContextInitializerBeans.java:212)
at org.springframework.boot.web.servlet.ServletContextInitializerBeans.getOrderedBeansOfType(ServletContextInitializerBeans.java:203)
at org.springframework.boot.web.servlet.ServletContextInitializerBeans.addServletContextInitializerBeans(ServletContextInitializerBeans.java:97)
at org.springframework.boot.web.servlet.ServletContextInitializerBeans.<init>(ServletContextInitializerBeans.java:86)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.getServletContextInitializerBeans(ServletWebServerApplicationContext.java:260)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.selfInitialize(ServletWebServerApplicationContext.java:234)
at org.springframework.boot.web.embedded.tomcat.TomcatStarter.onStartup(TomcatStarter.java:53)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5219)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1396)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1386)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:919)
at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:835)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1396)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1386)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:919)
at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:263)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.StandardService.startInternal(StandardService.java:432)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:927)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.startup.Tomcat.start(Tomcat.java:486)
at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.initialize(TomcatWebServer.java:123)
... 13 common frames omitted
Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'log.enable.flag' in value "${log.enable.flag}"
at org.springframework.util.PropertyPlaceholderHelper.parseStringValue(PropertyPlaceholderHelper.java:180)
at org.springframework.util.PropertyPlaceholderHelper.replacePlaceholders(PropertyPlaceholderHelper.java:126)
at org.springframework.core.env.AbstractPropertyResolver.doResolvePlaceholders(AbstractPropertyResolver.java:239)
at org.springframework.core.env.AbstractPropertyResolver.resolveRequiredPlaceholders(AbstractPropertyResolver.java:210)
at org.springframework.context.support.PropertySourcesPlaceholderConfigurer.lambda$processProperties$0(PropertySourcesPlaceholderConfigurer.java:175)
at org.springframework.beans.factory.support.AbstractBeanFactory.resolveEmbeddedValue(AbstractBeanFactory.java:936)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1330)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1309)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:656)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:639)
at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:399)
... 60 common frames omitted
2024-07-01 19:15:41.292 [background-preinit] DEBUG org.jboss.logging:152 - Logging Provider: org.jboss.logging.Log4j2LoggerProvider
2024-07-01 19:15:41.296 [background-preinit] INFO org.hibernate.validator.internal.util.Version:21 - HV000001: Hibernate Validator 6.2.0.Final
2024-07-01 19:15:41.297 [main] INFO org.arch.modules.ArchOverallApp:55 - Starting ArchOverallApp using Java 1.8.0_251 on DESKTOP-NBP41QO with PID 3880 (E:\gw_space\arch-toos\arch-overall\target\classes started by Administrator in E:\gw_space\arch-toos)
2024-07-01 19:15:41.297 [main] DEBUG org.arch.modules.ArchOverallApp:56 - Running with Spring Boot v2.6.3, Spring v5.3.15
2024-07-01 19:15:41.298 [main] INFO org.arch.modules.ArchOverallApp:637 - No active profile set, falling back to default profiles: default
2024-07-01 19:15:41.306 [background-preinit] DEBUG o.h.v.internal.xml.config.ValidationXmlParser:120 - Trying to load META-INF/validation.xml for XML based Validator configuration.
2024-07-01 19:15:41.308 [background-preinit] DEBUG o.h.v.internal.xml.config.ResourceLoaderHelper:60 - Trying to load META-INF/validation.xml via TCCL
2024-07-01 19:15:41.309 [background-preinit] DEBUG o.h.v.internal.xml.config.ResourceLoaderHelper:66 - Trying to load META-INF/validation.xml via Hibernate Validator's class loader
2024-07-01 19:15:41.311 [background-preinit] DEBUG o.h.v.internal.xml.config.ValidationXmlParser:127 - No META-INF/validation.xml found. Using annotation based configuration only.
2024-07-01 19:15:41.316 [background-preinit] DEBUG o.h.v.i.engine.resolver.TraversableResolvers:60 - Cannot find javax.persistence.Persistence on classpath. Assuming non JPA 2 environment. All properties will per default be traversable.
2024-07-01 19:15:41.345 [background-preinit] DEBUG o.h.v.m.ResourceBundleMessageInterpolator:172 - Loaded expression factory via original TCCL
2024-07-01 19:15:41.573 [background-preinit] DEBUG o.h.v.i.engine.ValidatorFactoryConfigurationHelper:345 - HV000252: Using org.hibernate.validator.internal.engine.DefaultPropertyNodeNameProvider as property node name provider.
2024-07-01 19:15:41.581 [background-preinit] DEBUG o.h.v.i.engine.ValidatorFactoryConfigurationHelper:420 - HV000234: Using org.hibernate.validator.messageinterpolation.ResourceBundleMessageInterpolator as ValidatorFactory-scoped message interpolator.
2024-07-01 19:15:41.581 [background-preinit] DEBUG o.h.v.i.engine.ValidatorFactoryConfigurationHelper:421 - HV000234: Using org.hibernate.validator.internal.engine.resolver.TraverseAllTraversableResolver as ValidatorFactory-scoped traversable resolver.
2024-07-01 19:15:41.582 [background-preinit] DEBUG o.h.v.i.engine.ValidatorFactoryConfigurationHelper:422 - HV000234: Using org.hibernate.validator.internal.util.ExecutableParameterNameProvider as ValidatorFactory-scoped parameter name provider.
2024-07-01 19:15:41.582 [background-preinit] DEBUG o.h.v.i.engine.ValidatorFactoryConfigurationHelper:423 - HV000234: Using org.hibernate.validator.internal.engine.DefaultClockProvider as ValidatorFactory-scoped clock provider.
2024-07-01 19:15:41.582 [background-preinit] DEBUG o.h.v.i.engine.ValidatorFactoryConfigurationHelper:424 - HV000234: Using org.hibernate.validator.internal.engine.scripting.DefaultScriptEvaluatorFactory as ValidatorFactory-scoped script evaluator factory.
2024-07-01 19:15:42.126 [main] DEBUG o.m.s.boot.autoconfigure.MybatisAutoConfiguration:184 - Searching for mappers annotated with @Mapper
2024-07-01 19:15:42.131 [main] DEBUG org.apache.ibatis.logging.LogFactory:109 - Logging initialized using 'class org.apache.ibatis.logging.slf4j.Slf4jImpl' adapter.
2024-07-01 19:15:42.133 [main] DEBUG o.m.s.boot.autoconfigure.MybatisAutoConfiguration:196 - Using auto-configuration base package 'org.arch.modules.design'
2024-07-01 19:15:42.136 [main] WARN org.mybatis.spring.mapper.ClassPathMapperScanner:44 - No MyBatis mapper was found in '[org.arch.modules.design]' package. Please check your configuration.
2024-07-01 19:15:42.211 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate:262 - Multiple Spring Data modules found, entering strict repository configuration mode!
2024-07-01 19:15:42.213 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate:132 - Bootstrapping Spring Data Redis repositories in DEFAULT mode.
2024-07-01 19:15:42.240 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate:201 - Finished Spring Data repository scanning in 9 ms. Found 0 Redis repository interfaces.
2024-07-01 19:15:42.382 [main] WARN org.mybatis.spring.mapper.ClassPathMapperScanner:44 - No MyBatis mapper was found in '[org.arch.modules.design]' package. Please check your configuration.
2024-07-01 19:15:42.481 [main] INFO o.springframework.cloud.context.scope.GenericScope:283 - BeanFactory id=6b04e61c-3427-3984-9c2a-c06b58d9556d
2024-07-01 19:15:43.051 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer:108 - Tomcat initialized with port(s): 8080 (http)
2024-07-01 19:15:43.059 [main] INFO org.apache.coyote.http11.Http11NioProtocol:173 - Initializing ProtocolHandler ["http-nio-8080"]
2024-07-01 19:15:43.060 [main] INFO org.apache.catalina.core.StandardService:173 - Starting service [Tomcat]
2024-07-01 19:15:43.060 [main] INFO org.apache.catalina.core.StandardEngine:173 - Starting Servlet engine: [Apache Tomcat/9.0.56]
2024-07-01 19:15:43.201 [main] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/]:173 - Initializing Spring embedded WebApplicationContext
2024-07-01 19:15:43.201 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext:290 - Root WebApplicationContext: initialization completed in 1849 ms
2024-07-01 19:15:43.203 [main] INFO config.org.arch.LogAutoConfiguration:31 - 加载logging配置...
2024-07-01 19:15:43.206 [main] ERROR o.s.boot.web.embedded.tomcat.TomcatStarter:61 - Error starting Tomcat context. Exception: org.springframework.beans.factory.BeanCreationException. Message: Error creating bean with name 'logAutoConfiguration': Injection of autowired dependencies failed; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'log.enable.flag' in value "${log.enable.flag}"
2024-07-01 19:15:43.226 [main] INFO org.apache.catalina.core.StandardService:173 - Stopping service [Tomcat]
2024-07-01 19:15:43.228 [main] ERROR o.a.c.core.ContainerBase.[Tomcat].[localhost].[/]:175 - Failed to destroy the filter named [Tomcat WebSocket (JSR356) Filter] of type [org.apache.tomcat.websocket.server.WsFilter]
java.lang.AbstractMethodError: org.apache.tomcat.websocket.server.WsFilter.destroy()V
at org.apache.catalina.core.ApplicationFilterConfig.release(ApplicationFilterConfig.java:303)
at org.apache.catalina.core.StandardContext.filterStop(StandardContext.java:4647)
at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5469)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257)
at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1412)
at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1401)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)
at org.apache.catalina.core.ContainerBase.stopInternal(ContainerBase.java:986)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257)
at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1412)
at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1401)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)
at org.apache.catalina.core.ContainerBase.stopInternal(ContainerBase.java:986)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257)
at org.apache.catalina.core.StandardService.stopInternal(StandardService.java:497)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257)
at org.apache.catalina.core.StandardServer.stopInternal(StandardServer.java:979)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257)
at org.apache.catalina.startup.Tomcat.stop(Tomcat.java:496)
at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.stopTomcat(TomcatWebServer.java:273)
at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.stopSilently(TomcatWebServer.java:253)
at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.initialize(TomcatWebServer.java:140)
at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.<init>(TomcatWebServer.java:104)
at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getTomcatWebServer(TomcatServletWebServerFactory.java:478)
at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getWebServer(TomcatServletWebServerFactory.java:211)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.createWebServer(ServletWebServerApplicationContext.java:182)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:160)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:577)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145)
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:732)
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:414)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:302)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1303)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1292)
at org.arch.modules.ArchOverallApp.main(ArchOverallApp.java:17)
2024-07-01 19:15:43.242 [main] WARN o.s.b.w.s.c.AnnotationConfigServletWebServerApplicationContext:591 - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.context.ApplicationContextException: Unable to start web server; nested exception is org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat
2024-07-01 19:15:43.252 [main] INFO o.s.b.a.l.ConditionEvaluationReportLoggingListener:136 -
Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2024-07-01 19:15:43.281 [main] ERROR org.springframework.boot.SpringApplication:821 - Application run failed
org.springframework.context.ApplicationContextException: Unable to start web server; nested exception is org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:163)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:577)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145)
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:732)
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:414)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:302)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1303)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1292)
at org.arch.modules.ArchOverallApp.main(ArchOverallApp.java:17)
Caused by: org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat
at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.initialize(TomcatWebServer.java:142)
at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.<init>(TomcatWebServer.java:104)
at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getTomcatWebServer(TomcatServletWebServerFactory.java:478)
at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getWebServer(TomcatServletWebServerFactory.java:211)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.createWebServer(ServletWebServerApplicationContext.java:182)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:160)
... 8 common frames omitted
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'logAutoConfiguration': Injection of autowired dependencies failed; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'log.enable.flag' in value "${log.enable.flag}"
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:405)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1431)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542)
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208)
at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:410)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1352)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1195)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542)
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:213)
at org.springframework.boot.web.servlet.ServletContextInitializerBeans.getOrderedBeansOfType(ServletContextInitializerBeans.java:212)
at org.springframework.boot.web.servlet.ServletContextInitializerBeans.getOrderedBeansOfType(ServletContextInitializerBeans.java:203)
at org.springframework.boot.web.servlet.ServletContextInitializerBeans.addServletContextInitializerBeans(ServletContextInitializerBeans.java:97)
at org.springframework.boot.web.servlet.ServletContextInitializerBeans.<init>(ServletContextInitializerBeans.java:86)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.getServletContextInitializerBeans(ServletWebServerApplicationContext.java:260)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.selfInitialize(ServletWebServerApplicationContext.java:234)
at org.springframework.boot.web.embedded.tomcat.TomcatStarter.onStartup(TomcatStarter.java:53)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5219)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1396)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1386)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:919)
at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:835)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1396)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1386)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:919)
at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:263)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.StandardService.startInternal(StandardService.java:432)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:927)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.startup.Tomcat.start(Tomcat.java:486)
at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.initialize(TomcatWebServer.java:123)
... 13 common frames omitted
Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'log.enable.flag' in value "${log.enable.flag}"
at org.springframework.util.PropertyPlaceholderHelper.parseStringValue(PropertyPlaceholderHelper.java:180)
at org.springframework.util.PropertyPlaceholderHelper.replacePlaceholders(PropertyPlaceholderHelper.java:126)
at org.springframework.core.env.AbstractPropertyResolver.doResolvePlaceholders(AbstractPropertyResolver.java:239)
at org.springframework.core.env.AbstractPropertyResolver.resolveRequiredPlaceholders(AbstractPropertyResolver.java:210)
at org.springframework.context.support.PropertySourcesPlaceholderConfigurer.lambda$processProperties$0(PropertySourcesPlaceholderConfigurer.java:175)
at org.springframework.beans.factory.support.AbstractBeanFactory.resolveEmbeddedValue(AbstractBeanFactory.java:936)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1330)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1309)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:656)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:639)
at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:399)
... 60 common frames omitted
2024-07-01 19:21:36.364 [background-preinit] DEBUG org.jboss.logging:152 - Logging Provider: org.jboss.logging.Log4j2LoggerProvider
2024-07-01 19:21:36.368 [background-preinit] INFO org.hibernate.validator.internal.util.Version:21 - HV000001: Hibernate Validator 6.2.0.Final
2024-07-01 19:21:36.380 [background-preinit] DEBUG o.h.v.internal.xml.config.ValidationXmlParser:120 - Trying to load META-INF/validation.xml for XML based Validator configuration.
2024-07-01 19:21:36.382 [background-preinit] DEBUG o.h.v.internal.xml.config.ResourceLoaderHelper:60 - Trying to load META-INF/validation.xml via TCCL
2024-07-01 19:21:36.383 [background-preinit] DEBUG o.h.v.internal.xml.config.ResourceLoaderHelper:66 - Trying to load META-INF/validation.xml via Hibernate Validator's class loader
2024-07-01 19:21:36.383 [background-preinit] DEBUG o.h.v.internal.xml.config.ValidationXmlParser:127 - No META-INF/validation.xml found. Using annotation based configuration only.
2024-07-01 19:21:36.390 [background-preinit] DEBUG o.h.v.i.engine.resolver.TraversableResolvers:60 - Cannot find javax.persistence.Persistence on classpath. Assuming non JPA 2 environment. All properties will per default be traversable.
2024-07-01 19:21:36.427 [background-preinit] DEBUG o.h.v.m.ResourceBundleMessageInterpolator:172 - Loaded expression factory via original TCCL
2024-07-01 19:21:36.665 [background-preinit] DEBUG o.h.v.i.engine.ValidatorFactoryConfigurationHelper:345 - HV000252: Using org.hibernate.validator.internal.engine.DefaultPropertyNodeNameProvider as property node name provider.
2024-07-01 19:21:36.672 [background-preinit] DEBUG o.h.v.i.engine.ValidatorFactoryConfigurationHelper:420 - HV000234: Using org.hibernate.validator.messageinterpolation.ResourceBundleMessageInterpolator as ValidatorFactory-scoped message interpolator.
2024-07-01 19:21:36.672 [background-preinit] DEBUG o.h.v.i.engine.ValidatorFactoryConfigurationHelper:421 - HV000234: Using org.hibernate.validator.internal.engine.resolver.TraverseAllTraversableResolver as ValidatorFactory-scoped traversable resolver.
2024-07-01 19:21:36.673 [background-preinit] DEBUG o.h.v.i.engine.ValidatorFactoryConfigurationHelper:422 - HV000234: Using org.hibernate.validator.internal.util.ExecutableParameterNameProvider as ValidatorFactory-scoped parameter name provider.
2024-07-01 19:21:36.673 [background-preinit] DEBUG o.h.v.i.engine.ValidatorFactoryConfigurationHelper:423 - HV000234: Using org.hibernate.validator.internal.engine.DefaultClockProvider as ValidatorFactory-scoped clock provider.
2024-07-01 19:21:36.673 [background-preinit] DEBUG o.h.v.i.engine.ValidatorFactoryConfigurationHelper:424 - HV000234: Using org.hibernate.validator.internal.engine.scripting.DefaultScriptEvaluatorFactory as ValidatorFactory-scoped script evaluator factory.
2024-07-01 19:21:39.260 [main] DEBUG c.a.cloud.nacos.client.NacosPropertySourceBuilder:93 - Loading nacos data, dataId: 'common-storage.yaml', group: 'DEFAULT_GROUP', data: #oss对象存储服务
dromara:
#文件存储配置
x-file-storage:
#默认使用的存储平台
default-platform: minio-1
minio:
# 存储平台标识
- platform: minio-1
# 启用存储
enable-storage: true
access-key: minio
secret-key: lipsadmin
end-point: http://192.168.0.120:19001/
bucket-name: eadc
# 访问域名,注意“/”结尾,例如:http://minio.abc.com/abc/
domain: http://192.168.0.120:19001/
# 基础路径
base-path: eadc-file/
2024-07-01 19:21:39.294 [main] DEBUG c.a.cloud.nacos.client.NacosPropertySourceBuilder:93 - Loading nacos data, dataId: 'common-config.yaml', group: 'DEFAULT_GROUP', data: spring:
freemarker:
check-template-location: false
jackson:
time-zone: GMT+8
data:
redis:
repositories:
enabled: false
servlet:
multipart:
max-file-size: 50MB
max-request-size: 100MB
task:
pool:
# 核心线程池大小
core-pool-size: 10
# 最大线程数
max-pool-size: 30
# 活跃时间
keep-alive-seconds: 60
# 队列容量
queue-capacity: 50
# 是否允许生成代码,生产环境设置为false
#密码加密传输,前端公钥加密,后端私钥解密
rsa:
private_key: MIIBUwIBADANBgkqhkiG9w0BAQEFAASCAT0wggE5AgEAAkEA0vfvyTdGJkdbHkB8mp0f3FE0GYP3AYPaJF7jUd1M0XxFSE2ceK3k2kw20YvQ09NJKk+OMjWQl9WitG9pB6tSCQIDAQABAkA2SimBrWC2/wvauBuYqjCFwLvYiRYqZKThUS3MZlebXJiLB+Ue/gUifAAKIg1avttUZsHBHrop4qfJCwAI0+YRAiEA+W3NK/RaXtnRqmoUUkb59zsZUBLpvZgQPfj1MhyHDz0CIQDYhsAhPJ3mgS64NbUZmGWuuNKp5coY2GIj/zYDMJp6vQIgUueLFXv/eZ1ekgz2Oi67MNCk5jeTF2BurZqNLR3MSmUCIFT3Q6uHMtsB9Eha4u7hS31tj1UWE+D+ADzp59MGnoftAiBeHT7gDMuqeJHPL4b+kC+gzV4FGTfhR9q3tTbklZkD2A==
generator:
enabled: true
# 是否开启 swagger-ui
swagger:
enabled: true
title: ah-it4it
serverUrl:
version: 2.2
#SM4-CBC模式
jasypt:
encryptor:
password: GJwsXX_BzW=gJWJW
bean: desencrypt
# PageHelper分页插件
pagehelper:
helperDialect: mysql
reasonable: true
supportMethodsArguments: true
params: count=countSql
#开启 Feign 对 Sentinel 的支持
feign:
sentinel:
enabled: true
client:
config:
default:
connect-timeout: 1000000
read-timeout: 1000000
#SM4加密密钥
sm4:
CBCSecretKey: GJwsXX_BzW=gJWJW
CBCIV: ZkR_SiNoSOFT=568
token:
secret: 123456
expire: 240 # 分钟
logging:
level:
com.onlyoffice.mapper: debug
#1800# RefreshToken过期时间-30分钟-30*60(秒为单位)
refreshTokenExpireTime: 86400
# AES密码加密私钥(Base64加密)
encryptAESKey: V2FuZzkyNjQ1NGRTQkFQSUpXVA==
# JWT认证加密私钥(Base64加密)
encryptJWTKey: U0JBUElKV1RkV2FuZzkyNjQ1NA==
# AccessToken过期时间-5分钟-5*60(秒为单位)
accessTokenExpireTime: 86400
# Shiro缓存过期时间-5分钟-5*60(秒为单位)(一般设置与AccessToken过期时间一致)
shiroCacheExpireTime: 300
#对成加密
crypto:
key: cHineSe3eoPle5as
2024-07-01 19:21:39.316 [main] DEBUG c.a.cloud.nacos.client.NacosPropertySourceBuilder:93 - Loading nacos data, dataId: 'common-log.yaml', group: 'DEFAULT_GROUP', data: # 日志文件配置。注意,如果 logging.file.name 不放在 bootstrap.yaml 配置文件,而是放在 application.yaml 中,会导致出现 LOG_FILE_IS_UNDEFINED 文件
logging:
file:
name: ${user.home}/logs/${spring.application.name}.log # 日志文件名,全路径
level:
org.springframework.boot.autoconfigure: info # 日志级别
#AOP开关,false则不执行AOP里的方法
spring:
aop:
auto: true
#sql日志开关,值为ture,则执行sql注入拦截,false则不执行
sql:
enable:
flag: false
#xss日志开关,值为ture,则执行sql注入拦截,false则不执行
xss:
enable:
flag: false
log:
enable:
flag: false
2024-07-01 19:21:39.342 [main] DEBUG c.a.cloud.nacos.client.NacosPropertySourceBuilder:93 - Loading nacos data, dataId: 'common-datasource.yaml', group: 'DEFAULT_GROUP', data: spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
druid:
driverClassName: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://192.168.0.200:3306/eadc?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=UTF-8&useSSL=false&zeroDateTimeBehavior=CONVERT_TO_NULL&useAffectedRows=true&allowMultiQueries=true&allowPublicKeyRetrieval=true
username: root
password: 123456
# 初始化配置
initial-size: 3
# 最小连接数
min-idle: 5
# 最大连接数
max-active: 15
# 获取连接超时时间
max-wait: 5000
# 连接有效性检测时间
time-between-eviction-runs-millis: 80000
# 最大空闲时间
max-evictable-idle-time-millis: 1800000
# 最小空闲时间
min-evictable-idle-time-millis: 120000
keep-alive: true
#test-while-idle: true
#test-on-borrow: false
#test-on-return: false
validation-query: select 1
# 配置监控统计拦截的filters
filters: stat
stat-view-servlet:
url-pattern: /druid/*
reset-enable: false
web-stat-filter:
url-pattern: /*
exclusions: "*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*"
redis:
# 数据库索引
database: 0
host: 192.168.0.120
port: 16379
password: LIzefeng@2023
# 连接超时时间
timeout: 5000
max-active: 200
# 连接池最大阻塞等待时间(使用负值表示没有限制)
max-wait: -1
# 最大空闲连接数
max-idle: 20
# 连接池中的最小空闲连接
min-idle: 0
2024-07-01 19:21:39.376 [main] DEBUG c.a.cloud.nacos.client.NacosPropertySourceBuilder:93 - Loading nacos data, dataId: 'common-mybatis.yaml', group: 'DEFAULT_GROUP', data: mybatis-plus:
check-config-location: false
configuration:
map-underscore-to-camel-case: true
log-impl: org.apache.ibatis.logging.slf4j.Slf4jImpl
global-config:
configuration:
map-underscore-to-camel-case: true
cache-enabled: true
db-config:
id-type: auto
logic-delete-value: 1
logic-not-delete-value: 0
mapper-locations: classpath*:mapper/**/*Mapper.xml, classpath:/META-INF/modeler-mybatis-mappings/*.xml
2024-07-01 19:21:39.400 [main] DEBUG c.a.cloud.nacos.client.NacosPropertySourceBuilder:93 - Loading nacos data, dataId: 'common-isc.yaml', group: 'DEFAULT_GROUP', data: isc:
start: false
appId: 884473507e2c43279c69967297c3b045
serviceValidate: http://10.138.9.21/isc_sso/serviceValidate
sso_front_home_url: http://10.138.91.158:8082/
2024-07-01 19:21:39.437 [main] DEBUG c.a.cloud.nacos.client.NacosPropertySourceBuilder:93 - Loading nacos data, dataId: 'common-redis.yaml', group: 'DEFAULT_GROUP', data: spring:
redis:
# 数据库索引
database: 0
host: 192.168.0.120
port: 16379
password: ENC(3VXC+drHJQ3xVwp+cdCeyw==)
# 连接超时时间
timeout: 5000
max-active: 200
# 连接池最大阻塞等待时间(使用负值表示没有限制)
max-wait: -1
# 最大空闲连接数
max-idle: 20
# 连接池中的最小空闲连接
min-idle: 0
2024-07-01 19:21:39.468 [main] WARN c.a.cloud.nacos.client.NacosPropertySourceBuilder:87 - Ignore the empty nacos configuration and get it based on dataId[arch-overall] & group[DEFAULT_GROUP]
2024-07-01 19:21:39.480 [main] WARN c.a.cloud.nacos.client.NacosPropertySourceBuilder:87 - Ignore the empty nacos configuration and get it based on dataId[arch-overall.properties] & group[DEFAULT_GROUP]
2024-07-01 19:21:39.487 [main] WARN c.a.cloud.nacos.client.NacosPropertySourceBuilder:87 - Ignore the empty nacos configuration and get it based on dataId[arch-overall-dev.properties] & group[DEFAULT_GROUP]
2024-07-01 19:21:39.488 [main] INFO o.s.c.b.c.PropertySourceBootstrapConfiguration:109 - Located property source: [BootstrapPropertySource {name='bootstrapProperties-arch-overall-dev.properties,DEFAULT_GROUP'}, BootstrapPropertySource {name='bootstrapProperties-arch-overall.properties,DEFAULT_GROUP'}, BootstrapPropertySource {name='bootstrapProperties-arch-overall,DEFAULT_GROUP'}, BootstrapPropertySource {name='bootstrapProperties-common-redis.yaml,DEFAULT_GROUP'}, BootstrapPropertySource {name='bootstrapProperties-common-isc.yaml,DEFAULT_GROUP'}, BootstrapPropertySource {name='bootstrapProperties-common-mybatis.yaml,DEFAULT_GROUP'}, BootstrapPropertySource {name='bootstrapProperties-common-datasource.yaml,DEFAULT_GROUP'}, BootstrapPropertySource {name='bootstrapProperties-common-log.yaml,DEFAULT_GROUP'}, BootstrapPropertySource {name='bootstrapProperties-common-config.yaml,DEFAULT_GROUP'}, BootstrapPropertySource {name='bootstrapProperties-common-storage.yaml,DEFAULT_GROUP'}]
2024-07-01 19:21:39.520 [main] INFO org.arch.modules.ArchOverallApp:641 - The following profiles are active: dev
2024-07-01 19:21:40.158 [main] DEBUG o.m.s.boot.autoconfigure.MybatisAutoConfiguration:184 - Searching for mappers annotated with @Mapper
2024-07-01 19:21:40.163 [main] DEBUG org.apache.ibatis.logging.LogFactory:109 - Logging initialized using 'class org.apache.ibatis.logging.slf4j.Slf4jImpl' adapter.
2024-07-01 19:21:40.165 [main] DEBUG o.m.s.boot.autoconfigure.MybatisAutoConfiguration:196 - Using auto-configuration base package 'org.arch.modules.design'
2024-07-01 19:21:40.168 [main] WARN org.mybatis.spring.mapper.ClassPathMapperScanner:44 - No MyBatis mapper was found in '[org.arch.modules.design]' package. Please check your configuration.
2024-07-01 19:21:40.346 [main] WARN org.mybatis.spring.mapper.ClassPathMapperScanner:44 - No MyBatis mapper was found in '[org.arch.modules.design]' package. Please check your configuration.
2024-07-01 19:21:40.446 [main] INFO o.springframework.cloud.context.scope.GenericScope:283 - BeanFactory id=d03159e2-5c8c-36d5-9ac8-e22e05771634
2024-07-01 19:21:40.746 [main] DEBUG o.h.v.m.ResourceBundleMessageInterpolator:172 - Loaded expression factory via original TCCL
2024-07-01 19:21:40.748 [main] DEBUG o.h.v.internal.engine.AbstractConfigurationImpl:174 - Setting custom MessageInterpolator of type org.springframework.validation.beanvalidation.LocaleContextMessageInterpolator
2024-07-01 19:21:40.749 [main] DEBUG o.h.v.internal.engine.AbstractConfigurationImpl:206 - Setting custom ConstraintValidatorFactory of type org.springframework.validation.beanvalidation.SpringConstraintValidatorFactory
2024-07-01 19:21:40.749 [main] DEBUG o.h.v.internal.engine.AbstractConfigurationImpl:220 - Setting custom ParameterNameProvider of type org.springframework.validation.beanvalidation.LocalValidatorFactoryBean$1
2024-07-01 19:21:40.750 [main] DEBUG o.h.v.internal.xml.config.ValidationXmlParser:120 - Trying to load META-INF/validation.xml for XML based Validator configuration.
2024-07-01 19:21:40.750 [main] DEBUG o.h.v.internal.xml.config.ResourceLoaderHelper:53 - Trying to load META-INF/validation.xml via user class loader
2024-07-01 19:21:40.751 [main] DEBUG o.h.v.internal.xml.config.ResourceLoaderHelper:60 - Trying to load META-INF/validation.xml via TCCL
2024-07-01 19:21:40.751 [main] DEBUG o.h.v.internal.xml.config.ResourceLoaderHelper:66 - Trying to load META-INF/validation.xml via Hibernate Validator's class loader
2024-07-01 19:21:40.752 [main] DEBUG o.h.v.internal.xml.config.ValidationXmlParser:127 - No META-INF/validation.xml found. Using annotation based configuration only.
2024-07-01 19:21:40.752 [main] DEBUG o.h.v.i.engine.resolver.TraversableResolvers:60 - Cannot find javax.persistence.Persistence on classpath. Assuming non JPA 2 environment. All properties will per default be traversable.
2024-07-01 19:21:40.754 [main] DEBUG o.h.v.i.engine.ValidatorFactoryConfigurationHelper:345 - HV000252: Using org.hibernate.validator.internal.engine.DefaultPropertyNodeNameProvider as property node name provider.
2024-07-01 19:21:40.754 [main] DEBUG o.h.v.i.engine.ValidatorFactoryConfigurationHelper:420 - HV000234: Using org.springframework.validation.beanvalidation.LocaleContextMessageInterpolator as ValidatorFactory-scoped message interpolator.
2024-07-01 19:21:40.754 [main] DEBUG o.h.v.i.engine.ValidatorFactoryConfigurationHelper:421 - HV000234: Using org.hibernate.validator.internal.engine.resolver.TraverseAllTraversableResolver as ValidatorFactory-scoped traversable resolver.
2024-07-01 19:21:40.754 [main] DEBUG o.h.v.i.engine.ValidatorFactoryConfigurationHelper:422 - HV000234: Using org.hibernate.validator.internal.util.ExecutableParameterNameProvider as ValidatorFactory-scoped parameter name provider.
2024-07-01 19:21:40.755 [main] DEBUG o.h.v.i.engine.ValidatorFactoryConfigurationHelper:423 - HV000234: Using org.hibernate.validator.internal.engine.DefaultClockProvider as ValidatorFactory-scoped clock provider.
2024-07-01 19:21:40.755 [main] DEBUG o.h.v.i.engine.ValidatorFactoryConfigurationHelper:424 - HV000234: Using org.hibernate.validator.internal.engine.scripting.DefaultScriptEvaluatorFactory as ValidatorFactory-scoped script evaluator factory.
2024-07-01 19:21:40.760 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker:376 - Bean 'org.springframework.cloud.commons.config.CommonsConfigAutoConfiguration' of type [org.springframework.cloud.commons.config.CommonsConfigAutoConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-07-01 19:21:40.763 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker:376 - Bean 'org.springframework.cloud.client.loadbalancer.LoadBalancerDefaultMappingsProviderAutoConfiguration' of type [org.springframework.cloud.client.loadbalancer.LoadBalancerDefaultMappingsProviderAutoConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-07-01 19:21:40.764 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker:376 - Bean 'loadBalancerClientsDefaultsMappingsProvider' of type [org.springframework.cloud.client.loadbalancer.LoadBalancerDefaultMappingsProviderAutoConfiguration$$Lambda$451/1218496682] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-07-01 19:21:40.768 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker:376 - Bean 'defaultsBindHandlerAdvisor' of type [org.springframework.cloud.commons.config.DefaultsBindHandlerAdvisor] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-07-01 19:21:40.804 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker:376 - Bean 'spring.cloud.sentinel-com.alibaba.cloud.sentinel.SentinelProperties' of type [com.alibaba.cloud.sentinel.SentinelProperties] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-07-01 19:21:40.808 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker:376 - Bean 'com.alibaba.cloud.sentinel.custom.SentinelAutoConfiguration' of type [com.alibaba.cloud.sentinel.custom.SentinelAutoConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-07-01 19:21:41.086 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer:108 - Tomcat initialized with port(s): 17003 (http)
2024-07-01 19:21:41.095 [main] INFO org.apache.coyote.http11.Http11NioProtocol:173 - Initializing ProtocolHandler ["http-nio-17003"]
2024-07-01 19:21:41.095 [main] INFO org.apache.catalina.core.StandardService:173 - Starting service [Tomcat]
2024-07-01 19:21:41.095 [main] INFO org.apache.catalina.core.StandardEngine:173 - Starting Servlet engine: [Apache Tomcat/9.0.56]
2024-07-01 19:21:41.247 [main] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/]:173 - Initializing Spring embedded WebApplicationContext
2024-07-01 19:21:41.247 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext:290 - Root WebApplicationContext: initialization completed in 1707 ms
2024-07-01 19:21:41.250 [main] INFO org.arch.config.LogAutoConfiguration:31 - 加载logging配置...
2024-07-01 19:21:41.290 [main] INFO o.s.boot.web.servlet.RegistrationBean:50 - Filter xssFilter was not registered (disabled)
2024-07-01 19:21:41.291 [main] INFO o.s.boot.web.servlet.RegistrationBean:50 - Filter sqlFilter was not registered (disabled)
2024-07-01 19:21:41.291 [main] INFO o.s.boot.web.servlet.RegistrationBean:50 - Filter loginFilter was not registered (disabled)
2024-07-01 19:21:41.362 [main] WARN o.s.b.w.s.c.AnnotationConfigServletWebServerApplicationContext:591 - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'archiElementController' defined in file [E:\gw_space\arch-toos\arch-overall\target\classes\org\arch\modules\design\controller\ArchiElementController.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'archiElementImpl': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'org.arch.modules.mapper.ArchiElementMapper' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@javax.annotation.Resource(shareable=true, lookup=, name=, description=, authenticationType=CONTAINER, type=class java.lang.Object, mappedName=)}
2024-07-01 19:21:41.364 [main] INFO org.apache.catalina.core.StandardService:173 - Stopping service [Tomcat]
2024-07-01 19:21:41.369 [main] ERROR o.a.c.core.ContainerBase.[Tomcat].[localhost].[/]:175 - Failed to destroy the filter named [Tomcat WebSocket (JSR356) Filter] of type [org.apache.tomcat.websocket.server.WsFilter]
java.lang.AbstractMethodError: null
at org.apache.catalina.core.ApplicationFilterConfig.release(ApplicationFilterConfig.java:303)
at org.apache.catalina.core.StandardContext.filterStop(StandardContext.java:4647)
at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5469)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257)
at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1412)
at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1401)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)
at org.apache.catalina.core.ContainerBase.stopInternal(ContainerBase.java:986)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257)
at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1412)
at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1401)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)
at org.apache.catalina.core.ContainerBase.stopInternal(ContainerBase.java:986)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257)
at org.apache.catalina.core.StandardService.stopInternal(StandardService.java:497)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257)
at org.apache.catalina.core.StandardServer.stopInternal(StandardServer.java:979)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257)
at org.apache.catalina.startup.Tomcat.stop(Tomcat.java:496)
at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.stopTomcat(TomcatWebServer.java:273)
at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.stop(TomcatWebServer.java:331)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:150)
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:732)
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:414)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:302)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1303)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1292)
at org.arch.modules.ArchOverallApp.main(ArchOverallApp.java:17)
2024-07-01 19:21:41.388 [main] INFO o.s.b.a.l.ConditionEvaluationReportLoggingListener:136 -
Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2024-07-01 19:21:41.411 [main] ERROR o.s.b.diagnostics.LoggingFailureAnalysisReporter:40 -
***************************
APPLICATION FAILED TO START
***************************
Description:
Parameter 0 of constructor in org.arch.modules.controller.ArchiElementController required a bean of type 'org.arch.modules.mapper.ArchiElementMapper' that could not be found.
Action:
Consider defining a bean of type 'org.arch.modules.mapper.ArchiElementMapper' in your configuration.
This diff could not be displayed because it is too large.
......@@ -18,10 +18,25 @@
</properties>
<dependencies>
<dependency>
<groupId>com.github.davidfantasy</groupId>
<artifactId>mybatis-plus-generator-ui</artifactId>
</dependency>
<dependency>
<groupId>org.arch</groupId>
<artifactId>log</artifactId>
<artifactId>nacos</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
<dependency>
<groupId>org.arch</groupId>
<artifactId>storage</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.arch</groupId>
<artifactId>filters</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
</project>
\ No newline at end of file
......@@ -3,7 +3,11 @@ package org.arch.manage;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
@SpringBootApplication(exclude = DataSourceAutoConfiguration.class)
import org.springframework.context.annotation.EnableMBeanExport;
import org.springframework.jmx.support.RegistrationPolicy;
@SpringBootApplication
@EnableMBeanExport(registration = RegistrationPolicy.IGNORE_EXISTING)
public class SystemManageApp {
public static void main(String[] args) {
SpringApplication.run(SystemManageApp.class, args);
......
package org.arch.manage.conterller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import org.arch.base.utils.RequestUtils;
import org.arch.base.utils.StringUtils;
import org.arch.common.modules.sysmange.dto.RoleSmallDto;
import org.arch.common.modules.sysmange.dto.UserDto;
import org.arch.common.modules.sysmange.entity.*;
import org.arch.manage.service.AdsProjectService;
import org.arch.manage.service.BackLogService;
import org.arch.manage.service.ProjectService;
import org.arch.manage.service.PsrPlanService;
import org.arch.manage.util.UserUtil;
import org.springframework.beans.factory.annotation.Autowired;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Date;
import java.util.List;
import java.util.UUID;
/**
* BaseController
*/
public class BaseController {
@Autowired
private UserUtil userUtil;
@Autowired
private BackLogService backlogservice;
@Autowired
private ProjectService projectService;
@Autowired
private PsrPlanService psrPlanService;
@Autowired
private AdsProjectService adsProjectService;
/**
* 获取用户基础信息
* @return
*/
public User getUser(){
return userUtil.getUser();
// return new User();
}
/**
* 获取用户详细信息
* 包括用户组织机构、部门、权限等信息
* @return
*/
public UserDto getUserDto(){
return userUtil.getUserDto();
}
/**
* 获取用户id
* @return 用户id
*/
public Long getUserId(){
return userUtil.getUserId();
}
/**
* 获取用户名称
* @return 用户名称
*/
public String getUserName(){
return userUtil.getUserDto().getName();
}
/**
* 获取ISC用户名称
* @return 用户名称
*/
public String getUserIscId(){
return userUtil.getUserDto().getIscUserId();
}
/**
* 获取ISC用户名称
* @return 用户名称
*/
public String getUserDataPermission(){
return userUtil.getUserDto().getDataPermission();
}
/**
* 添加查询数据权限
* @param queryWrapper queryWrapper声明对象
* @param mainTableAlias 主表别名
* @param datatype 文档类别(fsr可研,ads概设)
* @param isAudit 是否审核页面
*/
public <T> void queryAddDataPermission(QueryWrapper<T> queryWrapper,String mainTableAlias,String datatype,boolean isAudit){
// Class c=t.getClass()
UserDto user=getUserDto();
List<RoleSmallDto> roles=user.getRoles();
//如果有管理员权限不做数据权限控制
boolean bs=roles.stream().anyMatch(RoleSmallDto -> RoleSmallDto.getRoleSign().equals("admin"));
if(bs)return;
boolean bc=roles.stream().anyMatch(RoleSmallDto -> RoleSmallDto.getRoleSign().contains("controuser"));// .equals("contro_user")
/**
* 数据权限控制
* 1获取用户的dataPermission
*/
if (!isAudit){
//非审核页面查询
if(mainTableAlias==null){
queryWrapper.eq("creater_id", user.getIscUserId());
if(StringUtils.isNotBlank(user.getDataPermission())){
queryWrapper.or()
.likeRight("org_num", user.getDataPermission());
}
}else{
//如果多表关联查询,主表有别名,加别名查询
queryWrapper.eq(mainTableAlias+".creater_id", user.getIscUserId());
if(StringUtils.isNotBlank(user.getDataPermission())){
queryWrapper.or()
.likeRight(mainTableAlias+".org_num", user.getDataPermission());
}
}
}else{
//审核页面查询
// queryWrapper.ge("state", 1);
//可研或者概设审核且为专家
if(!bc&&datatype!=null){
// queryWrapper.eq("state", 3);
queryWrapper.or();
queryWrapper.inSql(datatype+"_id", "select id from com_review_report where creater_id='"+user.getIscUserId()+"'");
}
}
}
//待办处理rid--文档ID、 type--类型(0审核待办,1专家待办) docType--类型(0规划,1可研 2概设)flag(0驳回,1通过)
public void addBackLog(String rid,String type,String docType,String flag,String state){
String docName="";
String doc="";
String accepterId="";
if("0".equals(docType)){
QueryWrapper<PsrPlan> wrapper = Wrappers.query();
wrapper.eq("id", rid);
PsrPlan p=psrPlanService.getOne(wrapper);
docName=p.getName();
doc="规划审核";
if("0".equals(flag)){
accepterId=p.getCreaterId();
doc="规划驳回";
}
}else if("1".equals(docType)){
QueryWrapper<Project> wrapper = Wrappers.query();
wrapper.eq("fsr_id", rid);
Project p=projectService.getOne(wrapper);
docName=p.getPrjName();
doc="可研审核";
if("0".equals(flag)){
accepterId=p.getCreaterId();
doc="可研驳回";
}
}else if("2".equals(docType)){
QueryWrapper<AdsProject> wrapper = Wrappers.query();
wrapper.eq("ads_id", rid);
AdsProject p=adsProjectService.getOne(wrapper);
docName=p.getAdsName();
doc="概设审核";
if("0".equals(flag)){
accepterId=p.getCreaterId();
doc="概设驳回";
}
}
BackLog bl=new BackLog();
bl.setBId(UUID.randomUUID().toString());
bl.setRId(rid);
bl.setResult("0");
bl.setName(doc+"_"+docName);
bl.setType(docType);
bl.setStepType(doc);
bl.setSubmitterId(getUserIscId()+"");
bl.setAccepterId(accepterId);
bl.setSubmitTime(new Date());
bl.setState(state);
backlogservice.save(bl);
}
//待办处理rid--文档ID、 type--类型(0审核代办,1专家代办)
public void updateBackLog(String rid,String type,String docType){
QueryWrapper<BackLog> bWrapper = Wrappers.query();
bWrapper.eq("r_id", rid);
bWrapper.eq("result", "0");
if("1".equals(type)){
bWrapper.eq("accepter_id", getUserIscId());
}
List<BackLog> list=backlogservice.list(bWrapper);
for(BackLog bl:list){
bl.setResult("1");
bl.setApprovalTime(new Date());
//bl.setType(docType);
bl.setApprover(getUserName());
bl.setApproverId(getUserIscId()+"");
QueryWrapper<BackLog> updateWrapper = Wrappers.query();
updateWrapper.eq("b_id", bl.getBId());
backlogservice.update(bl, updateWrapper);
}
}
//待办处理rid--文档ID、 type--类型(0规划,1可研,2概设)
public void addBackLogbyExpert(String rid,String eid,String type,String state){
String docName="";
String doc="";
if("0".equals(type)){
QueryWrapper<PsrPlan> wrapper = Wrappers.query();
wrapper.eq("id", rid);
PsrPlan p=psrPlanService.getOne(wrapper);
docName=p.getName();
doc="规划审核";
}else if("1".equals(type)){
QueryWrapper<Project> wrapper = Wrappers.query();
wrapper.eq("fsr_id", rid);
Project p=projectService.getOne(wrapper);
docName=p.getPrjName();
doc="可研专家报告";
}else if("2".equals(type)){
QueryWrapper<AdsProject> wrapper = Wrappers.query();
wrapper.eq("ads_id", rid);
AdsProject p=adsProjectService.getOne(wrapper);
docName=p.getAdsName();
doc="概设专家报告";
}
BackLog bl=new BackLog();
bl.setBId(UUID.randomUUID().toString());
bl.setRId(rid);
bl.setResult("0");
bl.setName(doc+"_"+docName);
bl.setType(type);
bl.setStepType(doc);
bl.setSubmitterId(getUserIscId()+"");
bl.setAccepterId(eid);
bl.setSubmitTime(new Date());
bl.setState(state);
backlogservice.save(bl);
}
public HttpServletRequest getRequest() {
return RequestUtils.getRequest();
}
public HttpServletResponse getResponse() {
return RequestUtils.getResponse();
}
}
package org.arch.manage.conterller;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import io.swagger.annotations.*;
import org.arch.base.Result;
import org.arch.base.utils.RequestUtils;
import org.arch.base.utils.StringUtils;
import org.arch.common.modules.sysmange.dto.MenuDto;
import org.arch.common.modules.sysmange.dto.RoleSmallDto;
import org.arch.common.modules.sysmange.dto.UserDto;
import org.arch.common.modules.sysmange.entity.*;
import org.arch.common.redis.RedisService;
import org.arch.manage.converter.MenuConverter;
import org.arch.manage.service.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.validation.constraints.Size;
import java.util.*;
import org.arch.manage.conterller.BaseController;
import org.arch.manage.util.UserUtil;
@Api(tags = "功能管理")
@RestController
@RequestMapping("/menu")
public class MenuController extends BaseController {
@Autowired
private MenuService menuService;
@Autowired
private MenuConverter menuConverter;
@Autowired
private RedisService redisService;
@ApiOperation(value = "功能管理树形接口", notes = "与添加所需树形结构通用")
@GetMapping("/list")
public Result<List<MenuDto>> list(
@ApiParam(value = "类型",required = false)
@RequestParam(required = false) Integer category,
@ApiParam(value = "名称",required = false)
@RequestParam(required = false) @Size(max=30,message="名称长度小于30") String name) {
QueryWrapper<Menu> wrapper = new QueryWrapper<>();
if (Optional.ofNullable(name).isPresent()){
String trim = name.trim();
if (!trim.isEmpty()){
wrapper.like("name", trim);
}
}
wrapper.eq(Optional.ofNullable(category).isPresent(),"category", category);
wrapper.select("id", "name", "path", "type", "hidden", "icon", "pid");
wrapper.orderByAsc("sort");
List<Menu> list = menuService.list(wrapper);
List<MenuDto> menuDtos = menuConverter.men2Dto_list(list);
if (menuDtos.size() > 1){
List<MenuDto> dtoTree = new ArrayList<>();
for (MenuDto menuDto : menuDtos) {
if ("0".equals(menuDto.getPid())){
dtoTree.add(findChild(menuDto, menuDtos));
}
}
return Result.success(dtoTree);
}else {
return Result.success(menuDtos);
}
}
@ApiOperation(value = "菜单权限", notes = "菜单权限")
@GetMapping("/isclist")
public Result<List<MenuDto>> isclist(
@ApiParam(value = "类型",required = false)
@RequestParam(required = false) Integer category) throws Exception {
QueryWrapper<Menu> wrapper = new QueryWrapper<>();
String iscuserId= getUserIscId();
// String iscuserId="1BE8B302ADC401CEE0530A8A018B01CE";
String token=null;
String tkval=redisService.get("isc_token:");
if(tkval!=null){
token=tkval;
}else{
UserDto userDto= getUserDto();
token=userDto.getToken();//获取token//获取token
}
// List<iscMenu> li=IscUtil.userResource(iscuserId,token);
wrapper.select("id", "name", "path", "type", "hidden", "icon", "pid");
wrapper.orderByAsc("sort");
List<Menu> mlist = menuService.list(wrapper);
Map<String,String> map=new HashMap();
for(Menu m:mlist){
if(!map.containsKey(m.getName())){
map.put(m.getName(), m.getIcon());
}
}
List<String> iscids=new ArrayList();
List<Menu> list = new ArrayList();
/* Long i=0l;
for(iscMenu m :li){
i=i+1;
Menu me=new Menu();
me.setIscId(m.getId());
me.setId(i);
me.setName(m.getName());
if(map.containsKey(m.getName())){
me.setIcon(map.get(m.getName()));
}
long s=Long.valueOf(m.getSeqNumber());
me.setSort(s);
if(m.getParentId()==null){
me.setPid("0");
}else{
me.setPid(m.getParentId());
}
if(m.getConent()!=null&&!"".equals(m.getConent())){
me.setPath(m.getConent());
}else{
me.setPath(i+"");
}
list.add(me);
}*/
Collections.sort(list);
List<MenuDto> menuDtos = menuConverter.men2Dto_list(list);
if (menuDtos.size() > 1){
List<MenuDto> dtoTree = new ArrayList<>();
for (MenuDto menuDto : menuDtos) {
if ("0".equals(menuDto.getPid())){
dtoTree.add(findChildIsc(menuDto, menuDtos));
}
}
return Result.success(dtoTree);
}else {
return Result.success(menuDtos);
}
}
MenuDto findChild(MenuDto menuDto, List<MenuDto> menuDtos){
for (MenuDto dto : menuDtos) {
if (Objects.equals(menuDto.getId().toString(), dto.getPid())){
if (CollectionUtils.isEmpty(menuDto.getChildren())){
menuDto.setChildren(new ArrayList<>());
}
menuDto.getChildren().add(findChild(dto, menuDtos));
}
}
return menuDto;
}
MenuDto findChildIsc(MenuDto menuDto, List<MenuDto> menuDtos){
for (MenuDto dto : menuDtos) {
if (Objects.equals(menuDto.getIscId(), dto.getPid())){
if (CollectionUtils.isEmpty(menuDto.getChildren())){
menuDto.setChildren(new ArrayList<>());
}
menuDto.getChildren().add(findChildIsc(dto, menuDtos));
}
}
return menuDto;
}
/**
* 添加
*
* @param menuDto
* @return
*/
@ApiOperation(value = "添加", notes = "添加新功能")
@PostMapping("/add")
@ApiOperationSupport(ignoreParameters = {"iFrame", "id", "pids","permission", "component",
"cache", "componentName", "children", "createTime", "category"})
public Result add(@RequestBody MenuDto menuDto) {
String pid = menuDto.getPid();
if (Optional.ofNullable(pid).isPresent() &&!"0".equals(pid)) {
Menu parentMenu = menuService.getById(pid);
if (!Optional.ofNullable(parentMenu).isPresent()) {
return Result.error("上级功能不存在");
}
menuDto.setPids(parentMenu.getPids()+parentMenu.getId()+",");
} else {
menuDto.setPid("0");
menuDto.setPids("0,");
}
menuDto.setCategory(1); //项目级别全都是1,系统级别需要手动维护数据库
menuDto.setIFrame(false);
menuDto.setCreateTime(new Date());
Menu entity = menuConverter.dto2Menu(menuDto);
boolean save = menuService.save(entity);
return save == true ? Result.success() : Result.error();
}
@GetMapping(value = "/checkName")
@ApiOperation(value = "名称检查", notes = "名称检查")
@ApiImplicitParams({
@ApiImplicitParam(name = "name", value = "菜单名称", required = true, dataType = "String", paramType = "query")
})
public Result<Object> checkName(String name){
QueryWrapper<Menu> queryWrapper = Wrappers.query();
queryWrapper.eq("name", name);
List<Menu> list= menuService.list(queryWrapper);
if(list.size()>0){
return Result.success(false);
}
return Result.success(true);
}
/**
* 单条信息
*
* @param id
* @return
*/
@ApiOperation(value = "单条信息", notes = "单条信息")
@PostMapping("/get")
public Result<MenuDto> 单条信息(@RequestBody String id) {
JSONObject jsonObject = JSONObject.parseObject(id);
id = jsonObject.getString("id");
Menu menu = menuService.getById(id);
if (!Optional.ofNullable(menu).isPresent()) {
return Result.error("数据不存在");
}
return Result.success(menu);
}
/**
* 修改
*
* @param menuDto
* @return
*/
@ApiOperation("修改")
@PostMapping("/upd")
@ApiOperationSupport(ignoreParameters = {"iFrame","pids","permission", "component",
"cache", "componentName", "children", "createTime", "category"})
public Result upd(@RequestBody MenuDto menuDto) {
Long id = menuDto.getId();
Menu byId = menuService.getById(id);
if (!Optional.ofNullable(byId).isPresent()) {
return Result.error("未检索到要修改的原数据");
}
// QueryWrapper<Menu> wrapper = new QueryWrapper<>();
// wrapper.eq("pid", id);
// List<Menu> list = menuService.list(wrapper);
// if (!CollectionUtils.isEmpty(list)) {
// return Result.error("存在子集,上级功能不可修改");
// }
String pid = menuDto.getPid();
// if(!byId.getPid().equals(pid)){
// return Result.error("存在子集,上级功能不可修改");
// }
if (Optional.ofNullable(pid).isPresent() &&!"0".equals(pid)) {
Menu parent = menuService.getById(pid);
if (!Optional.ofNullable(parent).isPresent()) {
return Result.error("上级功能不存在");
}
menuDto.setPids(parent.getPids()+parent.getId()+",");
} else {
menuDto.setPid("0");
menuDto.setPids("0,");
}
try {
boolean b = menuService.updateById(menuConverter.dto2Menu(menuDto));
}catch (Exception e){
return Result.error();
}
return Result.success();
}
/**
* 删除
*
* @param id
* @return
*/
@ApiOperation("删除")
@PostMapping("/del")
public Result del(@RequestBody String id) {
JSONObject jsonObject = JSONObject.parseObject(id);
id = jsonObject.getString("id");
QueryWrapper<Menu> pid = new QueryWrapper<Menu>().in("pid", id);
List<Menu> list = menuService.list(pid);
if (!CollectionUtils.isEmpty(list)) {
return Result.error("存在子节点");
}
boolean b = menuService.removeById(id);
return b == true ? Result.success() : Result.error();
}
/**
* 批量删除
*
* @param ids
* @return
*/
@ApiOperation("批量删除")
@PostMapping("/delArray")
public Result delArray(@ApiParam(value = "主键id集合", required = true) @RequestBody List<Long> ids) {
QueryWrapper<Menu> pid = new QueryWrapper<Menu>().in("pid", ids);
List<Menu> list = menuService.list(pid);
if (!CollectionUtils.isEmpty(list)) {
return Result.error("存在子节点");
}
boolean b = menuService.removeByIds(ids);
return b == true ? Result.success() : Result.error();
}
/**
* ISC菜单更新
*
* @param ids
* @return
* @throws Exception
*/
@ApiOperation("ISC菜单更新")
@PostMapping("/updateIscMenu")
public Result updateIscMenu(String userid) throws Exception {
QueryWrapper<Menu> pid = new QueryWrapper<Menu>();
List<Menu> list = menuService.list(pid);
/* String token=IscUtil.getToken();//获取token
List<iscMenu> li=IscUtil.userResource(userid,token);
Map<String,String> map=new HashMap();
for(iscMenu m :li){
if(!map.containsKey(m.getName())){
map.put(m.getName(), m.getId()) ;
}
}*//*
for(Menu m:list){
if(map.containsKey(m.getName())){
m.setIscId(map.get(m.getName()));
}
menuService.updateById(m);
}*/
return Result.success();
}
/**
* BaseController
*/
public static class BaseController {
@Autowired
private UserUtil userUtil;
@Autowired
private BackLogService backlogservice;
@Autowired
private ProjectService projectService;
@Autowired
private PsrPlanService psrPlanService;
@Autowired
private AdsProjectService adsProjectService;
/**
* 获取用户基础信息
* @return
*/
public User getUser(){
return userUtil.getUser();
// return new User();
}
/**
* 获取用户详细信息
* 包括用户组织机构、部门、权限等信息
* @return
*/
public UserDto getUserDto(){
return userUtil.getUserDto();
}
/**
* 获取用户id
* @return 用户id
*/
public Long getUserId(){
return userUtil.getUserId();
}
/**
* 获取用户名称
* @return 用户名称
*/
public String getUserName(){
return userUtil.getUserDto().getName();
}
/**
* 获取ISC用户名称
* @return 用户名称
*/
public String getUserIscId(){
return userUtil.getUserDto().getIscUserId();
}
/**
* 获取ISC用户名称
* @return 用户名称
*/
public String getUserDataPermission(){
return userUtil.getUserDto().getDataPermission();
}
/**
* 添加查询数据权限
* @param queryWrapper queryWrapper声明对象
* @param mainTableAlias 主表别名
* @param datatype 文档类别(fsr可研,ads概设)
* @param isAudit 是否审核页面
*/
public <T> void queryAddDataPermission(QueryWrapper<T> queryWrapper,String mainTableAlias,String datatype,boolean isAudit){
// Class c=t.getClass()
UserDto user=getUserDto();
List<RoleSmallDto> roles=user.getRoles();
//如果有管理员权限不做数据权限控制
boolean bs=roles.stream().anyMatch(RoleSmallDto -> RoleSmallDto.getRoleSign().equals("admin"));
if(bs)return;
boolean bc=roles.stream().anyMatch(RoleSmallDto -> RoleSmallDto.getRoleSign().contains("controuser"));// .equals("contro_user")
/**
* 数据权限控制
* 1获取用户的dataPermission
*/
if (!isAudit){
//非审核页面查询
if(mainTableAlias==null){
queryWrapper.eq("creater_id", user.getIscUserId());
if(StringUtils.isNotBlank(user.getDataPermission())){
queryWrapper.or()
.likeRight("org_num", user.getDataPermission());
}
}else{
//如果多表关联查询,主表有别名,加别名查询
queryWrapper.eq(mainTableAlias+".creater_id", user.getIscUserId());
if(StringUtils.isNotBlank(user.getDataPermission())){
queryWrapper.or()
.likeRight(mainTableAlias+".org_num", user.getDataPermission());
}
}
}else{
//审核页面查询
// queryWrapper.ge("state", 1);
//可研或者概设审核且为专家
if(!bc&&datatype!=null){
// queryWrapper.eq("state", 3);
queryWrapper.or();
queryWrapper.inSql(datatype+"_id", "select id from com_review_report where creater_id='"+user.getIscUserId()+"'");
}
}
}
//待办处理rid--文档ID、 type--类型(0审核待办,1专家待办) docType--类型(0规划,1可研 2概设)flag(0驳回,1通过)
public void addBackLog(String rid,String type,String docType,String flag,String state){
String docName="";
String doc="";
String accepterId="";
if("0".equals(docType)){
QueryWrapper<PsrPlan> wrapper = Wrappers.query();
wrapper.eq("id", rid);
PsrPlan p=psrPlanService.getOne(wrapper);
docName=p.getName();
doc="规划审核";
if("0".equals(flag)){
accepterId=p.getCreaterId();
doc="规划驳回";
}
}else if("1".equals(docType)){
QueryWrapper<Project> wrapper = Wrappers.query();
wrapper.eq("fsr_id", rid);
Project p=projectService.getOne(wrapper);
docName=p.getPrjName();
doc="可研审核";
if("0".equals(flag)){
accepterId=p.getCreaterId();
doc="可研驳回";
}
}else if("2".equals(docType)){
QueryWrapper<AdsProject> wrapper = Wrappers.query();
wrapper.eq("ads_id", rid);
AdsProject p=adsProjectService.getOne(wrapper);
docName=p.getAdsName();
doc="概设审核";
if("0".equals(flag)){
accepterId=p.getCreaterId();
doc="概设驳回";
}
}
BackLog bl=new BackLog();
bl.setBId(UUID.randomUUID().toString());
bl.setRId(rid);
bl.setResult("0");
bl.setName(doc+"_"+docName);
bl.setType(docType);
bl.setStepType(doc);
bl.setSubmitterId(getUserIscId()+"");
bl.setAccepterId(accepterId);
bl.setSubmitTime(new Date());
bl.setState(state);
backlogservice.save(bl);
}
//待办处理rid--文档ID、 type--类型(0审核代办,1专家代办)
public void updateBackLog(String rid,String type,String docType){
QueryWrapper<BackLog> bWrapper = Wrappers.query();
bWrapper.eq("r_id", rid);
bWrapper.eq("result", "0");
if("1".equals(type)){
bWrapper.eq("accepter_id", getUserIscId());
}
List<BackLog> list=backlogservice.list(bWrapper);
for(BackLog bl:list){
bl.setResult("1");
bl.setApprovalTime(new Date());
//bl.setType(docType);
bl.setApprover(getUserName());
bl.setApproverId(getUserIscId()+"");
QueryWrapper<BackLog> updateWrapper = Wrappers.query();
updateWrapper.eq("b_id", bl.getBId());
backlogservice.update(bl, updateWrapper);
}
}
//待办处理rid--文档ID、 type--类型(0规划,1可研,2概设)
public void addBackLogbyExpert(String rid,String eid,String type,String state){
String docName="";
String doc="";
if("0".equals(type)){
QueryWrapper<PsrPlan> wrapper = Wrappers.query();
wrapper.eq("id", rid);
PsrPlan p=psrPlanService.getOne(wrapper);
docName=p.getName();
doc="规划审核";
}else if("1".equals(type)){
QueryWrapper<Project> wrapper = Wrappers.query();
wrapper.eq("fsr_id", rid);
Project p=projectService.getOne(wrapper);
docName=p.getPrjName();
doc="可研专家报告";
}else if("2".equals(type)){
QueryWrapper<AdsProject> wrapper = Wrappers.query();
wrapper.eq("ads_id", rid);
AdsProject p=adsProjectService.getOne(wrapper);
docName=p.getAdsName();
doc="概设专家报告";
}
BackLog bl=new BackLog();
bl.setBId(UUID.randomUUID().toString());
bl.setRId(rid);
bl.setResult("0");
bl.setName(doc+"_"+docName);
bl.setType(type);
bl.setStepType(doc);
bl.setSubmitterId(getUserIscId()+"");
bl.setAccepterId(eid);
bl.setSubmitTime(new Date());
bl.setState(state);
backlogservice.save(bl);
}
public HttpServletRequest getRequest() {
return RequestUtils.getRequest();
}
public HttpServletResponse getResponse() {
return RequestUtils.getResponse();
}
}
}
package org.arch.manage.conterller;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.*;
import lombok.extern.java.Log;
import org.arch.base.Result;
import org.arch.base.exception.BaseException;
import org.arch.common.modules.sysmange.entity.Org;
import org.arch.manage.service.OrgService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.Date;
import java.util.List;
/**
* <p>
* 前端控制器
* </p>
*
* @author audit
* @since 2020-08-21
*/
@RestController
@RequestMapping("/org")
@Api(tags = "组织机构管理")
@Log
public class OrgController extends MenuController.BaseController {
@Autowired
private OrgService orgService;
@GetMapping(value = "/")
@ApiOperation(value = "列表查询接口", notes = "多条件产讯组织结构列表")
@ApiImplicitParams({
@ApiImplicitParam(name = "current", value = "当前页数",required = true, defaultValue = "1", dataType = "int", paramType = "query"),
@ApiImplicitParam(name = "pageSize", value = "页面显示数量", required = true, defaultValue = "10", dataType = "int", paramType = "query"),
@ApiImplicitParam(name = "orgName", value = "组织名称", required = false, dataType = "string", paramType = "query"),
})
public Result<Page<Org>> list(@RequestParam(required = true, defaultValue = "1", name = "current") Integer current,
@RequestParam(required = true, defaultValue = "10", name = "pageSize") Integer pageSize,
Org org) {
if (current == null) {
current = 1;
}
if (pageSize == null) {
pageSize = 10;
}
QueryWrapper<Org> queryWrapper = new QueryWrapper<>();
if(ObjectUtil.isNotNull(org))queryWrapper.like(StrUtil.isNotBlank(org.getOrgName()), "a.org_name", org.getOrgName());
if(ObjectUtil.isNotNull(org) && ObjectUtil.isNotNull(org.getParentOrgId())){
queryWrapper.and(wrapper -> wrapper.eq("a.parent_org_id", org.getParentOrgId()).or().eq("a.org_id", org.getParentOrgId()));
}
queryWrapper.orderByAsc("a.parent_org_id");
queryWrapper.orderByAsc("a.org_sort");
Page<Org> aPage = orgService.selectForPage(new Page<>(current, pageSize), queryWrapper);
return Result.success(aPage);
}
@GetMapping(value = "/details")
@ApiOperation(value = "获取单条组织详情", notes = "获取单条组织详情")
@ApiImplicitParam(name = "id", value = "组织的主键ID", required = true, dataType = "Long", paramType = "path")
public Result<Org> getById(Long id) {
Org byId = orgService.getById(id);
if(byId != null && byId.getParentOrgId() != null && byId.getParentOrgId() > 0){
Org byId1 = orgService.getById(byId.getParentOrgId());
byId.setParentOrgName(byId1.getOrgName());
}
return Result.success(byId);
}
@PostMapping(value = "/create")
@ApiOperation(value = "保存组织详情", notes = "新增组织详情")
public Result<Object> create(@RequestBody Org params) {
if(ObjectUtil.isNotNull(params.getParentOrgId()) && params.getParentOrgId() != 0){
Org byId = orgService.getById(params.getParentOrgId());
params.setIds(byId.getIds() + byId.getOrgId() + ",");
} else {
params.setParentOrgId(Long.parseLong("0"));
params.setIds("0,");
}
if(ObjectUtil.isNotNull(params.getOrgId()) && params.getOrgId() != 0){
params.setLastUpdateMan(getUserId());
params.setLastUpdateTime(new Date());
orgService.updateById(params);
} else {
params.setOrgId(null);
params.setCreateMan(getUserId());
params.setCreateTime(new Date());
orgService.save(params);
}
return Result.success();
}
@PostMapping(value = "/delete")
@ApiOperation(value = "删除单条组织", notes = "删除单条组织")
@ApiImplicitParam(name = "id", value = "组织的主键ID", required = true, dataType = "Long", paramType = "path")
public Result<Object> delete(@RequestBody String id) throws BaseException {
JSONObject jsonObject = JSONObject.parseObject(id);
id = jsonObject.getString("id");
QueryWrapper<Org> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("parent_org_id", id);
List<Org> list = orgService.list(queryWrapper);
if(list != null && !list.isEmpty()){
throw new BaseException(201, "删除组织存在下级组织!");
}
orgService.removeById(id);
return Result.success();
}
@PostMapping(value = "/batchDelete")
@ApiOperation(value = "批量删除组织", notes = "批量删除组织")
public Result<Object> batchDelete(@ApiParam(value = "组织ID集合", required = true) @RequestBody List<Long> ids) throws BaseException {
if(ids == null || ids.size() < 1){
throw new BaseException(201, "参数错误");
}
QueryWrapper<Org> queryWrapper = new QueryWrapper<>();
queryWrapper.in("parent_org_id", ids);
List<Org> list = orgService.list(queryWrapper);
if(list != null && !list.isEmpty()){
throw new BaseException(201, "删除组织存在下级组织!");
}
orgService.removeByIds(ids);
return Result.success();
}
/*@PostMapping(value = "/update")
@ApiOperation(value = "修改组织信息", notes = "修改组织信息")
public Result<Object> update(@RequestBody Org params) {
orgService.updateById(params);
return Result.success();
}*/
@GetMapping(value = "/tree")
@ApiOperation(value = "获取组织树形", notes = "获取组织树形")
@ApiImplicitParams({
@ApiImplicitParam(name = "parentOrgId", value = "组织的ID", required = false, dataType = "Long", paramType = "query"),
@ApiImplicitParam(name = "orgStatus", value = "组织状态:1启用 0禁用", required = false, dataType = "String", paramType = "query")
})
public Result<List<Org>> tree(Long parentOrgId, String orgStatus) {
List<Org> orgs = orgService.tree(parentOrgId, orgStatus);
return Result.success(orgs);
}
@GetMapping(value = "/treeNew")
@ApiOperation(value = "获取组织树形", notes = "获取组织树形")
@ApiImplicitParams({
@ApiImplicitParam(name = "parentOrgId", value = "组织的ID", required = false, dataType = "Long", paramType = "query"),
@ApiImplicitParam(name = "orgStatus", value = "组织状态:1启用 0禁用", required = false, dataType = "String", paramType = "query")
})
public Result<List<Org>> treeNew(Long parentOrgId, String deptFlag) {
List<Org> orgs = orgService.treeNew(parentOrgId, deptFlag);
return Result.success(orgs);
}
@GetMapping(value = "/treeNewForDepet")
@ApiOperation(value = "获取组织树形", notes = "获取组织树形")
@ApiImplicitParams({
@ApiImplicitParam(name = "parentOrgId", value = "组织的ID", required = false, dataType = "Long", paramType = "query"),
@ApiImplicitParam(name = "orgStatus", value = "组织状态:1启用 0禁用", required = false, dataType = "String", paramType = "query")
})
public Result<List<Org>> treeNewForDepet(Long parentOrgId, String deptFlag) {
List<Org> orgs = orgService.treeNewForDepet(parentOrgId, deptFlag);
return Result.success(orgs);
}
@GetMapping(value = "/getSelect")
@ApiOperation(value = "获取组织下拉", notes = "获取组织下拉")
public Result<List<Org>> getSelect() {
List<Org> orgs = orgService.getSelect();
return Result.success(orgs);
}
@GetMapping(value = "/getdeptList")
@ApiOperation(value = "获取本部下的所有部门", notes = "获取本部下的所有部门")
public Result<List<Org>> getdeptList() {
QueryWrapper wrapper = new QueryWrapper();
wrapper.eq("parent_org_id",51);
List<Org> orgs = orgService.getBaseMapper().selectList(wrapper);
return Result.success(orgs);
}
@GetMapping(value = "/getdepttmentList")
@ApiImplicitParam(name = "id", value = "部门id", required = true, dataType = "Long", paramType = "path")
@ApiOperation(value = "获取本部下部门的处室", notes = "获取本部下部门的处室")
public Result<List<Org>> getdepttmentList(Long id) {
QueryWrapper wrapper = new QueryWrapper();
wrapper.eq("parent_org_id",id);
List<Org> orgs = orgService.getBaseMapper().selectList(wrapper);
return Result.success(orgs);
}
}
package org.arch.manage.conterller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.*;
import org.arch.base.Result;
import org.arch.base.exception.BDException;
import org.arch.base.utils.StringUtils;
import org.arch.common.modules.sysmange.dto.*;
import org.arch.common.modules.sysmange.entity.Role;
import org.arch.manage.service.RoleService;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.List;
/**
* 角色controller
*/
@RestController
@RequestMapping("/role")
@Api(tags = "角色管理相关接口")
public class RoleController{
@Autowired
private RoleService roleService;
/**
* 根据条件分页查询
* @param user
* @return
*/
@ApiOperation(value = "根据条件分页查询", notes = "根据条件分页查询")
@PostMapping("/page")
public Result<Page<RoleDto>> page(@RequestBody RoleQueryDto roleQueryDto){
IPage<Role> queryPage = new Page<>();
queryPage.setCurrent((roleQueryDto.getCurrPage()==null || roleQueryDto.getCurrPage()<=0)?1:roleQueryDto.getCurrPage());
queryPage.setSize((roleQueryDto.getPageSize()==null || roleQueryDto.getPageSize()<=0)?20:roleQueryDto.getPageSize());
QueryWrapper<Role> queryWrapper = new QueryWrapper<>();
if(StringUtils.isNotBlank(roleQueryDto.getName())){
queryWrapper.like("role_name",roleQueryDto.getName());
}
if(StringUtils.isNotBlank(roleQueryDto.getSelectVal())){
final String selectVal = roleQueryDto.getSelectVal();
queryWrapper.and(qw-> {
QueryWrapper<Role> like = qw.like("role_name", selectVal);
});
}
IPage<Role> iPage = roleService.page(queryPage,queryWrapper);
Page<RoleDto> page = new Page<>();
BeanUtils.copyProperties(iPage,page);
if(iPage.getRecords() != null && iPage.getRecords().size() > 0){
List<RoleDto> roleDtos = new ArrayList<>();
for (Role role : iPage.getRecords()){
RoleDto roleDto = new RoleDto();
BeanUtils.copyProperties(role,roleDto);
roleDtos.add(roleDto);
}
page.setRecords(roleDtos);
}
return Result.success(page);
}
/**
* 角色添加
* @param role 角色添加相关
* @return 添加結果
*/
@ApiOperation(value = "添加角色信息", notes = "添加角色信息")
@PostMapping("/add")
public Result create(@RequestBody RoleAddDto roleAdd){
boolean flag = roleService.create(roleAdd);
if(flag){
return Result.success();
}
return Result.error("创建角色失败!");
}
/**
* 用户更新
* @param user
* @return
*/
@ApiOperation(value = "编辑用户信息", notes = "编辑用户信息")
@PostMapping("/update")
public Result update(@RequestBody RoleUpdateDto roleUpdate){
boolean flag = roleService.update(roleUpdate);
if(flag){
return Result.success();
}
return Result.error("修改角色失败!");
}
/**
* 根据id删除角色
* @param id id
* @return 删除结果
*/
@ApiOperation(value = "根据id删除角色", notes = "根据id删除角色")
@GetMapping("/delete")
@ApiImplicitParam(name = "id", value = "角色id", required = true, dataType = "Long", paramType = "path")
public Result delete(Long id){
if(id == null){
return Result.error("角色id不能为空");
}
List<Long> ids = new ArrayList<>();
ids.add(id);
boolean flag = roleService.delete(ids);
if(flag){
return Result.success();
}
return Result.error("删除角色失败!");
}
/**
* 批量删除
* @param ids
* @return
*/
@PostMapping(value = "/batchDelete")
@ApiOperation(value = "批量删除角色", notes = "批量删除角色")
public Result batchDelete(@ApiParam(value = "用户ID集合", required = true) @RequestBody List<Long> ids){
if(ids == null || ids.size() < 1){
throw new BDException("角色id不能为空");
}
boolean flag = roleService.delete(ids);
if(flag){
return Result.success();
}
return Result.error("删除用户失败!");
}
/**
* 获取所有的角色信息
* @return
*/
@GetMapping(value = "/getAll")
@ApiOperation(value = "获取所有角色", notes = "获取所有角色")
public Result<List<RoleSmallDto>> getAll(){
List<Role> roles = roleService.list();
List<RoleSmallDto> roleSmallDtos = new ArrayList<>();
if(roles!= null){
for (Role role : roles){
RoleSmallDto rs = new RoleSmallDto();
BeanUtils.copyProperties(role,rs);
roleSmallDtos.add(rs);
}
}
return Result.success(roleSmallDtos);
}
@GetMapping(value = "/getById")
@ApiOperation(value = "根据id获取角色信息", notes = "根据id获取角色信息")
@ApiImplicitParam(name = "roleId", value = "角色id", required = true, dataType = "Long", paramType = "path")
public Result<RoleDto> getById(Long roleId){
RoleDto roleDto = roleService.getRoleDtoById(roleId);
return Result.success(roleDto);
}
/**
* 启用或者禁用
* @return
*/
@GetMapping(value = "/enableOrUnEnable")
@ApiOperation(value = "启用或者禁用角色", notes = "启用或者禁用角色")
@ApiImplicitParams({
@ApiImplicitParam(name = "roleId", value = "角色id",required = true, dataType = "long", paramType = "path"),
@ApiImplicitParam(name = "enable", value = "禁用或者启用 0:禁用 1:启用", required = true, dataType = "long", paramType = "path"),
})
public Result enableOrUnEnable( Long roleId
,Integer enable){
boolean flag = roleService.enableOrUnEnable(roleId,enable);
if(!flag){
return Result.error();
}
return Result.success();
}
/**
* 用户更新
* @param user
* @return
*/
@ApiOperation(value = "编辑用户信息", notes = "编辑用户信息")
@PostMapping("/updateUserRoles")
public Result updateUserRoles(@RequestBody RoleUpdateDto roleUpdate){
boolean flag = roleService.update(roleUpdate);
if(flag){
return Result.success();
}
return Result.error("修改角色失败!");
}
}
package org.arch.manage.conterller;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.arch.common.modules.sysmange.entity.Role;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.arch.base.Result;
import org.arch.base.enums.IsDeleteEnum;
import org.arch.base.enums.SexEnum;
import org.arch.base.enums.UserTypeEnum;
import org.arch.base.exception.BDException;
import org.arch.base.utils.StringUtils;
import org.arch.common.modules.sysmange.dto.*;
import org.arch.common.modules.sysmange.entity.User;
import org.arch.common.modules.sysmange.vo.UsersRoles;
import org.arch.manage.service.RoleService;
import org.arch.manage.service.UserService;
import org.arch.manage.service.UsersRolesService;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.List;
/**
* 用户controller
*/
@RestController
@RequestMapping("/user")
@Api(tags = "人员管理相关接口")
public class UserController {
@Autowired
private UserService userService;
@Autowired
private RoleService roleService;
@Autowired
private UsersRolesService usersRolesService;
/**
* 根据条件分页查询
* @param userQuery
* @return
*/
@ApiOperation(value = "根据条件分页查询", notes = "根据条件分页查询")
@PostMapping("/page")
public Result<Page<UserDto>> page(@RequestBody @Validated UserQueryDto userQuery){
IPage<User> queryPage = new Page<>();
queryPage.setCurrent((userQuery.getCurrPage()==null || userQuery.getCurrPage()<=0)?1:userQuery.getCurrPage());
queryPage.setSize((userQuery.getPageSize()==null || userQuery.getPageSize()<=0)?20:userQuery.getPageSize());
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("is_delete", IsDeleteEnum.NOT_DELETE.getCode());
// queryWrapper.eq(ObjectUtil.isNotNull(userQuery.getOrgNum()), "org_num", userQuery.getOrgNum());
queryWrapper.like(StringUtils.isNotBlank(userQuery.getOrgNum()), "org_num", userQuery.getOrgNum());
if(StringUtils.isNotBlank(userQuery.getName())){
queryWrapper.eq("name",userQuery.getName());
}
if(StringUtils.isNotBlank(userQuery.getUserCode())){
queryWrapper.eq("user_code",userQuery.getUserCode());
}
if(StringUtils.isNotBlank(userQuery.getSelectVal())){
final String selectVal = userQuery.getSelectVal();
queryWrapper.and(qw-> {
QueryWrapper<User> like = qw.like("phone", selectVal)
.or()
.like("name", selectVal)
.or()
.like("user_code", selectVal);
});
}
IPage<User> iPage = userService.page(queryPage,queryWrapper);
Page<UserDto> page = new Page<>();
BeanUtils.copyProperties(iPage,page);
if(iPage.getRecords() != null || iPage.getRecords().size() > 0){
List<UserDto> userDtos = new ArrayList<>();
for (User user : iPage.getRecords()){
UserDto userDto = userService.getUserDtoByUser(user);
userDtos.add(userDto);
}
page.setRecords(userDtos);
}
return Result.success(page);
}
/**
* 用户添加相关
* @param user 用户添加信息
* @return 添加結果
*/
@ApiOperation(value = "添加用户信息", notes = "添加用户信息")
@PostMapping("/add")
public Result create(@RequestBody UserAddDto user){
boolean flag = userService.create(user);
if(flag){
return Result.success();
}
return Result.error("创建用户失败!");
}
/**
* 用户更新
* @param user
* @return
*/
@ApiOperation(value = "编辑用户信息", notes = "编辑用户信息")
@PostMapping("/update")
public Result update(@RequestBody UserUpdateDto user){
boolean flag = userService.update(user);
if(flag){
return Result.success();
}
return Result.error("创建用户失败!");
}
@ApiOperation(value = "根据用户id获取用户信息", notes = "根据用户id获取用户信息")
@PostMapping("/get")
@ApiImplicitParam(name = "id", value = "用户id", required = true, dataType = "Long", paramType = "path")
public Result<UserDto> getById(@RequestBody String id){
JSONObject jsonObject = JSONObject.parseObject(id);
id = jsonObject.getString("id");
UserDto userDto = userService.findById(Long.valueOf(id));
return Result.success(userDto);
}
/**
* 根据id删除用户
* @param id id
* @return 删除结果
*/
@ApiOperation(value = "删除用户信息", notes = "删除用户信息")
@PostMapping("/delete")
@ApiImplicitParam(name = "id", value = "用户id", required = true, dataType = "Long", paramType = "path")
public Result delete(@RequestBody String id){
JSONObject jsonObject = JSONObject.parseObject(id);
id = jsonObject.getString("id");
if(id == null){
return Result.error("用户id不能为空");
}
List<Long> ids = new ArrayList<>();
ids.add(Long.valueOf(id));
boolean flag = userService.delete(ids);
if(flag){
return Result.success();
}
return Result.error("删除用户失败!");
}
/**
* 批量删除
* @param ids
* @return
*/
@PostMapping(value = "/batchDelete")
@ApiOperation(value = "批量删除用户", notes = "批量删除用户")
public Result batchDelete(@ApiParam(value = "用户ID集合", required = true) @RequestBody List<Long> ids){
if(ids == null || ids.size() < 1){
throw new BDException("用户id不能为空");
}
boolean flag = userService.delete(ids);
if(flag){
return Result.success();
}
return Result.error("删除用户失败!");
}
/**
* 获取员工类型
* @param
* @return
*/
@PostMapping(value = "/getUserTypes")
@ApiOperation(value = "获取员工类型", notes = "获取员工类型")
public Result<List<UserTypeDto>> getUserTypes(){
List<UserTypeDto> userTypeDtos = new ArrayList<>();
for (UserTypeEnum entity : UserTypeEnum.values()){
UserTypeDto userTypeDto = new UserTypeDto();
userTypeDto.setCode(entity.getCode());
userTypeDto.setName(entity.getName());
userTypeDtos.add(userTypeDto);
}
return Result.success(userTypeDtos);
}
/**
* 获取员工性别
* @return
*/
@PostMapping(value = "/getUserSex")
@ApiOperation(value = "获取员工性别", notes = "获取员工性别")
public Result<List<UserTypeDto>> getUserSex(){
List<UserSexDto> userSexDtos = new ArrayList<>();
for (SexEnum entity : SexEnum.values()){
UserSexDto userSexDto = new UserSexDto();
userSexDto.setCode(entity.getCode());
userSexDto.setName(entity.getName());
userSexDtos.add(userSexDto);
}
return Result.success(userSexDtos);
}
/**
* 获取ISC专家
* @return
* @throws Exception
*/
@GetMapping(value = "/getIscUserByName")
@ApiOperation(value = "根据用户名获取isc用户信息", notes = "根据用户名获取isc用户信息")
public Result<List<User>> getIscUserByName(String name,String userLoginCode) throws Exception{
if(StringUtils.isBlank(name) && StringUtils.isBlank(userLoginCode)){
return Result.error("用户姓名和账号不能都为空!");
//return Result.success("用户姓名不能为空!");
}
List<User> list=new ArrayList();
/*if(StringUtils.isNotBlank(name)){
List<User> isclist=IscUtil.iscUserByName(name);
for(User u:isclist){
User user=new User();
user.setIscUserId(u.getId());
user.setName(u.getName());
user.setUserCode(u.getUserName());
user.setPhone(u.getHomePhone());
user.setIsExpert("1");
list.add(user);
}
}else if(StringUtils.isNotBlank(userLoginCode)){
List<com.sgcc.isc.core.orm.identity.User> isclist=IscUtil.getUsersByLoginCode(userLoginCode);
for(com.sgcc.isc.core.orm.identity.User u:isclist){
User user=new User();
user.setIscUserId(u.getId());
user.setName(u.getName());
user.setUserCode(u.getUserName());
user.setPhone(u.getHomePhone());
user.setIsExpert("1");
list.add(user);
}
}*/
return Result.success(list);
}
/**
* 用户添加相关
* @param userList 用户添加信息
* @return 添加結果
*/
@ApiOperation(value = "添加用户信息", notes = "添加用户信息")
@PostMapping("/addIscUser")
public Result addIscUser(@ApiParam(value = "用户集合", required = true) @RequestBody List<User> userList){
QueryWrapper<Role> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("role_sign", "bus_user");
List<Role> list= roleService.list(queryWrapper);
for(User u:userList){
User user = userService.selectAllByIscUserId(u.getIscUserId());
if(user== null){
u.setIsDelete(0);
u.setIsExpert("1");
userService.save(u);
if(list.size()>0){
UsersRoles ur=new UsersRoles();
ur.setRoleId(list.get(0).getId());
ur.setUserId(u.getId());
usersRolesService.save(ur);
}
}else{
user.setIsDelete(0);
userService.updateById(user);
}
// userService.save(u);
}
boolean flag = true;
if(flag){
return Result.success();
}
return Result.error("创建用户失败!");
}
/**
* 根据角色查询用户集合
* @param roleUpdate
* @return
*/
@ApiOperation(value = "根据角色查询用户集合", notes = "根据角色查询用户集合")
@PostMapping("/getUserList")
public Result<List<UserDto>> getUserList(@RequestBody RoleUpdateDto roleUpdate){
return Result.success(userService.getUserList(roleUpdate));
}
@ApiOperation(value = "根据角色查询用户集合(包括所在部门)", notes = "根据角色查询用户集合(包括所在部门)")
@PostMapping("/getUserListAll")
public Result<List<UserDto>> getUserList1(@RequestBody RoleUpdateDto roleUpdate){
List<UserDto> userListAll = userService.getUserListAll(roleUpdate);
return Result.success(userListAll);
}
}
package org.arch.manage.converter;
import org.arch.common.modules.sysmange.dto.MenuDto;
import org.arch.common.modules.sysmange.entity.Menu;
import org.mapstruct.Mapper;
import org.mapstruct.Mappings;
import java.util.List;
@Mapper(componentModel = "spring")
public interface MenuConverter {
@Mappings({})
Menu dto2Menu(MenuDto menuDto);
@Mappings({})
MenuDto men2Dto(Menu menuDto);
List<MenuDto> men2Dto_list(List<Menu> menuDto);
}
package org.arch.manage.mapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.arch.common.modules.sysmange.entity.AdsProject;
import java.util.List;
/**
* <p>
* 可行性研究报告 Mapper 接口
* </p>
*
* @author wangchen
* @since 2020-10-29
*/
@Mapper
public interface AdsProjectMapper extends BaseMapper<AdsProject> {
}
package org.arch.manage.mapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.arch.common.modules.sysmange.entity.BackLog;
/**
* <p>
* 部门 Mapper 接口
* </p>
*
* @author audit
* @since 2020-11-07
*/
@Mapper
public interface BackLogMapper extends BaseMapper<BackLog> {
@Select("<script>" +
"SELECT a.*, b.name AS submitter, c.name AS accepter " +
"FROM com_backlog a " +
"LEFT JOIN sys_user b ON a.submitter_id = b.`isc_user_id` " +
"LEFT JOIN sys_user c ON a.accepter_id = c.`isc_user_id` " +
"${ew.customSqlSegment}" +
"</script>")
@Override
<E extends IPage<BackLog>> E selectPage(E page, @Param(Constants.WRAPPER) Wrapper<BackLog> queryWrapper);
}
package org.arch.manage.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.arch.common.modules.sysmange.entity.Dept;
/**
* <p>
* 部门 Mapper 接口
* </p>
*
* @author audit
* @since 2020-08-27
*/
@Mapper
public interface DeptMapper extends BaseMapper<Dept> {
}
/**
* Copyright (C) 2018-2020
* All rights reserved, Designed By www.yixiang.co
* 注意:
* 本软件为www.yixiang.co开发研制
*/
package org.arch.manage.mapper;
import org.apache.ibatis.annotations.Mapper;
import org.arch.mybatis.common.mapper.CoreMapper;
import org.springframework.boot.autoconfigure.batch.BatchProperties;
import org.springframework.stereotype.Repository;
/**
* @author hupeng
* @date 2020-05-14
*/
@Repository
@Mapper
public interface JobMapper extends CoreMapper<BatchProperties.Job> {
}
/**
* Copyright (C) 2018-2020
* All rights reserved, Designed By www.yixiang.co
* 注意:
* 本软件为www.yixiang.co开发研制
*/
package org.arch.manage.mapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.arch.common.modules.sysmange.entity.Menu;
import org.arch.mybatis.common.mapper.CoreMapper;
import org.springframework.stereotype.Repository;
import java.util.List;
import java.util.Set;
/**
* @author hupeng
* @date 2020-05-14
*/
@Repository
@Mapper
public interface MenuMapper extends CoreMapper<Menu> {
/**
* 根据用户id查询菜单
* @param userId 用户id
* @return 菜单集合
*/
@Select("SELECT * FROM sys_menu m WHERE EXISTS (SELECT 1 FROM sys_roles_menus rm LEFT JOIN sys_users_roles ur ON rm.role_id = ur.role_id WHERE ur.user_id = #{userId} and rm.menu_id = m.id);")
List<Menu> findByUserId(@Param("userId") Long userId);
}
package org.arch.manage.mapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.arch.common.modules.sysmange.entity.Org;
/**
* <p>
* Mapper 接口
* </p>
*
* @author audit
* @since 2020-08-21
*/
@Mapper
public interface OrgMapper extends BaseMapper<Org> {
@Select("select a.*, b.name as createManName from sys_org a left join sys_user b on a.create_man = b.id " +
"${ew.customSqlSegment}")
Page<Org> selectForPage(Page<Object> objectPage, @Param(Constants.WRAPPER) QueryWrapper<Org> queryWrapper);
}
package org.arch.manage.mapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.arch.common.modules.sysmange.entity.Project;
import java.util.List;
/**
* <p>
* 可行性研究报告 Mapper 接口
* </p>
*
* @author zhenxu
* @since 2020-10-29
*/
@Mapper
public interface ProjectMapper extends BaseMapper<Project> {
}
package org.arch.manage.mapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.arch.common.modules.sysmange.entity.PsrPlan;
import java.util.List;
/**
* <p>
* 规划设计研究-规划表 Mapper 接口
* </p>
*
* @author wubaoliang
* @since 2020-10-29
*/
@Mapper
public interface PsrPlanMapper extends BaseMapper<PsrPlan> {
}
/**
* Copyright (C) 2018-2020
* All rights reserved, Designed By www.yixiang.co
* 注意:
* 本软件为www.yixiang.co开发研制
*/
package org.arch.manage.mapper;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.arch.common.modules.sysmange.entity.Role;
import org.arch.mybatis.common.mapper.CoreMapper;
import org.springframework.stereotype.Repository;
import java.util.List;
import java.util.Set;
/**
* @author hupeng
* @date 2020-05-14
*/
@Repository
@Mapper
public interface RoleMapper extends CoreMapper<Role> {
/**
* 根据用户ID查询
*
* @param id 用户ID
* @return
*/
@Select("select m.* from sys_role m LEFT JOIN sys_users_roles t on m.id= t.role_id LEFT JOIN sys_user r on r.id = t.user_id where r.id = #{id}")
List<Role> selectListByUserId(@Param("id") Long id);
}
/**
* Copyright (C) 2018-2020
* All rights reserved, Designed By www.yixiang.co
* 注意:
* 本软件为www.yixiang.co开发研制
*/
package org.arch.manage.mapper;
import org.apache.ibatis.annotations.Mapper;
import org.arch.common.modules.sysmange.entity.RolesMenus;
import org.arch.mybatis.common.mapper.CoreMapper;
import org.springframework.stereotype.Repository;
/**
* @author hupeng
* @date 2020-05-16
*/
@Repository
@Mapper
public interface RolesMenusMapper extends CoreMapper<RolesMenus> {
}
package org.arch.manage.mapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import org.arch.common.modules.sysmange.dto.RoleUpdateDto;
import org.arch.common.modules.sysmange.dto.UserDto;
import org.arch.common.modules.sysmange.entity.User;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* <p>
* 系统用户 Mapper 接口
* </p>
*
* @author liulei
* @since 2020-09-02
*/
@Repository
@Mapper
public interface UserMapper extends BaseMapper<User> {
List<UserDto> getUserList(RoleUpdateDto roleUpdate);
@Select("SELECT\n" +
"\tsu.*,s.org_simple_name\n" +
"FROM\n" +
"\tsys_users_roles sur\n" +
"LEFT JOIN sys_role sr ON sr.id = sur.role_id\n" +
"LEFT JOIN sys_user su ON sur.user_id = su.id\n" +
"LEFT JOIN sys_org s on s.org_id = su.org_id\n" +
"WHERE\n" +
"\tsr.role_sign = #{roleSign} and su.id is not null and su.is_delete = '0'")
List<UserDto> getUserList2(RoleUpdateDto roleUpdate);
}
package org.arch.manage.service;
import com.baomidou.mybatisplus.extension.service.IService;
import org.arch.common.modules.sysmange.entity.AdsProject;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import java.io.OutputStream;
import java.util.List;
import java.util.Map;
/**
* <p>
* 可行性研究报告 服务类
* </p>
*
* @author wangchen
* @since 2020-10-29
*/
public interface AdsProjectService extends IService<AdsProject> {
}
package org.arch.manage.service;
import com.baomidou.mybatisplus.extension.service.IService;
import org.arch.common.modules.sysmange.entity.BackLog;
/**
* <p>
* 待办 服务类
* </p>
*
* @author audit
* @since 2020-08-27
*/
public interface BackLogService extends IService<BackLog> {
}
package org.arch.manage.service;
import com.baomidou.mybatisplus.extension.service.IService;
import org.arch.common.modules.sysmange.entity.Dept;
/**
* <p>
* 部门 服务类
* </p>
*
* @author audit
* @since 2020-08-27
*/
public interface DeptService extends IService<Dept> {
}
/**
* Copyright (C) 2018-2020
* All rights reserved, Designed By www.yixiang.co
* 注意:
* 本软件为www.yixiang.co开发研制
*/
package org.arch.manage.service;
import com.baomidou.mybatisplus.extension.service.IService;
import org.arch.common.modules.sysmange.entity.Menu;
import java.util.Set;
/**
* @author hupeng
* @date 2020-05-14
*/
public interface MenuService extends IService<Menu> {
/**
* 根据用户id查询菜单
* @param userId 用户id
* @return 菜单
*/
Set<Menu> findByUserId(Long userId);
/**
* 查询所有的权限,返回set集合
* @return
*/
Set<Menu> findAllForSet();
}
package org.arch.manage.service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import org.arch.common.modules.sysmange.entity.Org;
import java.util.List;
/**
* <p>
* 服务类
* </p>
*
* @author audit
* @since 2020-08-21
*/
public interface OrgService extends IService<Org> {
List<Org> tree(Long parentOrgId, String orgStatus);
List<Org> treeNew(Long parentOrgId, String deptFlag);
List<Org> treeNewForDepet(Long parentOrgId, String deptFlag);
Page<Org> selectForPage(Page<Object> objectPage, QueryWrapper<Org> queryWrapper);
List<Org> getSelect();
}
package org.arch.manage.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import org.arch.common.modules.sysmange.entity.Project;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;
/**
* <p>
* 可行性研究报告 服务类
* </p>
*
* @author zhenxu
* @since 2020-10-29
*/
public interface ProjectService extends IService<Project> {
}
package org.arch.manage.service;
import com.baomidou.mybatisplus.extension.service.IService;
import org.arch.common.modules.sysmange.entity.PsrPlan;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;
/**
* <p>
* 规划设计研究-规划表 服务类
* </p>
*
* @author wubaoliang
* @since 2020-10-29
*/
public interface PsrPlanService extends IService<PsrPlan> {
}
/**
* Copyright (C) 2018-2020
* All rights reserved, Designed By www.yixiang.co
* 注意:
* 本软件为www.yixiang.co开发研制
*/
package org.arch.manage.service;
import org.arch.common.modules.sysmange.dto.RoleAddDto;
import org.arch.common.modules.sysmange.dto.RoleDto;
import org.arch.common.modules.sysmange.dto.RoleSmallDto;
import org.arch.common.modules.sysmange.dto.RoleUpdateDto;
import org.arch.common.modules.sysmange.entity.Role;
import org.arch.mybatis.common.service.BaseService;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;
import java.util.Set;
/**
* @author hupeng
* @date 2020-05-14
*/
public interface RoleService extends BaseService<Role> {
/**
* 导出数据
* @param all 待导出的数据
* @param response /
* @throws IOException /
*/
void download(List<RoleDto> all, HttpServletResponse response) throws IOException;
/**
* 根据角色ID查询
* @param id 角色ID
* @return /
*/
List<RoleSmallDto> findRoleSmallListByUserId(Long id);
/**
* 根据ID查询
* @param id /
* @return /
*/
RoleDto findById(long id);
/**
* 创建
* @param roleAdd 角色添加信息
* @return 是否添加成功
*/
boolean create(RoleAddDto roleAdd);
/**
* 编辑
* @param resources /
*/
boolean update(RoleUpdateDto roleUpdate);
boolean delete(List<Long> ids);
/**
* 根据角色id查询角色角色
* @param id 角色id
* @return 角色信息集合
*/
Set<RoleSmallDto> findRoleSmallSetByUserId(Long id);
/**
* 根据用戶id查询角色信息
* @param id 角色id
* @return 角色简略细腻西
*/
List<Role> findByUserId(Long id);
/**
* 禁用或者启用角色
* @param roleId 角色id
* @param enable 禁用或者启用状态
* @return 是否操作成功
*/
boolean enableOrUnEnable(Long roleId, Integer enable);
/**
* 根据id获取角色信息
* @param roleId 角色id
* @return 角色信息
*/
RoleDto getRoleDtoById(Long roleId);
}
/**
* Copyright (C) 2018-2020
* All rights reserved, Designed By www.yixiang.co
* 注意:
* 本软件为www.yixiang.co开发研制
*/
package org.arch.manage.service;
import org.arch.common.modules.sysmange.entity.RolesMenus;
import org.arch.mybatis.common.service.BaseService;
import java.util.List;
/**
* @author hupeng
* @date 2020-05-16
*/
public interface RolesMenusService extends BaseService<RolesMenus> {
/**
* 根据角色id获取菜单集合id
* @param roleId 角色id
* @return 菜单集合id
*/
List<Long> queryByRoleId(long roleId);
/**
* 保存角色菜单信息
* @param menuIds 菜单id
* @param roleId 角色id
*/
void save(List<Long> menuIds, Long roleId);
/**
* 修改角色菜单信息
* @param menuIds 菜单集合
* @param roleId 角色id
*/
void update(List<Long> menuIds, Long roleId);
/**
* 根据角色id删除
* @param roleIds 角色id集合
*/
void deleteByRoleId(List<Long> roleIds);
}
/**
* Copyright (C) 2018-2020
* All rights reserved, Designed By www.yixiang.co
* 注意:
* 本软件为www.yixiang.co开发研制
*/
package org.arch.manage.service;
import org.arch.base.exception.BaseException;
import org.arch.common.modules.sysmange.dto.*;
import org.arch.common.modules.sysmange.entity.User;
import org.arch.mybatis.common.service.BaseService;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.List;
/**
* @author hupeng
* @date 2020-05-14
*/
public interface UserService extends BaseService<User> {
/**
* 导出数据
* @param all 待导出的数据
* @param response /
* @throws IOException /
*/
void download(List<UserDto> all, HttpServletResponse response) throws IOException;
/**
* 根据用户账户查询
* @param phone 用户手机号
* @return 用户详细
*/
UserDto findByPhone(String phone);
/**
* 根据用户id 查询用户详情
* @param id id
* @return 用户信息
*/
UserDto findById(Long id);
/**
* 新增用户
* @param resources /
* @return /
*/
boolean create(UserAddDto resources);
/**
* 编辑用户
* @param resources /
*/
boolean update(UserUpdateDto user);
/**
* 删除用户
* @param ids
*/
boolean delete(List<Long> ids);
/**
* 用户登录
* @param authUser 登录用户
* @param request
* @return 用户登录信息
*/
UserLoginDto login(AuthUser authUser, HttpServletRequest request) throws BaseException, UnsupportedEncodingException;
/**
* 根据用户信息获取用户Dto
* @param user 用户信息
* @return 用户dto
*/
UserDto getUserDtoByUser(User user);
/**
* 根据手机号查下用户信息
* @param phone 手机号
* @return 用户信息
*/
public User selectByPhone(String phone);
/**
* 根据用户编码查下用户信息
* @param userCode 用户编码
* @return 用户信息
*/
public User selectByUserCode(String userCode);
/**
* 根据isc用户编码查下用户信息
* @param isc_user_id 用户编码
* @return 用户信息
*/
public User selectByIscUserId(String isc_user_id);
/**
* 根据isc用户编码查下用户信息
* @param isc_user_id 用户编码
* @return 用户信息
*/
UserDto getUserIsc(String isc_user_id);
public User selectAllByIscUserId(String isc_user_id);
/*
* 根据角色查询用户集合
* */
List<UserDto> getUserList(RoleUpdateDto roleUpdate);
/*
* 根据角色查询用户集合
* */
List<UserDto> getUserList2(RoleUpdateDto roleUpdate);
List<UserDto> getUserListAll(RoleUpdateDto roleUpdate);
}
/**
* Copyright (C) 2018-2020
* All rights reserved, Designed By www.yixiang.co
* 注意:
* 本软件为www.yixiang.co开发研制
*/
package org.arch.manage.service;
import org.arch.common.modules.sysmange.vo.UsersRoles;
import org.arch.mybatis.common.service.BaseService;
/**
* @author hupeng
* @date 2020-05-16
*/
public interface UsersRolesService extends BaseService<UsersRoles> {
/**
* 编辑用户角色
* @param long id /
*/
boolean removeRoles(Long userId);
}
package org.arch.manage.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.arch.common.modules.sysmange.entity.AdsProject;
import org.arch.manage.mapper.AdsProjectMapper;
import org.arch.manage.service.AdsProjectService;
import org.springframework.stereotype.Service;
/**
* <p>
* 可行性研究报告 服务实现类
* </p>
*
* @author wangchen
* @since 2020-10-29
*/
@Service
public class AdsProjectServiceImpl extends ServiceImpl<AdsProjectMapper, AdsProject> implements AdsProjectService {
}
package org.arch.manage.service.impl;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.arch.common.modules.sysmange.entity.BackLog;
import org.arch.manage.mapper.BackLogMapper;
import org.arch.manage.service.BackLogService;
import org.springframework.stereotype.Service;
/**
* <p>
* 部门 服务实现类
* </p>
*
* @author audit
* @since 2020-08-27
*/
@Service
public class BackLogServiceImpl extends ServiceImpl<BackLogMapper, BackLog> implements BackLogService {
@Override
public <E extends IPage<BackLog>> E page(E page, Wrapper<BackLog> queryWrapper) {
return getBaseMapper().selectPage(page, queryWrapper);
}
}
package org.arch.manage.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.arch.common.modules.sysmange.entity.Dept;
import org.arch.manage.mapper.DeptMapper;
import org.arch.manage.service.DeptService;
import org.springframework.stereotype.Service;
/**
* <p>
* 部门 服务实现类
* </p>
*
* @author audit
* @since 2020-08-27
*/
@Service
public class DeptServiceImpl extends ServiceImpl<DeptMapper, Dept> implements DeptService {
}
package org.arch.manage.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.arch.common.modules.sysmange.entity.Menu;
import org.arch.manage.mapper.MenuMapper;
import org.arch.manage.service.MenuService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
@Service
public class MenuServiceImpl extends ServiceImpl<MenuMapper, Menu> implements MenuService {
@Autowired
private MenuMapper menuMapper;
@Override
public Set<Menu> findByUserId(Long userId) {
if(userId == null){
return null;
}
List<Menu> menus = menuMapper.findByUserId(userId);
if(menus == null || menus.size() == 0){
return null;
}
return menuList2Set(menus);
}
private Set<Menu> menuList2Set(List<Menu> menus) {
Set<Menu> menuSet = new HashSet<>();
for (Menu menu : menus){
menuSet.add(menu);
}
return menuSet;
}
@Override
public Set<Menu> findAllForSet() {
QueryWrapper<Menu> queryWrapper = new QueryWrapper<>();
List<Menu> menus = menuMapper.selectList(queryWrapper);
if(menus == null || menus.size() == 0){
return null;
}
return menuList2Set(menus);
}
}
package org.arch.manage.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil;
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.collections.CollectionUtils;
import org.arch.common.modules.sysmange.entity.Org;
import org.arch.manage.mapper.OrgMapper;
import org.arch.manage.service.OrgService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.stream.Collectors;
/**
* <p>
* 服务实现类
* </p>
*
* @author audit
* @since 2020-08-21
*/
@Service
public class OrgServiceImpl extends ServiceImpl<OrgMapper, Org> implements OrgService {
@Autowired
OrgMapper orgMapper;
@Override
public List<Org> tree(Long parentOrgId, String orgStatus) {
List<Org> orgs = null;
Org parent = null;
if(parentOrgId != null && parentOrgId != 0){
parent = orgMapper.selectById(parentOrgId);
}
QueryWrapper<Org> queryWrapper = new QueryWrapper<>();
if(parentOrgId != null && parentOrgId != 0){
queryWrapper.like("ids", "," + String.valueOf(parentOrgId) + ",");
}
if(StrUtil.isNotBlank(orgStatus)){
queryWrapper.eq("org_status", orgStatus);
}
queryWrapper.orderByAsc("parent_org_id");
queryWrapper.orderByAsc("org_sort");
orgs = orgMapper.selectList(queryWrapper);
if(CollectionUtil.isEmpty(orgs)){
orgs = new ArrayList<>();
if(parent != null)orgs.add(parent);
return orgs;
}
if(parent != null)orgs.add(parent);
if (CollectionUtils.isEmpty(orgs) || orgs.size() == 1) {
return orgs;
}
Org org = new Org();
if(parentOrgId != null && parentOrgId != 0 && parent != null){
org.setOrgId(parent.getParentOrgId());
} else {
org.setOrgId(Long.parseLong("0"));
}
org.setChildren(new ArrayList<>());
this.createTreeData(org, orgs);
return org.getChildren();
}
@Override
public List<Org> treeNew(Long parentOrgId, String deptFlag) {
List<Org> orgs = null;
Org parent = null;
if(parentOrgId != null && parentOrgId != 0){
parent = orgMapper.selectById(parentOrgId);
}
QueryWrapper<Org> queryWrapper = new QueryWrapper<>();
if(parentOrgId != null && parentOrgId != 0){
queryWrapper.like("ids", "," + String.valueOf(parentOrgId) + ",");
}
if(StrUtil.isNotBlank(deptFlag)){
queryWrapper.eq("dept_flag", deptFlag);
}
queryWrapper.orderByAsc("parent_org_id");
queryWrapper.orderByAsc("org_sort");
orgs = orgMapper.selectList(queryWrapper);
if(CollectionUtil.isEmpty(orgs)){
orgs = new ArrayList<>();
if(parent != null)orgs.add(parent);
return orgs;
}
if(parent != null)orgs.add(parent);
if (CollectionUtils.isEmpty(orgs) || orgs.size() == 1) {
return orgs;
}
Org org = new Org();
if(parentOrgId != null && parentOrgId != 0 && parent != null){
org.setOrgId(parent.getParentOrgId());
} else {
// org.setOrgId(Long.parseLong("0"));
org.setOrgId(Long.parseLong("50"));
}
org.setChildren(new ArrayList<>());
this.createTreeData1(org, orgs);
List<Org> children = org.getChildren();
Org org1 = new Org();
for (Org child : children) {
if(Long.valueOf(child.getOrgId()) == 51){
org1.setChildren(child.getChildren());
}else {
org1.getChildren().add(child);
}
}
// return org.getChildren();
return org1.getChildren();
}
@Override
public List<Org> treeNewForDepet(Long parentOrgId, String deptFlag) {
List<Org> orgs = this.treeNew(null, "1");
List<Org> collect = orgs.stream().map(item -> {
Org org = new Org();
org.setOrgId(item.getOrgId());
org.setOrgName(item.getOrgName());
return org;
}).collect(Collectors.toList());
return collect;
}
@Override
public Page<Org> selectForPage(Page<Object> objectPage, QueryWrapper<Org> queryWrapper) {
return orgMapper.selectForPage(objectPage, queryWrapper);
}
@Override
public List<Org> getSelect() {
QueryWrapper<Org> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("org_status", 1);
queryWrapper.orderByAsc("parent_org_id");
queryWrapper.orderByAsc("org_sort");
List<Org> orgs = orgMapper.selectList(queryWrapper);
return orgs;
}
private void createTreeData(Org parent, List<Org> officeList) {
if (officeList == null) return;
Iterator<Org> iterator = officeList.iterator();
while (iterator.hasNext()) {
Org next = iterator.next();
if (next == null) continue;
if (next.getParentOrgId().equals(parent.getOrgId())) {
List<Org> children = parent.getChildren();
if (children == null) {
children = new ArrayList<>();
parent.setChildren(children);
}
children.add(next);
iterator.remove();
this.createTreeData(next, officeList);
iterator = officeList.iterator();
}
}
}
private void createTreeData1(Org parent, List<Org> officeList) {
if (officeList == null) return;
Iterator<Org> iterator = officeList.iterator();
while (iterator.hasNext()) {
Org next = iterator.next();
if (next == null) continue;
if (next.getParentOrgId().equals(parent.getOrgId())) {
List<Org> children = parent.getChildren();
if (children == null) {
children = new ArrayList<>();
parent.setChildren(children);
}
children.add(next);
iterator.remove();
this.createTreeData(next, officeList);
iterator = officeList.iterator();
}
}
}
}
package org.arch.manage.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.arch.common.modules.sysmange.entity.Project;
import org.arch.manage.mapper.ProjectMapper;
import org.arch.manage.service.ProjectService;
import org.springframework.stereotype.Service;
/**
* <p>
* 可行性研究报告 服务实现类
* </p>
*
* @author zhenxu
* @since 2020-10-29
*/
@Service
public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> implements ProjectService {
}
package org.arch.manage.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.arch.common.modules.sysmange.entity.PsrPlan;
import org.arch.manage.mapper.PsrPlanMapper;
import org.arch.manage.service.PsrPlanService;
import org.springframework.stereotype.Service;
/**
* <p>
* 规划设计研究-规划表 服务实现类
* </p>
*
* @author wubaoliang
* @since 2020-10-29
*/
@Service
public class PsrPlanServiceImpl extends ServiceImpl<PsrPlanMapper, PsrPlan> implements PsrPlanService {
}
package org.arch.manage.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.arch.base.enums.EnableEnum;
import org.arch.base.exception.BDException;
import org.arch.base.utils.StringUtils;
import org.arch.common.modules.sysmange.dto.RoleAddDto;
import org.arch.common.modules.sysmange.dto.RoleDto;
import org.arch.common.modules.sysmange.dto.RoleSmallDto;
import org.arch.common.modules.sysmange.dto.RoleUpdateDto;
import org.arch.common.modules.sysmange.entity.Role;
import org.arch.manage.mapper.RoleMapper;
import org.arch.manage.service.RoleService;
import org.arch.manage.service.RolesMenusService;
import org.arch.manage.util.UserUtil;
import org.arch.mybatis.common.service.impl.BaseServiceImpl;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.*;
@Service
@Transactional(propagation = Propagation.SUPPORTS, readOnly = true, rollbackFor = Exception.class)
public class RoleServiceImpl extends BaseServiceImpl<RoleMapper, Role> implements RoleService {
@Autowired
private RoleMapper roleMapper;
@Autowired
private RolesMenusService rolesMenusService;
@Autowired
private UserUtil userUtil;
@Override
public void download(List<RoleDto> all, HttpServletResponse response) throws IOException {
}
@Override
public List<RoleSmallDto> findRoleSmallListByUserId(Long id) {
if(id == null){
return null;
}
List<Role> roles = findByUserId(id);
if(roles == null || roles.size() == 0){
return null;
}
List<RoleSmallDto> roleSmallDtoList = new ArrayList<>();
for(Role role : roles){
RoleSmallDto roleSmallDto = new RoleSmallDto();
BeanUtils.copyProperties(role,roleSmallDto);
roleSmallDtoList.add(roleSmallDto);
}
return roleSmallDtoList;
}
@Override
public RoleDto findById(long id) {
Role role = roleMapper.selectById(id);
if(role == null){
return null;
}
RoleDto roleDto = new RoleDto();
BeanUtils.copyProperties(role,roleDto);
//查询所有的订单id
List<Long> menuIds = rolesMenusService.queryByRoleId(id);
roleDto.setMenuIds(menuIds);
return roleDto;
}
@Override
public boolean create(RoleAddDto roleAdd) {
//验证角色信息
valid(roleAdd);
//验证角色标识是否唯一
validRoleSign(roleAdd.getRoleSign(),null);
//插入角色信息
Role role = new Role();
BeanUtils.copyProperties(roleAdd,role);
role.setCreateTime(new Date());
role.setUserIdCreate(userUtil.getUserId());
//设置默认的启用状态
if(role.getEnabled() == null){
role.setEnabled(EnableEnum.ENABLE.getCode());
}
save(role);
rolesMenusService.save(roleAdd.getMenuIds(),role.getId());
return true;
}
@Override
public boolean update(RoleUpdateDto roleUpdate) {
if(roleUpdate.getId() == null){
throw new BDException("角色id不能为空!");
}
//验证角色信息
valid(roleUpdate);
//验证角色标识是否唯一
validRoleSign(roleUpdate.getRoleSign(),roleUpdate.getId());
//插入角色信息
Role role = new Role();
BeanUtils.copyProperties(roleUpdate,role);
role.setUpdateTime(new Date());
role.setUserIdUpdate(userUtil.getUserId());
roleMapper.updateById(role);
rolesMenusService.update(roleUpdate.getMenuIds(),roleUpdate.getId());
return true;
}
@Override
public boolean delete(List<Long> ids) {
if(ids == null || ids.size() == 0){
throw new BDException("角色id不能为空!");
}
if(ids.size() == 1){
roleMapper.deleteById(ids.get(0));
}else{
roleMapper.deleteBatchIds(ids);
}
rolesMenusService.deleteByRoleId(ids);
return true;
}
@Override
public Set<RoleSmallDto> findRoleSmallSetByUserId(Long id) {
if(id == null){
return null;
}
List<Role> roles = findByUserId(id);
if(roles == null || roles.size() == 0){
return null;
}
Set<RoleSmallDto> roleSmallDtoSet = new HashSet<>();
for(Role role : roles){
RoleSmallDto roleSmallDto = new RoleSmallDto();
BeanUtils.copyProperties(role,roleSmallDto);
roleSmallDtoSet.add(roleSmallDto);
}
return roleSmallDtoSet;
}
@Override
public List<Role> findByUserId(Long id) {
return roleMapper.selectListByUserId(id);
}
@Override
public boolean enableOrUnEnable(Long roleId, Integer enable) {
if(roleId == null){
throw new BDException("角色id不能为空!");
}
if(enable == null){
throw new BDException("禁用或者启用状态不能为空!");
}
if(enable != 0 && enable != 1){
throw new BDException("禁用或者启用状态错误!");
}
Role role = new Role();
role.setId(roleId);
role.setEnabled(enable);
return roleMapper.updateById(role) > 0;
}
@Override
public RoleDto getRoleDtoById(Long roleId) {
RoleDto roleDto = null;
//获取角色信息
Role role = roleMapper.selectById(roleId);
if(role == null){
return null;
}
roleDto = new RoleDto();
BeanUtils.copyProperties(role,roleDto);
//获取菜单id集合
List<Long> menuIds = rolesMenusService.queryByRoleId(roleId);
roleDto.setMenuIds(menuIds);
return roleDto;
}
/**
* 验证角色信息
* @param role 角色信息
*/
private void valid(RoleAddDto role){
if(role == null){
throw new BDException("角色信息不能为空!");
}
if(StringUtils.isBlank(role.getRoleName())){
throw new BDException("角色名称不能为空!");
}
}
/**
* 验证角色标识是否唯一
* @param roleSign 角色标识
* @param 是否唯一
*/
private void validRoleSign(String roleSign, Long roleId) {
QueryWrapper<Role> queryWrapper = new QueryWrapper();
queryWrapper.eq("role_sign",roleSign);
if(roleId != null){
queryWrapper.ne("id",roleId);
}
if(roleMapper.selectCount(queryWrapper) > 0){
throw new BDException("角色标识已经存在!");
}
}
}
package org.arch.manage.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import org.arch.base.exception.BDException;
import org.arch.common.modules.sysmange.entity.RolesMenus;
import org.arch.manage.mapper.RolesMenusMapper;
import org.arch.manage.service.RolesMenusService;
import org.arch.mybatis.common.service.impl.BaseServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.List;
@Service
@Transactional(propagation = Propagation.SUPPORTS, readOnly = true, rollbackFor = Exception.class)
public class RolesMenusServiceImpl extends BaseServiceImpl<RolesMenusMapper, RolesMenus> implements RolesMenusService {
@Autowired
private RolesMenusMapper rolesMenusMapper;
@Override
public List<Long> queryByRoleId(long roleId) {
QueryWrapper<RolesMenus> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("role_id",roleId);
List<RolesMenus> rolesMenusList = this.list(queryWrapper);
if(rolesMenusList == null || rolesMenusList.size() == 0){
return null;
}
List<Long> ids = new ArrayList<>();
for (RolesMenus rolesMenus : rolesMenusList){
ids.add(rolesMenus.getMenuId());
}
return ids;
}
@Override
public void save(List<Long> menuIds, Long roleId) {
if(roleId == null){
throw new BDException("角色id不能为空!");
}
if(menuIds != null && menuIds.size() >0){
List<RolesMenus> rolesMenusList = new ArrayList<>();
for (Long menuId : menuIds){
RolesMenus rolesMenus = new RolesMenus();
rolesMenus.setRoleId(roleId);
rolesMenus.setMenuId(menuId);
rolesMenusList.add(rolesMenus);
}
saveBatch(rolesMenusList);
}
}
@Override
public void update(List<Long> menuIds, Long roleId) {
List<Long> oldMenuId = queryByRoleId(roleId);
//找出需要新增的菜单
addRoleMenu(menuIds,oldMenuId,roleId);
deleteRoleMenu(menuIds,oldMenuId,roleId);
}
@Override
public void deleteByRoleId(List<Long> roleIds) {
if(roleIds == null || roleIds.size() == 0){
return;
}
UpdateWrapper<RolesMenus> updateWrapper = new UpdateWrapper<>();
updateWrapper.in("role_id",roleIds);
rolesMenusMapper.delete(updateWrapper);
}
private void deleteRoleMenu(List<Long> menuIds, List<Long> oldMenuId, Long roleId) {
if(oldMenuId == null || oldMenuId.size() == 0){
return;
}
//全部删除
if(menuIds == null || menuIds.size() == 0){
delete(menuIds,roleId);
return;
}
List<Long> deleteMenuId = new ArrayList<>();
for (Long menuId : oldMenuId){
if(menuIds.contains(menuId)){
continue;
}
deleteMenuId.add(menuId);
}
delete(deleteMenuId,roleId);
}
/**
* 根据角色id和菜单id删除
* @param menuIds 菜单id集合
* @param roleId 角色id
*/
private void delete(List<Long> menuIds, Long roleId) {
if(menuIds == null || menuIds.size() == 0 || roleId == null){
return;
}
UpdateWrapper<RolesMenus> updateWrapper = new UpdateWrapper<>();
updateWrapper.eq("role_id",roleId);
updateWrapper.in("menu_id",menuIds);
rolesMenusMapper.delete(updateWrapper);
}
/**
* 对比原来的菜单id和现在的菜单id,将不存在的新增
* @param menuIds 现在的菜单id
* @param oldMenuId 原来的菜单id
* @param roleId 角色id
*/
private void addRoleMenu(List<Long> menuIds, List<Long> oldMenuId, Long roleId) {
if(menuIds == null || menuIds.size() == 0){
return;
}
if(oldMenuId == null){
save(menuIds,roleId);
return;
}
List<Long> addMenuId = new ArrayList<>();
for (Long menuId : menuIds){
if(oldMenuId.contains(menuId)){
continue;
}
addMenuId.add(menuId);
}
save(addMenuId,roleId);
}
}
package org.arch.manage.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import org.arch.base.enums.ExceptionEnum;
import org.arch.base.enums.IsDeleteEnum;
import org.arch.base.enums.MenuTypeEnum;
import org.arch.base.exception.BDException;
import org.arch.base.exception.BaseException;
import org.arch.base.utils.AesCipherUtil;
import org.arch.base.utils.Constant;
import org.arch.base.utils.JwtUtil;
import org.arch.base.utils.StringUtils;
import org.arch.common.modules.sysmange.dto.*;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.arch.common.modules.sysmange.entity.Dept;
import org.arch.common.modules.sysmange.entity.Menu;
import org.arch.common.modules.sysmange.entity.Org;
import org.arch.common.modules.sysmange.entity.User;
import org.arch.common.modules.sysmange.vo.UsersRoles;
import org.arch.common.redis.RedisService;
import org.arch.manage.mapper.UserMapper;
import org.arch.manage.service.*;
import org.arch.mybatis.common.service.impl.BaseServiceImpl;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
import java.util.function.Function;
import java.util.function.Predicate;
import java.util.stream.Collectors;
@Service
@Transactional(propagation = Propagation.SUPPORTS, readOnly = true, rollbackFor = Exception.class)
@Slf4j
public class UserServiceImpl extends BaseServiceImpl<UserMapper, User> implements UserService {
@Value("${refreshTokenExpireTime}")
private Long refreshTokenExpireTime;
@Value("${isc.start}")
private boolean iscStart;
@Autowired
private UserMapper userMapper;
@Autowired
private DeptService deptService;//部门服务接口
@Autowired
private RoleService roleService;//角色服务接口
@Autowired
private MenuService menuService;
@Autowired
private OrgService orgService;
@Autowired
private RedisService redisService;
@Autowired
private UsersRolesService usersRolesService;
@Override
public void download(List<UserDto> all, HttpServletResponse response) throws IOException {
}
@Override
public UserDto findByPhone(String phone) {
if(StringUtils.isBlank(phone)){
return null;
}
User user = selectByPhone(phone);
if(user == null){
user = selectByUserCode(phone);
}
if(user == null){
return null;
}
try {
return this.getUserDtoByUser(user);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
/**
* 根据手机号查下用户信息
* @param phone 手机号
* @return 用户信息
*/
@Override
public User selectByPhone(String phone) {
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("is_delete", IsDeleteEnum.NOT_DELETE.getCode());
queryWrapper.eq("phone",phone);
User user = userMapper.selectOne(queryWrapper);
return user;
}
/**
* 根据用户编码查下用户信息
* @return 用户信息
*/
@Override
public User selectByUserCode(String userCode) {
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("is_delete",IsDeleteEnum.NOT_DELETE.getCode());
queryWrapper.eq("user_code",userCode);
User user = userMapper.selectOne(queryWrapper);
return user;
}
/**
* 根据用户isc编码查下用户信息
* @param isc_user_id 编码
* @return 用户信息
*/
@Override
public User selectByIscUserId(String isc_user_id) {
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("is_delete",IsDeleteEnum.NOT_DELETE.getCode());
queryWrapper.eq("isc_user_id",isc_user_id);
User user = userMapper.selectOne(queryWrapper);
return user;
}
@Override
public UserDto getUserIsc(String isc_user_id) {
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("is_delete",IsDeleteEnum.NOT_DELETE.getCode());
queryWrapper.eq("isc_user_id",isc_user_id);
User user = userMapper.selectOne(queryWrapper);
UserDto userDto = new UserDto();
BeanUtils.copyProperties(user,userDto);
return userDto;
}
/**
* 根据用户isc编码查下所有用户信息,包含已经删除的用户
* @param isc_user_id 编码
* @return 用户信息
*/
@Override
public User selectAllByIscUserId(String isc_user_id) {
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("isc_user_id",isc_user_id);
User user = userMapper.selectOne(queryWrapper);
return user;
}
@Override
public List<UserDto> getUserList(RoleUpdateDto roleUpdate) {
return userMapper.getUserList(roleUpdate);
}
@Override
public List<UserDto> getUserList2(RoleUpdateDto roleUpdate) {
return userMapper.getUserList2(roleUpdate);
}
@Override
public List<UserDto> getUserListAll(RoleUpdateDto roleUpdate) {
ArrayList<UserDto> list = new ArrayList<>();
List<UserDto> userList = userMapper.getUserList(roleUpdate);
list.addAll(userList);
if(CollectionUtils.isNotEmpty(userList)){
log.info("userList is not empty");
String tempOrg = "";
for (UserDto userDto : userList) {
// 根据用户所在组织将改组织下的用户都筛选出来
String orgId = userDto.getOrgId();
if(StringUtils.isNotEmpty(orgId)){
if(!tempOrg.equals(orgId)){
tempOrg = orgId; // 防止统一业务部门挂载很多审核人员,防止人员重复
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("org_id", orgId);
List<User> users = userMapper.selectList(queryWrapper); // 数据排在前边
List<UserDto> userDtos = dataConvert(users);
list.addAll(userDtos);
// 筛选出对应组织上一层级对应部门的数据
if(CollectionUtils.isNotEmpty(users)){
String orgNum = userDto.getOrgNum();
if(StringUtils.isNotEmpty(orgNum)){
String[] split = orgNum.split(",");
for (String s : split) {
if(!orgId.equals(s)){
QueryWrapper<User> queryWrapper1 = new QueryWrapper<>();
queryWrapper1.eq("org_id", s);
List<User> orgUsers = userMapper.selectList(queryWrapper1);
List<UserDto> userDtos1 = dataConvert(orgUsers);
list.addAll(userDtos1);
}
}
}
}
}
}
}
}
// 用户去重
//根据用户编码去重并保证集合顺序
List<UserDto> collect = list.stream().filter(dis(x -> x.getUserCode())).collect(Collectors.toList());
// ArrayList<UserDto> collect = list.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(UserDto::getName))), ArrayList::new));
return collect;
}
static <T> Predicate<? super T> dis(Function<? super T,?> key){
Map<Object, Boolean> seen = new ConcurrentHashMap<>();
return t -> seen.putIfAbsent(key.apply(t), Boolean.TRUE) == null;
}
private List<UserDto> dataConvert(List<User> users){
if(CollectionUtils.isNotEmpty(users)){
List<UserDto> collect = users.stream().map(item -> {
UserDto userDto1 = new UserDto();
BeanUtils.copyProperties(item, userDto1);
return userDto1;
}).collect(Collectors.toList());
return collect;
}
return new ArrayList<UserDto>();
}
@Override
public UserDto findById(Long id) {
if(id == null){
return null;
}
User user = userMapper.selectById(id);
try {
return getUserDtoByUser(user);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
@Override
public boolean create(UserAddDto user) {
//参数验证
valid(user);
//验证用户编码
validUserCode(user.getUserCode(),null);
//验证手机号码
// validPhone(user.getPhone(),null);
User u = new User();
BeanUtils.copyProperties(user,u);
u.setIsDelete(IsDeleteEnum.NOT_DELETE.getCode());
//设置密码
setPassword(u);
//设置创建日期
u.setCreateTime(new Date());
//保存用户
int num = userMapper.insert(u);
//添加用户角色关系
List<Long> roleIds=user.getRoleIds();
for(int i=0;i<roleIds.size();i++){
addUserRole(u.getId(),roleIds.get(i));
}
return num > 0;
}
/**
* 添加用户-角色关系信息
* @param id 用户
* @param roleId 角色id
*/
private void addUserRole(Long id, Long roleId) {
if(id == null || roleId == null){
return;
}
UsersRoles usersRoles = new UsersRoles();
usersRoles.setRoleId(roleId);
usersRoles.setUserId(id);
usersRolesService.save(usersRoles);
}
@Override
public boolean update(UserUpdateDto user) {
//参数验证
valid(user);
if(user.getId() == null){
throw new BDException("用户id不能为空!");
}
//验证用户编码
validUserCode(user.getUserCode(),user.getId());
//验证手机号码
// validPhone(user.getPhone(),user.getId());
User u = new User();
BeanUtils.copyProperties(user,u);
//设置密码
if(StringUtils.isBlank(u.getPassword())){
setPassword(u);
}else{
User ue= userMapper.selectById(u.getId());
u.setPassword(ue.getPassword());
}
userMapper.updateById(u);
//修改角色和用户关系
List<Long> roleIds=user.getRoleIds();
usersRolesService.removeRoles(u.getId());
for(int i=0;i<roleIds.size();i++){
addUserRole(u.getId(),roleIds.get(i));
// updateUserRole(u.getId(),roleIds.get(i));
}
return true;
}
/**
* 修改用户角色关系
* @param i 用户idd
* @param roleId 角色id
*/
private void updateUserRole(Long id, Long roleId) {
if(id == null || roleId == null){
return;
}
QueryWrapper<UsersRoles> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("user_id",id);
UsersRoles usersRoles = usersRolesService.getOne(queryWrapper);
if(usersRoles == null){
addUserRole(id,roleId);
}else {
// usersRoles.setRoleId(roleId);
addUserRole(id,roleId);
// usersRolesService.updateById(usersRoles);
}
}
@Override
@Transactional(rollbackFor = Exception.class)
public boolean delete(List<Long> ids) {
if (ids == null || ids.size() == 0){
throw new BDException("用户id不能为空");
}
boolean flag = false;
if(ids.size() == 1){
flag = deleteById(ids.get(0));
}else{
flag = deleteByIds(ids);
}
return flag;
}
/**
* 根据id删除
* @param id id
*/
private boolean deleteById(Long id) {
User user = new User();
user.setId(id);
user.setIsDelete(IsDeleteEnum.DELETE.getCode());
return userMapper.updateById(user) == 1;
}
/**
* 批量删除
* @param ids id集合
* @return 是否成功
*/
private boolean deleteByIds(List<Long> ids) {
User user = new User();
user.setIsDelete(IsDeleteEnum.DELETE.getCode());
UpdateWrapper<User> updateWrapper = new UpdateWrapper<>();
updateWrapper.in("id",ids);
return userMapper.update(user, updateWrapper) == ids.size();
}
/**
* 用户登录信息
* @param authUser 登录用户
* @param request 请求信息
* @return
* @throws BaseException
* @throws Exception
*/
@Override
public UserLoginDto login(AuthUser authUser, HttpServletRequest request) throws BaseException {
if(authUser == null){
throw new BaseException(ExceptionEnum.NOT_LOGIN);
}
if(StringUtils.isBlank(authUser.getUsername())){
throw new BaseException(ExceptionEnum.USER_LOGIN_USERNAME_EMPTY);
}
if(StringUtils.isBlank(authUser.getPassword())){
throw new BaseException(ExceptionEnum.USER_LOGIN_PASSWORD_EMPTY);
}
// 查询数据库中的帐号信息
// User user = this.selectByPhone(authUser.getUsername());
User user = this.selectByUserCode(authUser.getUsername());
if (user == null) {
throw new BaseException(ExceptionEnum.USER_ACCOUNT_NOT_EXIST);
}
// 密码进行AES解密
String key = AesCipherUtil.deCrypto(user.getPassword());
// 因为密码加密是以帐号+密码的形式进行加密的,所以解密后的对比是帐号+密码
if (key.equals(authUser.getUsername() + authUser.getPassword())) {
// 清除可能存在的Shiro权限信息缓存
if (redisService.hasKey(Constant.PREFIX_SHIRO_CACHE + authUser.getUsername())) {
redisService.delete(Constant.PREFIX_SHIRO_CACHE + authUser.getUsername());
}
// 设置RefreshToken,时间戳为当前时间戳,直接设置即可(不用先删后设,会覆盖已有的RefreshToken)
String currentTimeMillis = String.valueOf(System.currentTimeMillis());
redisService.set(Constant.PREFIX_SHIRO_REFRESH_TOKEN + authUser.getUsername(), currentTimeMillis, refreshTokenExpireTime);
// 从Header中Authorization返回AccessToken,时间戳为当前时间戳
String token = JwtUtil.sign(user.getUserCode(), currentTimeMillis);
UserDto userDto=new UserDto();
try {
userDto = getUserDtoByUser(user);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
redisService.set(Constant.USER_ACCOUNT+userDto.getId(),userDto,Long.valueOf(Constant.EXRP_HOUR));
UserLoginDto userLoginDto = new UserLoginDto(token,userDto);
return userLoginDto;
} else {
throw new BaseException(ExceptionEnum.USER_LOGIN_USERNAME_PASSWORD_ERROR);
}
}
@Override
public UserDto getUserDtoByUser(User user) {
if(user == null){
return null;
}
UserDto userDto = new UserDto();
BeanUtils.copyProperties(user,userDto);
//设置组织机构信息
setOrg(userDto,user.getOrgId());
//测试环境暂时屏蔽获取token
// setToken(userDto);
//设置部门信息
setDept(userDto,user.getDeptId());
//设置角色信息
setRole(userDto,user.getId());
//设置部门信息
try {
setMenu(userDto,user.getId());
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return userDto;
}
/**
* 设置角色信息
* @param userDto 用户dto
*/
private void setToken(UserDto userDto) {
String token=null;
if(userDto != null&&iscStart){
String tkval=redisService.get("isc_token:");
if(tkval!=null){
token=tkval;
}else{
try {
//renrui 0708
// token = IscUtil.checkToken();
redisService.set("isc_token:", token,Long.valueOf(12*3600));
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
userDto.setToken(token);
}
}
/**
* 设置角色信息
* @param userDto 用户dto
* @param userId 用户id
*/
private void setRole(UserDto userDto, Long userId) {
if(userDto != null && userId != null){
List<RoleSmallDto> roles = roleService.findRoleSmallListByUserId(userId);
userDto.setRoles(roles);
}
}
/**
* 设置用户的部门信息
* @param userDto 用户dto
* @param deptId 部门id
*/
private void setDept(UserDto userDto, Long deptId) {
if(userDto != null && deptId != null){
Dept dept = deptService.getById(deptId);
DeptSmallDto deptSmallDto = new DeptSmallDto();
if(dept != null){
BeanUtils.copyProperties(dept,deptSmallDto);
}
userDto.setDept(deptSmallDto);
}
}
/**
* 设置组织机构信息
* @param userDto 用户dto
* @param orgId 组织机构id
*/
private void setOrg(UserDto userDto, Long orgId) {
if(userDto != null && orgId != null){
Org org = orgService.getById(orgId);
userDto.setOrg(org);
}
}
/**
* 设置部门信息
* @param userDto 用户dto
* @param userId 部门信息
* @throws Exception
*/
public void setMenu(UserDto userDto,Long userId) throws Exception {
Set<Menu> menus = null;
if(iscStart){
String token=null;
String tkval=redisService.get("isc_token:");
if(tkval!=null){
token=tkval;
}else{
token=userDto.getToken();//获取token
}
// List<iscMenu> li=IscUtil.userResource(userDto.getIscUserId(),token);
// Map<String,String> map=new HashMap();
// List<Long> iscids=new ArrayList();
// Long i=0l;
// for(iscMenu m :li){
// i=i+1;
// iscids.add(i);
// }
// userDto.setMenuIds(iscids);
}
if(isAdmin(userDto)){
menus = menuService.findAllForSet();
}else if(userId != null) {
menus = menuService.findByUserId(userId);
}
if(userDto != null){
userDto.setMenus(menus);
if(menus != null && menus.size() > 0){
//菜单id
List<Long> menuIds = new ArrayList<>();
//按钮id
List<Long> buttonIds = new ArrayList<>();
//权限集合
Set<String> perms = new HashSet<>();
for (Menu menu : menus){
//添加权限集合
if(StringUtils.isNotBlank(menu.getPermission())){
perms.add(menu.getPermission());
}
//菜单
if(Objects.equals(MenuTypeEnum.CATALOG.getCode(),menu.getType())
|| Objects.equals(MenuTypeEnum.MENU.getCode(),menu.getType())
){
menuIds.add(menu.getId());
}
//按钮
if(Objects.equals(MenuTypeEnum.BUTTON.getCode(),menu.getType())){
buttonIds.add(menu.getId());
}
userDto.setMenuIds(menuIds);
userDto.setButtionIds(buttonIds);
userDto.setPerms(perms);
}
}
}
}
/**
* 验证用户信息
* @param user 用户信息
*/
private void valid(UserAddDto user){
if(user == null){
throw new BDException("用户信息不能为空!");
}
// if(StringUtils.isBlank(user.getPhone())){
// throw new BDException("用户手机号不能为空!");
// }
if(StringUtils.isBlank(user.getName())){
throw new BDException("用户姓名不能为空!");
}
if(StringUtils.isBlank(user.getUserCode())){
throw new BDException("用户编码不能为空!");
}
// if(user.getUserType() == null){
// throw new BDException("用户编码不能为空!");
// }
// if(StringUtils.isBlank(user.getBirthday())){
// throw new BDException("用户出生日起不能为空!");
// }
/*if(user.getDeptId() == null){
throw new BDException("用户归属部门不能为空!");
}
*/
// if(user.getOrgId() == null){
// throw new BDException("用户归属组织机构不能为空!");
// }
if(user.getOrgNum() == null){
throw new BDException("用户归属组织机构不能为空!");
}
// if(user.getSex() == null){
// throw new BDException("用户性别不能为空!");
// }
if(user.getEnabled() == null){
throw new BDException("用户启用/禁用状态不能为空!");
}
}
/**
* 验证用户手机号
* @param userCode 用户编码
* @param id 用户
*/
private void validUserCode(String userCode,Long id) {
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq("user_code",userCode);
queryWrapper.eq("is_delete",IsDeleteEnum.NOT_DELETE.getCode());
if(id != null){
queryWrapper.ne("id",id);
}
Long code = userMapper.selectCount(queryWrapper);
if(code > 0){
throw new BDException("用户编码重复!");
}
}
/**
* 验证手机号
* @param phone 手机号
* @param id 用户id
*/
private void validPhone(String phone,Long id) {
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq("phone",phone);
queryWrapper.eq("is_delete",IsDeleteEnum.NOT_DELETE.getCode());
if(id != null){
queryWrapper.ne("id",id);
}
Long code = userMapper.selectCount(queryWrapper);
if(code > 0){
throw new BDException("用户手机号重复!");
}
}
/**
* 设置用户密码,默认密码为12345678
* @param user
*/
private void setPassword(User user){
if(StringUtils.isBlank(user.getPassword())){
user.setPassword("12345678");
}
if (user.getPassword().length() > Constant.PASSWORD_MAX_LEN) {
throw new BDException("密码最多8位");
}
//电话和密码加密
// String key = AesCipherUtil.enCrypto(user.getPhone() + user.getPassword());
//用户编码和密码加密
String key = AesCipherUtil.enCrypto(user.getUserCode() + user.getPassword());
user.setPassword(key);
}
/**
* 判断用户是否是超级管理员
* 1、超级管理员的权限标识admin
* 2、当前用户的角色集合中包含admin这个角色,表示当前用户是超级管理员
* @param userDto
* @return
*/
private boolean isAdmin(UserDto userDto){
//用户信息为空或者用户的角色集合为空表示不是超级管理员
if(userDto == null || userDto.getRoles() == null || userDto.getRoles().size() == 0){
return false;
}
for (RoleSmallDto roleSmallDto : userDto.getRoles()){
if(StringUtils.isNotBlank(roleSmallDto.getRoleSign())
&& Objects.equals(roleSmallDto.getRoleSign(),"admin")){
return true;
}
}
return false;
}
}
package org.arch.manage.util;
import org.apache.shiro.SecurityUtils;
import org.arch.base.utils.Constant;
import org.arch.base.utils.JwtUtil;
import org.arch.common.modules.sysmange.dto.UserDto;
import org.arch.common.modules.sysmange.entity.User;
import org.arch.common.redis.RedisService;
import org.arch.manage.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import org.springframework.util.ObjectUtils;
/**
* 获取当前登录用户工具类
*
* @author wliduo[i@dolyw.com]
* @date 2019/3/15 11:45
*/
@Component
public class UserUtil {
@Autowired
private UserService userService;
@Value("${isc.start}")
private Boolean isc_start;
@Autowired
private RedisService redisService;
/**
* 获取当前登录用户
* 包括用户的菜单、角色、组织机构、部门
*
* @param
* @return com.wang.model.UserDto
* @throws Exception
* @author wliduo[i@dolyw.com]
* @date 2019/3/15 11:48
*/
public UserDto getUserDto() {
User user = getUser();
UserDto userDto = null;
if (!redisService.exists(Constant.USER_ACCOUNT + user.getId())) {
userDto = userService.getUserDtoByUser(user);
redisService.set(Constant.USER_ACCOUNT + user.getId(), userDto, Long.valueOf(Constant.EXRP_HOUR));
} else {
userDto = (UserDto) redisService.getObject(Constant.USER_ACCOUNT + user.getId());
}
return userDto;
}
/**
* 获取用户信息
* @return 用户信息
*/
// public User getUser() {
// String token = SecurityUtils.getSubject().getPrincipal().toString();
// // 解密获得Account
// String account = JwtUtil.getClaim(token, Constant.ACCOUNT);
// User user = userService.selectByUserCode(account);
// // 用户是否存在
// if (user == null) {
// throw new RuntimeException("该帐号不存在(The account does not exist.)");
// }
// return user;
// }
/**
* 获取ISC用户信息
*
* @return 用户信息
* @throws Exception
*/
public User getUser() {
//使用isc获取信息
/* if (isc_start) {
IscSSOUserBean userbean = null;
String IscUserId = null;
User user = null;
String token = RequestHolderUtil.getRequest().getHeader("Authorization");
user = userService.selectByIscUserId(token);
// 用户是否存在
if (user == null) {
throw new RuntimeException("该帐号不存在(The account does not exist.)");
}
return user;
} else {
//使用shiro解密认证
Object principal = SecurityUtils.getSubject().getPrincipal();
if (ObjectUtils.isEmpty(principal)) {
throw new RuntimeException("该帐号不存在(The account does not exist.)");
}
// 解密获得Account
String account = JwtUtil.getClaim(principal.toString(), Constant.ACCOUNT);
User user = userService.selectByUserCode(account);
// 用户是否存在
if (user == null) {
throw new RuntimeException("该帐号不存在(The account does not exist.)");
}
return user;
}*/
return null;
}
/**
* 获取当前登录用户Id
*
* @param
* @return com.wang.model.UserDto
* @author wliduo[i@dolyw.com]
* @date 2019/3/15 11:48
*/
public Long getUserId() {
//return getUser().getId();
return 1L;
//return 1L;
}
/**
* 获取当前登录用户Token
*
* @param
* @return com.wang.model.UserDto
* @author wliduo[i@dolyw.com]
* @date 2019/3/15 11:48
*/
public String getToken() {
return SecurityUtils.getSubject().getPrincipal().toString();
}
/**
* 获取当前登录用户Account
*
* @param
* @return com.wang.model.UserDto
* @author wliduo[i@dolyw.com]
* @date 2019/3/15 11:48
*/
public String getAccount() {
String token = SecurityUtils.getSubject().getPrincipal().toString();
// 解密获得Account
return JwtUtil.getClaim(token, Constant.ACCOUNT);
}
}
server:
port: 17008
nacos:
server-addr: 192.168.0.200:18848
username: nacos
password: nacos
namespace: ${NAMESPACE:arch}
file-extension: yaml
spring:
cloud:
nacos:
config:
group: DEFAULT_GROUP
server-addr: ${nacos.server-addr}
username: ${nacos.username}
password: ${nacos.password}
namespace: ${nacos.namespace}
# 公共配置
shared-configs:
- data-id: common-storage.${nacos.file-extension}
refresh: true
- data-id: common-config.${nacos.file-extension}
refresh: true
- data-id: common-filters.${nacos.file-extension}
refresh: true
- data-id: common-datasource.${nacos.file-extension}
- data-id: common-mybatis.${nacos.file-extension}
- data-id: common-redis.${nacos.file-extension}
refresh: true
discovery:
ip: localhost
server-addr: ${nacos.server-addr}
username: ${nacos.username}
password: ${nacos.password}
namespace: ${nacos.namespace}
config:
activate:
on-profile: dev
server:
port: 17007
nacos:
server-addr: localhost:8848
username: nacos
password: nacos
namespace: ${NAMESPACE:public}
file-extension: yaml
spring:
cloud:
nacos:
config:
group: DEFAULT_GROUP
server-addr: ${nacos.server-addr}
username: ${nacos.username}
password: ${nacos.password}
namespace: ${nacos.namespace}
# 公共配置
shared-configs:
- data-id: common-storage.${nacos.file-extension}
refresh: true
- data-id: common-config.${nacos.file-extension}
refresh: true
- data-id: common-log.${nacos.file-extension}
refresh: true
- data-id: common-datasource.${nacos.file-extension}
refresh: true
- data-id: common-mybatis.${nacos.file-extension}
refresh: true
- data-id: common-isc.${nacos.file-extension}
refresh: true
- data-id: common-redis.${nacos.file-extension}
refresh: true
discovery:
ip: localhost
server-addr: ${nacos.server-addr}
username: ${nacos.username}
password: ${nacos.password}
namespace: ${nacos.namespace}
server:
port: 17007
nacos:
server-addr: 192.168.0.120:18848
username: nacos
password: nacos
namespace: ${NAMESPACE:sit}
file-extension: yaml
spring:
cloud:
nacos:
config:
group: DEFAULT_GROUP
server-addr: ${nacos.server-addr}
username: ${nacos.username}
password: ${nacos.password}
namespace: ${nacos.namespace}
# 公共配置
shared-configs:
- data-id: common-storage.${nacos.file-extension}
refresh: true
- data-id: common-config.${nacos.file-extension}
refresh: true
- data-id: common-log.${nacos.file-extension}
refresh: true
- data-id: common-datasource.${nacos.file-extension}
refresh: true
- data-id: common-mybatis.${nacos.file-extension}
refresh: true
- data-id: common-isc.${nacos.file-extension}
refresh: true
- data-id: common-redis.${nacos.file-extension}
refresh: true
discovery:
server-addr: ${nacos.server-addr}
username: ${nacos.username}
password: ${nacos.password}
namespace: ${nacos.namespace}
config:
activate:
on-profile: sit
spring:
application:
name: arch-manage
main:
# 解决升级 Spring Boot 2.6后,因循环引用导致启动时报错是否允许循环引用
allow-circular-references: true
servlet:
multipart:
max-file-size: 50MB
max-request-size: 100MB
profiles:
active: dev
<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="false">
<!--定义日志文件的存储地址 -->
<property name="LOG_HOME" value="./logs"/>
<property name="LOG_NAME" value="arch-overall"/>
<!--从配置中心加载数据-->
<springProperty scope="context" name="applicationName" source="spring.application.name"/>
<springProperty scope="context" name="logstashDestination" source="logstash.destination"/>
<!--<property name="COLOR_PATTERN" value="%black(%contextName-) %red(%d{yyyy-MM-dd HH:mm:ss}) %green([%thread]) %highlight(%-5level) %boldMagenta( %replace(%caller{1}){'\t|Caller.{1}0|\r\n', ''})- %gray(%msg%xEx%n)" />-->
<!-- 控制台输出 -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<withJansi>true</withJansi>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %highlight(%-5level) %cyan(%logger{50}:%L) - %msg%n</pattern>
</encoder>
</appender>
<!-- 按照每天生成日志文件INFO -->
<appender name="INFO_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- 正在记录的日志文件的路径及文件名 -->
<file>${LOG_HOME}/${LOG_NAME}_info.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!--日志文件输出的文件名 -->
<FileNamePattern>${LOG_HOME}/${LOG_NAME}_info.%d{yyyy-MM-dd}.%i.log</FileNamePattern>
<maxHistory>30</maxHistory>
<timeBasedFileNamingAndTriggeringPolicy
class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>100MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50}:%L - %msg%n</pattern>
<charset>UTF-8</charset>
</encoder>
</appender>
<!-- 按照每天生成日志文件ERROR -->
<appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- 正在记录的日志文件的路径及文件名 -->
<file>${LOG_HOME}/${LOG_NAME}_error.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>${LOG_HOME}/${LOG_NAME}_error.%d{yyyy-MM-dd}.log</FileNamePattern>
<MaxHistory>30</MaxHistory>
</rollingPolicy>
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50}:%L - %msg%n</pattern>
<charset>UTF-8</charset>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter"><!-- 只打印错误日志 -->
<level>ERROR</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<!--nacos 心跳 INFO 屏蔽-->
<logger name="com.alibaba.nacos" level="OFF">
<appender-ref ref="ERROR_FILE"/>
</logger>
<!--myibatis log configure-->
<logger name="com.apache.ibatis" level="TRACE"/>
<logger name="java.sql.Connection" level="DEBUG"/>
<logger name="java.sql.Statement" level="DEBUG"/>
<logger name="java.sql.PreparedStatement" level="DEBUG"/>
<logger name="com.xxl.job.core" level="DEBUG"/>
<logger name="org.apache.http.impl.conn" level="INFO"/>
<logger name="springfox.documentation" level="INFO" />
<logger name="org.springframework" level="INFO" />
<logger name="com.baomidou.mybatisplus" level="INFO" />
<!-- 本地环境 -->
<springProfile name="local">
<root level="DEBUG">
<appender-ref ref="STDOUT"/>
<appender-ref ref="INFO_FILE"/>
<appender-ref ref="ERROR_FILE"/>
</root>
</springProfile>
<!-- 其它环境 -->
<springProfile name="dev,test,stage,prod,sit,uat,default">
<root level="DEBUG">
<appender-ref ref="STDOUT"/>
<appender-ref ref="INFO_FILE"/>
<appender-ref ref="ERROR_FILE"/>
</root>
</springProfile>
</configuration>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.xcasz.modules.system.service.mapper.UserMapper">
<select id="getUserList3" resultType="com.xcasz.modules.system.domain.User">
SELECT DISTINCT
( sur.user_id ) AS xx,
su.*,
s.org_simple_name ,a.role_name
FROM
sys_users_roles sur
LEFT JOIN sys_user su ON sur.user_id = su.id
LEFT JOIN sys_org s ON s.org_id = su.org_id
LEFT JOIN (SELECT u.user_id, GROUP_CONCAT( r.role_name ) role_name FROM sys_users_roles u LEFT JOIN sys_role r on u.role_id = r.id where u.role_id IN
<foreach item="item" index="index" collection="roleList" open="(" separator="," close=")">
#{item}
</foreach>
GROUP BY user_id)a on a.user_id = sur.user_id
WHERE
( sur.role_id IN
<foreach item="item" index="index" collection="roleList" open="(" separator="," close=")">
#{item}
</foreach>
AND su.id IS NOT NULL AND is_delete = '0' )
</select>
<select id="getUserList" resultType="com.xcasz.modules.system.service.dto.UserDto">
SELECT
su.*,
s.org_simple_name
FROM
sys_users_roles sur
left join sys_role sr on sr.id = sur.role_id
LEFT JOIN sys_user su ON sur.user_id = su.id
LEFT JOIN sys_org s ON s.org_id = su.org_id
WHERE
su.id IS NOT NULL
AND su.is_delete = '0'
<if test="id != null and id != ''">
and sur.role_id = #{id}
</if>
<if test="roleSign != null and roleSign != ''">
and sr.role_sign = #{roleSign}
</if>
<if test="orgNum != null and orgNum != ''">
and su.org_num like CONCAT('%',#{orgNum},'%')
</if>
</select>
</mapper>
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!