From 3bc6fb1aa90463ccf8e9dcdaca58ad9365f39916 Mon Sep 17 00:00:00 2001 From: zhubaomin <zhubaomin> Date: 星期五, 28 三月 2025 15:30:42 +0800 Subject: [PATCH] 获取项目详情接口 --- pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/project/ProjectSv.java | 172 +++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 167 insertions(+), 5 deletions(-) diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/project/ProjectSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/project/ProjectSv.java index adad9dc..0e913ac 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/project/ProjectSv.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-irrigate/src/main/java/com/dy/pipIrrIrrigate/project/ProjectSv.java @@ -2,16 +2,24 @@ import com.dy.common.webUtil.QueryResultVo; +import com.dy.pipIrrGlobal.daoIr.IrProjectGroupMapper; import com.dy.pipIrrGlobal.daoIr.IrProjectMapper; import com.dy.pipIrrGlobal.pojoIr.IrProject; +import com.dy.pipIrrGlobal.pojoIr.IrProjectGroup; import com.dy.pipIrrGlobal.voIr.VoProject; +import com.dy.pipIrrGlobal.voIr.VoProjectDetail; import com.dy.pipIrrGlobal.voIr.VoProjectOne; +import com.dy.pipIrrGlobal.voIr.VoProjectSimple; +import com.dy.pipIrrIrrigate.project.dto.IrrigateProject; import lombok.extern.slf4j.Slf4j; import org.apache.dubbo.common.utils.PojoUtils; +import org.springframework.aop.framework.AopContext; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.util.Date; +import java.util.HashMap; import java.util.List; import java.util.Map; @@ -27,9 +35,11 @@ @Autowired private IrProjectMapper irProjectMapper; + @Autowired + private IrProjectGroupMapper irProjectGroupMapper; + /** - * 娣诲姞椤圭洰 - * + * 娣诲姞椤圭洰锛屾棫鐗堟湰锛屽師鍒欎笂搴熷純 * @param po * @return */ @@ -62,8 +72,121 @@ } /** - * 鍒犻櫎椤圭洰 - * + * 娣诲姞椤圭洰锛岀洰鍓嶄娇鐢� + * @param po + * @return + */ + @Transactional(rollbackFor = Exception.class) + public Map addIrrigateProject(IrrigateProject po) { + String projectName = po.getProjectName(); + String irrigateGroups = po.getIrrigateGroups(); + Long operatorId = po.getOperatorId(); + + IrProject irProject = new IrProject(); + irProject.setProjectName(projectName); + irProject.setProjectState((byte)1); + irProject.setOperator(operatorId); + irProject.setOperateTime(new Date()); + irProject.setDeleted((byte)0); + irProjectMapper.insert(irProject); + Long projectId = irProject.getId(); + if(projectId == null) { + Map map = new HashMap<>(); + map.put("success", false); + map.put("msg", "鍒涘缓鐏屾簤椤圭洰澶辫触"); + map.put("content", null); + return map; + } + + String[] irrigateGroupArr = irrigateGroups.split(","); + Integer sort = 1; + for(String irrigateGroupId : irrigateGroupArr) { + String trimmed = irrigateGroupId.trim(); + if(trimmed.isEmpty()) { + continue; + } + try { + Long irrigateGroupIdLong = Long.parseLong(trimmed); + IrProjectGroup irProjectGroup = new IrProjectGroup(); + irProjectGroup.setProjectId(projectId); + irProjectGroup.setGroupId(irrigateGroupIdLong); + irProjectGroup.setSort(sort++); + irProjectGroupMapper.insert(irProjectGroup); + } catch (NumberFormatException e) { + Map map = new HashMap<>(); + map.put("success", false); + map.put("msg", "鐏屾簤缁処D鏍煎紡閿欒"); + map.put("content", null); + return map; + } + } + Map map = new HashMap<>(); + map.put("success", true); + map.put("msg", "娣诲姞鐏屾簤椤圭洰鎴愬姛"); + map.put("content", null); + return map; + } + + /** + * 鍒犻櫎鐏屾簤椤圭洰锛岀洰鍓嶄娇鐢� + * @param projectId + * @return + */ + @Transactional(rollbackFor = Exception.class) + public Map deleteIrrigateProject(Long projectId) { + try { + irProjectGroupMapper.unbindGroup(projectId); + irProjectMapper.deleteByPrimaryKey(projectId); + + Map map = new HashMap<>(); + map.put("success", true); + map.put("msg", "鐏屾簤椤圭洰鍒犻櫎鎴愬姛"); + map.put("content", null); + return map; + } catch (Exception e) { + Map map = new HashMap<>(); + map.put("success", false); + map.put("msg", "鐏屾簤椤圭洰鍒犻櫎澶辫触"); + map.put("content", null); + return map; + } + } + + /** + * 淇敼鐏屾簤椤圭洰锛岀洰鍓嶄娇鐢� + * @param po + * @return + */ + @Transactional(rollbackFor = Exception.class) + public Map updateIrrigateProject(IrrigateProject po) { + Long projectId = po.getProjectId(); + Map map_deleteProject = ((ProjectSv) AopContext.currentProxy()).deleteIrrigateProject(projectId); + if(map_deleteProject.get("success").equals(false)) { + Map map = new HashMap<>(); + map.put("success", false); + map.put("msg", map_deleteProject.get("msg").toString()); + map.put("content", null); + return map; + } + + Map map_addProject = ((ProjectSv) AopContext.currentProxy()).addIrrigateProject(po); + if(map_addProject.get("success").equals(false)) { + Map map = new HashMap<>(); + map.put("success", false); + map.put("msg", map_addProject.get("msg").toString()); + map.put("content", null); + return map; + } + + Map map = new HashMap<>(); + map.put("success", true); + map.put("msg", "淇敼鐏屾簤椤圭洰鎴愬姛"); + map.put("content", null); + return map; + } + + /** + * 鍒犻櫎椤圭洰锛屾棫鐗堟湰锛屽師鍒欎笂搴熷純 * @param id */ public Integer deleteProject(Long id) { @@ -131,7 +254,7 @@ } /** - * 鍒嗛〉鏌ヨ椤圭洰 + * 鍒嗛〉鏌ヨ椤圭洰锛屾棫鐗堟湰锛屽師鍒欎笂搴熷純 * @param queryVo * @return */ @@ -146,4 +269,43 @@ rsVo.obj = irProjectMapper.getProjects(params); return rsVo; } + + /** + * 鍒嗛〉鏌ヨ椤圭洰锛屾柊鐗堟湰锛岀洰鍓嶄娇鐢� + * @param queryVo + * @return + */ + public QueryResultVo<List<VoProjectSimple>> getSimpleProjects(QueryVo queryVo) { + Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo); + Long itemTotal = irProjectMapper.getSimpleProjectsCount(params); + + QueryResultVo<List<VoProjectSimple>> rsVo = new QueryResultVo<>(); + rsVo.pageSize = queryVo.pageSize; + rsVo.pageCurr = queryVo.pageCurr; + rsVo.calculateAndSet(itemTotal, params); + rsVo.obj = irProjectMapper.getSimpleProjects(params); + return rsVo; + } + + /** + * 鏍规嵁椤圭洰Id鑾峰彇椤圭洰璇︽儏锛岀紪杈戦」鐩俊鎭娇鐢� + * @param projectId + * @return + */ + public Map getProjectDetail(Long projectId) { + try { + VoProjectDetail voProjectDetail = irProjectMapper.getProjectDetail(projectId); + Map map = new HashMap<>(); + map.put("success", true); + map.put("msg", "鑾峰彇椤圭洰璇︽儏鎴愬姛"); + map.put("content", voProjectDetail); + return map; + } catch (Exception e) { + Map map = new HashMap<>(); + map.put("success", false); + map.put("msg", "鑾峰彇椤圭洰璇︽儏澶辫触"); + map.put("content", null); + return map; + } + } } -- Gitblit v1.8.0