提交 38f046f6 编写于 作者: ibizdev's avatar ibizdev

ibiz4j 发布系统代码 [ibz-wf,统一工作流]

上级 e75c1a07
......@@ -9,7 +9,8 @@
"dev-build": "node --max_old_space_size=8102 ./node_modules/@vue/cli-service/bin/vue-cli-service build --mode development",
"test:unit": "vue-cli-service test:unit",
"test:e2e": "vue-cli-service test:e2e",
"lint": "vue-cli-service lint"
"lint": "vue-cli-service lint",
"format-code": "prettier-eslint --write \"src/**/*.js\" \"src/**/*.vue\" \"src/**/*.tsx\" \"src/**/*.ts\" \"src/**/*.less\""
},
"dependencies": {
"@fullcalendar/core": "^4.4.0",
......@@ -66,5 +67,12 @@
"script-loader": "^0.7.2",
"typescript": "~3.5.3",
"vue-template-compiler": "^2.6.10"
},
"eslintConfig": {
"root": true,
"extends": [
"gitee",
"stylelint-config-prettier"
]
}
}
......@@ -37,11 +37,6 @@
git clone -b master $para2 ibzwf/
export NODE_OPTIONS=--max-old-space-size=4096
cd ibzwf/
mvn clean package -Papi
cd ibzwf-provider/ibzwf-provider-api
mvn -Papi docker:build
mvn -Papi docker:push
docker -H $para1 stack deploy --compose-file=src/main/docker/ibzwf-provider-api.yaml ibzlab-rt --with-registry-auth
</command>
</hudson.tasks.Shell>
</builders>
......
......@@ -38,7 +38,7 @@ import com.baomidou.mybatisplus.core.toolkit.IdWorker;
@Setter
@NoArgsConstructor
@JsonIgnoreProperties(value = "handler")
@TableName(value = "IBZWFGROUP",resultMap = "WFGroupResultMap")
@TableName(value = "IBZWFGROUP", resultMap = "WFGroupResultMap")
public class WFGroup extends EntityMP implements Serializable {
private static final long serialVersionUID = 1L;
......@@ -46,8 +46,8 @@ public class WFGroup extends EntityMP implements Serializable {
/**
* 组标识
*/
@DEField(name = "groupid" , isKeyField=true)
@TableId(value= "groupid",type=IdType.ASSIGN_UUID)
@DEField(name = "groupid", isKeyField = true)
@TableId(value = "groupid", type = IdType.ASSIGN_UUID)
@JSONField(name = "id")
@JsonProperty("id")
private String id;
......@@ -80,17 +80,17 @@ public class WFGroup extends EntityMP implements Serializable {
/**
* 设置 [组名称]
*/
public void setName(String name){
this.name = name ;
this.modify("groupname",name);
public void setName(String name) {
this.name = name;
this.modify("groupname", name);
}
/**
* 设置 [范围]
*/
public void setGroupscope(String groupscope){
this.groupscope = groupscope ;
this.modify("groupscope",groupscope);
public void setGroupscope(String groupscope) {
this.groupscope = groupscope;
this.modify("groupscope", groupscope);
}
......@@ -104,7 +104,7 @@ public class WFGroup extends EntityMP implements Serializable {
@Override
public <T> T copyTo(T targetEntity, boolean bIncEmpty) {
this.reset("groupid");
return super.copyTo(targetEntity,bIncEmpty);
return super.copyTo(targetEntity, bIncEmpty);
}
}
......
......@@ -39,7 +39,7 @@ public class WFHistory extends EntityBase implements Serializable {
/**
* 标识
*/
@DEField(name = "histid" , isKeyField=true)
@DEField(name = "histid", isKeyField = true)
@JSONField(name = "id")
@JsonProperty("id")
private String id;
......@@ -70,8 +70,8 @@ public class WFHistory extends EntityBase implements Serializable {
* 时间
*/
@DEField(name = "actiontime")
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", locale = "zh" , timezone="GMT+8")
@JSONField(name = "time" , format="yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", locale = "zh", timezone = "GMT+8")
@JSONField(name = "time", format = "yyyy-MM-dd HH:mm:ss")
@JsonProperty("time")
private Timestamp time;
......@@ -112,7 +112,7 @@ public class WFHistory extends EntityBase implements Serializable {
/**
* 格式化日期 [时间]
*/
public String formatTime(){
public String formatTime() {
if (this.time == null) {
return null;
}
......
......@@ -38,7 +38,7 @@ import com.baomidou.mybatisplus.core.toolkit.IdWorker;
@Setter
@NoArgsConstructor
@JsonIgnoreProperties(value = "handler")
@TableName(value = "IBZWFMEMBER",resultMap = "WFMemberResultMap")
@TableName(value = "IBZWFMEMBER", resultMap = "WFMemberResultMap")
public class WFMember extends EntityMP implements Serializable {
private static final long serialVersionUID = 1L;
......@@ -46,8 +46,8 @@ public class WFMember extends EntityMP implements Serializable {
/**
* 组成员标识
*/
@DEField(isKeyField=true)
@TableId(value= "memberid",type=IdType.ASSIGN_UUID)
@DEField(isKeyField = true)
@TableId(value = "memberid", type = IdType.ASSIGN_UUID)
@JSONField(name = "memberid")
@JsonProperty("memberid")
private String memberid;
......@@ -136,33 +136,33 @@ public class WFMember extends EntityMP implements Serializable {
/**
* 设置 [组成员名称]
*/
public void setMembername(String membername){
this.membername = membername ;
this.modify("membername",membername);
public void setMembername(String membername) {
this.membername = membername;
this.modify("membername", membername);
}
/**
* 设置 [组标识]
*/
public void setGroupid(String groupid){
this.groupid = groupid ;
this.modify("groupid",groupid);
public void setGroupid(String groupid) {
this.groupid = groupid;
this.modify("groupid", groupid);
}
/**
* 设置 [用户标识]
*/
public void setUserid(String userid){
this.userid = userid ;
this.modify("userid",userid);
public void setUserid(String userid) {
this.userid = userid;
this.modify("userid", userid);
}
/**
* 获取 [组成员标识]
*/
public String getMemberid(){
if(ObjectUtils.isEmpty(memberid)){
public String getMemberid() {
if(ObjectUtils.isEmpty(memberid)) {
memberid=(String)getDefaultKey(true);
}
return memberid;
......@@ -184,7 +184,7 @@ public class WFMember extends EntityMP implements Serializable {
@Override
public <T> T copyTo(T targetEntity, boolean bIncEmpty) {
this.reset("memberid");
return super.copyTo(targetEntity,bIncEmpty);
return super.copyTo(targetEntity, bIncEmpty);
}
}
......
......@@ -38,7 +38,7 @@ import com.baomidou.mybatisplus.core.toolkit.IdWorker;
@Setter
@NoArgsConstructor
@JsonIgnoreProperties(value = "handler")
@TableName(value = "IBZWFDEFINITION",resultMap = "WFProcessDefinitionResultMap")
@TableName(value = "IBZWFDEFINITION", resultMap = "WFProcessDefinitionResultMap")
public class WFProcessDefinition extends EntityMP implements Serializable {
private static final long serialVersionUID = 1L;
......@@ -46,8 +46,8 @@ public class WFProcessDefinition extends EntityMP implements Serializable {
/**
* DefinitionKey
*/
@DEField(defaultValue = "deploykey" , defaultValueType = DEFieldDefaultValueType.PARAM , isKeyField=true)
@TableId(value= "definitionkey",type=IdType.ASSIGN_UUID)
@DEField(defaultValue = "deploykey", defaultValueType = DEFieldDefaultValueType.PARAM, isKeyField = true)
@TableId(value = "definitionkey", type = IdType.ASSIGN_UUID)
@JSONField(name = "definitionkey")
@JsonProperty("definitionkey")
private String definitionkey;
......@@ -120,73 +120,73 @@ public class WFProcessDefinition extends EntityMP implements Serializable {
/**
* 设置 [流程定义名称]
*/
public void setDefinitionname(String definitionname){
this.definitionname = definitionname ;
this.modify("definitionname",definitionname);
public void setDefinitionname(String definitionname) {
this.definitionname = definitionname;
this.modify("definitionname", definitionname);
}
/**
* 设置 [模型版本]
*/
public void setModelversion(Integer modelversion){
this.modelversion = modelversion ;
this.modify("modelversion",modelversion);
public void setModelversion(Integer modelversion) {
this.modelversion = modelversion;
this.modify("modelversion", modelversion);
}
/**
* 设置 [模型是否启用]
*/
public void setModelenable(Integer modelenable){
this.modelenable = modelenable ;
this.modify("modelenable",modelenable);
public void setModelenable(Integer modelenable) {
this.modelenable = modelenable;
this.modify("modelenable", modelenable);
}
/**
* 设置 [系统标识]
*/
public void setPssystemid(String pssystemid){
this.pssystemid = pssystemid ;
this.modify("pssystemid",pssystemid);
public void setPssystemid(String pssystemid) {
this.pssystemid = pssystemid;
this.modify("pssystemid", pssystemid);
}
/**
* 设置 [校验]
*/
public void setMd5check(String md5check){
this.md5check = md5check ;
this.modify("md5check",md5check);
public void setMd5check(String md5check) {
this.md5check = md5check;
this.modify("md5check", md5check);
}
/**
* 设置 [BPMN]
*/
public void setBpmnfile(String bpmnfile){
this.bpmnfile = bpmnfile ;
this.modify("bpmnfile",bpmnfile);
public void setBpmnfile(String bpmnfile) {
this.bpmnfile = bpmnfile;
this.modify("bpmnfile", bpmnfile);
}
/**
* 设置 [DeployKey]
*/
public void setDeploykey(String deploykey){
this.deploykey = deploykey ;
this.modify("deploykey",deploykey);
public void setDeploykey(String deploykey) {
this.deploykey = deploykey;
this.modify("deploykey", deploykey);
}
/**
* 设置 [WebServiceIds]
*/
public void setWebserviceids(String webserviceids){
this.webserviceids = webserviceids ;
this.modify("webserviceids",webserviceids);
public void setWebserviceids(String webserviceids) {
this.webserviceids = webserviceids;
this.modify("webserviceids", webserviceids);
}
/**
* 设置 [MobileServiceIds]
*/
public void setMobileserviceids(String mobileserviceids){
this.mobileserviceids = mobileserviceids ;
this.modify("mobileserviceids",mobileserviceids);
public void setMobileserviceids(String mobileserviceids) {
this.mobileserviceids = mobileserviceids;
this.modify("mobileserviceids", mobileserviceids);
}
......@@ -200,7 +200,7 @@ public class WFProcessDefinition extends EntityMP implements Serializable {
@Override
public <T> T copyTo(T targetEntity, boolean bIncEmpty) {
this.reset("definitionkey");
return super.copyTo(targetEntity,bIncEmpty);
return super.copyTo(targetEntity, bIncEmpty);
}
}
......
......@@ -39,7 +39,7 @@ public class WFProcessInstance extends EntityBase implements Serializable {
/**
* 实例标识
*/
@DEField(name = "instanceid" , isKeyField=true)
@DEField(name = "instanceid", isKeyField = true)
@JSONField(name = "id")
@JsonProperty("id")
private String id;
......@@ -78,16 +78,16 @@ public class WFProcessInstance extends EntityBase implements Serializable {
/**
* 启动时间
*/
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", locale = "zh" , timezone="GMT+8")
@JSONField(name = "startTime" , format="yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", locale = "zh", timezone = "GMT+8")
@JSONField(name = "startTime", format = "yyyy-MM-dd HH:mm:ss")
@JsonProperty("startTime")
private Timestamp starttime;
/**
* 结束时间
*/
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", locale = "zh" , timezone="GMT+8")
@JSONField(name = "endTime" , format="yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", locale = "zh", timezone = "GMT+8")
@JSONField(name = "endTime", format = "yyyy-MM-dd HH:mm:ss")
@JsonProperty("endTime")
private Timestamp endtime;
......@@ -111,7 +111,7 @@ public class WFProcessInstance extends EntityBase implements Serializable {
/**
* 格式化日期 [启动时间]
*/
public String formatStarttime(){
public String formatStarttime() {
if (this.starttime == null) {
return null;
}
......@@ -121,7 +121,7 @@ public class WFProcessInstance extends EntityBase implements Serializable {
/**
* 格式化日期 [结束时间]
*/
public String formatEndtime(){
public String formatEndtime() {
if (this.endtime == null) {
return null;
}
......
......@@ -39,7 +39,7 @@ public class WFProcessNode extends EntityBase implements Serializable {
/**
* 节点标识
*/
@DEField(name = "nodeid" , isKeyField=true)
@DEField(name = "nodeid", isKeyField = true)
@JSONField(name = "userTaskId")
@JsonProperty("userTaskId")
private String usertaskid;
......
......@@ -39,7 +39,7 @@ public class WFREModel extends EntityBase implements Serializable {
/**
* ID
*/
@DEField(name = "modelid" , isKeyField=true)
@DEField(name = "modelid", isKeyField = true)
@JSONField(name = "id")
@JsonProperty("id")
private String id;
......
......@@ -38,7 +38,7 @@ import com.baomidou.mybatisplus.core.toolkit.IdWorker;
@Setter
@NoArgsConstructor
@JsonIgnoreProperties(value = "handler")
@TableName(value = "IBZPSSYSTEM",resultMap = "WFSystemResultMap")
@TableName(value = "IBZPSSYSTEM", resultMap = "WFSystemResultMap")
public class WFSystem extends EntityMP implements Serializable {
private static final long serialVersionUID = 1L;
......@@ -46,8 +46,8 @@ public class WFSystem extends EntityMP implements Serializable {
/**
* 系统标识
*/
@DEField(isKeyField=true)
@TableId(value= "pssystemid",type=IdType.ASSIGN_UUID)
@DEField(isKeyField = true)
@TableId(value = "pssystemid", type = IdType.ASSIGN_UUID)
@JSONField(name = "pssystemid")
@JsonProperty("pssystemid")
private String pssystemid;
......@@ -64,9 +64,9 @@ public class WFSystem extends EntityMP implements Serializable {
/**
* 设置 [系统名称]
*/
public void setPssystemname(String pssystemname){
this.pssystemname = pssystemname ;
this.modify("pssystemname",pssystemname);
public void setPssystemname(String pssystemname) {
this.pssystemname = pssystemname;
this.modify("pssystemname", pssystemname);
}
......@@ -80,7 +80,7 @@ public class WFSystem extends EntityMP implements Serializable {
@Override
public <T> T copyTo(T targetEntity, boolean bIncEmpty) {
this.reset("pssystemid");
return super.copyTo(targetEntity,bIncEmpty);
return super.copyTo(targetEntity, bIncEmpty);
}
}
......
......@@ -39,7 +39,7 @@ public class WFTask extends EntityBase implements Serializable {
/**
* 任务标识
*/
@DEField(name = "taskid" , isKeyField=true)
@DEField(name = "taskid", isKeyField = true)
@JSONField(name = "id")
@JsonProperty("id")
private String id;
......@@ -93,8 +93,8 @@ public class WFTask extends EntityBase implements Serializable {
/**
* 发起时间
*/
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", locale = "zh" , timezone="GMT+8")
@JSONField(name = "createTime" , format="yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", locale = "zh", timezone = "GMT+8")
@JSONField(name = "createTime", format = "yyyy-MM-dd HH:mm:ss")
@JsonProperty("createTime")
private Timestamp createtime;
......@@ -120,7 +120,7 @@ public class WFTask extends EntityBase implements Serializable {
/**
* 格式化日期 [发起时间]
*/
public String formatCreatetime(){
public String formatCreatetime() {
if (this.createtime == null) {
return null;
}
......
......@@ -39,7 +39,7 @@ public class WFTaskWay extends EntityBase implements Serializable {
/**
* 路径标识
*/
@DEField(name = "wayid" , isKeyField=true)
@DEField(name = "wayid", isKeyField = true)
@JSONField(name = "sequenceFlowId")
@JsonProperty("sequenceFlowId")
private String sequenceflowid;
......
......@@ -38,7 +38,7 @@ import com.baomidou.mybatisplus.core.toolkit.IdWorker;
@Setter
@NoArgsConstructor
@JsonIgnoreProperties(value = "handler")
@TableName(value = "IBZUSER",resultMap = "WFUserResultMap")
@TableName(value = "IBZUSER", resultMap = "WFUserResultMap")
public class WFUser extends EntityMP implements Serializable {
private static final long serialVersionUID = 1L;
......@@ -46,8 +46,8 @@ public class WFUser extends EntityMP implements Serializable {
/**
* 用户标识
*/
@DEField(name = "userid" , isKeyField=true)
@TableId(value= "userid",type=IdType.ASSIGN_UUID)
@DEField(name = "userid", isKeyField = true)
@TableId(value = "userid", type = IdType.ASSIGN_UUID)
@JSONField(name = "id")
@JsonProperty("id")
private String id;
......@@ -124,57 +124,57 @@ public class WFUser extends EntityMP implements Serializable {
/**
* 设置 [用户全局名]
*/
public void setFirstname(String firstname){
this.firstname = firstname ;
this.modify("username",firstname);
public void setFirstname(String firstname) {
this.firstname = firstname;
this.modify("username", firstname);
}
/**
* 设置 [用户名称]
*/
public void setDisplayname(String displayname){
this.displayname = displayname ;
this.modify("personname",displayname);
public void setDisplayname(String displayname) {
this.displayname = displayname;
this.modify("personname", displayname);
}
/**
* 设置 [主部门]
*/
public void setMdeptid(String mdeptid){
this.mdeptid = mdeptid ;
this.modify("mdeptid",mdeptid);
public void setMdeptid(String mdeptid) {
this.mdeptid = mdeptid;
this.modify("mdeptid", mdeptid);
}
/**
* 设置 [主部门代码]
*/
public void setMdeptcode(String mdeptcode){
this.mdeptcode = mdeptcode ;
this.modify("mdeptcode",mdeptcode);
public void setMdeptcode(String mdeptcode) {
this.mdeptcode = mdeptcode;
this.modify("mdeptcode", mdeptcode);
}
/**
* 设置 [主部门名称]
*/
public void setMdeptname(String mdeptname){
this.mdeptname = mdeptname ;
this.modify("mdeptname",mdeptname);
public void setMdeptname(String mdeptname) {
this.mdeptname = mdeptname;
this.modify("mdeptname", mdeptname);
}
/**
* 设置 [业务编码]
*/
public void setBcode(String bcode){
this.bcode = bcode ;
this.modify("bcode",bcode);
public void setBcode(String bcode) {
this.bcode = bcode;
this.modify("bcode", bcode);
}
/**
* 设置 [单位代码]
*/
public void setOrgcode(String orgcode){
this.orgcode = orgcode ;
this.modify("orgcode",orgcode);
public void setOrgcode(String orgcode) {
this.orgcode = orgcode;
this.modify("orgcode", orgcode);
}
......@@ -188,7 +188,7 @@ public class WFUser extends EntityMP implements Serializable {
@Override
public <T> T copyTo(T targetEntity, boolean bIncEmpty) {
this.reset("userid");
return super.copyTo(targetEntity,bIncEmpty);
return super.copyTo(targetEntity, bIncEmpty);
}
}
......
......@@ -38,6 +38,7 @@ public class WFGroupSearchContext extends QueryWrapperContext<WFGroup> {
/**
* 启用快速搜索
*/
@Override
public void setQuery(String query)
{
this.query=query;
......
......@@ -80,6 +80,7 @@ public class WFMemberSearchContext extends QueryWrapperContext<WFMember> {
/**
* 启用快速搜索
*/
@Override
public void setQuery(String query)
{
this.query=query;
......
......@@ -45,6 +45,7 @@ public class WFProcessDefinitionSearchContext extends QueryWrapperContext<WFProc
/**
* 启用快速搜索
*/
@Override
public void setQuery(String query)
{
this.query=query;
......
......@@ -38,6 +38,7 @@ public class WFSystemSearchContext extends QueryWrapperContext<WFSystem> {
/**
* 启用快速搜索
*/
@Override
public void setQuery(String query)
{
this.query=query;
......
......@@ -38,6 +38,7 @@ public class WFUserSearchContext extends QueryWrapperContext<WFUser> {
/**
* 启用快速搜索
*/
@Override
public void setQuery(String query)
{
this.query=query;
......
......@@ -17,9 +17,9 @@ import java.io.Serializable;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.alibaba.fastjson.JSONObject;
public interface WFGroupMapper extends BaseMapper<WFGroup>{
public interface WFGroupMapper extends BaseMapper<WFGroup> {
Page<WFGroup> searchDefault(IPage page, @Param("srf") WFGroupSearchContext context, @Param("ew") Wrapper<WFGroup> wrapper) ;
Page<WFGroup> searchDefault(IPage page, @Param("srf") WFGroupSearchContext context, @Param("ew") Wrapper<WFGroup> wrapper);
@Override
WFGroup selectById(Serializable id);
@Override
......@@ -30,13 +30,13 @@ public interface WFGroupMapper extends BaseMapper<WFGroup>{
int update(@Param(Constants.ENTITY) WFGroup entity, @Param("ew") Wrapper<WFGroup> updateWrapper);
@Override
int deleteById(Serializable id);
/**
* 自定义查询SQL
* @param sql
* @return
*/
@Select("${sql}")
List<JSONObject> selectBySQL(@Param("sql") String sql, @Param("et")Map param);
/**
* 自定义查询SQL
* @param sql
* @return
*/
@Select("${sql}")
List<JSONObject> selectBySQL(@Param("sql") String sql, @Param("et")Map param);
/**
* 自定义更新SQL
......
......@@ -17,9 +17,9 @@ import java.io.Serializable;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.alibaba.fastjson.JSONObject;
public interface WFMemberMapper extends BaseMapper<WFMember>{
public interface WFMemberMapper extends BaseMapper<WFMember> {
Page<WFMember> searchDefault(IPage page, @Param("srf") WFMemberSearchContext context, @Param("ew") Wrapper<WFMember> wrapper) ;
Page<WFMember> searchDefault(IPage page, @Param("srf") WFMemberSearchContext context, @Param("ew") Wrapper<WFMember> wrapper);
@Override
WFMember selectById(Serializable id);
@Override
......@@ -30,13 +30,13 @@ public interface WFMemberMapper extends BaseMapper<WFMember>{
int update(@Param(Constants.ENTITY) WFMember entity, @Param("ew") Wrapper<WFMember> updateWrapper);
@Override
int deleteById(Serializable id);
/**
* 自定义查询SQL
* @param sql
* @return
*/
@Select("${sql}")
List<JSONObject> selectBySQL(@Param("sql") String sql, @Param("et")Map param);
/**
* 自定义查询SQL
* @param sql
* @return
*/
@Select("${sql}")
List<JSONObject> selectBySQL(@Param("sql") String sql, @Param("et")Map param);
/**
* 自定义更新SQL
......@@ -62,8 +62,8 @@ public interface WFMemberMapper extends BaseMapper<WFMember>{
@Delete("${sql}")
boolean deleteBySQL(@Param("sql") String sql, @Param("et")Map param);
List<WFMember> selectByGroupid(@Param("id") Serializable id) ;
List<WFMember> selectByGroupid(@Param("id") Serializable id);
List<WFMember> selectByUserid(@Param("id") Serializable id) ;
List<WFMember> selectByUserid(@Param("id") Serializable id);
}
......@@ -17,31 +17,31 @@ import java.io.Serializable;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.alibaba.fastjson.JSONObject;
public interface WFProcessDefinitionMapper extends BaseMapper<WFProcessDefinition>{
public interface WFProcessDefinitionMapper extends BaseMapper<WFProcessDefinition> {
Page<WFProcessDefinition> searchDefault(IPage page, @Param("srf") WFProcessDefinitionSearchContext context, @Param("ew") Wrapper<WFProcessDefinition> wrapper) ;
Page<WFProcessDefinition> searchDefault(IPage page, @Param("srf") WFProcessDefinitionSearchContext context, @Param("ew") Wrapper<WFProcessDefinition> wrapper);
@Override
@Cacheable( value="wfprocessdefinition",key = "'row:'+#p0")
@Cacheable(value ="wfprocessdefinition", key = "'row:'+#p0")
WFProcessDefinition selectById(Serializable id);
@Override
@CacheEvict( value="wfprocessdefinition",key = "'row:'+#p0.definitionkey")
@CacheEvict(value ="wfprocessdefinition", key = "'row:'+#p0.definitionkey")
int insert(WFProcessDefinition entity);
@Override
@CacheEvict( value="wfprocessdefinition",key = "'row:'+#p0.definitionkey")
@CacheEvict(value ="wfprocessdefinition", key = "'row:'+#p0.definitionkey")
int updateById(@Param(Constants.ENTITY) WFProcessDefinition entity);
@Override
@CacheEvict(value="wfprocessdefinition",key = "'row:'+#p0.definitionkey")
@CacheEvict(value ="wfprocessdefinition", key = "'row:'+#p0.definitionkey")
int update(@Param(Constants.ENTITY) WFProcessDefinition entity, @Param("ew") Wrapper<WFProcessDefinition> updateWrapper);
@Override
@CacheEvict( value="wfprocessdefinition",key = "'row:'+#p0")
@CacheEvict(value ="wfprocessdefinition", key = "'row:'+#p0")
int deleteById(Serializable id);
/**
* 自定义查询SQL
* @param sql
* @return
*/
@Select("${sql}")
List<JSONObject> selectBySQL(@Param("sql") String sql, @Param("et")Map param);
/**
* 自定义查询SQL
* @param sql
* @return
*/
@Select("${sql}")
List<JSONObject> selectBySQL(@Param("sql") String sql, @Param("et")Map param);
/**
* 自定义更新SQL
......
......@@ -17,9 +17,9 @@ import java.io.Serializable;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.alibaba.fastjson.JSONObject;
public interface WFSystemMapper extends BaseMapper<WFSystem>{
public interface WFSystemMapper extends BaseMapper<WFSystem> {
Page<WFSystem> searchDefault(IPage page, @Param("srf") WFSystemSearchContext context, @Param("ew") Wrapper<WFSystem> wrapper) ;
Page<WFSystem> searchDefault(IPage page, @Param("srf") WFSystemSearchContext context, @Param("ew") Wrapper<WFSystem> wrapper);
@Override
WFSystem selectById(Serializable id);
@Override
......@@ -30,13 +30,13 @@ public interface WFSystemMapper extends BaseMapper<WFSystem>{
int update(@Param(Constants.ENTITY) WFSystem entity, @Param("ew") Wrapper<WFSystem> updateWrapper);
@Override
int deleteById(Serializable id);
/**
* 自定义查询SQL
* @param sql
* @return
*/
@Select("${sql}")
List<JSONObject> selectBySQL(@Param("sql") String sql, @Param("et")Map param);
/**
* 自定义查询SQL
* @param sql
* @return
*/
@Select("${sql}")
List<JSONObject> selectBySQL(@Param("sql") String sql, @Param("et")Map param);
/**
* 自定义更新SQL
......
......@@ -17,9 +17,9 @@ import java.io.Serializable;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.alibaba.fastjson.JSONObject;
public interface WFUserMapper extends BaseMapper<WFUser>{
public interface WFUserMapper extends BaseMapper<WFUser> {
Page<WFUser> searchDefault(IPage page, @Param("srf") WFUserSearchContext context, @Param("ew") Wrapper<WFUser> wrapper) ;
Page<WFUser> searchDefault(IPage page, @Param("srf") WFUserSearchContext context, @Param("ew") Wrapper<WFUser> wrapper);
@Override
WFUser selectById(Serializable id);
@Override
......@@ -30,13 +30,13 @@ public interface WFUserMapper extends BaseMapper<WFUser>{
int update(@Param(Constants.ENTITY) WFUser entity, @Param("ew") Wrapper<WFUser> updateWrapper);
@Override
int deleteById(Serializable id);
/**
* 自定义查询SQL
* @param sql
* @return
*/
@Select("${sql}")
List<JSONObject> selectBySQL(@Param("sql") String sql, @Param("et")Map param);
/**
* 自定义查询SQL
* @param sql
* @return
*/
@Select("${sql}")
List<JSONObject> selectBySQL(@Param("sql") String sql, @Param("et")Map param);
/**
* 自定义更新SQL
......
......@@ -23,20 +23,20 @@ import com.baomidou.mybatisplus.extension.service.IService;
/**
* 实体[WFGroup] 服务对象接口
*/
public interface IWFGroupService extends IService<WFGroup>{
boolean create(WFGroup et) ;
void createBatch(List<WFGroup> list) ;
boolean update(WFGroup et) ;
void updateBatch(List<WFGroup> list) ;
boolean remove(String key) ;
void removeBatch(Collection<String> idList) ;
WFGroup get(String key) ;
WFGroup getDraft(WFGroup et) ;
boolean checkKey(WFGroup et) ;
boolean save(WFGroup et) ;
void saveBatch(List<WFGroup> list) ;
Page<WFGroup> searchDefault(WFGroupSearchContext context) ;
public interface IWFGroupService extends IService<WFGroup> {
boolean create(WFGroup et);
void createBatch(List<WFGroup> list);
boolean update(WFGroup et);
void updateBatch(List<WFGroup> list);
boolean remove(String key);
void removeBatch(Collection<String> idList);
WFGroup get(String key);
WFGroup getDraft(WFGroup et);
boolean checkKey(WFGroup et);
boolean save(WFGroup et);
void saveBatch(List<WFGroup> list);
Page<WFGroup> searchDefault(WFGroupSearchContext context);
/**
*自定义查询SQL
* @param sql select * from table where id =#{et.param}
......
......@@ -22,20 +22,20 @@ import cn.ibizlab.core.workflow.filter.WFHistorySearchContext;
/**
* 实体[WFHistory] 服务对象接口
*/
public interface IWFHistoryService{
boolean create(WFHistory et) ;
void createBatch(List<WFHistory> list) ;
boolean update(WFHistory et) ;
void updateBatch(List<WFHistory> list) ;
boolean remove(String key) ;
void removeBatch(Collection<String> idList) ;
WFHistory get(String key) ;
WFHistory getDraft(WFHistory et) ;
boolean checkKey(WFHistory et) ;
boolean save(WFHistory et) ;
void saveBatch(List<WFHistory> list) ;
Page<WFHistory> searchDefault(WFHistorySearchContext context) ;
public interface IWFHistoryService {
boolean create(WFHistory et);
void createBatch(List<WFHistory> list);
boolean update(WFHistory et);
void updateBatch(List<WFHistory> list);
boolean remove(String key);
void removeBatch(Collection<String> idList);
WFHistory get(String key);
WFHistory getDraft(WFHistory et);
boolean checkKey(WFHistory et);
boolean save(WFHistory et);
void saveBatch(List<WFHistory> list);
Page<WFHistory> searchDefault(WFHistorySearchContext context);
}
......
......@@ -23,23 +23,23 @@ import com.baomidou.mybatisplus.extension.service.IService;
/**
* 实体[WFMember] 服务对象接口
*/
public interface IWFMemberService extends IService<WFMember>{
public interface IWFMemberService extends IService<WFMember> {
boolean create(WFMember et) ;
void createBatch(List<WFMember> list) ;
boolean update(WFMember et) ;
void updateBatch(List<WFMember> list) ;
boolean remove(String key) ;
void removeBatch(Collection<String> idList) ;
WFMember get(String key) ;
WFMember getDraft(WFMember et) ;
boolean checkKey(WFMember et) ;
boolean save(WFMember et) ;
void saveBatch(List<WFMember> list) ;
Page<WFMember> searchDefault(WFMemberSearchContext context) ;
boolean create(WFMember et);
void createBatch(List<WFMember> list);
boolean update(WFMember et);
void updateBatch(List<WFMember> list);
boolean remove(String key);
void removeBatch(Collection<String> idList);
WFMember get(String key);
WFMember getDraft(WFMember et);
boolean checkKey(WFMember et);
boolean save(WFMember et);
void saveBatch(List<WFMember> list);
Page<WFMember> searchDefault(WFMemberSearchContext context);
List<WFMember> selectByGroupid(String id);
void removeByGroupid(String id);
void saveByGroupid(String id,List<WFMember> list) ;
void saveByGroupid(String id, List<WFMember> list) ;
List<WFMember> selectByUserid(String id);
void removeByUserid(String id);
/**
......@@ -57,8 +57,8 @@ public interface IWFMemberService extends IService<WFMember>{
*/
boolean execute(String sql, Map param);
List<WFMember> getWfmemberByIds(List<String> ids) ;
List<WFMember> getWfmemberByEntities(List<WFMember> entities) ;
List<WFMember> getWfmemberByIds(List<String> ids);
List<WFMember> getWfmemberByEntities(List<WFMember> entities);
}
......@@ -23,24 +23,24 @@ import com.baomidou.mybatisplus.extension.service.IService;
/**
* 实体[WFProcessDefinition] 服务对象接口
*/
public interface IWFProcessDefinitionService extends IService<WFProcessDefinition>{
boolean create(WFProcessDefinition et) ;
@CacheEvict(value="wfprocessdefinition",allEntries=true)
void createBatch(List<WFProcessDefinition> list) ;
boolean update(WFProcessDefinition et) ;
@CacheEvict(value="wfprocessdefinition",allEntries=true)
void updateBatch(List<WFProcessDefinition> list) ;
boolean remove(String key) ;
@CacheEvict(value="wfprocessdefinition",allEntries=true)
void removeBatch(Collection<String> idList) ;
WFProcessDefinition get(String key) ;
WFProcessDefinition getDraft(WFProcessDefinition et) ;
boolean checkKey(WFProcessDefinition et) ;
boolean save(WFProcessDefinition et) ;
@CacheEvict(value="wfprocessdefinition",allEntries=true)
void saveBatch(List<WFProcessDefinition> list) ;
Page<WFProcessDefinition> searchDefault(WFProcessDefinitionSearchContext context) ;
public interface IWFProcessDefinitionService extends IService<WFProcessDefinition> {
boolean create(WFProcessDefinition et);
@CacheEvict(value = "wfprocessdefinition", allEntries = true)
void createBatch(List<WFProcessDefinition> list);
boolean update(WFProcessDefinition et);
@CacheEvict(value = "wfprocessdefinition", allEntries = true)
void updateBatch(List<WFProcessDefinition> list);
boolean remove(String key);
@CacheEvict(value = "wfprocessdefinition", allEntries = true)
void removeBatch(Collection<String> idList);
WFProcessDefinition get(String key);
WFProcessDefinition getDraft(WFProcessDefinition et);
boolean checkKey(WFProcessDefinition et);
boolean save(WFProcessDefinition et);
@CacheEvict(value = "wfprocessdefinition",allEntries = true)
void saveBatch(List<WFProcessDefinition> list);
Page<WFProcessDefinition> searchDefault(WFProcessDefinitionSearchContext context);
/**
*自定义查询SQL
* @param sql select * from table where id =#{et.param}
......
......@@ -22,20 +22,20 @@ import cn.ibizlab.core.workflow.filter.WFProcessInstanceSearchContext;
/**
* 实体[WFProcessInstance] 服务对象接口
*/
public interface IWFProcessInstanceService{
boolean create(WFProcessInstance et) ;
void createBatch(List<WFProcessInstance> list) ;
boolean update(WFProcessInstance et) ;
void updateBatch(List<WFProcessInstance> list) ;
boolean remove(String key) ;
void removeBatch(Collection<String> idList) ;
WFProcessInstance get(String key) ;
WFProcessInstance getDraft(WFProcessInstance et) ;
boolean checkKey(WFProcessInstance et) ;
boolean save(WFProcessInstance et) ;
void saveBatch(List<WFProcessInstance> list) ;
Page<WFProcessInstance> searchDefault(WFProcessInstanceSearchContext context) ;
public interface IWFProcessInstanceService {
boolean create(WFProcessInstance et);
void createBatch(List<WFProcessInstance> list);
boolean update(WFProcessInstance et);
void updateBatch(List<WFProcessInstance> list);
boolean remove(String key);
void removeBatch(Collection<String> idList);
WFProcessInstance get(String key);
WFProcessInstance getDraft(WFProcessInstance et);
boolean checkKey(WFProcessInstance et);
boolean save(WFProcessInstance et);
void saveBatch(List<WFProcessInstance> list);
Page<WFProcessInstance> searchDefault(WFProcessInstanceSearchContext context);
}
......
......@@ -22,20 +22,20 @@ import cn.ibizlab.core.workflow.filter.WFProcessNodeSearchContext;
/**
* 实体[WFProcessNode] 服务对象接口
*/
public interface IWFProcessNodeService{
boolean create(WFProcessNode et) ;
void createBatch(List<WFProcessNode> list) ;
boolean update(WFProcessNode et) ;
void updateBatch(List<WFProcessNode> list) ;
boolean remove(String key) ;
void removeBatch(Collection<String> idList) ;
WFProcessNode get(String key) ;
WFProcessNode getDraft(WFProcessNode et) ;
boolean checkKey(WFProcessNode et) ;
boolean save(WFProcessNode et) ;
void saveBatch(List<WFProcessNode> list) ;
Page<WFProcessNode> searchDefault(WFProcessNodeSearchContext context) ;
public interface IWFProcessNodeService {
boolean create(WFProcessNode et);
void createBatch(List<WFProcessNode> list);
boolean update(WFProcessNode et);
void updateBatch(List<WFProcessNode> list);
boolean remove(String key);
void removeBatch(Collection<String> idList);
WFProcessNode get(String key);
WFProcessNode getDraft(WFProcessNode et);
boolean checkKey(WFProcessNode et);
boolean save(WFProcessNode et);
void saveBatch(List<WFProcessNode> list);
Page<WFProcessNode> searchDefault(WFProcessNodeSearchContext context);
}
......
......@@ -22,20 +22,20 @@ import cn.ibizlab.core.workflow.filter.WFREModelSearchContext;
/**
* 实体[WFREModel] 服务对象接口
*/
public interface IWFREModelService{
boolean create(WFREModel et) ;
void createBatch(List<WFREModel> list) ;
boolean update(WFREModel et) ;
void updateBatch(List<WFREModel> list) ;
boolean remove(String key) ;
void removeBatch(Collection<String> idList) ;
WFREModel get(String key) ;
WFREModel getDraft(WFREModel et) ;
boolean checkKey(WFREModel et) ;
boolean save(WFREModel et) ;
void saveBatch(List<WFREModel> list) ;
Page<WFREModel> searchDefault(WFREModelSearchContext context) ;
public interface IWFREModelService {
boolean create(WFREModel et);
void createBatch(List<WFREModel> list);
boolean update(WFREModel et);
void updateBatch(List<WFREModel> list);
boolean remove(String key);
void removeBatch(Collection<String> idList);
WFREModel get(String key);
WFREModel getDraft(WFREModel et);
boolean checkKey(WFREModel et);
boolean save(WFREModel et);
void saveBatch(List<WFREModel> list);
Page<WFREModel> searchDefault(WFREModelSearchContext context);
}
......
......@@ -23,20 +23,20 @@ import com.baomidou.mybatisplus.extension.service.IService;
/**
* 实体[WFSystem] 服务对象接口
*/
public interface IWFSystemService extends IService<WFSystem>{
boolean create(WFSystem et) ;
void createBatch(List<WFSystem> list) ;
boolean update(WFSystem et) ;
void updateBatch(List<WFSystem> list) ;
boolean remove(String key) ;
void removeBatch(Collection<String> idList) ;
WFSystem get(String key) ;
WFSystem getDraft(WFSystem et) ;
boolean checkKey(WFSystem et) ;
boolean save(WFSystem et) ;
void saveBatch(List<WFSystem> list) ;
Page<WFSystem> searchDefault(WFSystemSearchContext context) ;
public interface IWFSystemService extends IService<WFSystem> {
boolean create(WFSystem et);
void createBatch(List<WFSystem> list);
boolean update(WFSystem et);
void updateBatch(List<WFSystem> list);
boolean remove(String key);
void removeBatch(Collection<String> idList);
WFSystem get(String key);
WFSystem getDraft(WFSystem et);
boolean checkKey(WFSystem et);
boolean save(WFSystem et);
void saveBatch(List<WFSystem> list);
Page<WFSystem> searchDefault(WFSystemSearchContext context);
/**
*自定义查询SQL
* @param sql select * from table where id =#{et.param}
......
......@@ -22,20 +22,20 @@ import cn.ibizlab.core.workflow.filter.WFTaskSearchContext;
/**
* 实体[WFTask] 服务对象接口
*/
public interface IWFTaskService{
boolean create(WFTask et) ;
void createBatch(List<WFTask> list) ;
boolean update(WFTask et) ;
void updateBatch(List<WFTask> list) ;
boolean remove(String key) ;
void removeBatch(Collection<String> idList) ;
WFTask get(String key) ;
WFTask getDraft(WFTask et) ;
boolean checkKey(WFTask et) ;
boolean save(WFTask et) ;
void saveBatch(List<WFTask> list) ;
Page<WFTask> searchDefault(WFTaskSearchContext context) ;
public interface IWFTaskService {
boolean create(WFTask et);
void createBatch(List<WFTask> list);
boolean update(WFTask et);
void updateBatch(List<WFTask> list);
boolean remove(String key);
void removeBatch(Collection<String> idList);
WFTask get(String key);
WFTask getDraft(WFTask et);
boolean checkKey(WFTask et);
boolean save(WFTask et);
void saveBatch(List<WFTask> list);
Page<WFTask> searchDefault(WFTaskSearchContext context);
}
......
......@@ -22,20 +22,20 @@ import cn.ibizlab.core.workflow.filter.WFTaskWaySearchContext;
/**
* 实体[WFTaskWay] 服务对象接口
*/
public interface IWFTaskWayService{
boolean create(WFTaskWay et) ;
void createBatch(List<WFTaskWay> list) ;
boolean update(WFTaskWay et) ;
void updateBatch(List<WFTaskWay> list) ;
boolean remove(String key) ;
void removeBatch(Collection<String> idList) ;
WFTaskWay get(String key) ;
WFTaskWay getDraft(WFTaskWay et) ;
boolean checkKey(WFTaskWay et) ;
boolean save(WFTaskWay et) ;
void saveBatch(List<WFTaskWay> list) ;
Page<WFTaskWay> searchDefault(WFTaskWaySearchContext context) ;
public interface IWFTaskWayService {
boolean create(WFTaskWay et);
void createBatch(List<WFTaskWay> list);
boolean update(WFTaskWay et);
void updateBatch(List<WFTaskWay> list);
boolean remove(String key);
void removeBatch(Collection<String> idList);
WFTaskWay get(String key);
WFTaskWay getDraft(WFTaskWay et);
boolean checkKey(WFTaskWay et);
boolean save(WFTaskWay et);
void saveBatch(List<WFTaskWay> list);
Page<WFTaskWay> searchDefault(WFTaskWaySearchContext context);
}
......
......@@ -23,20 +23,20 @@ import com.baomidou.mybatisplus.extension.service.IService;
/**
* 实体[WFUser] 服务对象接口
*/
public interface IWFUserService extends IService<WFUser>{
boolean create(WFUser et) ;
void createBatch(List<WFUser> list) ;
boolean update(WFUser et) ;
void updateBatch(List<WFUser> list) ;
boolean remove(String key) ;
void removeBatch(Collection<String> idList) ;
WFUser get(String key) ;
WFUser getDraft(WFUser et) ;
boolean checkKey(WFUser et) ;
boolean save(WFUser et) ;
void saveBatch(List<WFUser> list) ;
Page<WFUser> searchDefault(WFUserSearchContext context) ;
public interface IWFUserService extends IService<WFUser> {
boolean create(WFUser et);
void createBatch(List<WFUser> list);
boolean update(WFUser et);
void updateBatch(List<WFUser> list);
boolean remove(String key);
void removeBatch(Collection<String> idList);
WFUser get(String key);
WFUser getDraft(WFUser et);
boolean checkKey(WFUser et);
boolean save(WFUser et);
void saveBatch(List<WFUser> list);
Page<WFUser> searchDefault(WFUserSearchContext context);
/**
*自定义查询SQL
* @param sql select * from table where id =#{et.param}
......@@ -52,8 +52,8 @@ public interface IWFUserService extends IService<WFUser>{
*/
boolean execute(String sql, Map param);
List<WFUser> getWfuserByIds(List<String> ids) ;
List<WFUser> getWfuserByEntities(List<WFUser> entities) ;
List<WFUser> getWfuserByIds(List<String> ids);
List<WFUser> getWfuserByEntities(List<WFUser> entities);
}
......@@ -57,40 +57,42 @@ public class WFGroupServiceImpl extends ServiceImpl<WFGroupMapper, WFGroup> impl
@Override
@Transactional
public boolean create(WFGroup et) {
if(!this.retBool(this.baseMapper.insert(et)))
if(!this.retBool(this.baseMapper.insert(et))) {
return false;
wfmemberService.saveByGroupid(et.getId(),et.getWfmember());
CachedBeanCopier.copy(get(et.getId()),et);
}
wfmemberService.saveByGroupid(et.getId(), et.getWfmember());
CachedBeanCopier.copy(get(et.getId()), et);
return true;
}
@Override
@Transactional
public void createBatch(List<WFGroup> list) {
this.saveBatch(list,batchSize);
this.saveBatch(list, batchSize);
}
@Override
@Transactional
public boolean update(WFGroup et) {
if(!update(et,(Wrapper) et.getUpdateWrapper(true).eq("groupid",et.getId())))
if(!update(et, (Wrapper) et.getUpdateWrapper(true).eq("groupid", et.getId()))) {
return false;
wfmemberService.saveByGroupid(et.getId(),et.getWfmember());
CachedBeanCopier.copy(get(et.getId()),et);
}
wfmemberService.saveByGroupid(et.getId(), et.getWfmember());
CachedBeanCopier.copy(get(et.getId()), et);
return true;
}
@Override
@Transactional
public void updateBatch(List<WFGroup> list) {
updateBatchById(list,batchSize);
updateBatchById(list, batchSize);
}
@Override
@Transactional
public boolean remove(String key) {
wfmemberService.removeByGroupid(key) ;
boolean result=removeById(key);
boolean result = removeById(key);
return result ;
}
......@@ -104,11 +106,11 @@ public class WFGroupServiceImpl extends ServiceImpl<WFGroupMapper, WFGroup> impl
@Transactional
public WFGroup get(String key) {
WFGroup et = getById(key);
if(et==null){
et=new WFGroup();
if(et == null){
et = new WFGroup();
et.setId(key);
}
else{
else {
et.setWfmember(wfmemberService.selectByGroupid(key));
}
return et;
......@@ -121,13 +123,14 @@ public class WFGroupServiceImpl extends ServiceImpl<WFGroupMapper, WFGroup> impl
@Override
public boolean checkKey(WFGroup et) {
return (!ObjectUtils.isEmpty(et.getId()))&&(!Objects.isNull(this.getById(et.getId())));
return (!ObjectUtils.isEmpty(et.getId())) && (!Objects.isNull(this.getById(et.getId())));
}
@Override
@Transactional
public boolean save(WFGroup et) {
if(!saveOrUpdate(et))
if(!saveOrUpdate(et)) {
return false;
}
return true;
}
......
......@@ -61,9 +61,10 @@ public class WFMemberServiceImpl extends ServiceImpl<WFMemberMapper, WFMember> i
@Transactional
public boolean create(WFMember et) {
fillParentData(et);
if(!this.retBool(this.baseMapper.insert(et)))
if(!this.retBool(this.baseMapper.insert(et))) {
return false;
CachedBeanCopier.copy(get(et.getMemberid()),et);
}
CachedBeanCopier.copy(get(et.getMemberid()), et);
return true;
}
......@@ -78,9 +79,10 @@ public class WFMemberServiceImpl extends ServiceImpl<WFMemberMapper, WFMember> i
@Transactional
public boolean update(WFMember et) {
fillParentData(et);
if(!update(et,(Wrapper) et.getUpdateWrapper(true).eq("memberid",et.getMemberid())))
if(!update(et, (Wrapper) et.getUpdateWrapper(true).eq("memberid", et.getMemberid()))) {
return false;
CachedBeanCopier.copy(get(et.getMemberid()),et);
}
CachedBeanCopier.copy(get(et.getMemberid()), et);
return true;
}
......@@ -88,13 +90,13 @@ public class WFMemberServiceImpl extends ServiceImpl<WFMemberMapper, WFMember> i
@Transactional
public void updateBatch(List<WFMember> list) {
list.forEach(item->fillParentData(item));
updateBatchById(list,batchSize);
updateBatchById(list, batchSize);
}
@Override
@Transactional
public boolean remove(String key) {
boolean result=removeById(key);
boolean result = removeById(key);
return result ;
}
......@@ -108,11 +110,11 @@ public class WFMemberServiceImpl extends ServiceImpl<WFMemberMapper, WFMember> i
@Transactional
public WFMember get(String key) {
WFMember et = getById(key);
if(et==null){
et=new WFMember();
if(et == null){
et = new WFMember();
et.setMemberid(key);
}
else{
else {
}
return et;
}
......@@ -125,13 +127,14 @@ public class WFMemberServiceImpl extends ServiceImpl<WFMemberMapper, WFMember> i
@Override
public boolean checkKey(WFMember et) {
return (!ObjectUtils.isEmpty(et.getMemberid()))&&(!Objects.isNull(this.getById(et.getMemberid())));
return (!ObjectUtils.isEmpty(et.getMemberid())) && (!Objects.isNull(this.getById(et.getMemberid())));
}
@Override
@Transactional
public boolean save(WFMember et) {
if(!saveOrUpdate(et))
if(!saveOrUpdate(et)) {
return false;
}
return true;
}
......@@ -295,10 +298,12 @@ public class WFMemberServiceImpl extends ServiceImpl<WFMemberMapper, WFMember> i
ids.add(id);
}
}
if(ids.size()>0)
return this.listByIds(ids);
else
return entities;
if(ids.size()>0) {
return this.listByIds(ids);
}
else {
return entities;
}
}
......
......@@ -54,37 +54,39 @@ public class WFProcessDefinitionServiceImpl extends ServiceImpl<WFProcessDefinit
@Override
@Transactional
public boolean create(WFProcessDefinition et) {
if(!this.retBool(this.baseMapper.insert(et)))
if(!this.retBool(this.baseMapper.insert(et))) {
return false;
CachedBeanCopier.copy(get(et.getDefinitionkey()),et);
}
CachedBeanCopier.copy(get(et.getDefinitionkey()), et);
return true;
}
@Override
@Transactional
public void createBatch(List<WFProcessDefinition> list) {
this.saveBatch(list,batchSize);
this.saveBatch(list, batchSize);
}
@Override
@Transactional
public boolean update(WFProcessDefinition et) {
if(!update(et,(Wrapper) et.getUpdateWrapper(true).eq("definitionkey",et.getDefinitionkey())))
if(!update(et, (Wrapper) et.getUpdateWrapper(true).eq("definitionkey", et.getDefinitionkey()))) {
return false;
CachedBeanCopier.copy(get(et.getDefinitionkey()),et);
}
CachedBeanCopier.copy(get(et.getDefinitionkey()), et);
return true;
}
@Override
@Transactional
public void updateBatch(List<WFProcessDefinition> list) {
updateBatchById(list,batchSize);
updateBatchById(list, batchSize);
}
@Override
@Transactional
public boolean remove(String key) {
boolean result=removeById(key);
boolean result = removeById(key);
return result ;
}
......@@ -98,11 +100,11 @@ public class WFProcessDefinitionServiceImpl extends ServiceImpl<WFProcessDefinit
@Transactional
public WFProcessDefinition get(String key) {
WFProcessDefinition et = getById(key);
if(et==null){
et=new WFProcessDefinition();
if(et == null){
et = new WFProcessDefinition();
et.setDefinitionkey(key);
}
else{
else {
}
return et;
}
......@@ -114,13 +116,14 @@ public class WFProcessDefinitionServiceImpl extends ServiceImpl<WFProcessDefinit
@Override
public boolean checkKey(WFProcessDefinition et) {
return (!ObjectUtils.isEmpty(et.getDefinitionkey()))&&(!Objects.isNull(this.getById(et.getDefinitionkey())));
return (!ObjectUtils.isEmpty(et.getDefinitionkey())) && (!Objects.isNull(this.getById(et.getDefinitionkey())));
}
@Override
@Transactional
public boolean save(WFProcessDefinition et) {
if(!saveOrUpdate(et))
if(!saveOrUpdate(et)) {
return false;
}
return true;
}
......
......@@ -54,37 +54,39 @@ public class WFSystemServiceImpl extends ServiceImpl<WFSystemMapper, WFSystem> i
@Override
@Transactional
public boolean create(WFSystem et) {
if(!this.retBool(this.baseMapper.insert(et)))
if(!this.retBool(this.baseMapper.insert(et))) {
return false;
CachedBeanCopier.copy(get(et.getPssystemid()),et);
}
CachedBeanCopier.copy(get(et.getPssystemid()), et);
return true;
}
@Override
@Transactional
public void createBatch(List<WFSystem> list) {
this.saveBatch(list,batchSize);
this.saveBatch(list, batchSize);
}
@Override
@Transactional
public boolean update(WFSystem et) {
if(!update(et,(Wrapper) et.getUpdateWrapper(true).eq("pssystemid",et.getPssystemid())))
if(!update(et, (Wrapper) et.getUpdateWrapper(true).eq("pssystemid", et.getPssystemid()))) {
return false;
CachedBeanCopier.copy(get(et.getPssystemid()),et);
}
CachedBeanCopier.copy(get(et.getPssystemid()), et);
return true;
}
@Override
@Transactional
public void updateBatch(List<WFSystem> list) {
updateBatchById(list,batchSize);
updateBatchById(list, batchSize);
}
@Override
@Transactional
public boolean remove(String key) {
boolean result=removeById(key);
boolean result = removeById(key);
return result ;
}
......@@ -98,11 +100,11 @@ public class WFSystemServiceImpl extends ServiceImpl<WFSystemMapper, WFSystem> i
@Transactional
public WFSystem get(String key) {
WFSystem et = getById(key);
if(et==null){
et=new WFSystem();
if(et == null){
et = new WFSystem();
et.setPssystemid(key);
}
else{
else {
}
return et;
}
......@@ -114,13 +116,14 @@ public class WFSystemServiceImpl extends ServiceImpl<WFSystemMapper, WFSystem> i
@Override
public boolean checkKey(WFSystem et) {
return (!ObjectUtils.isEmpty(et.getPssystemid()))&&(!Objects.isNull(this.getById(et.getPssystemid())));
return (!ObjectUtils.isEmpty(et.getPssystemid())) && (!Objects.isNull(this.getById(et.getPssystemid())));
}
@Override
@Transactional
public boolean save(WFSystem et) {
if(!saveOrUpdate(et))
if(!saveOrUpdate(et)) {
return false;
}
return true;
}
......
......@@ -57,37 +57,39 @@ public class WFUserServiceImpl extends ServiceImpl<WFUserMapper, WFUser> impleme
@Override
@Transactional
public boolean create(WFUser et) {
if(!this.retBool(this.baseMapper.insert(et)))
if(!this.retBool(this.baseMapper.insert(et))) {
return false;
CachedBeanCopier.copy(get(et.getId()),et);
}
CachedBeanCopier.copy(get(et.getId()), et);
return true;
}
@Override
@Transactional
public void createBatch(List<WFUser> list) {
this.saveBatch(list,batchSize);
this.saveBatch(list, batchSize);
}
@Override
@Transactional
public boolean update(WFUser et) {
if(!update(et,(Wrapper) et.getUpdateWrapper(true).eq("userid",et.getId())))
if(!update(et, (Wrapper) et.getUpdateWrapper(true).eq("userid", et.getId()))) {
return false;
CachedBeanCopier.copy(get(et.getId()),et);
}
CachedBeanCopier.copy(get(et.getId()), et);
return true;
}
@Override
@Transactional
public void updateBatch(List<WFUser> list) {
updateBatchById(list,batchSize);
updateBatchById(list, batchSize);
}
@Override
@Transactional
public boolean remove(String key) {
boolean result=removeById(key);
boolean result = removeById(key);
return result ;
}
......@@ -101,11 +103,11 @@ public class WFUserServiceImpl extends ServiceImpl<WFUserMapper, WFUser> impleme
@Transactional
public WFUser get(String key) {
WFUser et = getById(key);
if(et==null){
et=new WFUser();
if(et == null){
et = new WFUser();
et.setId(key);
}
else{
else {
}
return et;
}
......@@ -117,13 +119,14 @@ public class WFUserServiceImpl extends ServiceImpl<WFUserMapper, WFUser> impleme
@Override
public boolean checkKey(WFUser et) {
return (!ObjectUtils.isEmpty(et.getId()))&&(!Objects.isNull(this.getById(et.getId())));
return (!ObjectUtils.isEmpty(et.getId())) && (!Objects.isNull(this.getById(et.getId())));
}
@Override
@Transactional
public boolean save(WFUser et) {
if(!saveOrUpdate(et))
if(!saveOrUpdate(et)) {
return false;
}
return true;
}
......@@ -205,10 +208,12 @@ public class WFUserServiceImpl extends ServiceImpl<WFUserMapper, WFUser> impleme
ids.add(id);
}
}
if(ids.size()>0)
return this.listByIds(ids);
else
return entities;
if(ids.size()>0) {
return this.listByIds(ids);
}
else {
return entities;
}
}
......
......@@ -264,7 +264,6 @@
<version>${baomidou-jobs.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
......
......@@ -12,6 +12,6 @@ CMD echo "The application will start in ${IBIZ_SLEEP}s..." && \
sleep ${IBIZ_SLEEP} && \
java ${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom -jar /ibzwf-provider-api.jar
EXPOSE 40003
EXPOSE 8081
ADD ibzwf-provider-api.jar /ibzwf-provider-api.jar
......@@ -3,22 +3,9 @@ services:
ibzwf-provider-api:
image: registry.cn-shanghai.aliyuncs.com/ibizsys/ibzwf-provider-api:latest
ports:
- "40003:40003"
- "8081:8081"
networks:
- agent_network
environment:
- SPRING_CLOUD_NACOS_DISCOVERY_IP=172.16.180.237
- SERVER_PORT=40003
- SPRING_CLOUD_NACOS_DISCOVERY_SERVER-ADDR=172.16.102.211:8848
- SPRING_REDIS_HOST=172.16.100.243
- SPRING_REDIS_PORT=6379
- SPRING_REDIS_DATABASE=0
- SPRING_DATASOURCE_USERNAME=a_A_5d9d78509
- SPRING_DATASOURCE_PASSWORD=@6dEfb3@
- SPRING_DATASOURCE_URL=jdbc:mysql://172.16.180.232:3306/a_A_5d9d78509?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&useOldAliasMetadataBehavior=true&allowMultiQueries=true
- SPRING_DATASOURCE_DRIVER-CLASS-NAME=com.mysql.jdbc.Driver
- SPRING_DATASOURCE_DEFAULTSCHEMA=a_A_5d9d78509
- NACOS=172.16.102.211:8848
deploy:
resources:
limits:
......
......@@ -4,11 +4,10 @@ import org.mapstruct.*;
import cn.ibizlab.core.workflow.domain.WFGroup;
import cn.ibizlab.api.dto.WFGroupDTO;
import cn.ibizlab.util.domain.MappingBase;
import org.mapstruct.factory.Mappers;
@Mapper(componentModel = "spring", uses = {},implementationName="apiWFGroupMapping",
nullValuePropertyMappingStrategy = NullValuePropertyMappingStrategy.IGNORE,
nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS)
@Mapper(componentModel = "spring", uses = {}, implementationName = "apiWFGroupMapping",
nullValuePropertyMappingStrategy = NullValuePropertyMappingStrategy.IGNORE,
nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS)
public interface WFGroupMapping extends MappingBase<WFGroupDTO, WFGroup> {
......
......@@ -4,11 +4,10 @@ import org.mapstruct.*;
import cn.ibizlab.core.workflow.domain.WFMember;
import cn.ibizlab.api.dto.WFMemberDTO;
import cn.ibizlab.util.domain.MappingBase;
import org.mapstruct.factory.Mappers;
@Mapper(componentModel = "spring", uses = {},implementationName="apiWFMemberMapping",
nullValuePropertyMappingStrategy = NullValuePropertyMappingStrategy.IGNORE,
nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS)
@Mapper(componentModel = "spring", uses = {}, implementationName = "apiWFMemberMapping",
nullValuePropertyMappingStrategy = NullValuePropertyMappingStrategy.IGNORE,
nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS)
public interface WFMemberMapping extends MappingBase<WFMemberDTO, WFMember> {
......
......@@ -4,11 +4,10 @@ import org.mapstruct.*;
import cn.ibizlab.core.workflow.domain.WFProcessDefinition;
import cn.ibizlab.api.dto.WFProcessDefinitionDTO;
import cn.ibizlab.util.domain.MappingBase;
import org.mapstruct.factory.Mappers;
@Mapper(componentModel = "spring", uses = {},implementationName="apiWFProcessDefinitionMapping",
nullValuePropertyMappingStrategy = NullValuePropertyMappingStrategy.IGNORE,
nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS)
@Mapper(componentModel = "spring", uses = {}, implementationName = "apiWFProcessDefinitionMapping",
nullValuePropertyMappingStrategy = NullValuePropertyMappingStrategy.IGNORE,
nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS)
public interface WFProcessDefinitionMapping extends MappingBase<WFProcessDefinitionDTO, WFProcessDefinition> {
......
......@@ -4,11 +4,10 @@ import org.mapstruct.*;
import cn.ibizlab.core.workflow.domain.WFREModel;
import cn.ibizlab.api.dto.WFREModelDTO;
import cn.ibizlab.util.domain.MappingBase;
import org.mapstruct.factory.Mappers;
@Mapper(componentModel = "spring", uses = {},implementationName="apiWFREModelMapping",
nullValuePropertyMappingStrategy = NullValuePropertyMappingStrategy.IGNORE,
nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS)
@Mapper(componentModel = "spring", uses = {}, implementationName = "apiWFREModelMapping",
nullValuePropertyMappingStrategy = NullValuePropertyMappingStrategy.IGNORE,
nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS)
public interface WFREModelMapping extends MappingBase<WFREModelDTO, WFREModel> {
......
......@@ -4,11 +4,10 @@ import org.mapstruct.*;
import cn.ibizlab.core.workflow.domain.WFSystem;
import cn.ibizlab.api.dto.WFSystemDTO;
import cn.ibizlab.util.domain.MappingBase;
import org.mapstruct.factory.Mappers;
@Mapper(componentModel = "spring", uses = {},implementationName="apiWFSystemMapping",
nullValuePropertyMappingStrategy = NullValuePropertyMappingStrategy.IGNORE,
nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS)
@Mapper(componentModel = "spring", uses = {}, implementationName = "apiWFSystemMapping",
nullValuePropertyMappingStrategy = NullValuePropertyMappingStrategy.IGNORE,
nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS)
public interface WFSystemMapping extends MappingBase<WFSystemDTO, WFSystem> {
......
......@@ -4,11 +4,10 @@ import org.mapstruct.*;
import cn.ibizlab.core.workflow.domain.WFTask;
import cn.ibizlab.api.dto.WFTaskDTO;
import cn.ibizlab.util.domain.MappingBase;
import org.mapstruct.factory.Mappers;
@Mapper(componentModel = "spring", uses = {},implementationName="apiWFTaskMapping",
nullValuePropertyMappingStrategy = NullValuePropertyMappingStrategy.IGNORE,
nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS)
@Mapper(componentModel = "spring", uses = {}, implementationName = "apiWFTaskMapping",
nullValuePropertyMappingStrategy = NullValuePropertyMappingStrategy.IGNORE,
nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS)
public interface WFTaskMapping extends MappingBase<WFTaskDTO, WFTask> {
......
......@@ -4,11 +4,10 @@ import org.mapstruct.*;
import cn.ibizlab.core.workflow.domain.WFUser;
import cn.ibizlab.api.dto.WFUserDTO;
import cn.ibizlab.util.domain.MappingBase;
import org.mapstruct.factory.Mappers;
@Mapper(componentModel = "spring", uses = {},implementationName="apiWFUserMapping",
nullValuePropertyMappingStrategy = NullValuePropertyMappingStrategy.IGNORE,
nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS)
@Mapper(componentModel = "spring", uses = {}, implementationName = "apiWFUserMapping",
nullValuePropertyMappingStrategy = NullValuePropertyMappingStrategy.IGNORE,
nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS)
public interface WFUserMapping extends MappingBase<WFUserDTO, WFUser> {
......
......@@ -43,30 +43,31 @@ public class AuditAspect
*/
@AfterReturning(value = "execution(* cn.ibizlab.core.*.service.*.create(..))")
@SneakyThrows
public void create(JoinPoint point){
HttpServletRequest request=null;
RequestAttributes requestAttributes= RequestContextHolder.getRequestAttributes();
if(requestAttributes!=null){
request=((ServletRequestAttributes)requestAttributes).getRequest();
public void create(JoinPoint point) {
HttpServletRequest request = null;
RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();
if(requestAttributes!=null) {
request = ((ServletRequestAttributes)requestAttributes).getRequest();
}
Object [] args = point.getArgs();
if(ObjectUtils.isEmpty(args) || args.length==0)
if(ObjectUtils.isEmpty(args) || args.length==0) {
return;
Object serviceParam =args[0];
if(serviceParam instanceof EntityBase){
EntityBase entity=(EntityBase)serviceParam;//创建数据
Map<String, Audit> auditFields= DEFieldCacheMap.getAuditFields(entity.getClass());
if(auditFields.size()==0)//是否有审计属性
}
Object serviceParam = args[0];
if(serviceParam instanceof EntityBase) {
EntityBase entity = (EntityBase)serviceParam;
Map<String, Audit> auditFields = DEFieldCacheMap.getAuditFields(entity.getClass());
//是否有审计属性
if(auditFields.size()==0) {
return;
String idField=DEFieldCacheMap.getDEKeyField(entity.getClass());
Object idValue="";
if(!StringUtils.isEmpty(idField)){
}
String idField = DEFieldCacheMap.getDEKeyField(entity.getClass());
Object idValue = "";
if(!StringUtils.isEmpty(idField)) {
idValue=entity.get(idField);
}
//记录审计日志
dataAuditService.createAudit(request,entity,idValue,auditFields);
dataAuditService.createAudit(request, entity, idValue, auditFields);
}
}
......@@ -77,39 +78,38 @@ public class AuditAspect
*/
@Around("execution(* cn.ibizlab.core.*.service.*.update(..))")
public Object update(ProceedingJoinPoint point) throws Throwable {
HttpServletRequest request=null;
RequestAttributes requestAttributes= RequestContextHolder.getRequestAttributes();
if(requestAttributes!=null){
HttpServletRequest request = null;
RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();
if(requestAttributes!=null) {
request=((ServletRequestAttributes)requestAttributes).getRequest();
}
Object serviceObj=point.getTarget();
Object args[]=point.getArgs();
if(ObjectUtils.isEmpty(args) || args.length==0)
Object serviceObj = point.getTarget();
Object args[] = point.getArgs();
if(ObjectUtils.isEmpty(args) || args.length==0) {
return point.proceed();
Object arg=args[0];
if(arg instanceof EntityBase){
EntityBase entity= (EntityBase) arg;
Map<String, Audit> auditFields= DEFieldCacheMap.getAuditFields(entity.getClass());
}
Object arg = args[0];
if(arg instanceof EntityBase) {
EntityBase entity = (EntityBase) arg;
Map<String, Audit> auditFields = DEFieldCacheMap.getAuditFields(entity.getClass());
//是否有审计属性
if(auditFields.size()==0)
if(auditFields.size()==0) {
return point.proceed();
String idField=DEFieldCacheMap.getDEKeyField(entity.getClass());
Object idValue="";
}
String idField = DEFieldCacheMap.getDEKeyField(entity.getClass());
Object idValue = "";
if(!StringUtils.isEmpty(idField)){
idValue=entity.get(idField);
idValue = entity.get(idField);
}
if(ObjectUtils.isEmpty(idValue))
if(ObjectUtils.isEmpty(idValue)) {
return point.proceed();
}
//获取更新前实体
EntityBase beforeEntity=getEntity(serviceObj,idValue);
EntityBase beforeEntity = getEntity(serviceObj, idValue);
//执行更新操作
point.proceed();
//记录审计日志
dataAuditService.updateAudit(request,beforeEntity,serviceObj,idValue,auditFields);
dataAuditService.updateAudit(request, beforeEntity, serviceObj, idValue, auditFields);
return true;
}
return point.proceed();
......@@ -124,28 +124,27 @@ public class AuditAspect
*/
@Around("execution(* cn.ibizlab.core.*.service.*.remove(..))")
public Object remove(ProceedingJoinPoint point) throws Throwable {
HttpServletRequest request=null;
RequestAttributes requestAttributes= RequestContextHolder.getRequestAttributes();
if(requestAttributes!=null){
request=((ServletRequestAttributes)requestAttributes).getRequest();
HttpServletRequest request = null;
RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();
if(requestAttributes!= null) {
request = ((ServletRequestAttributes)requestAttributes).getRequest();
}
Object serviceObj=point.getTarget();
Object args[]=point.getArgs();
if(ObjectUtils.isEmpty(args) || args.length==0)
Object serviceObj = point.getTarget();
Object args[] = point.getArgs();
if(ObjectUtils.isEmpty(args) || args.length==0) {
return point.proceed();
Object idValue=args[0];
EntityBase entity=getEntity(serviceObj,idValue);
Map<String, Audit> auditFields= DEFieldCacheMap.getAuditFields(entity.getClass());
if(auditFields.size()==0){
}
Object idValue = args[0];
EntityBase entity = getEntity(serviceObj, idValue);
Map<String, Audit> auditFields = DEFieldCacheMap.getAuditFields(entity.getClass());
if(auditFields.size()==0) {
return point.proceed();
}
else{
//执行删除操作
point.proceed();
//记录审计日志
dataAuditService.removeAudit(request,entity,idValue,auditFields);
dataAuditService.removeAudit(request, entity, idValue, auditFields);
return true;
}
}
......@@ -157,12 +156,12 @@ public class AuditAspect
* @return
*/
@SneakyThrows
private EntityBase getEntity(Object service, Object id){
EntityBase entity=null;
if(!ObjectUtils.isEmpty(service)){
private EntityBase getEntity(Object service, Object id) {
EntityBase entity = null;
if(!ObjectUtils.isEmpty(service)) {
EvaluationContext oldContext = new StandardEvaluationContext();
oldContext.setVariable("service",service);
oldContext.setVariable("id",id);
oldContext.setVariable("service", service);
oldContext.setVariable("id", id);
Expression oldExp = parser.parseExpression("#service.get(#id)");
return oldExp.getValue(oldContext, EntityBase.class);
}
......
......@@ -79,29 +79,31 @@ public class DEFieldDefaultValueAspect
Object[] args = joinPoint.getArgs();
if (args.length > 0) {
Object obj = args[0];
String actionName=joinPoint.getSignature().getName();
String actionName = joinPoint.getSignature().getName();
if(obj instanceof EntityBase) {
Map<String, DEField> deFields = DEFieldCacheMap.getDEFields(obj.getClass());
AuthenticationUser curUser = AuthenticationUser.getAuthenticationUser();
String keyField=DEFieldCacheMap.getDEKeyField(obj.getClass());
if(StringUtils.isEmpty(keyField))
String keyField = DEFieldCacheMap.getDEKeyField(obj.getClass());
if(StringUtils.isEmpty(keyField)) {
return true;
fillDEField((EntityBase)obj, deFields,actionName,curUser,keyField);
}
fillDEField((EntityBase)obj, deFields, actionName, curUser, keyField);
}
else if (obj instanceof List) {
Map<String, DEField> deFields = null;
AuthenticationUser curUser = null;
String keyField = "";
for(Object item:(List)obj) {
for(Object item : (List)obj) {
if(item instanceof EntityBase) {
if(deFields==null) {
if(deFields == null) {
deFields = DEFieldCacheMap.getDEFields(item.getClass());
curUser = AuthenticationUser.getAuthenticationUser();
keyField=DEFieldCacheMap.getDEKeyField(item.getClass());
if(StringUtils.isEmpty(keyField))
keyField = DEFieldCacheMap.getDEKeyField(item.getClass());
if(StringUtils.isEmpty(keyField)) {
return true;
}
}
fillDEField((EntityBase)item, deFields,actionName,curUser,keyField);
fillDEField((EntityBase)item, deFields, actionName, curUser, keyField);
}
}
}
......@@ -115,15 +117,15 @@ public class DEFieldDefaultValueAspect
* 填充系统预置属性
* @param et 当前实体对象
*/
private void fillDEField(EntityBase et, Map<String, DEField> deFields, String actionName,AuthenticationUser curUser,String keyField) throws Exception {
if(deFields.size()==0)
return ;
private void fillDEField(EntityBase et, Map<String, DEField> deFields, String actionName, AuthenticationUser curUser, String keyField) throws Exception {
if(deFields.size()==0) {
return;
}
if(actionName.toLowerCase().startsWith("save")) {
if(ObjectUtils.isEmpty(et.get(keyField)))
if(ObjectUtils.isEmpty(et.get(keyField))) {
actionName="create";
}
}
for (Map.Entry<String, DEField> entry : deFields.entrySet()) {
String fieldname=entry.getKey();
//获取注解
......@@ -136,12 +138,12 @@ public class DEFieldDefaultValueAspect
DEPredefinedFieldType predefinedFieldType = fieldAnnotation.preType();
//填充系统默认值
if(actionName.toLowerCase().startsWith("create") && ( deFieldType!= DEFieldDefaultValueType.NONE || (!StringUtils.isEmpty(deFieldDefaultValue)) )){
if(actionName.toLowerCase().startsWith("create") && (deFieldType!= DEFieldDefaultValueType.NONE || (!StringUtils.isEmpty(deFieldDefaultValue)))) {
fillFieldDefaultValue(fieldname, deFieldType, deFieldDefaultValue, et , curUser) ;
}
//填充系统预置属性
if(predefinedFieldType != DEPredefinedFieldType.NONE){
fillPreFieldValue( fieldname, predefinedFieldType , et ,actionName ,fieldAnnotation.logicval(),curUser);
if(predefinedFieldType != DEPredefinedFieldType.NONE) {
fillPreFieldValue(fieldname, predefinedFieldType , et ,actionName ,fieldAnnotation.logicval(),curUser);
}
}
}
......@@ -154,17 +156,17 @@ public class DEFieldDefaultValueAspect
* @param et 当前实体对象
* @throws Exception
*/
private void fillFieldDefaultValue(String fieldname , DEFieldDefaultValueType deFieldType,String deFieldDefaultValue,EntityBase et ,AuthenticationUser curUser) throws Exception {
private void fillFieldDefaultValue(String fieldname, DEFieldDefaultValueType deFieldType, String deFieldDefaultValue, EntityBase et , AuthenticationUser curUser) throws Exception {
Object fieldValue = et.get(fieldname);
if(org.springframework.util.ObjectUtils.isEmpty(fieldValue)){
if(org.springframework.util.ObjectUtils.isEmpty(fieldValue)) {
//填充直接值及其余默认值类型
if( (deFieldType== DEFieldDefaultValueType.NONE && !StringUtils.isEmpty(deFieldDefaultValue)) || (deFieldType != DEFieldDefaultValueType.NONE) ){
switch(deFieldType){
if( (deFieldType== DEFieldDefaultValueType.NONE && !StringUtils.isEmpty(deFieldDefaultValue)) || (deFieldType != DEFieldDefaultValueType.NONE)) {
switch(deFieldType) {
case SESSION:
if(!StringUtils.isEmpty(deFieldDefaultValue)){
if(!StringUtils.isEmpty(deFieldDefaultValue)) {
Object sessionFieldValue = curUser.getSessionParams().get(deFieldDefaultValue.toLowerCase());
if(!ObjectUtils.isEmpty(sessionFieldValue)){
et.set(fieldname,sessionFieldValue);
if(!ObjectUtils.isEmpty(sessionFieldValue)) {
et.set(fieldname, sessionFieldValue);
}
}
break;
......@@ -172,91 +174,95 @@ public class DEFieldDefaultValueAspect
//暂未实现
break;
case UNIQUEID:
et.set(fieldname,(new AlternativeJdkIdGenerator()).generateId().toString().replace("-", ""));
et.set(fieldname, (new AlternativeJdkIdGenerator()).generateId().toString().replace("-", ""));
break;
case CONTEXT:
if(!StringUtils.isEmpty(deFieldDefaultValue)){
if(!StringUtils.isEmpty(deFieldDefaultValue)) {
Object paramFieldValue=et.get(deFieldDefaultValue);
if(!ObjectUtils.isEmpty(paramFieldValue)){
et.set(fieldname,paramFieldValue);
if(!ObjectUtils.isEmpty(paramFieldValue)) {
et.set(fieldname, paramFieldValue);
}
}
break;
case PARAM:
if(!StringUtils.isEmpty(deFieldDefaultValue)){
if(!StringUtils.isEmpty(deFieldDefaultValue)) {
Object paramFieldValue=et.get(deFieldDefaultValue);
if(!ObjectUtils.isEmpty(paramFieldValue)){
et.set(fieldname,paramFieldValue);
if(!ObjectUtils.isEmpty(paramFieldValue)) {
et.set(fieldname, paramFieldValue);
}
}
break;
case OPERATOR:
et.set(fieldname,curUser.getUserid());
et.set(fieldname, curUser.getUserid());
break;
case OPERATORNAME:
et.set(fieldname,curUser.getPersonname());
et.set(fieldname, curUser.getPersonname());
break;
case CURTIME:
et.set(fieldname,new Timestamp(new Date().getTime()));
et.set(fieldname, new Timestamp(new Date().getTime()));
break;
case APPDATA:
//暂未实现
break;
case NONE:
et.set(fieldname,deFieldDefaultValue);
et.set(fieldname, deFieldDefaultValue);
break;
}
}
}
}
private void fillPreFieldValue(String fieldname , DEPredefinedFieldType preFieldType ,EntityBase et , String actionName,String logicValue ,AuthenticationUser curUser) throws Exception {
private void fillPreFieldValue(String fieldname, DEPredefinedFieldType preFieldType, EntityBase et, String actionName, String logicValue, AuthenticationUser curUser) throws Exception {
Object fieldValue = et.get(fieldname);
//为预置属性进行赋值
if( actionName.toLowerCase().startsWith("create") ||
if(actionName.toLowerCase().startsWith("create") ||
preFieldType== DEPredefinedFieldType.UPDATEDATE|| preFieldType== DEPredefinedFieldType.UPDATEMAN||
preFieldType== DEPredefinedFieldType.UPDATEMANNAME){
preFieldType== DEPredefinedFieldType.UPDATEMANNAME) {
switch(preFieldType){//根据注解给预置属性填充值
switch(preFieldType) {
case CREATEMAN:
et.set(fieldname,curUser.getUserid());
et.set(fieldname, curUser.getUserid());
break;
case CREATEMANNAME:
et.set(fieldname,curUser.getPersonname());
et.set(fieldname, curUser.getPersonname());
break;
case UPDATEMAN:
et.set(fieldname,curUser.getUserid());
et.set(fieldname, curUser.getUserid());
break;
case UPDATEMANNAME:
et.set(fieldname,curUser.getPersonname());
et.set(fieldname, curUser.getPersonname());
break;
case CREATEDATE:
et.set(fieldname,new Timestamp(new Date().getTime()));
et.set(fieldname, new Timestamp(new Date().getTime()));
break;
case UPDATEDATE:
et.set(fieldname,new Timestamp(new Date().getTime()));
et.set(fieldname, new Timestamp(new Date().getTime()));
break;
case ORGID:
if(org.springframework.util.StringUtils.isEmpty(fieldValue))
et.set(fieldname,curUser.getOrgid());
if(org.springframework.util.StringUtils.isEmpty(fieldValue)) {
et.set(fieldname, curUser.getOrgid());
}
break;
case ORGNAME:
if(org.springframework.util.StringUtils.isEmpty(fieldValue))
et.set(fieldname,curUser.getOrgname());
if(org.springframework.util.StringUtils.isEmpty(fieldValue)) {
et.set(fieldname, curUser.getOrgname());
}
break;
case ORGSECTORID:
if(org.springframework.util.StringUtils.isEmpty(fieldValue))
et.set(fieldname,curUser.getMdeptid());
if(org.springframework.util.StringUtils.isEmpty(fieldValue)) {
et.set(fieldname, curUser.getMdeptid());
}
break;
case ORGSECTORNAME:
if(org.springframework.util.StringUtils.isEmpty(fieldValue))
et.set(fieldname,curUser.getMdeptname());
if(org.springframework.util.StringUtils.isEmpty(fieldValue)) {
et.set(fieldname, curUser.getMdeptname());
}
break;
case LOGICVALID:
if(StringUtils.isEmpty(logicValue)){
if(StringUtils.isEmpty(logicValue)) {
logicValue="1";
}
et.set(fieldname,logicValue);
et.set(fieldname, logicValue);
break;
}
}
......
......@@ -32,55 +32,62 @@ import java.util.Map;
public class VersionCheckAspect
{
private final ExpressionParser parser = new SpelExpressionParser();
private final String IgnoreField="ignoreversioncheck";
private final String IgnoreField = "ignoreversioncheck";
@SneakyThrows
@Before("execution(* cn.ibizlab.*.rest.*.update(..)) && @annotation(versionCheck)")
public void BeforeUpdate(JoinPoint point, VersionCheck versionCheck){
public void BeforeUpdate(JoinPoint point, VersionCheck versionCheck) {
Object[] args = point.getArgs();
Object id=args[0];
Object dto=args[1];
if(ObjectUtils.isEmpty(id) || ObjectUtils.isEmpty(dto))
Object id = args[0];
Object dto = args[1];
if(ObjectUtils.isEmpty(id) || ObjectUtils.isEmpty(dto)) {
return;
String versionField=versionCheck.versionfield();
if(StringUtils.isEmpty(versionField))
}
String versionField = versionCheck.versionfield();
if(StringUtils.isEmpty(versionField)) {
return;
versionCheck(versionCheck,point.getTarget(),dto,id);
}
versionCheck(versionCheck,point.getTarget(), dto, id);
}
@SneakyThrows
@Before("execution(* cn.ibizlab.*.rest.*.updateBy*(..)) && @annotation(versionCheck)")
public void BeforeUpdateBy(JoinPoint point, VersionCheck versionCheck){
public void BeforeUpdateBy(JoinPoint point, VersionCheck versionCheck) {
Object[] args = point.getArgs();
if(args.length>=2){
Object id=args[args.length-2];
Object dto=args[args.length-1];
if(ObjectUtils.isEmpty(id) || ObjectUtils.isEmpty(dto))
if(args.length>=2) {
Object id = args[args.length-2];
Object dto = args[args.length-1];
if(ObjectUtils.isEmpty(id) || ObjectUtils.isEmpty(dto)) {
return;
String versionField=versionCheck.versionfield();
if(StringUtils.isEmpty(versionField))
}
String versionField = versionCheck.versionfield();
if(StringUtils.isEmpty(versionField)) {
return;
versionCheck(versionCheck,point.getTarget(),dto,id);
}
versionCheck(versionCheck, point.getTarget(), dto, id);
}
}
private void versionCheck(VersionCheck versionCheck,Object resource,Object dto,Object id ){
private void versionCheck(VersionCheck versionCheck, Object resource, Object dto, Object id) {
EvaluationContext context = new StandardEvaluationContext();
context.setVariable("dto",dto);
context.setVariable("dto", dto);
//忽略版本检查
Expression dtoParamsExp = parser.parseExpression("#dto.extensionparams");
Map dtoParam=dtoParamsExp.getValue(context, Map.class);
if(!ObjectUtils.isEmpty(dtoParam) && !ObjectUtils.isEmpty(dtoParam.get(IgnoreField)) && dtoParam.get(IgnoreField).equals(1))
Map dtoParam = dtoParamsExp.getValue(context, Map.class);
if(!ObjectUtils.isEmpty(dtoParam) && !ObjectUtils.isEmpty(dtoParam.get(IgnoreField)) && dtoParam.get(IgnoreField).equals(1)) {
return;
Expression newExp = parser.parseExpression(String.format("#dto.%s",versionCheck.versionfield()));
Object newVersion=newExp.getValue(context);
if(ObjectUtils.isEmpty(newVersion))
}
Expression newExp = parser.parseExpression(String.format("#dto.%s", versionCheck.versionfield()));
Object newVersion = newExp.getValue(context);
if(ObjectUtils.isEmpty(newVersion)) {
return;
}
//进行版本检查
Object oldVersion =getDBVersion(versionCheck,getService(resource,versionCheck.entity()),id);
if(!ObjectUtils.isEmpty(oldVersion)){
if(RuleUtils.gt(newVersion,oldVersion))
throw new BadRequestAlertException("数据已变更,可能后台数据已被修改,请重新加载数据","VersionCheckAspect","versionCheck");
Object oldVersion = getDBVersion(versionCheck,getService(resource, versionCheck.entity()), id);
if(!ObjectUtils.isEmpty(oldVersion)) {
if(RuleUtils.gt(newVersion, oldVersion)) {
throw new BadRequestAlertException("数据已变更,可能后台数据已被修改,请重新加载数据", "VersionCheckAspect", "versionCheck");
}
}
}
......@@ -91,12 +98,12 @@ public class VersionCheckAspect
* @return
*/
@SneakyThrows
private Object getService(Object resource,String entity){
private Object getService(Object resource, String entity) {
Object service = null;
Field[] fields= resource.getClass().getDeclaredFields();
for(Field field : fields){
if(field.getModifiers()==1 && field.getName().equalsIgnoreCase(String.format("%sService",entity))){
service=field.get(resource);
Field[] fields = resource.getClass().getDeclaredFields();
for(Field field : fields) {
if(field.getModifiers()==1 && field.getName().equalsIgnoreCase(String.format("%sService",entity))) {
service = field.get(resource);
break;
}
}
......@@ -111,21 +118,21 @@ public class VersionCheckAspect
* @return
*/
@SneakyThrows
private Object getDBVersion(VersionCheck versionCheck,Object service,Object id){
private Object getDBVersion(VersionCheck versionCheck, Object service, Object id) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Timestamp dbVersion=null;
String versionField=versionCheck.versionfield();
if(!ObjectUtils.isEmpty(service)){
Timestamp dbVersion = null;
String versionField = versionCheck.versionfield();
if(!ObjectUtils.isEmpty(service)) {
EvaluationContext oldContext = new StandardEvaluationContext();
oldContext.setVariable("service",service);
oldContext.setVariable("id",id);
oldContext.setVariable("service", service);
oldContext.setVariable("id", id);
Expression oldExp = parser.parseExpression("#service.get(#id)");
EntityBase oldEntity =oldExp.getValue(oldContext, EntityBase.class);
Object oldDate=oldEntity.get(versionField);
if(oldDate!=null && oldDate instanceof Timestamp){
Timestamp db_time= (Timestamp) oldDate;
EntityBase oldEntity = oldExp.getValue(oldContext, EntityBase.class);
Object oldDate = oldEntity.get(versionField);
if(oldDate!=null && oldDate instanceof Timestamp) {
Timestamp db_time = (Timestamp) oldDate;
Date db_date = sdf.parse(sdf.format(db_time));
dbVersion=new Timestamp(db_date.getTime());
dbVersion = new Timestamp(db_date.getTime());
}
}
return dbVersion;
......
......@@ -21,33 +21,39 @@ public class DTOBase implements Serializable {
public void modify(String field,Object val) {
if(val==null)
if(val==null) {
this.getFocusNull(true).add(field.toLowerCase());
else
}
else {
this.getFocusNull(true).remove(field.toLowerCase());
}
}
public Set<String> getFocusNull() {
if(focusNull==null)
if(focusNull==null) {
focusNull=new HashSet<>();
}
if(focusNull.size()>0 && extensionparams.containsKey("dirtyflagenable"))
{
Set<String> nocheck=new HashSet<>();
for(String key:focusNull)
{
if(!extensionparams.containsKey(key+"dirtyflag"))
if(!extensionparams.containsKey(key+"dirtyflag")) {
nocheck.add(key);
}
}
for(String key:nocheck)
for(String key:nocheck) {
focusNull.remove(key);
}
}
return focusNull;
}
private Set<String> getFocusNull(boolean newflag) {
if(focusNull==null)
if(focusNull==null) {
focusNull=new HashSet<>();
}
return focusNull;
}
......
......@@ -24,8 +24,9 @@ public class EntityBase implements Serializable {
private Set<String> focusNull;
public Set<String> getFocusNull() {
if(focusNull==null)
if(focusNull==null) {
focusNull=new HashSet<>();
}
return focusNull;
}
......@@ -50,8 +51,9 @@ public class EntityBase implements Serializable {
private BeanMap getMap()
{
if(map==null)
map=BeanMap.create(this);
if(map==null) {
map=BeanMap.create(this);
}
return map;
}
......@@ -68,17 +70,16 @@ public class EntityBase implements Serializable {
this.extensionparams = extensionparams;
}
public Object get(String field) {
String fieldRealName=DEFieldCacheMap.getFieldRealName(this.getClass(),field);
if(!StringUtils.isEmpty(fieldRealName))
if(!StringUtils.isEmpty(fieldRealName)) {
return getMap().get(fieldRealName);
else
}
else {
return this.extensionparams.get(field.toLowerCase());
}
}
@JsonAnyGetter
public Map<String , Object> any() {
return extensionparams;
......@@ -89,13 +90,16 @@ public class EntityBase implements Serializable {
field=field.toLowerCase();
String fieldRealName=DEFieldCacheMap.getFieldRealName(this.getClass(),field);
if(!StringUtils.isEmpty(fieldRealName)) {
if (value == null)
if (value == null) {
getMap().put(fieldRealName, null);
else
}
else {
getMap().put(fieldRealName, DEFieldCacheMap.fieldValueOf(this.getClass(), fieldRealName, value));
}
}
else
else {
this.extensionparams.put(field.toLowerCase(),value);
}
}
/**
......
......@@ -5,24 +5,25 @@ import org.springframework.util.StringUtils;
public class EntityMP extends EntityBase {
public UpdateWrapper getUpdateWrapper(boolean clean) {
UpdateWrapper wrapper=new UpdateWrapper();
for(String nullField:getFocusNull()) {
wrapper.set(nullField,null);
}
if(clean)
if(clean) {
getFocusNull().clear();
}
return wrapper;
}
@Override
public void modify(String field,Object val) {
if(val==null)
if(val==null) {
this.getFocusNull().add(field.toLowerCase());
else
}
else {
this.getFocusNull().remove(field.toLowerCase());
}
}
@Override
......@@ -33,6 +34,5 @@ public class EntityMP extends EntityBase {
getFocusNull().remove(resetField);
}
}
}
......@@ -2,7 +2,5 @@ package cn.ibizlab.util.domain;
public class EntityMongo extends EntityBase {
}
......@@ -44,9 +44,9 @@ public class QueryBuildContext extends SearchContextBase implements ISearchConte
*/
private QueryBuilder parseQueryFilter(QueryFilter queryFilter){
if( ObjectUtils.isEmpty(queryFilter.get$and()) && ObjectUtils.isEmpty(queryFilter.get$or()) && ObjectUtils.isEmpty(queryFilter.any()))
if(ObjectUtils.isEmpty(queryFilter.get$and()) && ObjectUtils.isEmpty(queryFilter.get$or()) && ObjectUtils.isEmpty(queryFilter.any())) {
return null;
}
QueryBuilder rsBuilder=QueryBuilder.start();
QueryBuilder fieldBuilder=parseFieldMap(queryFilter.any());
QueryBuilder orBuilder=parseOrQueryFilter(queryFilter.get$or());
......@@ -107,8 +107,9 @@ public class QueryBuildContext extends SearchContextBase implements ISearchConte
* @return
*/
private QueryBuilder parseFieldMap(Map<String , QueryFilter.SegmentCond> fieldMap) {
if(fieldMap.size()==0)
if(fieldMap.size()==0) {
return null;
}
QueryBuilder fieldBuilders=QueryBuilder.start();
for(Map.Entry<String, QueryFilter.SegmentCond> entry: fieldMap.entrySet()){
getSegmentCondSql(entry.getKey(),entry.getValue(),fieldBuilders);
......
......@@ -63,8 +63,9 @@ public class QueryFilter {
private Map<String,SegmentCond> getMap()
{
if(map==null)
if(map==null) {
map=new LinkedHashMap<>();
}
return map;
}
......@@ -132,11 +133,12 @@ public class QueryFilter {
}
private QueryFilter op(String column, SegmentCond segmentCond) {
if(this.getMap().containsKey(column))
if(this.getMap().containsKey(column)) {
((SegmentCond)this.getMap().get(column)).getMap().putAll(segmentCond.getMap());
else
}
else {
this.getMap().put(column,segmentCond);
}
return this;
}
......@@ -155,8 +157,9 @@ public class QueryFilter {
private Map<String,Object> getMap()
{
if(map==null)
if(map==null) {
map=new LinkedHashMap<>();
}
return map;
}
......
......@@ -37,17 +37,20 @@ public class QueryWrapperContext<T> extends SearchContextBase implements ISearch
int pageSize=getPageable().getPageSize();
//构造mybatis-plus分页
if(StringUtils.isEmpty(currentPage) || StringUtils.isEmpty(pageSize))
if(StringUtils.isEmpty(currentPage) || StringUtils.isEmpty(pageSize)) {
page=new Page(1,Short.MAX_VALUE);
else
}
else {
page=new Page(currentPage+1,pageSize);
}
//构造mybatis-plus排序
Sort sort = getPageable().getSort();
Iterator<Sort.Order> it_sort = sort.iterator();
if(ObjectUtils.isEmpty(it_sort))
if(ObjectUtils.isEmpty(it_sort)) {
return page;
}
ParameterizedType parameterizedType = (ParameterizedType) getClass().getGenericSuperclass();
Class<T> type = (Class<T>)parameterizedType.getActualTypeArguments()[0];
......@@ -95,9 +98,9 @@ public class QueryWrapperContext<T> extends SearchContextBase implements ISearch
* @return
*/
private Consumer<QueryWrapper<T>> parseQueryFilter(QueryFilter queryFilter){
if(queryFilter.any().size()==0 && queryFilter.get$or()==null && queryFilter.get$and()==null)
return null;
if(queryFilter.any().size()==0 && queryFilter.get$or()==null && queryFilter.get$and()==null) {
return null;
}
Consumer<QueryWrapper<T>> consumer = queryWrapper -> {
Consumer fieldConsumer=parseFieldMap(queryFilter.any());
Consumer orConsumer=parseOrQueryFilter(queryFilter.get$or());
......@@ -121,7 +124,6 @@ public class QueryWrapperContext<T> extends SearchContextBase implements ISearch
* @return
*/
private Consumer<QueryWrapper<T>> parseOrQueryFilter(List<QueryFilter> queryFilters) {
if(queryFilters==null || queryFilters.size()==0)
return null;
Consumer<QueryWrapper<T>> consumer = queryWrapper -> {
......@@ -139,10 +141,10 @@ public class QueryWrapperContext<T> extends SearchContextBase implements ISearch
* @return
*/
private Consumer<QueryWrapper<T>> parseAndQueryFilter(List<QueryFilter> queryFilters) {
if(queryFilters==null || queryFilters.size()==0)
if(queryFilters==null || queryFilters.size()==0) {
return null;
Consumer<QueryWrapper<T>> consumer = queryWrapper -> {
}
Consumer<QueryWrapper<T>> consumer = queryWrapper -> {
for(QueryFilter queryFilter: queryFilters){
Consumer tempQueryWrapper=parseQueryFilter(queryFilter);
queryWrapper.and(tempQueryWrapper);
......@@ -157,9 +159,9 @@ public class QueryWrapperContext<T> extends SearchContextBase implements ISearch
* @return
*/
private Consumer<QueryWrapper<T>> parseFieldMap(Map<String , QueryFilter.SegmentCond> fieldMap) {
if(fieldMap.size()==0)
if(fieldMap.size()==0) {
return null;
}
Consumer<QueryWrapper<T>> consumer = queryWrapper -> {
for(Map.Entry<String, QueryFilter.SegmentCond> field: fieldMap.entrySet()){
String fieldName=field.getKey();
......
......@@ -98,10 +98,12 @@ public class SearchContextBase implements ISearchContext{
* @return
*/
public Pageable getPageable() {
if(ObjectUtils.isEmpty(pageSort))
return PageRequest.of(page,size);
else
return PageRequest.of(page,size,pageSort);
if(ObjectUtils.isEmpty(pageSort)) {
return PageRequest.of(page,size);
}
else {
return PageRequest.of(page,size,pageSort);
}
}
/**
......
......@@ -13,8 +13,9 @@ public class CachedBeanCopier {
}
public static void copy(Object srcObj, Object destObj,boolean useConverter) {
if(srcObj==null||destObj==null)
if(srcObj==null||destObj==null) {
return;
}
getCopier(srcObj,destObj,useConverter).copy(srcObj, destObj, null);
}
......@@ -29,6 +30,4 @@ public class CachedBeanCopier {
}
return copier;
}
}
......@@ -36,13 +36,16 @@ public class DEFieldCacheMap {
*/
public static <T> Hashtable<String,Field> getFieldMap(Class<T> clazz) {
String className=clazz.getName();
if(className.indexOf("_$")>0)
className=className.substring(0, className.lastIndexOf("_$"));
if(cacheMap.containsKey(className))
return cacheMap.get(className);
if(className.indexOf("_$")>0) {
className=className.substring(0, className.lastIndexOf("_$"));
}
if(cacheMap.containsKey(className)) {
return cacheMap.get(className);
}
synchronized (objLock1) {
if(cacheMap.containsKey(className))
return cacheMap.get(className);
if(cacheMap.containsKey(className)) {
return cacheMap.get(className);
}
Hashtable<String,Field> result = new Hashtable<String,Field>();
List<Field> list=new ArrayList<Field>();
Hashtable<String,String> keys=new Hashtable<String,String>();
......@@ -58,8 +61,9 @@ public class DEFieldCacheMap {
Audit auditField=field.getAnnotation(Audit.class);
if(!ObjectUtils.isEmpty(deField)) {
defields.put(field.getName(),deField);
if(deField.isKeyField())
cacheDEKeyField.put(className,field.getName());
if(deField.isKeyField()) {
cacheDEKeyField.put(className,field.getName());
}
}
if(!ObjectUtils.isEmpty(auditField)) {
auditfields.put(field.getName(),auditField);
......@@ -74,10 +78,12 @@ public class DEFieldCacheMap {
}
}
public static Hashtable<String,Field> getFieldMap(String className) {
if(className.indexOf("_$")>0)
className=className.substring(0, className.lastIndexOf("_$"));
if(cacheMap.containsKey(className))
return cacheMap.get(className);
if(className.indexOf("_$")>0) {
className=className.substring(0, className.lastIndexOf("_$"));
}
if(cacheMap.containsKey(className)) {
return cacheMap.get(className);
}
Class clazz = null;
try {
clazz = Class.forName(className);
......@@ -96,10 +102,12 @@ public class DEFieldCacheMap {
*/
public static <T> Hashtable<String,DEField> getDEFields(Class<T> clazz) {
String className=clazz.getName();
if(className.indexOf("_$")>0)
if(className.indexOf("_$")>0) {
className=className.substring(0, className.lastIndexOf("_$"));
if(cacheDEField.containsKey(className))
}
if(cacheDEField.containsKey(className)) {
return cacheDEField.get(className);
}
else{
DEFieldCacheMap.getFieldMap(className);
return cacheDEField.get(className);
......@@ -113,10 +121,12 @@ public class DEFieldCacheMap {
*/
public static <T> Hashtable<String,Audit> getAuditFields(Class<T> clazz) {
String className=clazz.getName();
if(className.indexOf("_$")>0)
if(className.indexOf("_$")>0) {
className=className.substring(0, className.lastIndexOf("_$"));
if(cacheAuditField.containsKey(className))
}
if(cacheAuditField.containsKey(className)) {
return cacheAuditField.get(className);
}
else{
DEFieldCacheMap.getFieldMap(className);
return cacheAuditField.get(className);
......@@ -130,10 +140,12 @@ public class DEFieldCacheMap {
*/
public static <T> String getDEKeyField(Class<T> clazz) {
String className=clazz.getName();
if(className.indexOf("_$")>0)
if(className.indexOf("_$")>0) {
className=className.substring(0, className.lastIndexOf("_$"));
if(cacheDEKeyField.containsKey(className))
}
if(cacheDEKeyField.containsKey(className)) {
return cacheDEKeyField.get(className);
}
else{
DEFieldCacheMap.getFieldMap(className);
return cacheDEKeyField.get(className);
......@@ -148,10 +160,12 @@ public class DEFieldCacheMap {
*/
public static <T> List<Field> getFields(Class<T> clazz) {
String className=clazz.getName();
if(className.indexOf("_$")>0)
if(className.indexOf("_$")>0) {
className=className.substring(0, className.lastIndexOf("_$"));
if(cacheList.containsKey(className))
}
if(cacheList.containsKey(className)) {
return cacheList.get(className);
}
else{
DEFieldCacheMap.getFieldMap(className);
return cacheList.get(className);
......@@ -159,10 +173,12 @@ public class DEFieldCacheMap {
}
public static List<Field> getFields(String className) {
if(className.indexOf("_$")>0)
if(className.indexOf("_$")>0) {
className=className.substring(0, className.lastIndexOf("_$"));
if(cacheList.containsKey(className))
}
if(cacheList.containsKey(className)) {
return cacheList.get(className);
}
else{
DEFieldCacheMap.getFieldMap(className);
return cacheList.get(className);
......@@ -176,10 +192,12 @@ public class DEFieldCacheMap {
*/
public static <T> Hashtable<String,String> getFieldKeys(Class<T> clazz) {
String className=clazz.getName();
if(className.indexOf("_$")>0)
if(className.indexOf("_$")>0) {
className=className.substring(0, className.lastIndexOf("_$"));
if(cacheKey.containsKey(className))
}
if(cacheKey.containsKey(className)) {
return cacheKey.get(className);
}
else{
DEFieldCacheMap.getFieldMap(className);
return cacheKey.get(className);
......@@ -189,20 +207,25 @@ public class DEFieldCacheMap {
public static <T> String getFieldRealName(Class<T> clazz,String fieldname) {
fieldname=fieldname.toLowerCase();
Hashtable<String,String> keys=DEFieldCacheMap.getFieldKeys(clazz);
if(keys.containsKey(fieldname))
if(keys.containsKey(fieldname)) {
return keys.get(fieldname);
else if(keys.containsKey(fieldname.replace("_","")))
}
else if(keys.containsKey(fieldname.replace("_",""))) {
return keys.get(fieldname.replace("_",""));
else
}
else {
return "";
}
}
public static <T> Field getField(Class<T> clazz,String fieldname) {
String fieldRealName=DEFieldCacheMap.getFieldRealName(clazz,fieldname);
if(!StringUtils.isEmpty(fieldRealName))
if(!StringUtils.isEmpty(fieldRealName)) {
return DEFieldCacheMap.getFieldMap(clazz).get(fieldRealName);
else
}
else {
return null;
}
}
public static <T> String getFieldColumnName(Class<T> clazz,String fieldname) {
......@@ -226,6 +249,4 @@ public class DEFieldCacheMap {
}
return resultValue;
}
}
\ No newline at end of file
......@@ -19,30 +19,34 @@ public class DataObject {
final static public DateFormat dayFormat = new SimpleDateFormat("yyyy-MM-dd");
final static public String getStringValue(Object objValue, String strDefault) {
if (objValue == null) return strDefault;
if (objValue instanceof String) return (String) objValue;
if (objValue == null) {
return strDefault;
}
if (objValue instanceof String) {
return (String) objValue;
}
if (objValue instanceof java.sql.Timestamp||objValue instanceof java.sql.Date||objValue instanceof java.util.Date) {
String rt=datetimeFormat.format(objValue);
if(rt.endsWith(" 00:00:00"))
if(rt.endsWith(" 00:00:00")) {
rt=dayFormat.format(objValue);
else if(rt.endsWith(":00"))
}
else if(rt.endsWith(":00")) {
rt=datetimeFormat2.format(objValue);
}
return rt;
}
return objValue.toString();
}
public static <T> Object objectValueOf(Class<T> type,Object fieldValue) {
if(fieldValue==null)
if(fieldValue==null) {
return null;
}
Object resultValue=fieldValue;
String targetType=type.getSimpleName();
if(targetType.equalsIgnoreCase(fieldValue.getClass().getSimpleName()))
if(targetType.equalsIgnoreCase(fieldValue.getClass().getSimpleName())){
return resultValue;
}
if(targetType.equals("Boolean")){
resultValue=getBooleanValue(fieldValue,false);
}
......@@ -79,10 +83,9 @@ public class DataObject {
else if(targetType.equals("String")) {
resultValue= getStringValue(fieldValue,null);
}
if(resultValue==null)
if(resultValue==null) {
return null;
}
return resultValue;
}
......@@ -95,8 +98,9 @@ public class DataObject {
if (objValue == null) {
return jDefault;
}
if(objValue instanceof JSONObject)
if(objValue instanceof JSONObject) {
return (JSONObject)objValue;
}
String strValue = objValue.toString();
try {
return JSONObject.parseObject(strValue);
......@@ -111,8 +115,9 @@ public class DataObject {
if (objValue == null) {
return jDefault;
}
if(objValue instanceof JSONArray)
if(objValue instanceof JSONArray) {
return (JSONArray)objValue;
}
String strValue = objValue.toString();
try {
return JSONArray.parseArray(strValue);
......@@ -133,8 +138,9 @@ public class DataObject {
List<String> chk1=new ArrayList<>();
for(int i=0;i<arr.size();i++)
{
if(arr.get(i) instanceof String)
if(arr.get(i) instanceof String) {
chk1.add(arr.getString(i));
}
}
return chk1;
}
......@@ -146,8 +152,9 @@ public class DataObject {
}
final static public Boolean getBooleanValue(Object objValue,Boolean bDefault) {
if (objValue == null) return bDefault;
if (objValue == null) {
return bDefault;
}
if (objValue instanceof Boolean) {
return (Boolean) objValue;
}
......@@ -155,20 +162,24 @@ public class DataObject {
}
final static public char[] getCharacterValue(Object objValue,char[] cDefault) {
if (objValue == null) return cDefault;
if (objValue == null) {
return cDefault;
}
return objValue.toString().toCharArray();
}
final static public Double getDoubleValue(Object objValue,Double dDefault) {
if (objValue == null) return dDefault;
if (objValue == null) {
return dDefault;
}
if (objValue instanceof Double) {
return (Double) objValue;
}
String strValue = objValue.toString();
if (StringUtils.isEmpty(strValue)) return null;
if (StringUtils.isEmpty(strValue)) {
return null;
}
strValue = strValue.replace(",", "");
return Double.parseDouble(strValue);
}
......@@ -179,8 +190,9 @@ public class DataObject {
return nDefault;
}
if(objValue instanceof Integer)
if(objValue instanceof Integer) {
return (Integer)objValue;
}
if (objValue instanceof Double) {
return ((Double) objValue).intValue();
......@@ -191,8 +203,9 @@ public class DataObject {
}
String strValue = objValue.toString();
if(StringUtils.isEmpty(strValue))
if(StringUtils.isEmpty(strValue)) {
return nDefault;
}
strValue = strValue.replace(",", "");
return Integer.parseInt(strValue);
}
......@@ -204,12 +217,13 @@ public class DataObject {
}
try {
if(objValue instanceof Float)
if(objValue instanceof Float) {
return (Float)objValue;
}
String strValue = objValue.toString();
if(StringUtils.isEmpty(strValue))
if(StringUtils.isEmpty(strValue)) {
return fDefault;
}
strValue = strValue.replace(",", "");
return Float.parseFloat(strValue);
} catch (Exception ex) {
......@@ -233,8 +247,9 @@ public class DataObject {
return BigDecimal.valueOf((Long)objValue);
}
String strValue = objValue.toString();
if(StringUtils.isEmpty(strValue))
if(StringUtils.isEmpty(strValue)) {
return fDefault;
}
strValue = strValue.replace(",", "");
return BigDecimal.valueOf(Double.parseDouble(strValue));
} catch (Exception ex) {
......@@ -253,8 +268,9 @@ public class DataObject {
}
else {
Long l=getLongValue(objValue,null);
if(l!=null)
if(l!=null) {
return BigInteger.valueOf(l);
}
}
} catch (Exception ex) {
......@@ -283,8 +299,9 @@ public class DataObject {
}
String strValue = objValue.toString();
if(StringUtils.isEmpty(strValue))
if(StringUtils.isEmpty(strValue)) {
return nDefault;
}
strValue = strValue.replace(",", "");
return Long.parseLong(strValue);
} catch (Exception ex) {
......@@ -294,7 +311,9 @@ public class DataObject {
final static public byte[] getBinaryValue(Object objValue, byte[] def) {
if (objValue == null) return def;
if (objValue == null) {
return def;
}
if(objValue instanceof byte[]){
return (byte[])objValue;
}
......@@ -312,7 +331,9 @@ public class DataObject {
* @
*/
final static public java.sql.Timestamp getTimestampValue(Object objValue,java.sql.Timestamp tDefault) {
if (objValue == null) return tDefault;
if (objValue == null) {
return tDefault;
}
if (objValue instanceof java.sql.Timestamp) {
java.sql.Timestamp ti = (java.sql.Timestamp) objValue;
......@@ -332,7 +353,9 @@ public class DataObject {
if (objValue instanceof String) {
String strValue = (String) objValue;
strValue = strValue.trim();
if (StringUtils.isEmpty(strValue)) return null;
if (StringUtils.isEmpty(strValue)) {
return null;
}
try {
java.util.Date date = parse((String) objValue);
......@@ -373,7 +396,9 @@ public class DataObject {
* @
*/
public static Object testDateTime(String strInput, TimeZone timeZone) throws Exception{
if (StringUtils.isEmpty(strInput)) return null;
if (StringUtils.isEmpty(strInput)) {
return null;
}
Date dtDate = parse(strInput, timeZone);
java.sql.Timestamp retDate = new java.sql.Timestamp(dtDate.getTime());
return retDate;
......@@ -425,8 +450,9 @@ public class DataObject {
if(strTimeString.indexOf("T")!=-1){
strPart = strTimeString.split("[T]");
}
else
else{
strPart = strTimeString.split(" ");
}
if (strPart.length == 2) {
// 两个部分
String strDate = "";
......@@ -589,6 +615,4 @@ public class DataObject {
return new Timestamp(cl.getTime().getTime());
}
}
......@@ -18,8 +18,9 @@ public class RuleUtils
public static Object getObj(Object object, String members)
{
if(object==null)
if(object==null) {
return null;
}
Object currentObj = object;
String[] arrayOfString = members.split("\\.");
int i = arrayOfString.length;
......@@ -31,20 +32,23 @@ public class RuleUtils
if(currentObj instanceof EntityBase)
{
currentObj=((EntityBase) currentObj).get(methodName);
if (currentObj == null)
if (currentObj == null) {
return null;
}
}
else if(currentObj instanceof JSONObject)
{
currentObj=((JSONObject) currentObj).get(methodName);
if (currentObj == null)
if (currentObj == null) {
return null;
}
}
else if(currentObj instanceof Map)
{
currentObj=((Map) currentObj).get(methodName);
if (currentObj == null)
if (currentObj == null) {
return null;
}
}
else
{
......@@ -60,10 +64,10 @@ public class RuleUtils
}
currentObj = method.invoke(currentObj, methodName);
if (currentObj == null)
if (currentObj == null){
return null;
}
}
}
catch (Exception e)
{
......@@ -77,44 +81,63 @@ public class RuleUtils
public static boolean test(Object finalObject,String option,Object exp)
{
if(option.equalsIgnoreCase("eq")||option.equalsIgnoreCase("equal")||option.equalsIgnoreCase("="))
if(option.equalsIgnoreCase("eq")||option.equalsIgnoreCase("equal")||option.equalsIgnoreCase("=")){
return equal(exp,finalObject);
else if (option.equalsIgnoreCase("noteq")||option.equalsIgnoreCase("notequal")||option.equalsIgnoreCase("<>")||option.equalsIgnoreCase("!="))
}
else if (option.equalsIgnoreCase("noteq")||option.equalsIgnoreCase("notequal")||option.equalsIgnoreCase("<>")||option.equalsIgnoreCase("!=")){
return !equal(exp,finalObject);
else if (option.equalsIgnoreCase("gt")||option.equalsIgnoreCase(">"))
}
else if (option.equalsIgnoreCase("gt")||option.equalsIgnoreCase(">")){
return gt(exp,finalObject);
else if (option.equalsIgnoreCase("lt")||option.equalsIgnoreCase("<"))
}
else if (option.equalsIgnoreCase("lt")||option.equalsIgnoreCase("<")){
return lt(exp,finalObject);
else if (option.equalsIgnoreCase("gtandeq")||option.equalsIgnoreCase("ge")||option.equalsIgnoreCase(">="))
}
else if (option.equalsIgnoreCase("gtandeq")||option.equalsIgnoreCase("ge")||option.equalsIgnoreCase(">=")){
return ge(exp,finalObject);
else if (option.equalsIgnoreCase("ltandeq")||option.equalsIgnoreCase("le")||option.equalsIgnoreCase("<="))
}
else if (option.equalsIgnoreCase("ltandeq")||option.equalsIgnoreCase("le")||option.equalsIgnoreCase("<=")){
return le(exp,finalObject);
else if (option.equalsIgnoreCase("null")||option.equalsIgnoreCase("isnull"))
}
else if (option.equalsIgnoreCase("null")||option.equalsIgnoreCase("isnull")){
return isNull(finalObject);
else if (option.equalsIgnoreCase("notnull")||option.equalsIgnoreCase("isnotnull"))
}
else if (option.equalsIgnoreCase("notnull")||option.equalsIgnoreCase("isnotnull")){
return isNotNull(finalObject);
else if (option.equalsIgnoreCase("like")||option.equalsIgnoreCase("matchor"))
}
else if (option.equalsIgnoreCase("like")||option.equalsIgnoreCase("matchor")){
return matchor(exp,finalObject);
else if (option.equalsIgnoreCase("leftlike")||option.equalsIgnoreCase("startswith")||option.equalsIgnoreCase("begin"))
}
else if (option.equalsIgnoreCase("leftlike")||option.equalsIgnoreCase("startswith")||option.equalsIgnoreCase("begin")){
return leftmatchor(exp,finalObject);
else if (option.equalsIgnoreCase("rightlike")||option.equalsIgnoreCase("endswith")||option.equalsIgnoreCase("end"))
}
else if (option.equalsIgnoreCase("rightlike")||option.equalsIgnoreCase("endswith")||option.equalsIgnoreCase("end")){
return rightmatchor(exp,finalObject);
else if (option.equalsIgnoreCase("match")||option.equalsIgnoreCase("matchand")||option.equalsIgnoreCase("matches"))
}
else if (option.equalsIgnoreCase("match")||option.equalsIgnoreCase("matchand")||option.equalsIgnoreCase("matches")){
return matchand(exp,finalObject);
else if (option.equalsIgnoreCase("in"))
}
else if (option.equalsIgnoreCase("in")){
return in(exp,finalObject);
else if (option.equalsIgnoreCase("notin"))
}
else if (option.equalsIgnoreCase("notin")){
return notin(exp,finalObject);
else if (option.equalsIgnoreCase("NOTLIKE"))
}
else if (option.equalsIgnoreCase("NOTLIKE")){
return notmatchor(exp,finalObject);
else if (option.equalsIgnoreCase("LEFTNOTLIKE"))
}
else if (option.equalsIgnoreCase("LEFTNOTLIKE")){
return !leftmatchor(exp,finalObject);
else if (option.equalsIgnoreCase("RIGHTNOTLIKE"))
}
else if (option.equalsIgnoreCase("RIGHTNOTLIKE")){
return !rightmatchor(exp,finalObject);
else if (option.equalsIgnoreCase("NOTMATCHES"))
}
else if (option.equalsIgnoreCase("NOTMATCHES")){
return notmatchand(exp,finalObject);
else
}
else{
return false;
}
}
......@@ -125,10 +148,12 @@ public class RuleUtils
public static boolean equal(Object exp, Object finalObject)
{
if(exp==null)
if(exp==null){
return false;
if(finalObject ==null)
}
if(finalObject ==null){
return false;
}
if(exp instanceof String && ((String) exp).length()==10 && finalObject instanceof Timestamp)
{
......@@ -145,10 +170,12 @@ public class RuleUtils
return ObjectUtils.nullSafeEquals(tm,finalObject);
}
if(ObjectUtils.nullSafeEquals(exp,finalObject))
if(ObjectUtils.nullSafeEquals(exp,finalObject)){
return true;
if(exp.toString().equalsIgnoreCase(finalObject.toString()))
}
if(exp.toString().equalsIgnoreCase(finalObject.toString())){
return true;
}
return false;
}
......@@ -158,10 +185,12 @@ public class RuleUtils
}
public static boolean gt(Object exp, Object finalObject)
{
if(ObjectUtils.isEmpty(exp))
if(ObjectUtils.isEmpty(exp)){
return false;
if(ObjectUtils.isEmpty(finalObject))
}
if(ObjectUtils.isEmpty(finalObject)){
return false;
}
try
{
if(finalObject instanceof java.sql.Timestamp)
......@@ -176,8 +205,9 @@ public class RuleUtils
else
{
tm=DataObject.getTimestampValue(exp,null);
if(tm==null)
if(tm==null){
return false;
}
}
return finalTime.getTime()>tm.getTime();
}
......@@ -209,15 +239,14 @@ public class RuleUtils
{
return finalObject.toString().compareToIgnoreCase(exp.toString())>0;
}
else
else{
return false;
}
}
catch(Exception ex)
{
return false;
}
}
public static boolean lt(Object exp, Object object, String members)
......@@ -226,10 +255,12 @@ public class RuleUtils
}
public static boolean lt(Object exp, Object finalObject)
{
if(ObjectUtils.isEmpty(exp))
if(ObjectUtils.isEmpty(exp)){
return false;
if(ObjectUtils.isEmpty(finalObject))
}
if(ObjectUtils.isEmpty(finalObject)){
return false;
}
try
{
if(finalObject instanceof java.sql.Timestamp)
......@@ -311,8 +342,9 @@ public class RuleUtils
return false;
String tvs=expObj.toString().trim();
if(StringUtils.isEmpty(tvs))
if(StringUtils.isEmpty(tvs)){
return false;
}
if (finalObject instanceof Integer)
{
......@@ -352,8 +384,9 @@ public class RuleUtils
}
public static boolean isNull(Object finalObject)
{
if(finalObject instanceof String)
if(finalObject instanceof String){
return StringUtils.isEmpty(finalObject.toString().trim());
}
return (ObjectUtils.isEmpty(finalObject));
}
......@@ -382,11 +415,13 @@ public class RuleUtils
}
public static boolean matchor(Object expObj, Object obj)
{
if(obj==null)
if(obj==null){
return false;
}
String exp=expObj.toString().trim();
if(StringUtils.isEmpty(exp))
if(StringUtils.isEmpty(exp)){
return false;
}
exp=exp.replace(";", ",");
exp=exp.replace(";", ",");
exp=exp.replace(",", ",");
......@@ -403,11 +438,13 @@ public class RuleUtils
public static boolean leftmatchor(Object expObj, Object obj)
{
if(obj==null)
if(obj==null){
return false;
}
String exp=expObj.toString().trim();
if(StringUtils.isEmpty(exp))
if(StringUtils.isEmpty(exp)){
return false;
}
exp=exp.replace(";", ",");
exp=exp.replace(";", ",");
exp=exp.replace(",", ",");
......@@ -416,19 +453,22 @@ public class RuleUtils
for(String strExp:arr)
{
bRt=obj.toString().matches(strExp+"(.*)");
if(bRt)
if(bRt){
return true;
}
}
return bRt;
}
public static boolean rightmatchor(Object expObj, Object obj)
{
if(obj==null)
if(obj==null){
return false;
}
String exp=expObj.toString().trim();
if(StringUtils.isEmpty(exp))
if(StringUtils.isEmpty(exp)){
return false;
}
exp=exp.replace(";", ",");
exp=exp.replace(";", ",");
exp=exp.replace(",", ",");
......@@ -437,8 +477,9 @@ public class RuleUtils
for(String strExp:arr)
{
bRt=obj.toString().matches("(.*)"+strExp);
if(bRt)
if(bRt){
return true;
}
}
return bRt;
}
......@@ -449,13 +490,16 @@ public class RuleUtils
}
public static boolean matchand(Object expObj,Object obj)
{
if(obj==null)
if(obj==null){
return false;
if(expObj==null)
}
if(expObj==null){
return false;
}
String exp=expObj.toString().trim();
if(StringUtils.isEmpty(exp))
if(StringUtils.isEmpty(exp)){
return false;
}
exp=exp.replace(";", ",");
exp=exp.replace(";", ",");
exp=exp.replace(",", ",");
......@@ -464,11 +508,13 @@ public class RuleUtils
boolean bRt=true;
for(String strExp:arr)
{
if(strExp.trim().length()==0)
if(strExp.trim().length()==0){
continue;
}
bRt=(obj.toString()).matches("(.*)"+(strExp)+"(.*)");
if(!bRt)
if(!bRt){
return false;
}
}
return bRt;
}
......@@ -503,12 +549,14 @@ public class RuleUtils
switch (str1.hashCode())
{
case 105:
if (str1.equals("i"))
if (str1.equals("i")){
i = 0;
}
break;
case 115:
if (str1.equals("s"))
if (str1.equals("s")){
i = 1;
}
}
switch (i)
{
......
......@@ -49,14 +49,14 @@ public class PermissionSyncJob implements ApplicationRunner {
public void run(ApplicationArguments args) {
try {
Thread.sleep(10000);
InputStream permission= this.getClass().getResourceAsStream("/permission/systemResource.json"); //获取当前系统所有实体资源能力
InputStream permission = this.getClass().getResourceAsStream("/permission/systemResource.json"); //获取当前系统所有实体资源能力
String permissionResult = IOUtils.toString(permission,"UTF-8");
JSONObject system= new JSONObject();
system.put("pssystemid",systemId);
system.put("pssystemname",systemName);
system.put("sysstructure",JSONObject.parseObject(permissionResult));
system.put("md5check",DigestUtils.md5DigestAsHex(permissionResult.getBytes()));
if(client.syncSysAuthority(system)){
if(client.syncSysAuthority(system)) {
log.info("向[UAA]同步系统资源成功");
}else{
log.error("向[UAA]同步系统资源失败");
......@@ -67,9 +67,9 @@ public class PermissionSyncJob implements ApplicationRunner {
}
try {
InputStream sysModel= this.getClass().getResourceAsStream("/sysmodel/ibzwf.json"); //获取当前系统所有实体资源能力
InputStream sysModel = this.getClass().getResourceAsStream("/sysmodel/ibzwf.json"); //获取当前系统所有实体资源能力
String strSysModel = IOUtils.toString(sysModel,"UTF-8");
if(liteFeignClient.syncSysModel(JSONObject.parseObject(strSysModel))){
if(liteFeignClient.syncSysModel(JSONObject.parseObject(strSysModel))) {
log.info("向[lite]同步系统模型成功");
}else{
log.error("向[lite]同步系统模型失败");
......@@ -81,11 +81,11 @@ public class PermissionSyncJob implements ApplicationRunner {
try {
InputStream msgTemplate= this.getClass().getResourceAsStream("/msgtempl/systemMsgTempl.json"); //获取当前系统所有实体资源能力
InputStream msgTemplate = this.getClass().getResourceAsStream("/msgtempl/systemMsgTempl.json"); //获取当前系统所有实体资源能力
String strMsgTemplate = IOUtils.toString(msgTemplate,"UTF-8");
JSONObject template= new JSONObject();
template.put("template",JSONArray.parseArray(strMsgTemplate));
if(notifyFeignClient.createMsgTemplate(template)){
JSONObject template = new JSONObject();
template.put("template", JSONArray.parseArray(strMsgTemplate));
if(notifyFeignClient.createMsgTemplate(template)) {
log.info("推送消息模板成功");
}else{
log.error("推送消息模板失败");
......
......@@ -42,10 +42,12 @@ public class AppController {
while(it.hasNext()) {
GrantedAuthority authority = (GrantedAuthority)it.next();
String strAuthority=authority.getAuthority();
if(strAuthority.startsWith("UNIRES_"+systemId))
if(strAuthority.startsWith("UNIRES_"+systemId)) {
uniRes.add(strAuthority.substring(systemId.length()+8));
else if(strAuthority.startsWith("APPMENU_"+systemId))
}
else if(strAuthority.startsWith("APPMENU_"+systemId)){
appMenu.add(strAuthority.substring(systemId.length()+9));
}
}
}
Map<String,Object> context = new HashMap<>();
......@@ -55,10 +57,12 @@ public class AppController {
appData.put("unires",uniRes);
appData.put("appmenu",appMenu);
appData.put("enablepermissionvalid",enablePermissionValid);
if(curUser.getSuperuser()==1)
if(curUser.getSuperuser()==1){
appData.put("enablepermissionvalid",false);
else
}
else{
appData.put("enablepermissionvalid",enablePermissionValid);
}
fillAppData(appData);
return ResponseEntity.status(HttpStatus.OK).body(appData);
}
......@@ -76,16 +80,18 @@ public class AppController {
@RequestMapping(method = RequestMethod.PUT, value = "/configs/{configType}/{targetType}")
public ResponseEntity<Boolean> saveConfig(@PathVariable("configType") String configType, @PathVariable("targetType") String targetType, @RequestBody JSONObject config) {
String userId=AuthenticationUser.getAuthenticationUser().getUserid();
if(StringUtils.isEmpty(userId))
if(StringUtils.isEmpty(userId)){
throw new BadRequestAlertException("保存配置失败,参数缺失","IBZConfig",configType);
}
return ResponseEntity.ok(ibzConfigService.saveConfig(configType,targetType,userId,config));
}
@RequestMapping(method = RequestMethod.GET, value = "/configs/{configType}/{targetType}")
public ResponseEntity<JSONObject> getConfig(@PathVariable("configType") String configType, @PathVariable("targetType") String targetType) {
String userId=AuthenticationUser.getAuthenticationUser().getUserid();
if(StringUtils.isEmpty(userId))
if(StringUtils.isEmpty(userId)){
throw new BadRequestAlertException("获取配置失败,参数缺失","IBZConfig",configType);
}
return ResponseEntity.ok(ibzConfigService.getConfig(configType,targetType,userId));
}
......
......@@ -56,5 +56,5 @@ public class AuthenticationController
authuserdetail= userDetailsService.loadUserByUsername(userDetails.getUsername());
}
return ResponseEntity.ok().body(authuserdetail);
}
}
}
......@@ -38,18 +38,22 @@ public class AuthPermissionEvaluator implements PermissionEvaluator {
@Override
@SneakyThrows
public boolean hasPermission(Authentication authentication, Object entity, Object action) {
if(!enablePermissionValid)
if(!enablePermissionValid){
return true;
}
Object principal = authentication.getPrincipal();
if(ObjectUtils.isEmpty(principal))
if(ObjectUtils.isEmpty(principal)){
return false;
}
AuthenticationUser authenticationUser= (AuthenticationUser) authentication.getPrincipal();
if(authenticationUser.getSuperuser()==1)
if(authenticationUser.getSuperuser()==1){
return true;
}
String strAction=String.valueOf(action);
Set<String> userAuthorities = getAuthorities(authentication,strAction);
if(userAuthorities.size()==0)
if(userAuthorities.size()==0){
return false;
}
if(isAllData(strAction,userAuthorities)){
return true;
}
......@@ -102,8 +106,9 @@ public class AuthPermissionEvaluator implements PermissionEvaluator {
*/
@SneakyThrows
private void setPermissionCondToSearchContext(EntityBase entity, QueryWrapperContext qc , Set<String> userAuthorities ,AuthenticationUser authenticationUser){
if(entity==null)
if(entity==null){
return ;
}
Map<String,String> permissionField=getPermissionField(entity);//获取组织、部门预置属性
String orgField=permissionField.get("orgfield");
String orgDeptField=permissionField.get("orgsecfield");
......@@ -185,8 +190,9 @@ public class AuthPermissionEvaluator implements PermissionEvaluator {
Iterator it = authorities.iterator();
while(it.hasNext()) {
GrantedAuthority authority = (GrantedAuthority)it.next();
if(authority.getAuthority().contains(action))
if(authority.getAuthority().contains(action)){
userAuthorities.add(authority.getAuthority());
}
}
return userAuthorities;
}
......@@ -253,23 +259,27 @@ public class AuthPermissionEvaluator implements PermissionEvaluator {
}
if(action.endsWith("Create") || action.endsWith("Save")){
if(!ObjectUtils.isEmpty(orgFieldValue) && !userOrg.contains(orgFieldValue))
if(!ObjectUtils.isEmpty(orgFieldValue) && !userOrg.contains(orgFieldValue)){
return false;
if(!ObjectUtils.isEmpty(orgDeptFieldValue) && !userOrgDept.contains(orgDeptFieldValue))
}
if(!ObjectUtils.isEmpty(orgDeptFieldValue) && !userOrgDept.contains(orgDeptFieldValue)){
return false;
if(!ObjectUtils.isEmpty(crateManFieldValue) && !authenticationUser.getUserid().equals(crateManFieldValue))
}
if(!ObjectUtils.isEmpty(crateManFieldValue) && !authenticationUser.getUserid().equals(crateManFieldValue)){
return false;
}
return true;
}
else{
if(!ObjectUtils.isEmpty(orgFieldValue) && userOrg.contains(orgFieldValue))
if(!ObjectUtils.isEmpty(orgFieldValue) && userOrg.contains(orgFieldValue)){
return true;
if(!ObjectUtils.isEmpty(orgDeptFieldValue) && userOrgDept.contains(orgDeptFieldValue))
}
if(!ObjectUtils.isEmpty(orgDeptFieldValue) && userOrgDept.contains(orgDeptFieldValue)){
return true;
if(!ObjectUtils.isEmpty(crateManFieldValue) && authenticationUser.getUserid().equals(crateManFieldValue))
}
if(!ObjectUtils.isEmpty(crateManFieldValue) && authenticationUser.getUserid().equals(crateManFieldValue)){
return true;
}
return false;
}
}
......@@ -293,12 +303,18 @@ public class AuthPermissionEvaluator implements PermissionEvaluator {
String fieldName=entry.getKey();//获取注解字段
DEField fieldAnnotation=entry.getValue();//获取注解值
DEPredefinedFieldType prefieldType=fieldAnnotation.preType();
if(prefieldType==prefieldType.ORGID)//用户配置系统预置属性-组织机构标识
//用户配置系统预置属性-组织机构标识
if(prefieldType==prefieldType.ORGID){
orgField=fieldName;
if(prefieldType==prefieldType.ORGSECTORID)//用户配置系统预置属性-部门标识
}
//用户配置系统预置属性-部门标识
if(prefieldType==prefieldType.ORGSECTORID){
orgDeptField=fieldName;
if(prefieldType==prefieldType.CREATEMAN)//用户配置系统预置属性-部门标识
}
//用户配置系统预置属性-部门标识
if(prefieldType==prefieldType.CREATEMAN){
createManField=fieldName;
}
}
permissionFiled.put("orgfield",orgField);
permissionFiled.put("orgsecfield",orgDeptField);
......
......@@ -260,10 +260,12 @@ public class AuthenticationUser implements UserDetails
return this.sessionParams;
}
private Map<String, Object> getUserSessionParam() {
if(userSessionParam!=null)
if(userSessionParam!=null){
return userSessionParam;
else
}
else{
return new HashMap<>();
}
}
public void setOrgInfo(Map<String, Set<String>> orgInfo) {
......
......@@ -29,8 +29,9 @@ public class IBZConfigService extends ServiceImpl<IBZConfigMapper, IBZConfig> im
@Cacheable( value="ibzrt_configs",key = "'cfgid:'+#p0+'||'+#p1+'||'+#p2")
public JSONObject getConfig(String cfgType,String targetType,String userId)
{
if(StringUtils.isEmpty(userId)||StringUtils.isEmpty(cfgType)||StringUtils.isEmpty(targetType))
if(StringUtils.isEmpty(userId)||StringUtils.isEmpty(cfgType)||StringUtils.isEmpty(targetType)){
throw new BadRequestAlertException("获取配置失败,参数缺失","IBZConfig",cfgType);
}
IBZConfig config=this.getOne(Wrappers.query(IBZConfig.builder().systemId(systemId).cfgType(cfgType).targetType(targetType).userId(userId).build()),false);
if(config==null) {
config=this.getOne(Wrappers.query(IBZConfig.builder().systemId(systemId).cfgType(cfgType).targetType(targetType).userId(adminuserid).build()),false);
......@@ -44,19 +45,22 @@ public class IBZConfigService extends ServiceImpl<IBZConfigMapper, IBZConfig> im
@CacheEvict( value="ibzrt_configs",key = "'cfgid:'+#p0+'||'+#p1+'||'+#p2")
public boolean saveConfig(String cfgType,String targetType,String userId,JSONObject config)
{
if(StringUtils.isEmpty(userId)||StringUtils.isEmpty(cfgType)||StringUtils.isEmpty(targetType))
if(StringUtils.isEmpty(userId)||StringUtils.isEmpty(cfgType)||StringUtils.isEmpty(targetType)){
throw new BadRequestAlertException("保存配置失败,参数缺失","IBZConfig",cfgType);
}
String cfg="{}";
if(config!=null)
if(config!=null){
cfg=JSONObject.toJSONString(config);
}
return this.saveOrUpdate(IBZConfig.builder().systemId(systemId).cfgType(cfgType).targetType(targetType).userId(userId).cfg(cfg).updateDate(DataObject.getNow()).build());
}
@CacheEvict( value="ibzrt_configs",key = "'cfgid:'+#p0+'||'+#p1+'||'+#p2")
public void resetConfig(String cfgType,String targetType,String userId)
{
if(StringUtils.isEmpty(userId)||StringUtils.isEmpty(cfgType)||StringUtils.isEmpty(targetType))
if(StringUtils.isEmpty(userId)||StringUtils.isEmpty(cfgType)||StringUtils.isEmpty(targetType)){
throw new BadRequestAlertException("重置配置失败,参数缺失","IBZConfig",cfgType);
}
this.remove(Wrappers.query(IBZConfig.builder().systemId(systemId).cfgType(cfgType).targetType(targetType).userId(userId).build()));
}
......
......@@ -26,10 +26,10 @@ public class IBZUAAUserService implements AuthenticationUserService{
@Override
public AuthenticationUser loadUserByUsername(String username) {
AuthenticationUser user=uaaFeignClient.loginByUsername(username);
if(user==null)
if(user==null){
throw new BadRequestAlertException("登录失败","IBZUAAUser",username);
}
return user;
}
......@@ -48,8 +48,9 @@ public class IBZUAAUserService implements AuthenticationUserService{
logininfo.setLoginname(loginname);
logininfo.setPassword(password);
AuthenticationUser user=uaaFeignClient.login(logininfo);
if(user==null)
if(user==null){
throw new BadRequestAlertException("登录失败","IBZUAAUser",username);
}
return user;
}
......
......@@ -42,13 +42,15 @@ public class SimpleAuditService extends ServiceImpl<IBZDataAuditMapper, IBZDataA
*/
@Scheduled(fixedRate = 10000)
public void saveAudit() {
if(cacheMap.size()>0){
if(cacheMap.size()>0) {
log.info(String.format("正在保存审计数据,当前审计集合数量为[%s]",cacheMap.size()));
List temp=new ArrayList();
if(cacheMap.size()<500)
if(cacheMap.size()<500) {
temp.addAll(cacheMap);
else
}
else {
temp.addAll(cacheMap.subList(0,500));
}
this.saveBatch(temp);
cacheMap.removeAll(temp);
log.info(String.format("保存完成,当前审计集合数量为[%s]",cacheMap.size()));
......@@ -64,16 +66,17 @@ public class SimpleAuditService extends ServiceImpl<IBZDataAuditMapper, IBZDataA
*/
@Override
public void createAudit(HttpServletRequest request, EntityBase entity, Object idValue, Map<String, Audit> auditFields) {
IBZDataAudit dataAudit =new IBZDataAudit();
IBZDataAudit dataAudit = new IBZDataAudit();
dataAudit.setOppersonid(AuthenticationUser.getAuthenticationUser().getUserid());
dataAudit.setOppersonname(String.format("%s[%s]",AuthenticationUser.getAuthenticationUser().getPersonname(),AuthenticationUser.getAuthenticationUser().getOrgname()));
dataAudit.setAudittype("CREATE");
dataAudit.setAuditobject(entity.getClass().getSimpleName());
dataAudit.setAuditobjectdata(idValue);
dataAudit.setOptime(new Timestamp(new Date().getTime()));
if(request!=null)
if(request != null) {
dataAudit.setIpaddress(getIpAddress(request, AuthenticationUser.getAuthenticationUser()));
dataAudit.setAuditinfo(getAuditInfo(entity,auditFields));
}
dataAudit.setAuditinfo(getAuditInfo(entity, auditFields));
dataAudit.setIsdatachanged(1);
cacheMap.add(dataAudit);
}
......@@ -87,24 +90,26 @@ public class SimpleAuditService extends ServiceImpl<IBZDataAuditMapper, IBZDataA
* @param auditFields
*/
@SneakyThrows
public void updateAudit(HttpServletRequest request, EntityBase beforeEntity, Object serviceObj, Object idValue, Map<String, Audit> auditFields){
public void updateAudit(HttpServletRequest request, EntityBase beforeEntity, Object serviceObj, Object idValue, Map<String, Audit> auditFields) {
//获取更新后的实体
EntityBase afterEntity=getEntity(serviceObj,idValue);
EntityBase afterEntity = getEntity(serviceObj, idValue);
//获取更新后的审计内容
String auditInfo=getUpdateAuditInfo(beforeEntity,afterEntity,auditFields);//比较更新前后差异内容
int isDataChanged=1;
if(StringUtils.isEmpty(auditInfo))//审计内容是否发生变化
isDataChanged=0;
IBZDataAudit dataAudit =new IBZDataAudit();
String auditInfo = getUpdateAuditInfo(beforeEntity, afterEntity, auditFields);//比较更新前后差异内容
int isDataChanged = 1;
//审计内容是否发生变化
if(StringUtils.isEmpty(auditInfo)) {
isDataChanged = 0;
}
IBZDataAudit dataAudit = new IBZDataAudit();
dataAudit.setOppersonid(AuthenticationUser.getAuthenticationUser().getUserid());
dataAudit.setOppersonname(String.format("%s[%s]",AuthenticationUser.getAuthenticationUser().getPersonname(),AuthenticationUser.getAuthenticationUser().getOrgname()));
dataAudit.setOppersonname(String.format("%s[%s]", AuthenticationUser.getAuthenticationUser().getPersonname(), AuthenticationUser.getAuthenticationUser().getOrgname()));
dataAudit.setAudittype("UPDATE");
dataAudit.setAuditobject(afterEntity.getClass().getSimpleName());
dataAudit.setAuditobjectdata(idValue);
dataAudit.setOptime(new Timestamp(new Date().getTime()));
if(request!=null)
if(request!=null) {
dataAudit.setIpaddress(getIpAddress(request, AuthenticationUser.getAuthenticationUser()));
}
dataAudit.setAuditinfo(auditInfo);
dataAudit.setIsdatachanged(isDataChanged);
cacheMap.add(dataAudit);
......@@ -117,53 +122,55 @@ public class SimpleAuditService extends ServiceImpl<IBZDataAuditMapper, IBZDataA
* @param idValue
* @param auditFields
*/
public void removeAudit(HttpServletRequest request,EntityBase entity,Object idValue,Map<String, Audit> auditFields){
IBZDataAudit dataAudit =new IBZDataAudit();
public void removeAudit(HttpServletRequest request, EntityBase entity, Object idValue, Map<String, Audit> auditFields) {
IBZDataAudit dataAudit = new IBZDataAudit();
dataAudit.setOppersonid(AuthenticationUser.getAuthenticationUser().getUserid());
dataAudit.setOppersonname(String.format("%s[%s]",AuthenticationUser.getAuthenticationUser().getPersonname(),AuthenticationUser.getAuthenticationUser().getOrgname()));
dataAudit.setOppersonname(String.format("%s[%s]", AuthenticationUser.getAuthenticationUser().getPersonname(), AuthenticationUser.getAuthenticationUser().getOrgname()));
dataAudit.setAudittype("REMOVE");
dataAudit.setAuditobject(entity.getClass().getSimpleName());
dataAudit.setAuditobjectdata(idValue);
dataAudit.setOptime(new Timestamp(new Date().getTime()));
if(request!=null)
if(request!=null) {
dataAudit.setIpaddress(getIpAddress(request, AuthenticationUser.getAuthenticationUser()));
dataAudit.setAuditinfo(getAuditInfo(entity,auditFields));
}
dataAudit.setAuditinfo(getAuditInfo(entity, auditFields));
dataAudit.setIsdatachanged(1);
cacheMap.add(dataAudit);
}
private String getAuditInfo(EntityBase entity, Map<String, Audit> auditFields){
String auditResult="";
if(auditFields.size()==0)
private String getAuditInfo(EntityBase entity, Map<String, Audit> auditFields) {
String auditResult = "";
if(auditFields.size() == 0) {
return auditResult;
Map<String, DEField> deFields= DEFieldCacheMap.getDEFields(entity.getClass());
if(deFields.size()==0)
}
Map<String, DEField> deFields = DEFieldCacheMap.getDEFields(entity.getClass());
if(deFields.size() == 0) {
return auditResult;
JSONArray auditFieldArray=new JSONArray();
}
JSONArray auditFieldArray = new JSONArray();
for (Map.Entry<String, Audit> auditField : auditFields.entrySet()) {
Object objFieldName=auditField.getKey();
String fieldName=String.valueOf(objFieldName);
DEField deField=null;
if(deFields.containsKey(fieldName)){
deField= deFields.get(fieldName);
Object objFieldName = auditField.getKey();
String fieldName = String.valueOf(objFieldName);
DEField deField = null;
if(deFields.containsKey(fieldName)) {
deField = deFields.get(fieldName);
}
if(ObjectUtils.isEmpty(deField))
if(ObjectUtils.isEmpty(deField)) {
continue;
Object value=dataTransfer(entity.get(fieldName),deField.fieldType(),deField.format());
if(!StringUtils.isEmpty(value)){
JSONObject auditFieldObj=new JSONObject();
auditFieldObj.put("field",deField.value());
auditFieldObj.put("value",value);
if(!StringUtils.isEmpty(deField.dict())){
auditFieldObj.put("dict",deField.dict());
}
Object value = dataTransfer(entity.get(fieldName), deField.fieldType(), deField.format());
if(!StringUtils.isEmpty(value)) {
JSONObject auditFieldObj = new JSONObject();
auditFieldObj.put("field", deField.value());
auditFieldObj.put("value", value);
if(!StringUtils.isEmpty(deField.dict())) {
auditFieldObj.put("dict", deField.dict());
}
auditFieldArray.add(auditFieldObj);
}
}
if(auditFieldArray.size()>0){
auditResult=auditFieldArray.toString();
if(auditFieldArray.size()>0) {
auditResult = auditFieldArray.toString();
}
return auditResult;
}
......@@ -176,41 +183,44 @@ public class SimpleAuditService extends ServiceImpl<IBZDataAuditMapper, IBZDataA
* @return
*/
private String getUpdateAuditInfo(EntityBase oldData, EntityBase newData, Map<String, Audit> auditFields){
String auditResult="";
JSONArray auditFieldArray=new JSONArray();
if(auditFields.size()==0)
String auditResult = "";
JSONArray auditFieldArray = new JSONArray();
if(auditFields.size() == 0) {
return auditResult;
}
Map<String, DEField> deFields= DEFieldCacheMap.getDEFields(oldData.getClass());
if(deFields.size()==0)
Map<String, DEField> deFields = DEFieldCacheMap.getDEFields(oldData.getClass());
if(deFields.size() == 0){
return auditResult;
}
for (Map.Entry<String, Audit> auditField : auditFields.entrySet()) {
Object objFieldName=auditField.getKey();//获取注解字段
String fieldName=String.valueOf(objFieldName); //属性名称
DEField deField=null;
if(deFields.containsKey(fieldName)){
deField= deFields.get(fieldName);
Object objFieldName = auditField.getKey();//获取注解字段
String fieldName = String.valueOf(objFieldName); //属性名称
DEField deField = null;
if(deFields.containsKey(fieldName)) {
deField = deFields.get(fieldName);
}
if(ObjectUtils.isEmpty(deField))
if(ObjectUtils.isEmpty(deField)) {
continue;
Object oldValue=oldData.get(fieldName);//老属性值
Object newValue=newData.get(fieldName);//新属性值
if(!compare(oldValue,newValue)){
oldValue=dataTransfer(oldValue,deField.fieldType(),deField.format());//属性值转换
newValue=dataTransfer(newValue,deField.fieldType(),deField.format());//属性值转换
JSONObject auditFieldObj=new JSONObject();
auditFieldObj.put("field",deField.value());
auditFieldObj.put("beforevalue",oldValue);
auditFieldObj.put("value",newValue);
if(!StringUtils.isEmpty(deField.dict())){
auditFieldObj.put("dict",deField.dict());
}
Object oldValue = oldData.get(fieldName);//老属性值
Object newValue = newData.get(fieldName);//新属性值
if(!compare(oldValue, newValue)) {
oldValue = dataTransfer(oldValue, deField.fieldType(), deField.format());//属性值转换
newValue = dataTransfer(newValue, deField.fieldType(), deField.format());//属性值转换
JSONObject auditFieldObj = new JSONObject();
auditFieldObj.put("field", deField.value());
auditFieldObj.put("beforevalue", oldValue);
auditFieldObj.put("value", newValue);
if(!StringUtils.isEmpty(deField.dict())) {
auditFieldObj.put("dict", deField.dict());
}
auditFieldArray.add(auditFieldObj);
}
}
if(auditFieldArray.size()>0){
auditResult=auditFieldArray.toString();
if(auditFieldArray.size()>0) {
auditResult = auditFieldArray.toString();
}
return auditResult;
}
......@@ -222,15 +232,16 @@ public class SimpleAuditService extends ServiceImpl<IBZDataAuditMapper, IBZDataA
* @param strFormat 转换字段格式化文本
* @return
*/
private String dataTransfer(Object value,String dataType, String strFormat){
if(value==null)
private String dataTransfer(Object value, String dataType, String strFormat) {
if(value==null) {
return "";
}
String transResult=value.toString();
if((dataType.equals("DATE") || dataType.equals("DATETIME") || dataType.equals("TIME")) && (!StringUtils.isEmpty(strFormat))){ //时间类型转换
Timestamp timestamp =(Timestamp)value;
Date date =timestamp;
SimpleDateFormat format =new SimpleDateFormat(strFormat);
transResult=format.format(date);
if((dataType.equals("DATE") || dataType.equals("DATETIME") || dataType.equals("TIME")) && (!StringUtils.isEmpty(strFormat))) { //时间类型转换
Timestamp timestamp = (Timestamp)value;
Date date = timestamp;
SimpleDateFormat format = new SimpleDateFormat(strFormat);
transResult = format.format(date);
}
return transResult;
}
......@@ -241,11 +252,13 @@ public class SimpleAuditService extends ServiceImpl<IBZDataAuditMapper, IBZDataA
* @param targetObj 比较目标对象
* @return
*/
private boolean compare(Object sourceObj,Object targetObj){
if(sourceObj==null && targetObj==null)
private boolean compare(Object sourceObj, Object targetObj) {
if(sourceObj == null && targetObj == null) {
return true;
if(sourceObj==null && targetObj!=null)
}
if(sourceObj == null && targetObj != null) {
return false;
}
return sourceObj.equals(targetObj);
}
......@@ -256,9 +269,9 @@ public class SimpleAuditService extends ServiceImpl<IBZDataAuditMapper, IBZDataA
* @return
*/
@SneakyThrows
private EntityBase getEntity(Object service, Object id){
EntityBase entity=null;
if(!ObjectUtils.isEmpty(service)){
private EntityBase getEntity(Object service, Object id) {
EntityBase entity = null;
if(!ObjectUtils.isEmpty(service)) {
EvaluationContext oldContext = new StandardEvaluationContext();
oldContext.setVariable("service",service);
oldContext.setVariable("id",id);
......@@ -275,14 +288,15 @@ public class SimpleAuditService extends ServiceImpl<IBZDataAuditMapper, IBZDataA
*/
public String getIpAddress(HttpServletRequest request, AuthenticationUser authenticationUser) {
//客户端有提交ip,以提交的ip为准
if(authenticationUser != null && !StringUtils.isEmpty(authenticationUser.getAddr())){
if(authenticationUser != null && !StringUtils.isEmpty(authenticationUser.getAddr())) {
return authenticationUser.getAddr();
}
if(request == null)
if(request == null) {
return "";
}
String Xip = request.getHeader("X-Real-IP");
String XFor = request.getHeader("X-Forwarded-For");
if(!StringUtils.isEmpty(XFor) && !"unKnown".equalsIgnoreCase(XFor)){
if(!StringUtils.isEmpty(XFor) && !"unKnown".equalsIgnoreCase(XFor)) {
//多次反向代理后会有多个ip值,第一个ip才是真实ip
int index = XFor.indexOf(",");
if(index != -1){
......@@ -292,7 +306,7 @@ public class SimpleAuditService extends ServiceImpl<IBZDataAuditMapper, IBZDataA
}
}
XFor = Xip;
if(!StringUtils.isEmpty(XFor) && !"unKnown".equalsIgnoreCase(XFor)){
if(!StringUtils.isEmpty(XFor) && !"unKnown".equalsIgnoreCase(XFor)) {
return XFor;
}
if (StringUtils.isEmpty(XFor) || "unknown".equalsIgnoreCase(XFor)) {
......
......@@ -23,20 +23,21 @@ public class SimpleFileService implements FileService {
@Override
public FileItem saveFile(MultipartFile multipartFile) {
FileItem item=null;
FileItem item = null;
// 获取文件名
String fileName = multipartFile.getOriginalFilename();
// 获取文件后缀
String extname="."+getExtensionName(fileName);
String extname ="."+getExtensionName(fileName);
try {
String fileid= DigestUtils.md5DigestAsHex(multipartFile.getInputStream());
String fileid = DigestUtils.md5DigestAsHex(multipartFile.getInputStream());
String fileFullPath = this.fileRoot+"ibizutil"+File.separator+fileid+File.separator+fileName;
File file = new File(fileFullPath);
File parent = new File(file.getParent());
if(!parent.exists())
if(!parent.exists()) {
parent.mkdirs();
FileCopyUtils.copy(multipartFile.getInputStream(),Files.newOutputStream(file.toPath()));
item=new FileItem(fileid,fileName,fileid,fileName,(int)multipartFile.getSize(),extname);
}
FileCopyUtils.copy(multipartFile.getInputStream(), Files.newOutputStream(file.toPath()));
item = new FileItem(fileid, fileName, fileid, fileName, (int)multipartFile.getSize(), extname);
} catch (IOException e) {
throw new InternalServerErrorException("文件上传失败,"+e);
}
......
......@@ -29,8 +29,9 @@ public class FeignRequestInterceptor implements RequestInterceptor {
if (headerNames != null) {
while (headerNames.hasMoreElements()) {
String name = headerNames.nextElement();
if(name.equalsIgnoreCase("transfer-encoding"))
if(name.equalsIgnoreCase("transfer-encoding")){
continue;
}
String values = request.getHeader(name);
requestTemplate.header(name, values);
}
......
......@@ -49,19 +49,19 @@ public class IBZOperationParameterReader implements OperationBuilderPlugin {
public IBZOperationParameterReader(
ModelAttributeParameterExpander expander,
EnumTypeDeterminer enumTypeDeterminer) {
this.expander = expander;
this.enumTypeDeterminer = enumTypeDeterminer;
this.expander = expander;
this.enumTypeDeterminer = enumTypeDeterminer;
}
@Override
public void apply(OperationContext context) {
context.operationBuilder().parameters(context.getGlobalOperationParameters());
context.operationBuilder().parameters(readParameters(context));
context.operationBuilder().parameters(context.getGlobalOperationParameters());
context.operationBuilder().parameters(readParameters(context));
}
@Override
public boolean supports(DocumentationType delimiter) {
return true;
return true;
}
private List<Parameter> readParameters(final OperationContext context) {
......
......@@ -41,7 +41,4 @@ public class SearchContextHandlerMethodArgumentResolver implements HandlerMethod
String json=objectMapper.writeValueAsString(set);
return objectMapper.readValue(json,parameter.getParameterType());
}
}
\ No newline at end of file
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册