This commit is contained in:
ChenQiaoWen 2025-03-05 22:36:58 +08:00
parent 5e3489cb43
commit fe9b60e007
17 changed files with 286 additions and 18 deletions

View File

@ -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<List<AchievementVO>> getList(@RequestParam("page") Long page, @RequestParam("pageSize") Long pageSize, @RequestParam("projectID") String projectID){
List<AchievementVO> list = achievementService.getList(page,pageSize,projectID);
return Result.success(list);
}
}

View File

@ -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<ProjectVO> projectVOList = projectService.userProject(id);
public JsonData getUserProject(@RequestParam("userProjectId") String userProjectId){
List<ProjectVO> 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();
}
}

View File

@ -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<AchievementVO> getList(@Param("startRow") Long startRow,@Param("pageSize") Long pageSize,@Param("projectID") String projectID);
}

View File

@ -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<ProjectRequest> {
@Select("select * from project where user_id = #{id}")
List<ProjectVO> userProject(Integer id);
@Select("select * from project_user where projectId = #{userProjectId}")
List<ProjectVO> 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);
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -42,4 +42,9 @@ public class UserVO {
* 用户地址
*/
private String address;
/**
* 用户项目
*/
private String userProjectId;
}

View File

@ -0,0 +1,9 @@
package net.carbon.service;
import net.carbon.model.vo.AchievementVO;
import java.util.List;
public interface AchievementService {
List<AchievementVO> getList(Long page, Long pageSize, String projectID);
}

View File

@ -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<ProjectVO> userProject(Integer id);
List<ProjectVO> userProject(String userProjectId);
void addProject(ProjectRequest projectRequest);
void editProject(AchievementRequest achievementRequest);
void deleteProAndPU(Long id);
}

View File

@ -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<AchievementVO> getList(Long page, Long pageSize, String projectID) {
Long startRow = (page-1)*pageSize;
return achievementMapper.getList(startRow,pageSize,projectID);
}
}

View File

@ -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<ProjectVO> userProject(Integer id) {
List<ProjectVO> userProjectList = projectMapper.userProject(id);
public List<ProjectVO> userProject(String userProjectId) {
List<ProjectVO> 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);
}
}

View File

@ -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<UserMapper, UserDO> 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<UserMapper, UserDO> implements
UserDO userDO = userMapper.selectOne(queryWrapper);
UserVO userVO = new UserVO();
BeanUtils.copyProperties(userDO, userVO);
userVO.setUserProjectId(projectMapper.getProjectIdByUserId(userVO.getId()));
return userVO;
}

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="net.carbon.mapper.AchievementMapper">
<select id="getList" resultType="net.carbon.model.vo.AchievementVO">
select * from project_property where project_id = #{projectID} limit #{startRow},#{pageSize}
</select>
</mapper>

View File

@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="net.carbon.mapper.ProjectMapper">
<update id="update">
update project_property
<set>
<if test="nodex != null and nodex != '' ">
nodex = #{nodex},
</if>
<if test="unit != null and unit != '' ">
unit = #{unit},
</if>
<if test="arribure != null and arribure != '' ">
arribure = #{arribure},
</if>
<if test="dataValue != null and dataValue != '' ">
dataValue = #{dataValue},
</if>
<if test="updataData != null and updataData != '' ">
updataData = #{updataData},
</if>
<if test="leibi != null and leibi != '' ">
leibi = #{leibi},
</if>
<if test="indexClassification != null and indexClassification != '' ">
indexClassification = #{indexClassification},
</if>
<if test="assess != null and assess != '' ">
assess = #{assess},
</if>
</set>
</update>
</mapper>