diff --git a/server/src/main/java/net/carbon/controller/AchievementController.java b/server/src/main/java/net/carbon/controller/AchievementController.java new file mode 100644 index 0000000..bb58c3e --- /dev/null +++ b/server/src/main/java/net/carbon/controller/AchievementController.java @@ -0,0 +1,26 @@ +package net.carbon.controller; + +import net.carbon.model.vo.AchievementVO; +import net.carbon.result.Result; +import net.carbon.service.AchievementService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +@RestController +@RequestMapping("/api/achievement/v1") +public class AchievementController { + @Autowired + private AchievementService achievementService; + + @GetMapping("/list") + public Result> getList(@RequestParam("page") Long page, @RequestParam("pageSize") Long pageSize, @RequestParam("projectID") String projectID){ + List list = achievementService.getList(page,pageSize,projectID); + return Result.success(list); + } + +} diff --git a/server/src/main/java/net/carbon/controller/ProjectController.java b/server/src/main/java/net/carbon/controller/ProjectController.java index 9dd511a..5ea6cf4 100644 --- a/server/src/main/java/net/carbon/controller/ProjectController.java +++ b/server/src/main/java/net/carbon/controller/ProjectController.java @@ -1,13 +1,12 @@ package net.carbon.controller; +import net.carbon.model.request.AchievementRequest; +import net.carbon.model.request.ProjectRequest; import net.carbon.model.vo.ProjectVO; import net.carbon.service.ProjectService; import net.carbon.utils.JsonData; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import java.util.List; @@ -18,8 +17,26 @@ public class ProjectController { @Autowired private ProjectService projectService; @GetMapping("/info") - public JsonData getUserProject(@RequestParam("id") Integer id){ - List projectVOList = projectService.userProject(id); + public JsonData getUserProject(@RequestParam("userProjectId") String userProjectId){ + List projectVOList = projectService.userProject(userProjectId); return JsonData.buildSuccess(projectVOList); } + + @PostMapping("/add") + public JsonData addProject(@RequestBody ProjectRequest projectRequest){ + projectService.addProject(projectRequest); + return JsonData.buildSuccess(); + } + + @PutMapping("/edit") + public JsonData editProject(@RequestBody AchievementRequest achievementRequest){ + projectService.editProject(achievementRequest); + return JsonData.buildSuccess(); + } + + @DeleteMapping("/delete") + public JsonData deletePropertyAndProjectUser(@RequestParam("id") Long id){ + projectService.deleteProAndPU(id); + return JsonData.buildSuccess(); + } } diff --git a/server/src/main/java/net/carbon/mapper/AchievementMapper.java b/server/src/main/java/net/carbon/mapper/AchievementMapper.java new file mode 100644 index 0000000..96d0fa5 --- /dev/null +++ b/server/src/main/java/net/carbon/mapper/AchievementMapper.java @@ -0,0 +1,13 @@ +package net.carbon.mapper; + +import net.carbon.model.vo.AchievementVO; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface AchievementMapper { + + List getList(@Param("startRow") Long startRow,@Param("pageSize") Long pageSize,@Param("projectID") String projectID); +} diff --git a/server/src/main/java/net/carbon/mapper/ProjectMapper.java b/server/src/main/java/net/carbon/mapper/ProjectMapper.java index 367bfa8..f597590 100644 --- a/server/src/main/java/net/carbon/mapper/ProjectMapper.java +++ b/server/src/main/java/net/carbon/mapper/ProjectMapper.java @@ -1,14 +1,30 @@ package net.carbon.mapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import net.carbon.model.po.AchievementDO; +import net.carbon.model.request.ProjectRequest; +import net.carbon.model.vo.AchievementVO; import net.carbon.model.vo.ProjectVO; +import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Select; import java.util.List; @Mapper -public interface ProjectMapper { +public interface ProjectMapper extends BaseMapper { - @Select("select * from project where user_id = #{id}") - List userProject(Integer id); + @Select("select * from project_user where projectId = #{userProjectId}") + List userProject(String userProjectId); + + void update(AchievementDO achievementDO); + + @Delete("delete from project_property where id = #{id}") + void deleteProperty(Long id); + + @Delete("delete from project_user where property_id = #{propertyId}") + void deleteProjectUser(Long propertyId); + + @Select("select projectId from project_user where user_id = #{id}") + String getProjectIdByUserId(Long id); } diff --git a/server/src/main/java/net/carbon/model/po/AchievementDO.java b/server/src/main/java/net/carbon/model/po/AchievementDO.java new file mode 100644 index 0000000..9e9cc38 --- /dev/null +++ b/server/src/main/java/net/carbon/model/po/AchievementDO.java @@ -0,0 +1,20 @@ +package net.carbon.model.po; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class AchievementDO { + private Long id; + private String nodex; + private String unit; + private String arribure; + private String dataValue; + private String updataData; + private String leibi; + private String indexClassification; + private String assess; +} \ No newline at end of file diff --git a/server/src/main/java/net/carbon/model/request/AchievementRequest.java b/server/src/main/java/net/carbon/model/request/AchievementRequest.java new file mode 100644 index 0000000..a20867f --- /dev/null +++ b/server/src/main/java/net/carbon/model/request/AchievementRequest.java @@ -0,0 +1,20 @@ +package net.carbon.model.request; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class AchievementRequest { + private Long id; + private String nodex; + private String unit; + private String arribure; + private String dataValue; + private String updataData; + private String leibi; + private String indexClassification; + private String assess; +} \ No newline at end of file diff --git a/server/src/main/java/net/carbon/model/request/ProjectRequest.java b/server/src/main/java/net/carbon/model/request/ProjectRequest.java new file mode 100644 index 0000000..1d09efd --- /dev/null +++ b/server/src/main/java/net/carbon/model/request/ProjectRequest.java @@ -0,0 +1,25 @@ +package net.carbon.model.request; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@AllArgsConstructor +@NoArgsConstructor +@TableName("project_user") +public class ProjectRequest { + @TableField("user_id") + private String userid; + @TableField("projectName") + private String projectName; + @TableField("projectTeritory") + private String projectTeritory; + private String principal; + private String type; + @TableField("projectId") + private String projectId; + private Long propertyId; +} diff --git a/server/src/main/java/net/carbon/model/vo/AchievementVO.java b/server/src/main/java/net/carbon/model/vo/AchievementVO.java new file mode 100644 index 0000000..697bac7 --- /dev/null +++ b/server/src/main/java/net/carbon/model/vo/AchievementVO.java @@ -0,0 +1,20 @@ +package net.carbon.model.vo; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class AchievementVO { + private Long id; + private String nodex; + private String unit; + private String arribure; + private String dataValue; + private String updataData; + private String leibi; + private String indexClassification; + private String assess; +} diff --git a/server/src/main/java/net/carbon/model/vo/ProjectVO.java b/server/src/main/java/net/carbon/model/vo/ProjectVO.java index 5db1d08..018dba2 100644 --- a/server/src/main/java/net/carbon/model/vo/ProjectVO.java +++ b/server/src/main/java/net/carbon/model/vo/ProjectVO.java @@ -4,11 +4,11 @@ import lombok.Data; @Data public class ProjectVO { + private Long id; private String projectName; + private String projectTeritory; + private String principal; + private String type; private String projectId; - private String projectImage; - private String projectAddress; - private String projectStatus; - private String userNumber; - private String companydescription; + private String propertyId; } diff --git a/server/src/main/java/net/carbon/model/vo/UserVO.java b/server/src/main/java/net/carbon/model/vo/UserVO.java index 272db3a..33597e8 100644 --- a/server/src/main/java/net/carbon/model/vo/UserVO.java +++ b/server/src/main/java/net/carbon/model/vo/UserVO.java @@ -42,4 +42,9 @@ public class UserVO { * 用户地址 */ private String address; + + /** + * 用户项目 + */ + private String userProjectId; } diff --git a/server/src/main/java/net/carbon/service/AchievementService.java b/server/src/main/java/net/carbon/service/AchievementService.java new file mode 100644 index 0000000..c431224 --- /dev/null +++ b/server/src/main/java/net/carbon/service/AchievementService.java @@ -0,0 +1,9 @@ +package net.carbon.service; + +import net.carbon.model.vo.AchievementVO; + +import java.util.List; + +public interface AchievementService { + List getList(Long page, Long pageSize, String projectID); +} diff --git a/server/src/main/java/net/carbon/service/ProjectService.java b/server/src/main/java/net/carbon/service/ProjectService.java index 9f6950a..29d65b7 100644 --- a/server/src/main/java/net/carbon/service/ProjectService.java +++ b/server/src/main/java/net/carbon/service/ProjectService.java @@ -1,9 +1,17 @@ package net.carbon.service; +import net.carbon.model.request.AchievementRequest; +import net.carbon.model.request.ProjectRequest; import net.carbon.model.vo.ProjectVO; import java.util.List; public interface ProjectService { - List userProject(Integer id); + List userProject(String userProjectId); + + void addProject(ProjectRequest projectRequest); + + void editProject(AchievementRequest achievementRequest); + + void deleteProAndPU(Long id); } diff --git a/server/src/main/java/net/carbon/service/impl/AchievementServiceImpl.java b/server/src/main/java/net/carbon/service/impl/AchievementServiceImpl.java new file mode 100644 index 0000000..bf330ad --- /dev/null +++ b/server/src/main/java/net/carbon/service/impl/AchievementServiceImpl.java @@ -0,0 +1,21 @@ +package net.carbon.service.impl; + +import net.carbon.mapper.AchievementMapper; +import net.carbon.model.vo.AchievementVO; +import net.carbon.service.AchievementService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +public class AchievementServiceImpl implements AchievementService { + + @Autowired + private AchievementMapper achievementMapper; + @Override + public List getList(Long page, Long pageSize, String projectID) { + Long startRow = (page-1)*pageSize; + return achievementMapper.getList(startRow,pageSize,projectID); + } +} diff --git a/server/src/main/java/net/carbon/service/impl/ProjectServiceImpl.java b/server/src/main/java/net/carbon/service/impl/ProjectServiceImpl.java index adf5330..4628d8b 100644 --- a/server/src/main/java/net/carbon/service/impl/ProjectServiceImpl.java +++ b/server/src/main/java/net/carbon/service/impl/ProjectServiceImpl.java @@ -1,20 +1,44 @@ package net.carbon.service.impl; import net.carbon.mapper.ProjectMapper; +import net.carbon.model.po.AchievementDO; +import net.carbon.model.request.AchievementRequest; +import net.carbon.model.request.ProjectRequest; import net.carbon.model.vo.ProjectVO; import net.carbon.service.ProjectService; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.util.List; @Service -public class ProjectServiceImpl implements ProjectService { +public class ProjectServiceImpl implements ProjectService{ @Autowired private ProjectMapper projectMapper; @Override - public List userProject(Integer id) { - List userProjectList = projectMapper.userProject(id); + public List userProject(String userProjectId) { + List userProjectList = projectMapper.userProject(userProjectId); return userProjectList; } + + @Override + public void addProject(ProjectRequest projectRequest) { + projectMapper.insert(projectRequest); + } + + @Override + public void editProject(AchievementRequest achievementRequest) { + AchievementDO achievementDO = new AchievementDO(); + BeanUtils.copyProperties(achievementRequest,achievementDO); + projectMapper.update(achievementDO); + } + + @Transactional + @Override + public void deleteProAndPU(Long id) { + projectMapper.deleteProperty(id); + projectMapper.deleteProjectUser(id); + } } diff --git a/server/src/main/java/net/carbon/service/impl/UserServiceImpl.java b/server/src/main/java/net/carbon/service/impl/UserServiceImpl.java index cc20ccf..62035e0 100644 --- a/server/src/main/java/net/carbon/service/impl/UserServiceImpl.java +++ b/server/src/main/java/net/carbon/service/impl/UserServiceImpl.java @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.extern.slf4j.Slf4j; import net.carbon.enums.BizCodeEnum; import net.carbon.interceptor.LoginInterceptor; +import net.carbon.mapper.ProjectMapper; import net.carbon.mapper.UserMapper; import net.carbon.model.LoginUser; import net.carbon.model.po.UserDO; @@ -43,6 +44,8 @@ public class UserServiceImpl extends ServiceImpl implements @Autowired private UserMapper userMapper; + @Autowired + private ProjectMapper projectMapper; @Override @Transactional(rollbackFor = RuntimeException.class, propagation = Propagation.REQUIRED) @@ -135,6 +138,7 @@ public class UserServiceImpl extends ServiceImpl implements UserDO userDO = userMapper.selectOne(queryWrapper); UserVO userVO = new UserVO(); BeanUtils.copyProperties(userDO, userVO); + userVO.setUserProjectId(projectMapper.getProjectIdByUserId(userVO.getId())); return userVO; } diff --git a/server/src/main/resources/mapper/AchievementMapper.xml b/server/src/main/resources/mapper/AchievementMapper.xml new file mode 100644 index 0000000..f8ca08b --- /dev/null +++ b/server/src/main/resources/mapper/AchievementMapper.xml @@ -0,0 +1,7 @@ + + + + + \ No newline at end of file diff --git a/server/src/main/resources/mapper/ProjectMapper.xml b/server/src/main/resources/mapper/ProjectMapper.xml new file mode 100644 index 0000000..0b29011 --- /dev/null +++ b/server/src/main/resources/mapper/ProjectMapper.xml @@ -0,0 +1,33 @@ + + + + + update project_property + + + nodex = #{nodex}, + + + unit = #{unit}, + + + arribure = #{arribure}, + + + dataValue = #{dataValue}, + + + updataData = #{updataData}, + + + leibi = #{leibi}, + + + indexClassification = #{indexClassification}, + + + assess = #{assess}, + + + + \ No newline at end of file