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; ...@@ -29,9 +29,9 @@ import lombok.extern.slf4j.Slf4j;
@Slf4j @Slf4j
@Primary @Primary
public class GlobalExceptionHandler { public class GlobalExceptionHandler {
@Value ("${exception.debug}") @Value("${exception.debug:false}")
private boolean debug; private boolean debug;
/** /**
* 校验异常统一拦截地方 * 校验异常统一拦截地方
...@@ -48,13 +48,18 @@ public class GlobalExceptionHandler { ...@@ -48,13 +48,18 @@ public class GlobalExceptionHandler {
response.setStatus(HttpStatus.INTERNAL_SERVER_ERROR.value()); response.setStatus(HttpStatus.INTERNAL_SERVER_ERROR.value());
response.setTraceId(RequestContext.getTraceId()); response.setTraceId(RequestContext.getTraceId());
response.setPath(request.getServletPath()); response.setPath(request.getServletPath());
// 获取异常的堆栈跟踪信息 if (debug) {
StringWriter sw = new StringWriter(); // 获取异常的堆栈跟踪信息
PrintWriter pw = new PrintWriter(sw); StringWriter sw = new StringWriter();
e.printStackTrace(pw); PrintWriter pw = new PrintWriter(sw);
String stackTrace = sw.toString(); e.printStackTrace(pw);
response.setDevMessage(stackTrace); String stackTrace = sw.toString();
response.setMessage(stackTrace); response.setDevMessage(stackTrace);
response.setMessage(stackTrace);
} else {
response.setDevMessage(e.getMessage());
response.setMessage(e.getMessage());
}
return response; return response;
} }
......
...@@ -9,6 +9,7 @@ import com.yeejoin.amos.boot.module.hygf.api.entity.PersonnelBusiness; ...@@ -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.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map; import java.util.Map;
/** /**
...@@ -43,4 +44,8 @@ public interface PersonnelBusinessMapper extends BaseMapper<PersonnelBusiness> { ...@@ -43,4 +44,8 @@ public interface PersonnelBusinessMapper extends BaseMapper<PersonnelBusiness> {
void deleteSueByUserId(String userId); void deleteSueByUserId(String userId);
void deleteAliByUserId(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 ...@@ -148,4 +148,14 @@ select ORG_CODE orgCode from privilege_company where privilege_company.SEQUEN
DELETE FROM auth_login_info WHERE USER_ID=#{userId} DELETE FROM auth_login_info WHERE USER_ID=#{userId}
</select> </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> </mapper>
...@@ -498,10 +498,21 @@ public class PersonnelBusinessServiceImpl extends BaseService<PersonnelBusinessD ...@@ -498,10 +498,21 @@ public class PersonnelBusinessServiceImpl extends BaseService<PersonnelBusinessD
} }
@Override @Override
@Transactional(rollbackFor = Exception.class)
public Boolean deleteAllBySequenceNbr(Long sequenceNbr) { 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 { try {
// 根据sequenceNbr查询用户userId
String userId = personnelBusinessMapper.selectUserInfo(sequenceNbr);
// 删除privilege_agency_user表中数据 // 删除privilege_agency_user表中数据
personnelBusinessMapper.deletePauByUserId(userId); personnelBusinessMapper.deletePauByUserId(userId);
// 删除privilege_group_user表中数据 // 删除privilege_group_user表中数据
......
exception.debug=true
## DB properties: ## DB properties:
spring.datasource.dynamic.primary= mysql-service spring.datasource.dynamic.primary= mysql-service
spring.datasource.mysql-service.driver-class-name=com.mysql.cj.jdbc.Driver 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