|
@@ -1,14 +1,32 @@
|
|
|
package cn.kdan.compdf.service.impl;
|
|
|
|
|
|
+import cn.hutool.core.bean.BeanUtil;
|
|
|
+import cn.hutool.core.collection.CollectionUtil;
|
|
|
+import cn.hutool.core.date.DateUtil;
|
|
|
+import cn.hutool.core.lang.UUID;
|
|
|
+import cn.kdan.compdf.base.R;
|
|
|
+import cn.kdan.compdf.dto.AddNewProjectDTO;
|
|
|
+import cn.kdan.compdf.dto.EditProjectDTO;
|
|
|
import cn.kdan.compdf.entity.BackgroundUserProject;
|
|
|
+import cn.kdan.compdf.enums.DateTImeFormatEnum;
|
|
|
import cn.kdan.compdf.mapper.BackgroundUserProjectMapper;
|
|
|
import cn.kdan.compdf.service.BackgroundUserProjectService;
|
|
|
+import cn.kdan.compdf.utils.MD5Util;
|
|
|
+import cn.kdan.compdf.utils.TokenUtil;
|
|
|
+import cn.kdan.compdf.vo.BackgroundUserProjectDTO;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.google.common.collect.Lists;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
+import java.time.LocalDateTime;
|
|
|
+import java.time.format.DateTimeFormatter;
|
|
|
+import java.util.Collections;
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
/**
|
|
|
* @author comPDF-Kit WPH 2022-10-09
|
|
|
*/
|
|
@@ -20,4 +38,83 @@ public class BackgroundUserProjectServiceImpl extends ServiceImpl<BackgroundUser
|
|
|
return this.page(new Page<>(query.getPage(), query.getSize()), Wrappers.query(query));
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 获取API Keys列表
|
|
|
+ * @return project列表
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public List<BackgroundUserProjectDTO> getProjectList() {
|
|
|
+ // 查找用户下面状态正常的project记录
|
|
|
+ LambdaQueryWrapper<BackgroundUserProject> eq = new LambdaQueryWrapper<BackgroundUserProject>()
|
|
|
+ .eq(BackgroundUserProject::getStatus, 1)
|
|
|
+ .eq(BackgroundUserProject::getUserId, TokenUtil.getRequestHeader().getId());
|
|
|
+ List<BackgroundUserProject> list = this.baseMapper.selectList(eq);
|
|
|
+ // 处理返回
|
|
|
+ if (CollectionUtil.isNotEmpty(list)) {
|
|
|
+ List<BackgroundUserProjectDTO> backgroundUserProjectDTOList = Lists.newArrayList();
|
|
|
+ list.forEach(c -> {
|
|
|
+ BackgroundUserProjectDTO backgroundUserProjectDTO = new BackgroundUserProjectDTO();
|
|
|
+ BeanUtil.copyProperties(c, backgroundUserProjectDTO);
|
|
|
+ backgroundUserProjectDTO.setCreateDate(DateUtil.format(c.getCreateDate(), DateTImeFormatEnum.DATE_TIME));
|
|
|
+ backgroundUserProjectDTOList.add(backgroundUserProjectDTO);
|
|
|
+ });
|
|
|
+ return backgroundUserProjectDTOList;
|
|
|
+ } else {
|
|
|
+ return Collections.emptyList();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 添加新项目
|
|
|
+ * @param addNewProjectDTO 新项目参数
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public void addNewProject(AddNewProjectDTO addNewProjectDTO) {
|
|
|
+ BackgroundUserProject backgroundUserProject = new BackgroundUserProject();
|
|
|
+ BeanUtil.copyProperties(addNewProjectDTO, backgroundUserProject);
|
|
|
+ backgroundUserProject.setProjectKey(MD5Util.MD5Encode(UUID.randomUUID().toString()));
|
|
|
+ backgroundUserProject.setSecretKey(MD5Util.MD5Encode(UUID.randomUUID().toString()));
|
|
|
+ backgroundUserProject.setStatus(1);
|
|
|
+ this.baseMapper.insert(backgroundUserProject);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 添加新用户默认项目
|
|
|
+ * @param userId 用户id
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public void defaultProject(Long userId) {
|
|
|
+ BackgroundUserProject backgroundUserProject = new BackgroundUserProject();
|
|
|
+ backgroundUserProject.setUserId(userId);
|
|
|
+ backgroundUserProject.setProjectName("Default Project");
|
|
|
+ backgroundUserProject.setProjectKey(MD5Util.MD5Encode(UUID.randomUUID().toString()));
|
|
|
+ backgroundUserProject.setSecretKey(MD5Util.MD5Encode(UUID.randomUUID().toString()));
|
|
|
+ backgroundUserProject.setStatus(1);
|
|
|
+ this.baseMapper.insert(backgroundUserProject);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 编辑项目
|
|
|
+ * @param editProjectDTO 编辑参数
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public void editProject(EditProjectDTO editProjectDTO) {
|
|
|
+ BackgroundUserProject backgroundUserProject = new BackgroundUserProject();
|
|
|
+ BeanUtil.copyProperties(editProjectDTO, backgroundUserProject);
|
|
|
+ this.baseMapper.updateById(backgroundUserProject);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 删除项目
|
|
|
+ * @param id 项目表主键
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public void deleteById(Long id) {
|
|
|
+ // 通过id逻辑删除
|
|
|
+ BackgroundUserProject backgroundUserProject = new BackgroundUserProject();
|
|
|
+ backgroundUserProject.setId(id);
|
|
|
+ backgroundUserProject.setStatus(0);
|
|
|
+ this.baseMapper.updateById(backgroundUserProject);
|
|
|
+ }
|
|
|
+
|
|
|
}
|