|
|
@@ -0,0 +1,112 @@
|
|
|
+package com.cloud.sa.management.manager;
|
|
|
+
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.cloud.sa.base.common.domain.PageResult;
|
|
|
+import com.cloud.sa.base.common.domain.ResponseDTO;
|
|
|
+import com.cloud.sa.base.common.util.BlinkEntityUtil;
|
|
|
+import com.cloud.sa.base.common.util.BlinkEnumUtil;
|
|
|
+import com.cloud.sa.base.common.util.BlinkPageUtil;
|
|
|
+import com.cloud.sa.base.module.support.serialnumber.constant.SerialNumberIdEnum;
|
|
|
+import com.cloud.sa.base.module.support.serialnumber.service.SerialNumberService;
|
|
|
+import com.cloud.sa.management.domain.dataobject.GroupDO;
|
|
|
+import com.cloud.sa.management.domain.dto.GroupDTO;
|
|
|
+import com.cloud.sa.management.domain.qry.GroupQry;
|
|
|
+import com.cloud.sa.management.objectmapper.GroupMapper;
|
|
|
+import com.cloud.sa.management.repository.GroupRepository;
|
|
|
+import com.cloud.sa.management.service.IGroupService;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+
|
|
|
+import javax.annotation.Resource;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Objects;
|
|
|
+
|
|
|
+@Service
|
|
|
+public class GroupServiceImpl extends ServiceImpl<GroupRepository, GroupDO> implements IGroupService {
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private GroupRepository repository;
|
|
|
+ @Resource
|
|
|
+ private GroupMapper groupMapper;
|
|
|
+ @Resource
|
|
|
+ private SerialNumberService serialNumberService;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 新增岗位
|
|
|
+ *
|
|
|
+ * @param dto
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public ResponseDTO<String> supportsGroupCreate(GroupDTO dto) {
|
|
|
+ // 验证群组编码是否重复
|
|
|
+ GroupDO groupDO = repository.queryByGroupName(dto.getGroupName(), null, Boolean.FALSE);
|
|
|
+ if (Objects.nonNull(groupDO)) {
|
|
|
+ return ResponseDTO.userErrorParam("群组已存在!请检查");
|
|
|
+ }
|
|
|
+ //生成群组编码
|
|
|
+ SerialNumberIdEnum serialNumberIdEnum = BlinkEnumUtil.getEnumByValue(4, SerialNumberIdEnum.class);
|
|
|
+ dto.setGroupCode(serialNumberService.generate(serialNumberIdEnum));
|
|
|
+ //生成DO
|
|
|
+ GroupDO group = new GroupDO();
|
|
|
+ groupMapper.toGroupDO(dto, group);
|
|
|
+ //创建人赋值
|
|
|
+ BlinkEntityUtil.setCreateInfo(group);
|
|
|
+ //执行新增
|
|
|
+ this.save(group);
|
|
|
+ return ResponseDTO.ok();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 查询岗位列表
|
|
|
+ *
|
|
|
+ * @param qry
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public ResponseDTO<PageResult<GroupDTO>> supportsGroupQueryPage(GroupQry qry) {
|
|
|
+ Page<?> page = BlinkPageUtil.convert2PageQuery(qry);
|
|
|
+ List<GroupDTO> list = repository.supportsGroupQueryPage(page, qry);
|
|
|
+ PageResult<GroupDTO> pageResult = BlinkPageUtil.convert2PageResult(page, list);
|
|
|
+ return ResponseDTO.ok(pageResult);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取群组信息
|
|
|
+ *
|
|
|
+ * @param id
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public ResponseDTO<GroupDTO> supportsGroupSingleQuery(Long id) {
|
|
|
+ GroupDO groupDO = repository.queryByGroupName(null, id, Boolean.FALSE);
|
|
|
+ if (!Objects.nonNull(groupDO)) {
|
|
|
+ return ResponseDTO.userErrorParam("群组不存在!请检查");
|
|
|
+ }
|
|
|
+ GroupDTO dto = new GroupDTO();
|
|
|
+ groupMapper.toGroupDTO(groupDO, dto);
|
|
|
+ return ResponseDTO.ok(dto);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 编辑群组信息
|
|
|
+ *
|
|
|
+ * @param dto
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public ResponseDTO<String> supportsGroupUpdate(GroupDTO dto) {
|
|
|
+ // 验证群组编码是否重复
|
|
|
+ GroupDO groupDO = repository.queryByGroupName(dto.getGroupName(), dto.getId(), Boolean.FALSE);
|
|
|
+ if (Objects.nonNull(groupDO)) {
|
|
|
+ return ResponseDTO.userErrorParam("群组已存在!请检查");
|
|
|
+ }
|
|
|
+ GroupDO group = new GroupDO();
|
|
|
+ groupMapper.toGroupDO(dto, group);
|
|
|
+ //修改人赋值
|
|
|
+ BlinkEntityUtil.setUpdatedInfo(group);
|
|
|
+ //执行修改
|
|
|
+ this.updateById(group);
|
|
|
+ return ResponseDTO.ok();
|
|
|
+ }
|
|
|
+}
|