WorkLogServiceImpl.java 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. package jnpf.service.impl;
  2. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  3. import com.baomidou.mybatisplus.core.metadata.IPage;
  4. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  5. import jnpf.base.Pagination;
  6. import jnpf.base.service.SuperServiceImpl;
  7. import jnpf.entity.WorkLogEntity;
  8. import jnpf.entity.WorkLogShareEntity;
  9. import jnpf.mapper.WorkLogMapper;
  10. import jnpf.service.WorkLogService;
  11. import jnpf.service.WorkLogShareService;
  12. import jnpf.util.RandomUtil;
  13. import jnpf.util.StringUtil;
  14. import jnpf.util.UserProvider;
  15. import org.apache.commons.lang3.StringUtils;
  16. import org.springframework.beans.factory.annotation.Autowired;
  17. import org.springframework.stereotype.Service;
  18. import org.springframework.transaction.annotation.Transactional;
  19. import java.util.Date;
  20. import java.util.List;
  21. /**
  22. * 工作日志
  23. *
  24. * @author JNPF开发平台组
  25. * @version V3.1.0
  26. * @copyright 引迈信息技术有限公司(https://www.jnpfsoft.com)
  27. * @date 2019年9月26日 上午9:18
  28. */
  29. @Service
  30. public class WorkLogServiceImpl extends SuperServiceImpl<WorkLogMapper, WorkLogEntity> implements WorkLogService {
  31. @Autowired
  32. private WorkLogShareService workLogShareService;
  33. @Override
  34. public List<WorkLogEntity> getSendList(Pagination pageModel) {
  35. QueryWrapper<WorkLogEntity> queryWrapper = new QueryWrapper<>();
  36. queryWrapper.lambda().eq(WorkLogEntity::getCreatorUserId, UserProvider.getUser().getUserId());
  37. //app搜索
  38. if(StringUtil.isNotEmpty(pageModel.getKeyword())){
  39. queryWrapper.lambda().like(WorkLogEntity::getTitle,pageModel.getKeyword());
  40. }
  41. //排序
  42. if (StringUtils.isEmpty(pageModel.getSidx())) {
  43. queryWrapper.lambda().orderByDesc(WorkLogEntity::getCreatorTime);
  44. } else {
  45. queryWrapper = "asc".equals(pageModel.getSort().toLowerCase()) ? queryWrapper.orderByAsc(pageModel.getSidx()) : queryWrapper.orderByDesc(pageModel.getSidx());
  46. }
  47. Page page = new Page(pageModel.getCurrentPage(), pageModel.getPageSize());
  48. IPage<WorkLogEntity> IPages = this.page(page, queryWrapper);
  49. return pageModel.setData(IPages.getRecords(), page.getTotal());
  50. }
  51. @Override
  52. public List<WorkLogEntity> getReceiveList(Pagination pageModel) {
  53. QueryWrapper<WorkLogEntity> queryWrapper = new QueryWrapper<>();
  54. queryWrapper.lambda().like(WorkLogEntity::getToUserId, UserProvider.getUser().getUserId());
  55. //app搜索
  56. if(StringUtil.isNotEmpty(pageModel.getKeyword())){
  57. queryWrapper.lambda().like(WorkLogEntity::getTitle,pageModel.getKeyword());
  58. }
  59. //排序
  60. if (StringUtils.isEmpty(pageModel.getSidx())) {
  61. queryWrapper.lambda().orderByDesc(WorkLogEntity::getCreatorTime);
  62. } else {
  63. queryWrapper = "asc".equals(pageModel.getSort().toLowerCase()) ? queryWrapper.orderByAsc(pageModel.getSidx()) : queryWrapper.orderByDesc(pageModel.getSidx());
  64. }
  65. Page page = new Page(pageModel.getCurrentPage(), pageModel.getPageSize());
  66. IPage<WorkLogEntity> IPages = this.page(page, queryWrapper);
  67. return pageModel.setData(IPages.getRecords(), page.getTotal());
  68. }
  69. @Override
  70. public WorkLogEntity getInfo(String id) {
  71. QueryWrapper<WorkLogEntity> queryWrapper = new QueryWrapper<>();
  72. queryWrapper.lambda().eq(WorkLogEntity::getId, id);
  73. return this.getOne(queryWrapper);
  74. }
  75. @Override
  76. @Transactional
  77. public void create(WorkLogEntity entity) {
  78. entity.setId(RandomUtil.uuId());
  79. entity.setSortCode(RandomUtil.parses());
  80. entity.setCreatorTime(new Date());
  81. entity.setCreatorUserId(UserProvider.getUser().getUserId());
  82. this.save(entity);
  83. String[] toUserIds = entity.getToUserId().split(",");
  84. for (String userIds : toUserIds) {
  85. WorkLogShareEntity workLogShare = new WorkLogShareEntity();
  86. workLogShare.setId(RandomUtil.uuId());
  87. workLogShare.setShareTime(new Date());
  88. workLogShare.setWorkLogId(entity.getId());
  89. workLogShare.setShareUserId(userIds);
  90. workLogShareService.save(workLogShare);
  91. }
  92. }
  93. @Override
  94. @Transactional
  95. public boolean update(String id, WorkLogEntity entity) {
  96. boolean flag = false;
  97. entity.setId(id);
  98. entity.setLastModifyTime(new Date());
  99. entity.setLastModifyUserId(UserProvider.getUser().getUserId());
  100. flag = this.updateById(entity);
  101. QueryWrapper<WorkLogShareEntity> queryWrapper = new QueryWrapper<>();
  102. queryWrapper.lambda().eq(WorkLogShareEntity::getWorkLogId,entity.getId());
  103. workLogShareService.remove(queryWrapper);
  104. String[] toUserIds = entity.getToUserId().split(",");
  105. for (String userIds : toUserIds) {
  106. WorkLogShareEntity workLogShare = new WorkLogShareEntity();
  107. workLogShare.setId(RandomUtil.uuId());
  108. workLogShare.setShareTime(new Date());
  109. workLogShare.setWorkLogId(entity.getId());
  110. workLogShare.setShareUserId(userIds);
  111. workLogShareService.save(workLogShare);
  112. }
  113. return flag;
  114. }
  115. @Override
  116. @Transactional
  117. public void delete(WorkLogEntity entity) {
  118. if (entity != null) {
  119. this.removeById(entity.getId());
  120. }
  121. QueryWrapper<WorkLogShareEntity> queryWrapper = new QueryWrapper<>();
  122. queryWrapper.lambda().eq(WorkLogShareEntity::getWorkLogId,entity.getId());
  123. workLogShareService.remove(queryWrapper);
  124. }
  125. }