diff --git a/src/main/java/com/bonus/gzgqj/business/bases/controller/PaTypeController.java b/src/main/java/com/bonus/gzgqj/business/bases/controller/PaTypeController.java index bbb8977..fbc7d92 100644 --- a/src/main/java/com/bonus/gzgqj/business/bases/controller/PaTypeController.java +++ b/src/main/java/com/bonus/gzgqj/business/bases/controller/PaTypeController.java @@ -11,6 +11,7 @@ import com.github.pagehelper.PageInfo; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -38,6 +39,36 @@ public class PaTypeController { return service.getTypeList(dto.getData()); } + /** + * X详情接口 + * @param dto + * @return + */ + @PostMapping("addTypeData") + @DecryptAndVerify(decryptedClass = PaTypeVo.class) + public ServerResponse addTypeData(EncryptedReq dto) { + return service.addTypeData(dto.getData()); + } + /** + * X详情接口 + * @param dto + * @return + */ + @PostMapping("updateTypeData") + @DecryptAndVerify(decryptedClass = PaTypeVo.class) + public ServerResponse updateTypeData(EncryptedReq dto) { + return service.updateTypeData(dto.getData()); + } + /** + * X详情接口 + * @param dto + * @return + */ + @GetMapping("deleteTypeData") + @DecryptAndVerify(decryptedClass = PaTypeVo.class) + public ServerResponse deleteTypeData(EncryptedReq dto) { + return service.deleteTypeData(dto.getData()); + } } diff --git a/src/main/java/com/bonus/gzgqj/business/bases/entity/PaTypeVo.java b/src/main/java/com/bonus/gzgqj/business/bases/entity/PaTypeVo.java index 536f461..1eed860 100644 --- a/src/main/java/com/bonus/gzgqj/business/bases/entity/PaTypeVo.java +++ b/src/main/java/com/bonus/gzgqj/business/bases/entity/PaTypeVo.java @@ -13,7 +13,7 @@ public class PaTypeVo { /** * 父id */ - private int pId; + private int parentId; /** * 名称 */ @@ -21,7 +21,7 @@ public class PaTypeVo { /** * 等级 */ - private String level; + private int level; /** * 数量 */ @@ -44,4 +44,10 @@ public class PaTypeVo { */ private String isActive; + + /** + * 备注 + */ + private String remarks; + } diff --git a/src/main/java/com/bonus/gzgqj/business/bases/mapper/PaTypeMapper.java b/src/main/java/com/bonus/gzgqj/business/bases/mapper/PaTypeMapper.java index 6f6c5bd..bb2a30a 100644 --- a/src/main/java/com/bonus/gzgqj/business/bases/mapper/PaTypeMapper.java +++ b/src/main/java/com/bonus/gzgqj/business/bases/mapper/PaTypeMapper.java @@ -1,6 +1,7 @@ package com.bonus.gzgqj.business.bases.mapper; import com.bonus.gzgqj.business.bases.entity.PaTypeVo; +import io.lettuce.core.dynamic.annotation.Param; import org.springframework.stereotype.Repository; import java.util.List; @@ -18,4 +19,36 @@ public interface PaTypeMapper { * @return */ List getTypeList(PaTypeVo data); + + /** + * 查询上级节点 + * @param id + * @return + */ + PaTypeVo getTypeDetails(@Param("id") int id); + + /** + * + * @param data + * @return + */ + int addTypeData(PaTypeVo data); + + int updateTypeData(PaTypeVo data); + + List getChildList(@Param("id")int id); + + /** + * 删除数据 + * @param data + * @return + */ + int deleteTypeData(PaTypeVo data); + + /** + * 依据名称查询 数量 + * @param data + * @return + */ + int getActByName(PaTypeVo data); } diff --git a/src/main/java/com/bonus/gzgqj/business/bases/service/PaTypeService.java b/src/main/java/com/bonus/gzgqj/business/bases/service/PaTypeService.java index d507a6f..671aeb9 100644 --- a/src/main/java/com/bonus/gzgqj/business/bases/service/PaTypeService.java +++ b/src/main/java/com/bonus/gzgqj/business/bases/service/PaTypeService.java @@ -15,4 +15,25 @@ public interface PaTypeService { * @return */ ServerResponse getTypeList(PaTypeVo data); + + /** + * 新增类型 + * @param data + * @return + */ + ServerResponse addTypeData(PaTypeVo data); + + /** + * 修改数据 + * @param data + * @return + */ + ServerResponse updateTypeData(PaTypeVo data); + + /** + * 删除 数据类型 + * @param data + * @return + */ + ServerResponse deleteTypeData(PaTypeVo data); } diff --git a/src/main/java/com/bonus/gzgqj/business/bases/service/PaTypeServiceImpl.java b/src/main/java/com/bonus/gzgqj/business/bases/service/PaTypeServiceImpl.java index 06c549d..d1b175b 100644 --- a/src/main/java/com/bonus/gzgqj/business/bases/service/PaTypeServiceImpl.java +++ b/src/main/java/com/bonus/gzgqj/business/bases/service/PaTypeServiceImpl.java @@ -29,10 +29,120 @@ public class PaTypeServiceImpl implements PaTypeService{ public ServerResponse getTypeList(PaTypeVo data) { List list=new ArrayList<>(); try{ - list=mapper.getTypeList(data); + PaTypeVo vo=new PaTypeVo(); + vo.setLevel(0); + vo.setId(-1); + vo.setParentId(-2); + vo.setName("配件类型列表"); + list=mapper.getTypeList(data); + list.add(vo); }catch (Exception e){ log.error(e.toString(),e); } return ServerResponse.createSuccess(); } + + /** + * 添加数据类型 + * @param data + * @return + */ + @Override + public ServerResponse addTypeData(PaTypeVo data) { + try{ + int pId=data.getParentId(); + if (pId==-1){ + data.setLevel(1); + data.setParentId(0); + }else{ + PaTypeVo vo=mapper.getTypeDetails(data.getParentId()); + if(vo==null || vo.getId()==0){ + return ServerResponse.createErroe("数据节点不存在"); + }else { + int level=vo.getLevel(); + if(level>=3){ + return ServerResponse.createErroe("该节点不允许添加数据"); + }else{ + level=level+1; + } + data.setLevel(level); + } + int nums=mapper.getActByName(data); + if(nums>0){ + return ServerResponse.createErroe("该节点名称已存在"); + }else{ + int num= mapper.addTypeData(data); + if(num>0){ + return ServerResponse.createSuccess("添加成功"); + }else{ + return ServerResponse.createErroe("添加失败"); + } + } + } + + }catch (Exception e){ + log.error(e.toString(),e); + } + return ServerResponse.createErroe("添加失败,请联系管理员!"); + } + + /** + * 修改数据 + * @param data + * @return + */ + @Override + public ServerResponse updateTypeData(PaTypeVo data) { + try{ + int id=data.getId(); + if(id>0){ + int num=mapper.getActByName(data); + if(num>0){ + return ServerResponse.createErroe("该节点名称已存在"); + }else{ + int nums=mapper.updateTypeData(data); + if(nums>0){ + return ServerResponse.createSuccess("修改成功"); + }else{ + return ServerResponse.createErroe("修改失败"); + } + } + }else{ + return ServerResponse.createErroe("该数据不允许修改"); + } + + }catch (Exception e){ + log.error(e.toString(),e); + } + return ServerResponse.createErroe("修改失败"); + } + + /** + * @param data 删除 + * @return + */ + @Override + public ServerResponse deleteTypeData(PaTypeVo data) { + try{ + int id=data.getId(); + if(id>0){ + List idList=mapper.getChildList(data.getId()); + if(idList!=null && !idList.isEmpty()){ + int num= mapper.deleteTypeData(data); + if(num>0){ + return ServerResponse.createSuccess("删除成功"); + }else{ + return ServerResponse.createErroe("删除失败!"); + } + }else { + return ServerResponse.createErroe("请先删除子节点!"); + } + }else{ + return ServerResponse.createErroe("请选择要删除的数据"); + } + }catch (Exception e){ + log.error(e.toString(),e); + } + return ServerResponse.createErroe("修改失败"); + } } diff --git a/src/main/resources/mappers/bases/PaTypeMapper.xml b/src/main/resources/mappers/bases/PaTypeMapper.xml new file mode 100644 index 0000000..a63af8a --- /dev/null +++ b/src/main/resources/mappers/bases/PaTypeMapper.xml @@ -0,0 +1,42 @@ + + + + + + insert into pa_type(parent_id, name,remarks,is_active,level)VALUES(#{pId},#{name},#{remarks},1,#{level}) + + + update pa_type set name=#{name},remarks=#{remarks} where id=#{id} + + + update pa_type set is_active=0 where id=#{id} + + + + + + + \ No newline at end of file