diff --git a/ServiceSite/facade/src/main/java/com/seasky/budget/web/api/IPreliminaryController.java b/ServiceSite/facade/src/main/java/com/seasky/budget/web/api/IPreliminaryController.java new file mode 100644 index 0000000000000000000000000000000000000000..7192f4faaa967e6c8f32e56c4cfd758c0a9f4c20 --- /dev/null +++ b/ServiceSite/facade/src/main/java/com/seasky/budget/web/api/IPreliminaryController.java @@ -0,0 +1,25 @@ +package com.seasky.budget.web.api; + + +import com.seasky.budget.web.dto.preliminary.PreliminaryCmd; +import com.seasky.core.common.Result; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; + +import javax.validation.Valid; +import javax.validation.constraints.NotNull; + +@FeignClient("budget-project-manage") +@RequestMapping("preliminary") +@Api(tags = "棰勫绠$悊Controller") +public interface IPreliminaryController { + + + @ApiOperation("淇濆瓨棰勫椤圭洰淇℃伅") + @PostMapping(path = "/savePreliminary") + Result<Long> savePreliminary(@RequestBody @NotNull @Valid PreliminaryCmd preliminaryCmd); +} diff --git a/ServiceSite/facade/src/main/java/com/seasky/budget/web/dto/preliminary/PreliminaryCmd.java b/ServiceSite/facade/src/main/java/com/seasky/budget/web/dto/preliminary/PreliminaryCmd.java index e8acf2aab34ee7f49ca824d92d0416f9edffc60b..12a054215f9390d76a88ea4e4c9b75b8b32ad9d1 100644 --- a/ServiceSite/facade/src/main/java/com/seasky/budget/web/dto/preliminary/PreliminaryCmd.java +++ b/ServiceSite/facade/src/main/java/com/seasky/budget/web/dto/preliminary/PreliminaryCmd.java @@ -9,7 +9,7 @@ import lombok.NoArgsConstructor; import lombok.experimental.Accessors; import java.io.Serializable; - +import java.util.List; @Data @@ -50,6 +50,7 @@ public class PreliminaryCmd implements Serializable { @ApiModelProperty(value = "鍏朵粬", example = "") private String other; - + @ApiModelProperty("闄勪欢id") + private List<Long> fileIds; } diff --git a/ServiceSite/facade/src/main/java/com/seasky/budget/web/dto/preliminary/PreliminaryQuery.java b/ServiceSite/facade/src/main/java/com/seasky/budget/web/dto/preliminary/PreliminaryQuery.java new file mode 100644 index 0000000000000000000000000000000000000000..d52d4189d17094ef58d0befa72c360f81503c939 --- /dev/null +++ b/ServiceSite/facade/src/main/java/com/seasky/budget/web/dto/preliminary/PreliminaryQuery.java @@ -0,0 +1,31 @@ +package com.seasky.budget.web.dto.preliminary; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.Accessors; + +import java.io.Serializable; + + + +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +@Accessors(chain = true) +@ApiModel("棰勫琛ㄨ姹俶odel") +public class PreliminaryQuery implements Serializable { + + + + @ApiModelProperty(value = "褰撳墠椤�", example = "1") + private Integer pageIndex; + + @ApiModelProperty(value = "椤甸潰澶у皬", example = "10") + private Integer pageSize; + +} diff --git a/ServiceSite/src/main/java/com/seasky/budget/business/api/PreliminaryService.java b/ServiceSite/src/main/java/com/seasky/budget/business/api/PreliminaryService.java index f6632874b729602e5ee89eddd58957274ea0f441..759077153e59a6cebc159fbb3603489c619e3b3b 100644 --- a/ServiceSite/src/main/java/com/seasky/budget/business/api/PreliminaryService.java +++ b/ServiceSite/src/main/java/com/seasky/budget/business/api/PreliminaryService.java @@ -5,5 +5,5 @@ import com.seasky.budget.web.dto.preliminary.PreliminaryCmd; public interface PreliminaryService { - Long savePreliminary(PreliminaryCmd PreliminaryCmd); + Long savePreliminary(PreliminaryCmd preliminaryCmd); } diff --git a/ServiceSite/src/main/java/com/seasky/budget/business/entity/PreliminaryPO.java b/ServiceSite/src/main/java/com/seasky/budget/business/entity/PreliminaryPO.java index ab3947a8a66353fb236723616d8abe89c30a9289..c95f0a10a055c6331bd3740d441e8079c3c9c749 100644 --- a/ServiceSite/src/main/java/com/seasky/budget/business/entity/PreliminaryPO.java +++ b/ServiceSite/src/main/java/com/seasky/budget/business/entity/PreliminaryPO.java @@ -14,7 +14,7 @@ import lombok.experimental.Accessors; @NoArgsConstructor @Accessors(chain = true) @Builder -@TableName("t_Preliminary") +@TableName("t_preliminary") public class PreliminaryPO extends BaseModel{ @TableField("project_id") diff --git a/ServiceSite/src/main/java/com/seasky/budget/business/service/PreliminaryServiceImpl.java b/ServiceSite/src/main/java/com/seasky/budget/business/service/PreliminaryServiceImpl.java index ef04cba2afdf75f4c79a98c42df95295e20e26f4..a60082a09c0dc8dda8ace969232af0d2af40af37 100644 --- a/ServiceSite/src/main/java/com/seasky/budget/business/service/PreliminaryServiceImpl.java +++ b/ServiceSite/src/main/java/com/seasky/budget/business/service/PreliminaryServiceImpl.java @@ -1,9 +1,17 @@ package com.seasky.budget.business.service; +import com.seasky.budget.business.api.LoginService; import com.seasky.budget.business.api.PreliminaryService; +import com.seasky.budget.business.dao.mapper.FileMapper; import com.seasky.budget.business.dao.mapper.PreliminaryMapper; +import com.seasky.budget.business.entity.FilePO; +import com.seasky.budget.business.entity.PreliminaryPO; +import com.seasky.budget.business.entity.ProjectTypePO; import com.seasky.budget.web.dto.preliminary.PreliminaryCmd; +import com.seasky.budget.web.dto.userInfo.UserInfo; +import com.seasky.core.ddd.utils.MapperUtils; +import org.apache.commons.lang3.ObjectUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -17,17 +25,41 @@ public class PreliminaryServiceImpl implements PreliminaryService { @Autowired private PreliminaryMapper preliminaryMapper; + @Autowired + private LoginService loginService; - + @Autowired + private FileMapper fileMapper; @Override - public Long savePreliminary(PreliminaryCmd PreliminaryCmd) { - Long id = PreliminaryCmd.getId(); - - + public Long savePreliminary(PreliminaryCmd preliminaryCmd) { //鏂板缓缂栬緫鐨勬柟娉� + Long id = preliminaryCmd.getId(); + if (ObjectUtils.isEmpty(id)) { + UserInfo loginInfo = loginService.getLoginInfo(); + preliminaryCmd.setOperator_author_code(loginInfo.getUserCode()); + PreliminaryPO PreliminaryPO = MapperUtils.INSTANCE.map(PreliminaryPO.class, preliminaryCmd); + preliminaryMapper.insert(PreliminaryPO); + id = PreliminaryPO.getId(); + }else{ + PreliminaryPO PreliminaryPO = preliminaryMapper.selectById(id); + preliminaryMapper.updateById(PreliminaryPO); + } + preliminaryCmd.setId(id); + modifyPreliminaryParentId(preliminaryCmd); + return id; + } + private void modifyPreliminaryParentId(PreliminaryCmd preliminaryCmd) { + if (ObjectUtils.isNotEmpty(preliminaryCmd.getFileIds())) { + for (Long fileId : preliminaryCmd.getFileIds()) { + FilePO filePO = fileMapper.selectById(fileId); + if (ObjectUtils.isNotEmpty(filePO) && ObjectUtils.isEmpty(filePO.getParentId())) { + filePO.setParentId(preliminaryCmd.getId()); + fileMapper.updateById(filePO); + } + } + } - return id; } diff --git a/ServiceSite/src/main/java/com/seasky/budget/web/controller/PreliminaryController.java b/ServiceSite/src/main/java/com/seasky/budget/web/controller/PreliminaryController.java new file mode 100644 index 0000000000000000000000000000000000000000..96a9b1ac150f0b952f291efb8dc94a42b265e06f --- /dev/null +++ b/ServiceSite/src/main/java/com/seasky/budget/web/controller/PreliminaryController.java @@ -0,0 +1,23 @@ +package com.seasky.budget.web.controller; +import com.seasky.budget.business.api.PreliminaryService; +import com.seasky.budget.web.api.IPreliminaryController; +import com.seasky.budget.web.dto.preliminary.PreliminaryCmd; +import com.seasky.core.common.ResponseCode; +import com.seasky.core.common.Result; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RestController; +import static com.seasky.core.common.Response.ok; + +@RestController +@Slf4j +public class PreliminaryController implements IPreliminaryController { + @Autowired + private PreliminaryService preliminaryService; + + @Override + public Result<Long> savePreliminary(PreliminaryCmd preliminaryCmd) { + return ok(ResponseCode.SUCCESS, preliminaryService.savePreliminary(preliminaryCmd)); + } + +}