Commit c86a3a84 authored by 朱晨阳's avatar 朱晨阳

Merge remote-tracking branch 'origin/developer' into developer

parents 479bdff6 fdd96dcf
......@@ -29,9 +29,9 @@ import lombok.extern.slf4j.Slf4j;
@Slf4j
@Primary
public class GlobalExceptionHandler {
@Value ("${exception.debug}")
private boolean debug;
@Value("${exception.debug:false}")
private boolean debug;
/**
* 校验异常统一拦截地方
......@@ -48,13 +48,18 @@ public class GlobalExceptionHandler {
response.setStatus(HttpStatus.INTERNAL_SERVER_ERROR.value());
response.setTraceId(RequestContext.getTraceId());
response.setPath(request.getServletPath());
// 获取异常的堆栈跟踪信息
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
e.printStackTrace(pw);
String stackTrace = sw.toString();
response.setDevMessage(stackTrace);
response.setMessage(stackTrace);
if (debug) {
// 获取异常的堆栈跟踪信息
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
e.printStackTrace(pw);
String stackTrace = sw.toString();
response.setDevMessage(stackTrace);
response.setMessage(stackTrace);
} else {
response.setDevMessage(e.getMessage());
response.setMessage(e.getMessage());
}
return response;
}
......
......@@ -9,6 +9,7 @@ import com.yeejoin.amos.boot.module.hygf.api.entity.PersonnelBusiness;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
/**
......@@ -43,4 +44,8 @@ public interface PersonnelBusinessMapper extends BaseMapper<PersonnelBusiness> {
void deleteSueByUserId(String userId);
void deleteAliByUserId(String userId);
List<String> selectHygfTableName();
int countByUserId(@Param("tableName") String tableName, @Param("userId")String userId);
}
......@@ -148,4 +148,14 @@ select ORG_CODE orgCode from privilege_company where privilege_company.SEQUEN
DELETE FROM auth_login_info WHERE USER_ID=#{userId}
</select>
<select id="selectHygfTableName" resultType="java.lang.String">
SELECT table_name
FROM information_schema.tables
WHERE table_schema=DATABASE() and table_name LIKE 'hygf_%';
</select>
<select id="countByUserId" resultType="int">
select count(1) from ${tableName} where rec_user_id =#{userId}
</select>
</mapper>
......@@ -498,10 +498,21 @@ public class PersonnelBusinessServiceImpl extends BaseService<PersonnelBusinessD
}
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean deleteAllBySequenceNbr(Long sequenceNbr) {
// 根据sequenceNbr查询用户userId
String userId = personnelBusinessMapper.selectUserInfo(sequenceNbr);
//添加校验,如果业务表里面有相关的用户id不能删除
List<String> tableName = personnelBusinessMapper.selectHygfTableName();
if (CollectionUtil.isNotEmpty(tableName)) {
for (String table : tableName) {
int count = personnelBusinessMapper.countByUserId(table, userId);
if (count > 0) {
throw new BadRequest("该用户有操作记录无法删除!");
}
}
}
try {
// 根据sequenceNbr查询用户userId
String userId = personnelBusinessMapper.selectUserInfo(sequenceNbr);
// 删除privilege_agency_user表中数据
personnelBusinessMapper.deletePauByUserId(userId);
// 删除privilege_group_user表中数据
......
exception.debug=true
## DB properties:
spring.datasource.dynamic.primary= mysql-service
spring.datasource.mysql-service.driver-class-name=com.mysql.cj.jdbc.Driver
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment