Compare commits

...

2 Commits

12 changed files with 109 additions and 34 deletions

View File

@ -296,7 +296,7 @@ public class XrSeriousIllegalPersonRemListController extends BaseController {
@ApiOperation("作废待办")
@PostMapping("/nullify")
public RestResult<XrTaskList> nullify(HttpServletRequest request,
@ApiParam("待办ID") @RequestParam String tasklistid,
@ApiParam("bizSeqNo") @RequestParam String bizSeqNo,
@ApiParam("作废原因") @RequestParam String reason) {
AICUser user = getLoginUser(request);
if (user == null) {
@ -304,13 +304,13 @@ public class XrSeriousIllegalPersonRemListController extends BaseController {
}
// 查询待办
XrTaskList taskListModel = iXrTaskListService.getById(tasklistid);
XrTaskList taskListModel = iXrTaskListService.lambdaQuery().eq(XrTaskList::getBizSeqNo, bizSeqNo).last("limit 1").one();
if (taskListModel == null) {
throw new BusinessException("待办记录不存在");
}
// 校验当前用户是否为待办创建人
if (StringUtils.notEquals(user.getPrimaryKey(), taskListModel.getCreateBy())) {
if (StringUtils.notEquals(user.getName(), taskListModel.getCreateBy())) {
throw new BusinessException("非待办创建人无权作废待办");
}

View File

@ -309,7 +309,7 @@ public class XrSeriousIllegalPersonSpeListController extends BaseController {
@ApiOperation("作废待办")
@PostMapping("/nullify")
public RestResult<XrTaskList> nullify(HttpServletRequest request,
@ApiParam("待办ID") @RequestParam String tasklistid,
@ApiParam("bizSeqNo") @RequestParam String bizSeqNo,
@ApiParam("作废原因") @RequestParam String reason) {
AICUser user = getLoginUser(request);
if (user == null) {
@ -317,13 +317,13 @@ public class XrSeriousIllegalPersonSpeListController extends BaseController {
}
// 查询待办
XrTaskList taskListModel = iXrTaskListService.getById(tasklistid);
XrTaskList taskListModel = iXrTaskListService.lambdaQuery().eq(XrTaskList::getBizSeqNo, bizSeqNo).last("limit 1").one();
if (taskListModel == null) {
throw new BusinessException("待办记录不存在");
}
// 校验当前用户是否为待办创建人
if (StringUtils.notEquals(user.getPrimaryKey(), taskListModel.getCreateBy())) {
if (StringUtils.notEquals(user.getName(), taskListModel.getCreateBy())) {
throw new BusinessException("非待办创建人无权作废待办");
}

View File

@ -4,7 +4,7 @@ import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder;
import com.baomidou.mybatisplus.core.config.GlobalConfig;
import com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean;
import com.chinaweal.youfool.framework.springboot.mybatis.plus.CommonMetaObjectHandler;
import com.chinaweal.aiccs.config.handler.LocalUserMetaObjectHandler;
import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.SqlSessionTemplate;
import org.mybatis.spring.annotation.MapperScan;
@ -38,7 +38,7 @@ public class AicbizDataSource {
MybatisSqlSessionFactoryBean bean = new MybatisSqlSessionFactoryBean();
bean.setDataSource(dataSource);
GlobalConfig globalConfig = new GlobalConfig();
globalConfig.setMetaObjectHandler(new CommonMetaObjectHandler());
globalConfig.setMetaObjectHandler(new LocalUserMetaObjectHandler());
bean.setGlobalConfig(globalConfig);
bean.setConfigLocation(new ClassPathResource("mybatis/mybatis-config.xml"));
bean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath*:mybatis/mapper/aicbiz/**/*.xml"));

View File

@ -4,7 +4,7 @@ import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder;
import com.baomidou.mybatisplus.core.config.GlobalConfig;
import com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean;
import com.chinaweal.youfool.framework.springboot.mybatis.plus.CommonMetaObjectHandler;
import com.chinaweal.aiccs.config.handler.LocalUserMetaObjectHandler;
import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.SqlSessionTemplate;
import org.mybatis.spring.annotation.MapperScan;
@ -38,7 +38,7 @@ public class AicbizqyDataSource {
MybatisSqlSessionFactoryBean bean = new MybatisSqlSessionFactoryBean();
bean.setDataSource(dataSource);
GlobalConfig globalConfig = new GlobalConfig();
globalConfig.setMetaObjectHandler(new CommonMetaObjectHandler());
globalConfig.setMetaObjectHandler(new LocalUserMetaObjectHandler());
bean.setGlobalConfig(globalConfig);
bean.setConfigLocation(new ClassPathResource("mybatis/mybatis-config.xml"));
bean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath*:mybatis/mapper/aicbizqy/**/*.xml"));

View File

@ -4,7 +4,7 @@ import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder;
import com.baomidou.mybatisplus.core.config.GlobalConfig;
import com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean;
import com.chinaweal.youfool.framework.springboot.mybatis.plus.CommonMetaObjectHandler;
import com.chinaweal.aiccs.config.handler.LocalUserMetaObjectHandler;
import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.SqlSessionTemplate;
import org.mybatis.spring.annotation.MapperScan;
@ -41,7 +41,7 @@ public class AiccsDataSource {
MybatisSqlSessionFactoryBean bean = new MybatisSqlSessionFactoryBean();
bean.setDataSource(dataSource);
GlobalConfig globalConfig = new GlobalConfig();
globalConfig.setMetaObjectHandler(new CommonMetaObjectHandler());
globalConfig.setMetaObjectHandler(new LocalUserMetaObjectHandler());
bean.setGlobalConfig(globalConfig);
bean.setConfigLocation(new ClassPathResource("mybatis/mybatis-config.xml"));
bean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath*:mybatis/mapper/aiccs/**/*.xml"));

View File

@ -4,7 +4,7 @@ import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder;
import com.baomidou.mybatisplus.core.config.GlobalConfig;
import com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean;
import com.chinaweal.youfool.framework.springboot.mybatis.plus.CommonMetaObjectHandler;
import com.chinaweal.aiccs.config.handler.LocalUserMetaObjectHandler;
import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.SqlSessionTemplate;
import org.mybatis.spring.annotation.MapperScan;
@ -39,7 +39,7 @@ public class AicepsDataSource {
MybatisSqlSessionFactoryBean bean = new MybatisSqlSessionFactoryBean();
bean.setDataSource(dataSource);
GlobalConfig globalConfig = new GlobalConfig();
globalConfig.setMetaObjectHandler(new CommonMetaObjectHandler());
globalConfig.setMetaObjectHandler(new LocalUserMetaObjectHandler());
bean.setGlobalConfig(globalConfig);
bean.setConfigLocation(new ClassPathResource("mybatis/mybatis-config.xml"));
bean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath*:mybatis/mapper/aiccs/**/*.xml"));

View File

@ -4,7 +4,7 @@ import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder;
import com.baomidou.mybatisplus.core.config.GlobalConfig;
import com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean;
import com.chinaweal.youfool.framework.springboot.mybatis.plus.CommonMetaObjectHandler;
import com.chinaweal.aiccs.config.handler.LocalUserMetaObjectHandler;
import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.SqlSessionTemplate;
import org.mybatis.spring.annotation.MapperScan;
@ -39,7 +39,7 @@ public class AicepsqyDataSource {
MybatisSqlSessionFactoryBean bean = new MybatisSqlSessionFactoryBean();
bean.setDataSource(dataSource);
GlobalConfig globalConfig = new GlobalConfig();
globalConfig.setMetaObjectHandler(new CommonMetaObjectHandler());
globalConfig.setMetaObjectHandler(new LocalUserMetaObjectHandler());
bean.setGlobalConfig(globalConfig);
bean.setConfigLocation(new ClassPathResource("mybatis/mybatis-config.xml"));
bean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath*:mybatis/mapper/aicepsqy/**/*.xml"));

View File

@ -4,8 +4,8 @@ import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder;
import com.baomidou.mybatisplus.core.config.GlobalConfig;
import com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean;
import com.chinaweal.aiccs.config.handler.LocalUserMetaObjectHandler;
import com.chinaweal.publibv2.db.spring.DBComponent;
import com.chinaweal.youfool.framework.springboot.mybatis.plus.CommonMetaObjectHandler;
import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.SqlSessionTemplate;
import org.mybatis.spring.annotation.MapperScan;
@ -49,7 +49,7 @@ public class AicorgDataSource {
MybatisSqlSessionFactoryBean bean = new MybatisSqlSessionFactoryBean();
bean.setDataSource(dataSource);
GlobalConfig globalConfig = new GlobalConfig();
globalConfig.setMetaObjectHandler(new CommonMetaObjectHandler());
globalConfig.setMetaObjectHandler(new LocalUserMetaObjectHandler());
bean.setGlobalConfig(globalConfig);
bean.setConfigLocation(new ClassPathResource("mybatis/mybatis-config.xml"));
bean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath*:mybatis/mapper/aicorg/**/*.xml"));

View File

@ -4,7 +4,7 @@ import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder;
import com.baomidou.mybatisplus.core.config.GlobalConfig;
import com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean;
import com.chinaweal.youfool.framework.springboot.mybatis.plus.CommonMetaObjectHandler;
import com.chinaweal.aiccs.config.handler.LocalUserMetaObjectHandler;
import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.SqlSessionTemplate;
import org.mybatis.spring.annotation.MapperScan;
@ -20,6 +20,7 @@ import javax.sql.DataSource;
/**
* 47.8 数据源
*
* @author Lee
* @since 2022-03-25 14:11
*/
@ -38,7 +39,7 @@ public class AicrisDataSource {
MybatisSqlSessionFactoryBean bean = new MybatisSqlSessionFactoryBean();
bean.setDataSource(dataSource);
GlobalConfig globalConfig = new GlobalConfig();
globalConfig.setMetaObjectHandler(new CommonMetaObjectHandler());
globalConfig.setMetaObjectHandler(new LocalUserMetaObjectHandler());
bean.setGlobalConfig(globalConfig);
bean.setConfigLocation(new ClassPathResource("mybatis/mybatis-config.xml"));
bean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath*:mybatis/mapper/aicris/**/*.xml"));

View File

@ -0,0 +1,74 @@
package com.chinaweal.aiccs.config.handler;
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import com.chinaweal.aiccs.common.util.StringUtils;
import com.chinaweal.aicorg.model.AICUser;
import com.chinaweal.youfool.framework.springboot.user.entity.UserBase;
import com.chinaweal.youfool.framework.springboot.util.WebUtil;
import com.chinaweal.youfool.framework.sso.util.SSOUtil;
import org.apache.ibatis.reflection.MetaObject;
import javax.servlet.http.HttpServletRequest;
import java.time.LocalDateTime;
/**
* 本地用户元数据信息处理
*
* @author lroyia
* @since 2026/3/19 11:27
**/
public class LocalUserMetaObjectHandler implements MetaObjectHandler {
/**
* 修改时间
*/
private final String updateTime = "updateTime";
/**
* 插入时间
*/
private final String createTime = "createTime";
/**
* 创建人
*/
private final String createBy = "createBy";
/**
* 更新人
*/
private final String updateBy = "updateBy";
@Override
public void insertFill(MetaObject metaObject) {
String username = UserBase.currentUsername();
username = username != null ? username : "";
if (StringUtils.isBlank(username)) {
username = getUsernameBySSO();
}
setFieldValByName(createTime, LocalDateTime.now(), metaObject);
setFieldValByName(updateTime, LocalDateTime.now(), metaObject);
setFieldValByName(createBy, username, metaObject);
setFieldValByName(updateBy, username, metaObject);
}
@Override
public void updateFill(MetaObject metaObject) {
String username = UserBase.currentUsername();
username = username != null ? username : "";
if (StringUtils.isBlank(username)) {
username = getUsernameBySSO();
}
setFieldValByName(updateTime, LocalDateTime.now(), metaObject);
setFieldValByName(updateBy, username, metaObject);
}
private String getUsernameBySSO() {
try {
HttpServletRequest request = WebUtil.getRequest();
AICUser user = SSOUtil.getUser(request);
return user == null ? StringUtils.EMPTY : user.getName();
} catch (Exception e) {
return StringUtils.EMPTY;
}
}
}

View File

@ -8,37 +8,37 @@
<node id="handleReturn" name="审核回退" description="经办"/>
<node id="examineReturn" name="审批回退" description="审核"/>
<node id="approve" name="审批" description="审批"/>
<node id="nullify" name="作废" description="作废" end="true"/>
<node id="overNullify" name="作废" description="作废" end="true"/>
<node id="examineFinish" name="结束流程" description="审核不通过" end="true" handle="false"/>
<node id="approveFinish" name="结束流程" description="审批不通过" end="true" handle="false"/>
<node id="end" name="结束流程" description="办结" end="true" handle="false"/>
</nodes>
<sequenceFlow id="handle_examine" name="下一步" description="经办_审核"/>
<sequenceFlow id="handle_nullify" name="删除业务" description="经办_线索作废"/>
<sequenceFlow id="handle_overNullify" name="删除业务" description="经办_线索作废"/>
<!-- <sequenceFlow id="handle_transfer" name="线索转办" description="转办"/>-->
<sequenceFlow id="transfer_examine" name="审核" description="转办_审核"/>
<sequenceFlow id="transfer_nullify" name="线索作废" description="转办_线索作废"/>
<sequenceFlow id="transfer_overNullify" name="线索作废" description="转办_线索作废"/>
<sequenceFlow id="examine_approve" name="通过" description="审核_审批"/>
<sequenceFlow id="examine_examineFinish" name="不通过" description="审核_不同意-结束"/>
<sequenceFlow id="examine_handleReturn" name="回退" description="审核_经办"/>
<sequenceFlow id="examine_nullify" name="删除业务" description="审核_线索作废"/>
<sequenceFlow id="examine_overNullify" name="删除业务" description="审核_线索作废"/>
<sequenceFlow id="approve_end" name="通过" description="审批_结束"/>
<sequenceFlow id="approve_approveFinish" name="不通过" description="审批_不同意-结束"/>
<sequenceFlow id="approve_examineReturn" name="回退" description="审批_审核"/>
<sequenceFlow id="approve_nullify" name="删除业务" description="审批_线索作废"/>
<sequenceFlow id="approve_overNullify" name="删除业务" description="审批_线索作废"/>
<sequenceFlow id="handleReturn_examine" name="下一步" description="经办_审核"/>
<sequenceFlow id="handleReturn_nullify" name="删除业务" description="经办_线索作废"/>
<sequenceFlow id="handleReturn_overNullify" name="删除业务" description="经办_线索作废"/>
<sequenceFlow id="handleReturn_transfer" name="线索转办" description="转办"/>
<sequenceFlow id="examineReturn_approve" name="通过" description="审核_审批"/>
<sequenceFlow id="examineReturn_examineFinish" name="不通过" description="审核_不同意-结束"/>
<sequenceFlow id="examineReturn_handleReturn" name="回退" description="审核_经办"/>
<sequenceFlow id="examineReturn_nullify" name="删除业务" description="审核_线索作废"/>
<sequenceFlow id="examineReturn_overNullify" name="删除业务" description="审核_线索作废"/>
<!-- 结束到经办,主要用于拟强制注销变为强制注销的业务-->
<sequenceFlow id="end_handle" name="经办" description="结束_经办"/>

View File

@ -8,37 +8,37 @@
<node id="handleReturn" name="审核回退" description="经办"/>
<node id="examineReturn" name="审批回退" description="审核"/>
<node id="approve" name="审批" description="审批"/>
<node id="nullify" name="作废" description="作废" end="true"/>
<node id="overNullify" name="作废" description="作废" end="true"/>
<node id="examineFinish" name="结束流程" description="审核不通过" end="true" handle="false"/>
<node id="approveFinish" name="结束流程" description="审批不通过" end="true" handle="false"/>
<node id="end" name="结束流程" description="办结" end="true" handle="false"/>
</nodes>
<sequenceFlow id="handle_examine" name="下一步" description="经办_审核"/>
<sequenceFlow id="handle_nullify" name="删除业务" description="经办_线索作废"/>
<sequenceFlow id="handle_overNullify" name="删除业务" description="经办_线索作废"/>
<!-- <sequenceFlow id="handle_transfer" name="线索转办" description="转办"/>-->
<sequenceFlow id="transfer_examine" name="审核" description="转办_审核"/>
<sequenceFlow id="transfer_nullify" name="线索作废" description="转办_线索作废"/>
<sequenceFlow id="transfer_overNullify" name="线索作废" description="转办_线索作废"/>
<sequenceFlow id="examine_approve" name="通过" description="审核_审批"/>
<sequenceFlow id="examine_examineFinish" name="不通过" description="审核_不同意-结束"/>
<sequenceFlow id="examine_handleReturn" name="回退" description="审核_经办"/>
<sequenceFlow id="examine_nullify" name="删除业务" description="审核_线索作废"/>
<sequenceFlow id="examine_overNullify" name="删除业务" description="审核_线索作废"/>
<sequenceFlow id="approve_end" name="通过" description="审批_结束"/>
<sequenceFlow id="approve_approveFinish" name="不通过" description="审批_不同意-结束"/>
<sequenceFlow id="approve_examineReturn" name="回退" description="审批_审核"/>
<sequenceFlow id="approve_nullify" name="删除业务" description="审批_线索作废"/>
<sequenceFlow id="approve_overNullify" name="删除业务" description="审批_线索作废"/>
<sequenceFlow id="handleReturn_examine" name="下一步" description="经办_审核"/>
<sequenceFlow id="handleReturn_nullify" name="删除业务" description="经办_线索作废"/>
<sequenceFlow id="handleReturn_overNullify" name="删除业务" description="经办_线索作废"/>
<sequenceFlow id="handleReturn_transfer" name="线索转办" description="转办"/>
<sequenceFlow id="examineReturn_approve" name="通过" description="审核_审批"/>
<sequenceFlow id="examineReturn_examineFinish" name="不通过" description="审核_不同意-结束"/>
<sequenceFlow id="examineReturn_handleReturn" name="回退" description="审核_经办"/>
<sequenceFlow id="examineReturn_nullify" name="删除业务" description="审核_线索作废"/>
<sequenceFlow id="examineReturn_overNullify" name="删除业务" description="审核_线索作废"/>
<!-- 结束到经办,主要用于拟强制注销变为强制注销的业务-->
<sequenceFlow id="end_handle" name="经办" description="结束_经办"/>