|
@@ -1,10 +1,26 @@
|
|
|
package kankan.daikan.base.service.impl;
|
|
|
|
|
|
-import kankan.daikan.base.entity.TmProject;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import fdage.back.sdk.base.enums.ResultCodeEnum;
|
|
|
+import fdage.back.sdk.base.exception.CommonBaseException;
|
|
|
+import fdage.back.sdk.base.uuid.SnowFlakeUUidUtils;
|
|
|
import kankan.daikan.base.dao.TmProjectDao;
|
|
|
+import kankan.daikan.base.entity.TmProject;
|
|
|
+import kankan.daikan.base.enums.UuidPreEnum;
|
|
|
import kankan.daikan.base.service.ITmProjectService;
|
|
|
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import lombok.extern.log4j.Log4j2;
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
+import org.springframework.util.CollectionUtils;
|
|
|
+
|
|
|
+import java.time.LocalDate;
|
|
|
+import java.time.LocalDateTime;
|
|
|
+import java.util.Arrays;
|
|
|
+import java.util.List;
|
|
|
|
|
|
/**
|
|
|
* <p>
|
|
@@ -15,6 +31,75 @@ import org.springframework.stereotype.Service;
|
|
|
* @since 2021-04-22
|
|
|
*/
|
|
|
@Service
|
|
|
+@Log4j2
|
|
|
public class TmProjectServiceImpl extends ServiceImpl<TmProjectDao, TmProject> implements ITmProjectService {
|
|
|
|
|
|
+
|
|
|
+ public int addNew(TmProject tmProject) {
|
|
|
+ if (null == tmProject) {
|
|
|
+ return -1;
|
|
|
+ }
|
|
|
+ tmProject.setId(SnowFlakeUUidUtils.generaUUid(null, null, UuidPreEnum.HOUSE_ID_PRE.getPre()));
|
|
|
+ tmProject.setIsDelete(0);
|
|
|
+ tmProject.setCreateTime(LocalDateTime.now());
|
|
|
+ tmProject.setUpdateTime(LocalDateTime.now());
|
|
|
+ return getBaseMapper().insert(tmProject);
|
|
|
+ }
|
|
|
+
|
|
|
+ public TmProject getWithId(String id) {
|
|
|
+ if (StringUtils.isBlank(id)) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ LambdaQueryWrapper<TmProject> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ lambdaQueryWrapper.eq(TmProject::getIsDelete, 0);
|
|
|
+ lambdaQueryWrapper.eq(TmProject::getId, id);
|
|
|
+ lambdaQueryWrapper.last("limit 1");
|
|
|
+ return getBaseMapper().selectOne(lambdaQueryWrapper);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public void batchDeleteById(String ids){
|
|
|
+ if(StringUtils.isBlank(ids)){
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ List<String> idList = Arrays.asList(ids.split(","));
|
|
|
+ if(!CollectionUtils.isEmpty(idList)){
|
|
|
+ for (String id : idList) {
|
|
|
+ TmProject project = getWithId(id);
|
|
|
+ if(null == project){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ if(project.getIsDelete() == 1){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ project.setIsDelete(1);
|
|
|
+ int update = getBaseMapper().updateById(project);
|
|
|
+ if(update != 1){
|
|
|
+ log.warn("删除项目[{}]失败" , id);
|
|
|
+ throw new CommonBaseException(ResultCodeEnum.D101 , "删除失败");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ public IPage<TmProject> getPageList(long pageNum, long pageSize,
|
|
|
+ String name, LocalDate start,
|
|
|
+ LocalDate end, String userName) {
|
|
|
+ IPage<TmProject> page = new Page<>(pageNum, pageSize);
|
|
|
+ LambdaQueryWrapper<TmProject> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ lambdaQueryWrapper.eq(TmProject::getIsDelete, 0);
|
|
|
+ lambdaQueryWrapper.eq(TmProject::getCreatorName, userName);
|
|
|
+ if (StringUtils.isNotBlank(name)) {
|
|
|
+ lambdaQueryWrapper.like(TmProject::getName, name);
|
|
|
+ }
|
|
|
+ if (null != start && null != end) {
|
|
|
+ lambdaQueryWrapper.ge(true, TmProject::getCreateTime, start);
|
|
|
+ lambdaQueryWrapper.le(true, TmProject::getCreateTime, end);
|
|
|
+ }
|
|
|
+ lambdaQueryWrapper.orderByDesc(TmProject::getCreateTime);
|
|
|
+ return getBaseMapper().selectPage(page, lambdaQueryWrapper);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
}
|