CrowdService.java 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. package com.iden.bms.service;
  2. import cn.hutool.core.bean.BeanUtil;
  3. import cn.hutool.core.collection.CollUtil;
  4. import cn.hutool.core.util.StrUtil;
  5. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  6. import com.baomidou.mybatisplus.core.metadata.IPage;
  7. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  8. import com.iden.common.entity.IdenCrowd;
  9. import com.iden.common.service.IdenCrowdService;
  10. import com.iden.common.util.MyBeanUtils;
  11. import com.iden.common.vo.CrowdVO;
  12. import com.iden.common.vo.PageReqVO;
  13. import com.iden.common.vo.UserLoginedConvertVO;
  14. import org.springframework.beans.BeanUtils;
  15. import org.springframework.stereotype.Service;
  16. import org.springframework.transaction.annotation.Transactional;
  17. import javax.annotation.Resource;
  18. import java.util.ArrayList;
  19. import java.util.Date;
  20. import java.util.List;
  21. /**
  22. *
  23. * @author makejava
  24. * @since 2021-05-21 00:08:38
  25. */
  26. @Service
  27. public class CrowdService {
  28. @Resource
  29. private IdenCrowdService idenCrowdService;
  30. /**
  31. * 查询人群列表
  32. * @return
  33. */
  34. public IPage<CrowdVO> listCrowd(String name, UserLoginedConvertVO loginUser, PageReqVO pageReqVo) {
  35. IPage<IdenCrowd> page = new Page<>(pageReqVo.getCurrent(), pageReqVo.getPageSize());
  36. QueryWrapper<IdenCrowd> queryWrapper = new QueryWrapper<>();
  37. queryWrapper.lambda().like(StrUtil.isNotEmpty(name),IdenCrowd::getName,name)
  38. .orderByAsc(IdenCrowd::getCode);
  39. IPage<IdenCrowd> pageRes = this.idenCrowdService.page(page, queryWrapper);
  40. IPage<CrowdVO> results = new Page<>(pageRes.getCurrent(),pageRes.getSize(),pageRes.getTotal());
  41. if(CollUtil.isNotEmpty(pageRes.getRecords())){
  42. List<CrowdVO> list = new ArrayList<>();
  43. pageRes.getRecords().forEach(item -> {
  44. CrowdVO resVO = new CrowdVO();
  45. BeanUtils.copyProperties(item,resVO);
  46. list.add(resVO);
  47. });
  48. results.setRecords(list);
  49. }
  50. return results;
  51. }
  52. /**
  53. * 删除人群
  54. * @param id
  55. * @return
  56. */
  57. public boolean deleteById(Long id){
  58. return this.idenCrowdService.removeById(id);
  59. }
  60. /**
  61. * 详情
  62. * @param id
  63. * @return
  64. */
  65. public CrowdVO getCrowdById(Long id){
  66. IdenCrowd idenCrowd = this.idenCrowdService.getById(id);
  67. if (idenCrowd!=null){
  68. CrowdVO resVO = new CrowdVO();
  69. BeanUtil.copyProperties(idenCrowd,resVO);
  70. return resVO;
  71. }
  72. return null;
  73. }
  74. /**
  75. * 保存人群
  76. * @param vo
  77. */
  78. @Transactional(rollbackFor = Exception.class)
  79. public int createCrowd(CrowdVO vo, UserLoginedConvertVO loginUser){
  80. QueryWrapper<IdenCrowd> queryWrapper = new QueryWrapper<>();
  81. queryWrapper.lambda().eq(IdenCrowd::getName,vo.getName());
  82. if(idenCrowdService.count(queryWrapper) > 0){
  83. return 1;
  84. }
  85. QueryWrapper<IdenCrowd> queryWrapper2 = new QueryWrapper<>();
  86. queryWrapper2.lambda().eq(IdenCrowd::getCode,vo.getCode());
  87. if(idenCrowdService.count(queryWrapper2) > 0){
  88. return 2;
  89. }
  90. //保存人群
  91. IdenCrowd idenCrowd = new IdenCrowd();
  92. BeanUtil.copyProperties(vo,idenCrowd);
  93. idenCrowd.setCreateTime(new Date());
  94. this.idenCrowdService.save(idenCrowd);
  95. return 0;
  96. }
  97. /**
  98. * 修改人群
  99. * @param vo
  100. */
  101. @Transactional(rollbackFor = Exception.class)
  102. public void updateCrowd(CrowdVO vo){
  103. //保存人群
  104. IdenCrowd idenCrowd = this.idenCrowdService.getById(vo.getId());
  105. MyBeanUtils.copyProperties(vo,idenCrowd);
  106. idenCrowd.setModifyTime(new Date());
  107. this.idenCrowdService.updateById(idenCrowd);
  108. }
  109. }