Commit 6939f2cd authored by chenhao's avatar chenhao

修改bug 2179

parent 4433e2e8
...@@ -16,6 +16,7 @@ import org.typroject.tyboot.core.restful.doc.TycloudOperation; ...@@ -16,6 +16,7 @@ import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.restful.utils.ResponseHelper; import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel; import org.typroject.tyboot.core.restful.utils.ResponseModel;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
...@@ -36,163 +37,180 @@ import com.yeejoin.amos.boot.module.common.biz.service.impl.FirefightersWorkexpe ...@@ -36,163 +37,180 @@ import com.yeejoin.amos.boot.module.common.biz.service.impl.FirefightersWorkexpe
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
/** /**
* 岗位信息 * 岗位信息
* *
* @author tb * @author tb
* @date 2021-06-07 * @date 2021-06-07
*/ */
@RestController @RestController
@Api(tags = "岗位信息Api") @Api(tags = "岗位信息Api")
@RequestMapping(value = "/firefighters-post") @RequestMapping(value = "/firefighters-post")
public class FirefightersPostController extends BaseController { public class FirefightersPostController extends BaseController {
@Autowired @Autowired
FirefightersPostServiceImpl iFirefightersPostService; FirefightersPostServiceImpl iFirefightersPostService;
@Autowired @Autowired
FirefightersContactsServiceImpl ifirefightersContactsService; FirefightersContactsServiceImpl ifirefightersContactsService;
@Autowired @Autowired
FirefightersEducationServiceImpl ifirefightersEducationService; FirefightersEducationServiceImpl ifirefightersEducationService;
@Autowired @Autowired
FirefightersWorkexperienceServiceImpl ifirefightersWorkexperienceService; FirefightersWorkexperienceServiceImpl ifirefightersWorkexperienceService;
@Autowired @Autowired
RedisUtils redisUtils; RedisUtils redisUtils;
@Value("${redis.cache.failure.time}") @Value("${redis.cache.failure.time}")
private long time; private long time;
/**
* 新增岗位信息 /**
* @return * 新增岗位信息
*/ *
@TycloudOperation(needAuth = true, ApiLevel = UserType.AGENCY) * @return
@RequestMapping(value = "/save", method = RequestMethod.POST) */
@ApiOperation(httpMethod = "POST", value = "新增岗位信息", notes = "新增岗位信息") @TycloudOperation(needAuth = true, ApiLevel = UserType.AGENCY)
@Transactional @RequestMapping(value = "/save", method = RequestMethod.POST)
public ResponseModel<Object> saveFirefightersPost(@RequestBody FirefightersDataDto firefightersDataDto) { @ApiOperation(httpMethod = "POST", value = "新增岗位信息", notes = "新增岗位信息")
try { @Transactional
iFirefightersPostService.save(firefightersDataDto.getFirefightersPost()); public ResponseModel<Object> saveFirefightersPost(@RequestBody FirefightersDataDto firefightersDataDto) {
ifirefightersWorkexperienceService.save(firefightersDataDto.getFirefightersWorkexperience()); try {
ifirefightersEducationService.save(firefightersDataDto.getFirefightersEducation()); /*---------修改bug:2179 解決崗位与学历可以重复添加导致的列表页展示消防人员信息呈现多条的情况 on 2021-08-21 陈浩---start*/
return ResponseHelper.buildResponse(null); LambdaQueryWrapper<FirefightersPost> queryWrapper = new LambdaQueryWrapper<FirefightersPost>();
} catch (Exception e) { queryWrapper.eq(FirefightersPost::getFirefightersId, firefightersDataDto.getFirefightersPost().getFirefightersId());
FirefightersPost firefightersPost = iFirefightersPostService.getOne(queryWrapper);
throw new RuntimeException("系统异常");
} if (firefightersPost == null) {
} iFirefightersPostService.save(firefightersDataDto.getFirefightersPost());
} else {
/** iFirefightersPostService.update(firefightersDataDto.getFirefightersPost(), queryWrapper);
* 根据id删除 }
* @param id // iFirefightersPostService.save(firefightersDataDto.getFirefightersPost());
* @return /*---------修改bug:2179 解決崗位与学历可以重复添加导致的列表页展示消防人员信息呈现多条的情况 on 2021-08-21 陈浩---end*/
*/ ifirefightersWorkexperienceService.save(firefightersDataDto.getFirefightersWorkexperience());
@TycloudOperation(needAuth = true, ApiLevel = UserType.AGENCY) ifirefightersEducationService.save(firefightersDataDto.getFirefightersEducation());
@RequestMapping(value = "/{id}", method = RequestMethod.DELETE) return ResponseHelper.buildResponse(null);
@ApiOperation(httpMethod = "DELETE", value = "根据消防人员id删除岗位和学历信息", notes = "根据 id删除") } catch (Exception e) {
@Transactional
public ResponseModel<Object> deleteById(@PathVariable Long id){
try {
iFirefightersPostService.update(new UpdateWrapper<FirefightersPost>().eq("firefighters_id", id).set("is_delete", 1));
ifirefightersWorkexperienceService.update(new UpdateWrapper<FirefightersWorkexperience>().eq("firefighters_id", id).set("is_delete", 1));
ifirefightersEducationService.update(new UpdateWrapper<FirefightersEducation>().eq("firefighters_id", id).set("is_delete", 1));
//删除缓存
redisUtils.del(RedisKey.EDUCATION_POST_EXPERIENCE_FIREFIGHTERS_ID+id);
return ResponseHelper.buildResponse(null);
} catch (Exception e) {
throw new RuntimeException("系统异常");
}
}
/**
* 修改岗位信息
* @return
*/
@TycloudOperation(needAuth = true, ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/updateById", method = RequestMethod.PUT)
@ApiOperation(httpMethod = "PUT", value = "修改岗位信息", notes = "修改岗位信息")
@Transactional
public ResponseModel<Object> updateByIdFirefightersPost(@RequestBody FirefightersDataDto firefightersDataDto) {
try {
FirefightersPost firefightersPost = firefightersDataDto.getFirefightersPost();
iFirefightersPostService.updateById(firefightersPost);
ifirefightersWorkexperienceService.updateById(firefightersDataDto.getFirefightersWorkexperience());
ifirefightersEducationService.updateById(firefightersDataDto.getFirefightersEducation());
//删除缓存
redisUtils.del(RedisKey.EDUCATION_POST_EXPERIENCE_FIREFIGHTERS_ID + firefightersPost.getSequenceNbr());
return ResponseHelper.buildResponse(null);
} catch (Exception e) {
throw new RuntimeException("系统异常");
}
}
throw new RuntimeException("系统异常");
}
}
/**
* 根据id删除
*
* @param id
* @return
*/
@TycloudOperation(needAuth = true, ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/{id}", method = RequestMethod.DELETE)
@ApiOperation(httpMethod = "DELETE", value = "根据消防人员id删除岗位和学历信息", notes = "根据 id删除")
@Transactional
public ResponseModel<Object> deleteById(@PathVariable Long id) {
try {
iFirefightersPostService
.update(new UpdateWrapper<FirefightersPost>().eq("firefighters_id", id).set("is_delete", 1));
ifirefightersWorkexperienceService.update(
new UpdateWrapper<FirefightersWorkexperience>().eq("firefighters_id", id).set("is_delete", 1));
ifirefightersEducationService
.update(new UpdateWrapper<FirefightersEducation>().eq("firefighters_id", id).set("is_delete", 1));
// 删除缓存
redisUtils.del(RedisKey.EDUCATION_POST_EXPERIENCE_FIREFIGHTERS_ID + id);
return ResponseHelper.buildResponse(null);
} catch (Exception e) {
/** throw new RuntimeException("系统异常");
* 根据id查询 }
* @param id }
* @return
*/ /**
@SuppressWarnings("unchecked") * 修改岗位信息
*
* @return
*/
@TycloudOperation(needAuth = true, ApiLevel = UserType.AGENCY) @TycloudOperation(needAuth = true, ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/{id}", method = RequestMethod.GET) @RequestMapping(value = "/updateById", method = RequestMethod.PUT)
@ApiOperation(httpMethod = "GET", value = "根据消防员id查询", notes = "根据消防员id查询") @ApiOperation(httpMethod = "PUT", value = "修改岗位信息", notes = "修改岗位信息")
public ResponseModel<Object> selectById(@PathVariable Long id){ @Transactional
@SuppressWarnings("rawtypes") public ResponseModel<Object> updateByIdFirefightersPost(@RequestBody FirefightersDataDto firefightersDataDto) {
QueryWrapper queryWrapper=new QueryWrapper<>(); try {
queryWrapper.eq("firefighters_id", id); FirefightersPost firefightersPost = firefightersDataDto.getFirefightersPost();
FirefightersDataDto firefightersDataDto = new FirefightersDataDto(ifirefightersWorkexperienceService.getOne(queryWrapper), ifirefightersEducationService.getOne(queryWrapper), iFirefightersPostService.getOne(queryWrapper)); iFirefightersPostService.updateById(firefightersPost);
return ResponseHelper.buildResponse(firefightersDataDto); ifirefightersWorkexperienceService.updateById(firefightersDataDto.getFirefightersWorkexperience());
} ifirefightersEducationService.updateById(firefightersDataDto.getFirefightersEducation());
// 删除缓存
redisUtils.del(RedisKey.EDUCATION_POST_EXPERIENCE_FIREFIGHTERS_ID + firefightersPost.getSequenceNbr());
return ResponseHelper.buildResponse(null);
/** } catch (Exception e) {
* 列表分页查询
* @return
*/
@TycloudOperation(needAuth = true, ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/list", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "列表分页查询", notes = "列表分页查询")
public IPage<FirefightersPost> listPage(String pageNum,String pageSize, FirefightersPost firefightersPost){
Page<FirefightersPost> pageBean;
QueryWrapper<FirefightersPost> firefightersPostQueryWrapper = new QueryWrapper<>();
Class<? extends FirefightersPost> aClass = firefightersPost.getClass();
Arrays.stream(aClass.getDeclaredFields()).forEach(field -> {
try {
field.setAccessible(true);
Object o = field.get(firefightersPost);
if (o != null) {
Class<?> type = field.getType();
String name = NameUtils.camel2Underline(field.getName());
if (type.equals(Integer.class)) {
Integer fileValue = (Integer) field.get(firefightersPost);
firefightersPostQueryWrapper.eq(name, fileValue);
} else if (type.equals(Long.class)) {
Long fileValue = (Long) field.get(firefightersPost);
firefightersPostQueryWrapper.eq(name, fileValue);
} else if (type.equals(String.class)) {
String fileValue = (String) field.get(firefightersPost);
firefightersPostQueryWrapper.eq(name, fileValue);
} else {
if(!name.equals(NameUtils.camel2Underline("serialVersionUID"))) {
String fileValue = (String) field.get(firefightersPost);
firefightersPostQueryWrapper.eq(name, fileValue);
}}
}
} catch (Exception e) {
throw new RuntimeException("系统异常");
}
});
IPage<FirefightersPost> page;
if (StringUtils.isBlank(pageNum) || StringUtils.isBlank(pageSize)) {
pageBean = new Page<>(0, Long.MAX_VALUE);
} else {
pageBean = new Page<>(Integer.parseInt(pageNum), Integer.parseInt(pageSize));
}
page = iFirefightersPostService.page(pageBean, firefightersPostQueryWrapper);
return page;
}
}
throw new RuntimeException("系统异常");
}
}
/**
* 根据id查询
*
* @param id
* @return
*/
@SuppressWarnings("unchecked")
@TycloudOperation(needAuth = true, ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/{id}", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "根据消防员id查询", notes = "根据消防员id查询")
public ResponseModel<Object> selectById(@PathVariable Long id) {
@SuppressWarnings("rawtypes")
QueryWrapper queryWrapper = new QueryWrapper<>();
queryWrapper.eq("firefighters_id", id);
FirefightersDataDto firefightersDataDto = new FirefightersDataDto(
ifirefightersWorkexperienceService.getOne(queryWrapper),
ifirefightersEducationService.getOne(queryWrapper), iFirefightersPostService.getOne(queryWrapper));
return ResponseHelper.buildResponse(firefightersDataDto);
}
/**
* 列表分页查询
*
* @return
*/
@TycloudOperation(needAuth = true, ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/list", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "列表分页查询", notes = "列表分页查询")
public IPage<FirefightersPost> listPage(String pageNum, String pageSize, FirefightersPost firefightersPost) {
Page<FirefightersPost> pageBean;
QueryWrapper<FirefightersPost> firefightersPostQueryWrapper = new QueryWrapper<>();
Class<? extends FirefightersPost> aClass = firefightersPost.getClass();
Arrays.stream(aClass.getDeclaredFields()).forEach(field -> {
try {
field.setAccessible(true);
Object o = field.get(firefightersPost);
if (o != null) {
Class<?> type = field.getType();
String name = NameUtils.camel2Underline(field.getName());
if (type.equals(Integer.class)) {
Integer fileValue = (Integer) field.get(firefightersPost);
firefightersPostQueryWrapper.eq(name, fileValue);
} else if (type.equals(Long.class)) {
Long fileValue = (Long) field.get(firefightersPost);
firefightersPostQueryWrapper.eq(name, fileValue);
} else if (type.equals(String.class)) {
String fileValue = (String) field.get(firefightersPost);
firefightersPostQueryWrapper.eq(name, fileValue);
} else {
if (!name.equals(NameUtils.camel2Underline("serialVersionUID"))) {
String fileValue = (String) field.get(firefightersPost);
firefightersPostQueryWrapper.eq(name, fileValue);
}
}
}
} catch (Exception e) {
throw new RuntimeException("系统异常");
}
});
IPage<FirefightersPost> page;
if (StringUtils.isBlank(pageNum) || StringUtils.isBlank(pageSize)) {
pageBean = new Page<>(0, Long.MAX_VALUE);
} else {
pageBean = new Page<>(Integer.parseInt(pageNum), Integer.parseInt(pageSize));
}
page = iFirefightersPostService.page(pageBean, firefightersPostQueryWrapper);
return page;
}
}
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