ProjectServiceImpl.java 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. package com.hssx.cloudmodel.service.impl;
  2. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  3. import com.github.pagehelper.PageHelper;
  4. import com.github.pagehelper.PageInfo;
  5. import com.hssx.cloudmodel.entity.Project;
  6. import com.hssx.cloudmodel.entity.ProjectUser;
  7. import com.hssx.cloudmodel.entity.User;
  8. import com.hssx.cloudmodel.mapper.ProjectMapper;
  9. import com.hssx.cloudmodel.mapper.ProjectUserMapper;
  10. import com.hssx.cloudmodel.mapper.UserMapper;
  11. import com.hssx.cloudmodel.service.ProjectService;
  12. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  13. import com.hssx.cloudmodel.util.HttpRespMsg;
  14. import com.hssx.cloudmodel.util.ListUtil;
  15. import com.hssx.cloudmodel.util.PageUtil;
  16. import org.springframework.beans.factory.annotation.Autowired;
  17. import org.springframework.stereotype.Service;
  18. import javax.jws.soap.SOAPBinding;
  19. import java.text.SimpleDateFormat;
  20. import java.util.ArrayList;
  21. import java.util.List;
  22. /**
  23. * <p>
  24. * 服务实现类
  25. * </p>
  26. *
  27. * @author 吴涛涛
  28. * @since 2019-07-27
  29. */
  30. @Service
  31. public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> implements ProjectService {
  32. @Autowired
  33. ProjectMapper projectMapper;
  34. @Autowired
  35. ProjectUserMapper projectUserMapper;
  36. @Autowired
  37. UserMapper userMapper;
  38. @Override
  39. public HttpRespMsg addAndUpdateProject(Project project, Integer flag, User user) {
  40. HttpRespMsg msg = new HttpRespMsg();
  41. if(user != null){
  42. QueryWrapper<Project> qw = new QueryWrapper<>();
  43. qw.orderByDesc("id").last("limit 1");
  44. Project lastProject = projectMapper.selectOne(qw);
  45. if (flag == 0) {
  46. synchronized (this) {
  47. int count = 1;
  48. if (lastProject != null) {
  49. //YMXM201903220001
  50. String numStr = lastProject.getProjectNo().substring(13);
  51. int num = Integer.valueOf(numStr).intValue();
  52. count += num;
  53. }
  54. long time = System.currentTimeMillis();
  55. SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
  56. String seq = sdf.format(time) + String.format("%04d", count);
  57. project.setProjectNo("YMXM"+seq);
  58. project.setCreatorId(user.getId());
  59. project.setCreator(user.getUsername());
  60. projectMapper.insert(project);
  61. }
  62. }else if(flag == 1){
  63. projectMapper.updateById(project);
  64. }
  65. }else{
  66. msg.setError("当前角色涉及权限问题,请重新登录");
  67. }
  68. return msg;
  69. }
  70. @Override
  71. public HttpRespMsg handOutProject(Project project, String userIds) {
  72. HttpRespMsg msg = new HttpRespMsg();
  73. Project pro = projectMapper.selectById(project.getId());
  74. List<Integer> ids = new ArrayList<>();
  75. if(userIds != null && userIds != ""){
  76. List<String> list = ListUtil.convertLongIdsArrayToList(userIds);
  77. if(list().size()>0){
  78. for(String id:list){
  79. User user = userMapper.selectById(id);
  80. ProjectUser projectUser = new ProjectUser();
  81. projectUser.setId(Integer.parseInt(id));
  82. projectUser.setProjectId(project.getId());
  83. projectUser.setSubordinate(user.getSubordinateType());
  84. projectUserMapper.insert(projectUser);
  85. }
  86. }
  87. }else{
  88. msg.setError("用户id不能为null和空");
  89. }
  90. return msg;
  91. }
  92. @Override
  93. public HttpRespMsg getList(String keyName,PageUtil page,User currentUser) {
  94. HttpRespMsg msg = new HttpRespMsg();
  95. if(currentUser != null){
  96. PageHelper.startPage(page.getPageNum(),page.getPageSize());
  97. List<Project> projects = projectMapper.getProjectListByUid(keyName,currentUser);
  98. PageInfo<Project> pageInfos = new PageInfo<>(projects);
  99. msg.data = pageInfos;
  100. }else{
  101. msg.setError("当前用户不存,或涉及到权限问题,请重新登录");
  102. }
  103. QueryWrapper<Project> qw = new QueryWrapper<>();
  104. qw.select("project_name", "creator","charger","indate");
  105. if(keyName != null){
  106. qw.like("project_name",keyName);
  107. }
  108. return msg;
  109. }
  110. }