diff --git a/.idea/compiler.xml b/.idea/compiler.xml index 4e01e92..862f453 100644 --- a/.idea/compiler.xml +++ b/.idea/compiler.xml @@ -9,13 +9,11 @@ + - - - diff --git a/Genius-common/src/main/java/com/bwie/common/domain/Project.java b/Genius-common/src/main/java/com/bwie/common/domain/Project.java index 47d213b..cd4e370 100644 --- a/Genius-common/src/main/java/com/bwie/common/domain/Project.java +++ b/Genius-common/src/main/java/com/bwie/common/domain/Project.java @@ -66,15 +66,15 @@ public class Project { private Integer status; @ApiModelProperty("成本类型集合") - @TableField("projectCostTypeList") private List projectCostTypeList; + @ApiModelProperty("类型的数据") + private Integer type[]; + @ApiModelProperty("总概算金额") - @TableField("imputedAmountSum") private Double imputedAmountSum; @ApiModelProperty("总估算金额") - @TableField("estimatedAmountSum") private Double estimatedAmountSum; diff --git a/Genius-common/src/main/java/com/bwie/common/domain/ProjectCostType.java b/Genius-common/src/main/java/com/bwie/common/domain/ProjectCostType.java index a41ca19..eb146bf 100644 --- a/Genius-common/src/main/java/com/bwie/common/domain/ProjectCostType.java +++ b/Genius-common/src/main/java/com/bwie/common/domain/ProjectCostType.java @@ -33,6 +33,10 @@ public class ProjectCostType { @TableField("cost_type_id") private Integer costTypeId; + @ApiModelProperty("项目成本类型名称") + private String costTypeName; + + @ApiModelProperty("估算金额") @TableField("imputed_amount") private Double imputedAmount; @@ -45,5 +49,15 @@ public class ProjectCostType { @TableField("status") private Integer status; + @ApiModelProperty("修改人") + @TableField("update_by") + private Integer updateBy; + + @ApiModelProperty("修改时间") + @TableField("update_time") + private Integer updateTime; + + + } diff --git a/Genius-common/src/main/java/com/bwie/common/domain/request/ProjectInquire.java b/Genius-common/src/main/java/com/bwie/common/domain/request/ProjectInquire.java new file mode 100644 index 0000000..cd31646 --- /dev/null +++ b/Genius-common/src/main/java/com/bwie/common/domain/request/ProjectInquire.java @@ -0,0 +1,45 @@ +package com.bwie.common.domain.request; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +/** + * @description: TODO + * @author: SIKADI + * @date: 2023/10/8 16:27 + **/ +@Data +public class ProjectInquire { + + + + @ApiModelProperty("第几页") + private Integer pageNum=1; + + @ApiModelProperty("每页条数") + private Integer pageSize=3; + + @ApiModelProperty("项目名称") + private String projectName; + + @ApiModelProperty("项目客户方") + private String projectClient; + + @ApiModelProperty("项目立项开始时间") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8") + private Date projectCreateTimeStart; + + @ApiModelProperty("项目立项结束时间") + @DateTimeFormat(pattern = "yyyy-MM-dd") + @JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8") + private Date projectCreateTimeEnd; + + + +} diff --git a/Genius-modules/Genius-costType/pom.xml b/Genius-modules/Genius-costType/pom.xml new file mode 100644 index 0000000..f20c854 --- /dev/null +++ b/Genius-modules/Genius-costType/pom.xml @@ -0,0 +1,51 @@ + + + + Genius-modules + com.bwie + 1.0-SNAPSHOT + + 4.0.0 + + Genius-costType + + + + + + com.bwie + Genius-common + + + + org.springframework.boot + spring-boot-starter-web + + + + com.alibaba + druid-spring-boot-starter + 1.2.8 + + + + mysql + mysql-connector-java + + + + org.mybatis.spring.boot + mybatis-spring-boot-starter + 2.2.2 + + + + com.github.pagehelper + pagehelper-spring-boot-starter + 1.4.1 + + + + diff --git a/Genius-modules/Genius-costType/src/main/java/com/bwie/costType/CostTypeApplication.java b/Genius-modules/Genius-costType/src/main/java/com/bwie/costType/CostTypeApplication.java new file mode 100644 index 0000000..d665216 --- /dev/null +++ b/Genius-modules/Genius-costType/src/main/java/com/bwie/costType/CostTypeApplication.java @@ -0,0 +1,11 @@ +package com.bwie.costType; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class CostTypeApplication { + public static void main(String[] args) { + SpringApplication.run(CostTypeApplication.class); + } +} diff --git a/Genius-modules/Genius-costType/src/main/java/com/bwie/costType/controller/CostTypeController.java b/Genius-modules/Genius-costType/src/main/java/com/bwie/costType/controller/CostTypeController.java new file mode 100644 index 0000000..2ff7bc5 --- /dev/null +++ b/Genius-modules/Genius-costType/src/main/java/com/bwie/costType/controller/CostTypeController.java @@ -0,0 +1,39 @@ +package com.bwie.costType.controller; + +import com.bwie.common.domain.CostType; +import com.bwie.common.result.Result; +import com.bwie.costType.service.impl.CostTypeServiceImpl; +import lombok.extern.log4j.Log4j2; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.servlet.http.HttpServletRequest; +import java.util.List; + +@RestController +@Log4j2 +public class CostTypeController { + @Autowired + private CostTypeServiceImpl costTypeService; + + @Autowired + private HttpServletRequest request; + + /** + * 获取所有成本类型 + * @return + */ + @GetMapping("costTypeList") + public Result> costTypeList(){ + log.info("功能:成本类型,请求路径:{},请求方式:{},请求参数:{}", + request.getRequestURI(),request.getMethod(),""); + + Result> result = costTypeService.costTypeList(); + + log.info("功能:成本类型,请求路径:{},请求方式:{},响应结果:{}", + request.getRequestURI(),request.getMethod(),result); + + return result; + } +} diff --git a/Genius-modules/Genius-costType/src/main/java/com/bwie/costType/controller/ProjectCostTypeController.java b/Genius-modules/Genius-costType/src/main/java/com/bwie/costType/controller/ProjectCostTypeController.java new file mode 100644 index 0000000..bbe4233 --- /dev/null +++ b/Genius-modules/Genius-costType/src/main/java/com/bwie/costType/controller/ProjectCostTypeController.java @@ -0,0 +1,78 @@ +package com.bwie.costType.controller; + +import com.bwie.common.domain.CostType; +import com.bwie.common.domain.Project; +import com.bwie.common.domain.ProjectCostType; +import com.bwie.common.result.Result; +import com.bwie.costType.service.impl.CostTypeServiceImpl; +import com.bwie.costType.service.impl.ProjectCostTypeServiceImpl; +import lombok.extern.log4j.Log4j2; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; +import java.util.List; + +@RestController +@Log4j2 +public class ProjectCostTypeController { + @Autowired + private ProjectCostTypeServiceImpl projectCostTypeService; + + @Autowired + private HttpServletRequest request; + + /** + * 根据项目id获取成本类型中间列表 + * @return + */ + @GetMapping("/ProjectCostTypeListById/{pid}") + public Result> ProjectCostTypeListById(@PathVariable Integer pid){ + log.info("功能:成根据项目id获取成本类型中间列表类型,请求路径:{},请求方式:{},请求参数:{}", + request.getRequestURI(),request.getMethod(),pid); + + Result> result = projectCostTypeService.ProjectCostTypeListById(pid); + + log.info("功能:根据项目id获取成本类型中间列表,请求路径:{},请求方式:{},响应结果:{}", + request.getRequestURI(),request.getMethod(),result); + + return result; + } + + /** + * 修改估算金额 + */ + @PostMapping("updateImputedAmount") + public Result updateImputedAmount(@RequestBody Project project){ + log.info("功能:修改估算金额,请求路径:{},请求方式:{},请求参数:{}", + request.getRequestURI(),request.getMethod(),project); + + Result result = projectCostTypeService.updateImputedAmount(project); + + log.info("功能:修改估算金额,请求路径:{},请求方式:{},响应结果:{}", + request.getRequestURI(),request.getMethod(),result); + + return result; + } + + /** + * 审核估算金额 + * @param projectCostType + * @return + */ + @PostMapping("examineImputedAmount") + public Result examineImputedAmount(@RequestBody ProjectCostType projectCostType){ + log.info("功能:审核估算金额,请求路径:{},请求方式:{},请求参数:{}", + request.getRequestURI(),request.getMethod(),projectCostType); + + Result result = projectCostTypeService.examineImputedAmount(projectCostType); + + log.info("功能:审核估算金额,请求路径:{},请求方式:{},响应结果:{}", + request.getRequestURI(),request.getMethod(),result); + + return result; + } + + + +} diff --git a/Genius-modules/Genius-costType/src/main/java/com/bwie/costType/mapper/CostTypeMapper.java b/Genius-modules/Genius-costType/src/main/java/com/bwie/costType/mapper/CostTypeMapper.java new file mode 100644 index 0000000..04d84e6 --- /dev/null +++ b/Genius-modules/Genius-costType/src/main/java/com/bwie/costType/mapper/CostTypeMapper.java @@ -0,0 +1,13 @@ +package com.bwie.costType.mapper; + +import com.bwie.common.domain.CostType; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Component; + +import java.util.List; + +@Mapper +@Component +public interface CostTypeMapper { + List costTypeList(); +} diff --git a/Genius-modules/Genius-costType/src/main/java/com/bwie/costType/mapper/ProjectCostTypeMapper.java b/Genius-modules/Genius-costType/src/main/java/com/bwie/costType/mapper/ProjectCostTypeMapper.java new file mode 100644 index 0000000..dc2d49c --- /dev/null +++ b/Genius-modules/Genius-costType/src/main/java/com/bwie/costType/mapper/ProjectCostTypeMapper.java @@ -0,0 +1,18 @@ +package com.bwie.costType.mapper; + +import com.bwie.common.domain.ProjectCostType; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Component; + +import java.util.List; + +@Mapper +@Component +public interface ProjectCostTypeMapper { + List ProjectCostTypeListById(@Param("pid") Integer pid); + + void updateImputedAmount(ProjectCostType projectCostType); + + int examineImputedAmount(ProjectCostType projectCostType); +} diff --git a/Genius-modules/Genius-costType/src/main/java/com/bwie/costType/service/CostTypeService.java b/Genius-modules/Genius-costType/src/main/java/com/bwie/costType/service/CostTypeService.java new file mode 100644 index 0000000..e17d2dd --- /dev/null +++ b/Genius-modules/Genius-costType/src/main/java/com/bwie/costType/service/CostTypeService.java @@ -0,0 +1,13 @@ +package com.bwie.costType.service; + +import com.bwie.common.domain.CostType; +import com.bwie.common.domain.ProjectCostType; +import com.bwie.common.result.Result; + +import java.util.List; + +public interface CostTypeService { + Result> costTypeList(); + + +} diff --git a/Genius-modules/Genius-costType/src/main/java/com/bwie/costType/service/ProjectCostTypeService.java b/Genius-modules/Genius-costType/src/main/java/com/bwie/costType/service/ProjectCostTypeService.java new file mode 100644 index 0000000..af6842f --- /dev/null +++ b/Genius-modules/Genius-costType/src/main/java/com/bwie/costType/service/ProjectCostTypeService.java @@ -0,0 +1,15 @@ +package com.bwie.costType.service; + +import com.bwie.common.domain.Project; +import com.bwie.common.domain.ProjectCostType; +import com.bwie.common.result.Result; + +import java.util.List; + +public interface ProjectCostTypeService { + Result> ProjectCostTypeListById(Integer pid); + + Result updateImputedAmount(Project project); + + Result examineImputedAmount(ProjectCostType projectCostType); +} diff --git a/Genius-modules/Genius-costType/src/main/java/com/bwie/costType/service/impl/CostTypeServiceImpl.java b/Genius-modules/Genius-costType/src/main/java/com/bwie/costType/service/impl/CostTypeServiceImpl.java new file mode 100644 index 0000000..eebadbe --- /dev/null +++ b/Genius-modules/Genius-costType/src/main/java/com/bwie/costType/service/impl/CostTypeServiceImpl.java @@ -0,0 +1,30 @@ +package com.bwie.costType.service.impl; + +import com.bwie.common.domain.CostType; +import com.bwie.common.domain.ProjectCostType; +import com.bwie.common.result.Result; +import com.bwie.costType.mapper.CostTypeMapper; +import com.bwie.costType.service.CostTypeService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +public class CostTypeServiceImpl implements CostTypeService { + @Autowired + private CostTypeMapper costTypeMapper; + + + /** + * 获取成本类型列表 + * @return + */ + @Override + public Result> costTypeList() { + List list = costTypeMapper.costTypeList(); + return Result.success(); + } + + +} diff --git a/Genius-modules/Genius-costType/src/main/java/com/bwie/costType/service/impl/ProjectCostTypeServiceImpl.java b/Genius-modules/Genius-costType/src/main/java/com/bwie/costType/service/impl/ProjectCostTypeServiceImpl.java new file mode 100644 index 0000000..f577393 --- /dev/null +++ b/Genius-modules/Genius-costType/src/main/java/com/bwie/costType/service/impl/ProjectCostTypeServiceImpl.java @@ -0,0 +1,77 @@ +package com.bwie.costType.service.impl; + +import com.bwie.common.domain.Project; +import com.bwie.common.domain.ProjectCostType; +import com.bwie.common.result.Result; +import com.bwie.costType.mapper.ProjectCostTypeMapper; +import com.bwie.costType.service.ProjectCostTypeService; +import org.springframework.amqp.rabbit.core.RabbitTemplate; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.UUID; + +@Service +public class ProjectCostTypeServiceImpl implements ProjectCostTypeService { + @Autowired + private ProjectCostTypeMapper projectCostTypeMapper; + + @Autowired + private RabbitTemplate rabbitTemplate; + + /** + * 根据用户id获取成本类型中间列表 + * @param pid + * @return + */ + @Override + public Result> ProjectCostTypeListById(Integer pid) { + List list = projectCostTypeMapper.ProjectCostTypeListById(pid); + return Result.success(list); + } + + /** + * 修改估算金额 + * @param project + * @return + */ + @Override + public Result updateImputedAmount(Project project) { + List projectCostTypeList = project.getProjectCostTypeList(); + for (ProjectCostType projectCostType : projectCostTypeList) { + //先进行数据的修改 + projectCostTypeMapper.updateImputedAmount(projectCostType); + //判断 如果概算金额不为空 说明已经审核过了,需要发送消息给审核人 + if (projectCostType.getEstimatedAmount()!=null){ + //[项目名称][类型名称]的估算类型发估算更改,金额从[原始金额]变更为[变更后金额] + String msg = project.getProjectName()+projectCostType.getCostTypeName()+ + "的估算类型发生估算更改,金额从"+projectCostType.getImputedAmount()+ + "变更为"+projectCostType.getEstimatedAmount(); + Integer updateBy = projectCostType.getUpdateBy(); //获取当前最后修改人也就是审核人id + //异步发送消息 + rabbitTemplate.convertAndSend("MSG_QUEUE",msg+"%"+updateBy,message -> { + message.getMessageProperties().setMessageId(UUID.randomUUID().toString()); + return message; + }); + } + } + return Result.success(); + } + + /** + * 审核估算金额/填写概算金额 + * @param projectCostType + * @return + */ + @Override + public Result examineImputedAmount(ProjectCostType projectCostType) { + if (projectCostType.getEstimatedAmount().equals(projectCostType.getImputedAmount())){ + projectCostType.setStatus(1); + }else { + projectCostType.setStatus(0); + } + int i = projectCostTypeMapper.examineImputedAmount(projectCostType); + return i>0?Result.success():Result.error(); + } +} diff --git a/Genius-modules/Genius-costType/src/main/resources/bootstrap.yml b/Genius-modules/Genius-costType/src/main/resources/bootstrap.yml new file mode 100644 index 0000000..43e3b9c --- /dev/null +++ b/Genius-modules/Genius-costType/src/main/resources/bootstrap.yml @@ -0,0 +1,30 @@ +# Tomcat +server: + port: 9002 +# Spring +spring: + main: + allow-circular-references: true + jackson: + date-format: yyyy-MM-dd HH:mm:ss + time-zone: GMT+8 + application: + # 应用名称 + name: bwie-costType + profiles: + # 环境配置 + active: dev + cloud: + nacos: + discovery: + # 服务注册地址 + server-addr: 182.254.222.21:8848 + config: + # 配置中心地址 + server-addr: 182.254.222.21:8848 + # 配置文件格式 + file-extension: yml + # 共享配置 + shared-configs: + - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} + namespace: Sha diff --git a/Genius-modules/Genius-costType/src/main/resources/mapper/CostTypeMapper.xml b/Genius-modules/Genius-costType/src/main/resources/mapper/CostTypeMapper.xml new file mode 100644 index 0000000..3928cfa --- /dev/null +++ b/Genius-modules/Genius-costType/src/main/resources/mapper/CostTypeMapper.xml @@ -0,0 +1,11 @@ + + + + + + + diff --git a/Genius-modules/Genius-costType/src/main/resources/mapper/ProjectCostTypeMapper.xml b/Genius-modules/Genius-costType/src/main/resources/mapper/ProjectCostTypeMapper.xml new file mode 100644 index 0000000..940c0ef --- /dev/null +++ b/Genius-modules/Genius-costType/src/main/resources/mapper/ProjectCostTypeMapper.xml @@ -0,0 +1,20 @@ + + + + + update t_project_cost_type set imputed_amount=#{imputedAmount} + where id=#{id} + + + + update t_project_cost_type set + estimated_amount=#{estimatedAmount},status=#{status} + where id=#{id} + + + + diff --git a/Genius-modules/Genius-project/pom.xml b/Genius-modules/Genius-project/pom.xml index 31e0c67..619c1f1 100644 --- a/Genius-modules/Genius-project/pom.xml +++ b/Genius-modules/Genius-project/pom.xml @@ -16,5 +16,40 @@ 8 UTF-8 + + + + com.bwie + Genius-common + + + + org.springframework.boot + spring-boot-starter-web + + + + com.alibaba + druid-spring-boot-starter + 1.2.8 + + + + mysql + mysql-connector-java + + + + org.mybatis.spring.boot + mybatis-spring-boot-starter + 2.2.2 + + + + com.github.pagehelper + pagehelper-spring-boot-starter + 1.4.1 + + diff --git a/Genius-modules/Genius-project/src/main/java/com/bwie/Main.java b/Genius-modules/Genius-project/src/main/java/com/bwie/Main.java deleted file mode 100644 index 1287888..0000000 --- a/Genius-modules/Genius-project/src/main/java/com/bwie/Main.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.bwie; - -public class Main { - public static void main(String[] args) { - System.out.println("Hello world!"); - } -} \ No newline at end of file diff --git a/Genius-modules/Genius-project/src/main/java/com/bwie/project/GeniusProjectApplication.java b/Genius-modules/Genius-project/src/main/java/com/bwie/project/GeniusProjectApplication.java new file mode 100644 index 0000000..9dffb84 --- /dev/null +++ b/Genius-modules/Genius-project/src/main/java/com/bwie/project/GeniusProjectApplication.java @@ -0,0 +1,18 @@ +package com.bwie.project; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.openfeign.EnableFeignClients; + +/** + * @description: TODO + * @author: SIKADI + * @date: 2023/10/8 16:22 + **/ +@SpringBootApplication +@EnableFeignClients +public class GeniusProjectApplication { + public static void main(String[] args) { + SpringApplication.run(GeniusProjectApplication.class); + } +} diff --git a/Genius-modules/Genius-project/src/main/java/com/bwie/project/controller/ProjectController.java b/Genius-modules/Genius-project/src/main/java/com/bwie/project/controller/ProjectController.java new file mode 100644 index 0000000..0152beb --- /dev/null +++ b/Genius-modules/Genius-project/src/main/java/com/bwie/project/controller/ProjectController.java @@ -0,0 +1,66 @@ +package com.bwie.project.controller; + + +import com.alibaba.fastjson.JSON; +import com.bwie.common.domain.Project; +import com.bwie.common.domain.request.ProjectInquire; +import com.bwie.common.result.PageResult; +import com.bwie.common.result.Result; +import com.bwie.project.service.ProjectService; +import lombok.extern.log4j.Log4j2; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + *

+ * 前端控制器 + *

+ * + * @author sikadi + * @since 2023-10-08 02:57:22 + */ +@RestController +@Log4j2 +public class ProjectController { + + @Autowired + private ProjectService projectService; + + /** + * @description: 列表 + * @author: (扭曲)(爬行)(抽搐) + * @date: 2023/10/8 16:37 + * @param: [projectInquire] + * @return: com.bwie.common.result.Result> + **/ + @PostMapping("/projectList") + private Result> projectList(@RequestBody ProjectInquire projectInquire){ + log.info("列表请求的值:{}", JSON.toJSONString(projectInquire)); + PageResult pageResult = projectService.projectList(projectInquire); + log.info("列表响应:{}",JSON.toJSONString(pageResult.getList())); + return Result.success(pageResult); + } + + + /** + * @description: 添加的功能 + * @author: (扭曲)(爬行)(抽搐) + * @date: 2023/10/9 8:15 + * @param: [project] + * @return: com.bwie.common.result.Result + **/ + @PostMapping("/projectIncrease") + public Result projectIncrease(@RequestBody Project project){ + log.info("添加---请求:{}",JSON.toJSONString(project)); + Result result = projectService.projectIncrease(project); + log.info("添加---结果:{}",JSON.toJSONString(result.getData())); + return result; + } + +} + diff --git a/Genius-modules/Genius-project/src/main/java/com/bwie/project/feign/FeignCostType.java b/Genius-modules/Genius-project/src/main/java/com/bwie/project/feign/FeignCostType.java new file mode 100644 index 0000000..4b75e38 --- /dev/null +++ b/Genius-modules/Genius-project/src/main/java/com/bwie/project/feign/FeignCostType.java @@ -0,0 +1,34 @@ +package com.bwie.project.feign; + +import com.bwie.common.domain.CostType; +import com.bwie.common.domain.ProjectCostType; +import com.bwie.common.result.Result; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; + +import java.util.List; + +/** + * @description: TODO + * @author: SIKADI + * @date: 2023/10/8 16:39 + **/ +@FeignClient("bwie-costType") +public interface FeignCostType { + /** + * 获取所有成本类型 + * @return + */ + @GetMapping("costTypeList") + public Result> costTypeList(); + + + + /** + * 根据项目id获取成本类型中间列表 + * @return + */ + @GetMapping("/ProjectCostTypeListById/{pid}") + public Result> ProjectCostTypeListById(@PathVariable Integer pid); +} diff --git a/Genius-modules/Genius-project/src/main/java/com/bwie/project/mapper/ProjectMapper.java b/Genius-modules/Genius-project/src/main/java/com/bwie/project/mapper/ProjectMapper.java new file mode 100644 index 0000000..675119f --- /dev/null +++ b/Genius-modules/Genius-project/src/main/java/com/bwie/project/mapper/ProjectMapper.java @@ -0,0 +1,47 @@ +package com.bwie.project.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.bwie.common.domain.Project; +import com.bwie.common.domain.request.ProjectInquire; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + *

+ * Mapper 接口 + *

+ * + * @author sikadi + * @since 2023-10-08 02:57:22 + */ +@Mapper +public interface ProjectMapper { + + /** + * @description: 查询列表 + * @author: (扭曲)(爬行)(抽搐) + * @date: 2023/10/8 16:46 + * @param: [projectInquire] + * @return: java.util.List + **/ + List projectList(ProjectInquire projectInquire); + + /** + * @description: 添加 + * @author: (扭曲)(爬行)(抽搐) + * @date: 2023/10/9 10:21 + * @param: [project] + * @return: int + **/ + int projectIncrease(Project project); + + /** + * @description: 添加中间表 + * @author: (扭曲)(爬行)(抽搐) + * @date: 2023/10/9 10:35 + * @param: [project] + * @return: int + **/ + int projectCostTypeIncrease(Project project); +} diff --git a/Genius-modules/Genius-project/src/main/java/com/bwie/project/service/ProjectService.java b/Genius-modules/Genius-project/src/main/java/com/bwie/project/service/ProjectService.java new file mode 100644 index 0000000..68e4135 --- /dev/null +++ b/Genius-modules/Genius-project/src/main/java/com/bwie/project/service/ProjectService.java @@ -0,0 +1,36 @@ +package com.bwie.project.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.bwie.common.domain.Project; +import com.bwie.common.domain.request.ProjectInquire; +import com.bwie.common.result.PageResult; +import com.bwie.common.result.Result; + +/** + *

+ * 服务类 + *

+ * + * @author sikadi + * @since 2023-10-08 02:57:22 + */ +public interface ProjectService { + + /** + * @description: 列表 + * @author: (扭曲)(爬行)(抽搐) + * @date: 2023/10/8 16:37 + * @param: [projectInquire] + * @return: com.bwie.common.result.PageResult + **/ + PageResult projectList(ProjectInquire projectInquire); + + /** + * @description: 添加 + * @author: (扭曲)(爬行)(抽搐) + * @date: 2023/10/9 8:15 + * @param: [project] + * @return: com.bwie.common.result.Result + **/ + Result projectIncrease(Project project); +} diff --git a/Genius-modules/Genius-project/src/main/java/com/bwie/project/service/impl/ProjectServiceImpl.java b/Genius-modules/Genius-project/src/main/java/com/bwie/project/service/impl/ProjectServiceImpl.java new file mode 100644 index 0000000..88c3a33 --- /dev/null +++ b/Genius-modules/Genius-project/src/main/java/com/bwie/project/service/impl/ProjectServiceImpl.java @@ -0,0 +1,90 @@ +package com.bwie.project.service.impl; + +import com.bwie.common.domain.Project; +import com.bwie.common.domain.ProjectCostType; +import com.bwie.common.domain.request.ProjectInquire; +import com.bwie.common.result.PageResult; +import com.bwie.common.result.Result; +import com.bwie.project.feign.FeignCostType; +import com.bwie.project.mapper.ProjectMapper; +import com.bwie.project.service.ProjectService; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + *

+ * 服务实现类 + *

+ * + * @author sikadi + * @since 2023-10-08 02:57:22 + */ +@Service +public class ProjectServiceImpl implements ProjectService { + + @Autowired + private ProjectMapper projectMapper; + + @Autowired + private FeignCostType feignCostType; + + + /** + * @description: 列表 + * @author: (扭曲)(爬行)(抽搐) + * @date: 2023/10/8 16:42 + * @param: [projectInquire] + * @return: com.bwie.common.result.PageResult + **/ + @Override + public PageResult projectList(ProjectInquire projectInquire) { + // 分页 + PageHelper.startPage(projectInquire.getPageNum(),projectInquire.getPageSize()); + // 查询列表 + List projectList = projectMapper.projectList(projectInquire); + + // 查询成功时 循环获取id + projectList.forEach(item -> { + // 创建两个空的对象 分别装的是 总概算金额 总估算金额 + Double imputedAmountSum = null; // 总概算金额 + Double estimatedAmountSum = null; // 总估算金额 + // 赋值给 中间表 + Result> listResult = feignCostType.ProjectCostTypeListById(item.getId()); + // 循环得出值 + for (ProjectCostType datum : listResult.getData()) { + imputedAmountSum += datum.getImputedAmount(); + estimatedAmountSum += datum.getEstimatedAmount(); + } + // 赋值 + item.setImputedAmountSum(imputedAmountSum); + item.setEstimatedAmountSum(estimatedAmountSum); + }); + // 取出 + PageInfo projectPageInfo = new PageInfo<>(projectList); + + return PageResult.toPageResult(projectPageInfo.getTotal(),projectList); + } + + /** + * @description: 添加 + * @author: (扭曲)(爬行)(抽搐) + * @date: 2023/10/9 8:16 + * @param: [project] + * @return: com.bwie.common.result.Result + **/ + @Override + public Result projectIncrease(Project project){ + // 先进行 表添加 + int i = projectMapper.projectIncrease(project); + if(0==i){ + return Result.error("添加失败"); + } + // 再次进行添加成本类型中间表 + int j = projectMapper.projectCostTypeIncrease(project); + return null; + } +} diff --git a/Genius-modules/Genius-project/src/main/resources/bootstrap.yml b/Genius-modules/Genius-project/src/main/resources/bootstrap.yml new file mode 100644 index 0000000..66cd60a --- /dev/null +++ b/Genius-modules/Genius-project/src/main/resources/bootstrap.yml @@ -0,0 +1,30 @@ +# Tomcat +server: + port: 9001 +# Spring +spring: + main: + allow-circular-references: true + jackson: + date-format: yyyy-MM-dd HH:mm:ss + time-zone: GMT+8 + application: + # 应用名称 + name: bwie-project + profiles: + # 环境配置 + active: dev + cloud: + nacos: + discovery: + # 服务注册地址 + server-addr: 182.254.222.21:8848 + config: + # 配置中心地址 + server-addr: 182.254.222.21:8848 + # 配置文件格式 + file-extension: yml + # 共享配置 + shared-configs: + - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} + namespace: Sha diff --git a/Genius-modules/Genius-project/src/main/resources/mapper/ProjectXml.xml b/Genius-modules/Genius-project/src/main/resources/mapper/ProjectXml.xml new file mode 100644 index 0000000..af7b160 --- /dev/null +++ b/Genius-modules/Genius-project/src/main/resources/mapper/ProjectXml.xml @@ -0,0 +1,36 @@ + + + + + + + + insert into t_project (project_name,project_card,project_client,project_create_time,project_start_time,project_completed_time,project_leader,project_image,status) + values (#{projectName},#{projectCard},#{projectClient},now(),#{projectStartTime},#{projectCompletedTime},#{projectLeader},#{projectImage},0); + + + insert into t_project_cost_type (project_id,cost_type_id,status) + values + (#{id},item,0) + ; + + diff --git a/Genius-modules/Genius-user/src/main/java/com/bwie/user/mapper/jjd.java b/Genius-modules/Genius-user/src/main/java/com/bwie/user/mapper/jjd.java deleted file mode 100644 index 7480d64..0000000 --- a/Genius-modules/Genius-user/src/main/java/com/bwie/user/mapper/jjd.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.bwie.user.mapper; - -/** - * @description: TODO - * @author: SIKADI - * @date: 2023/10/8 15:53 - **/ -public class jjd { -}