diff --git a/research-admin/src/main/java/com/research/web/controller/client/achievement/OutcomeController.java b/research-admin/src/main/java/com/research/web/controller/client/achievement/OutcomeController.java new file mode 100644 index 00000000..22d255ea --- /dev/null +++ b/research-admin/src/main/java/com/research/web/controller/client/achievement/OutcomeController.java @@ -0,0 +1,76 @@ +package com.research.web.controller.client.achievement; + +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import com.research.common.core.domain.BaseDto; +import com.research.common.core.domain.JsonResponse; +import com.research.system.domain.dto.CommonDto; +import com.research.system.domain.dto.OutcomeDto; +import com.research.system.domain.vo.OutcomeVo; +import com.research.system.service.OutcomeService; +import io.swagger.annotations.Api; +import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.annotation.Validated; +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 javax.annotation.Resource; +import java.util.List; + +/** + * @Author zzc + * @Package com.research.web.controller.client.project + * @Date 2025/8/12 14:10 + * @description: + */ +@Slf4j +@Api(tags = "科研成果") +@RestController +@RequestMapping("/outcome") +public class OutcomeController { + + @Resource + private OutcomeService outcomeService; + + @PostMapping("/query") + public JsonResponse> queryList(BaseDto query) { + if (query.getPageNum() > 0) { + PageHelper.startPage(query.getPageNum(), query.getPageSize()); + } + return JsonResponse.ok(new PageInfo<>(outcomeService.queryList(query.getParam()))); + } + + @PostMapping("/add") + public JsonResponse add(OutcomeDto.Add dto) { + outcomeService.add(dto); + return JsonResponse.ok(); + } + + @PostMapping("/del") + public JsonResponse del(CommonDto.DelDto dto) { + outcomeService.del(dto); + return JsonResponse.ok(); + } + + @PostMapping("/classify/query") + public JsonResponse> queryCategoryList(@RequestBody @Validated BaseDto query) { + if (query.getPageNum() > 0) { + PageHelper.startPage(query.getPageNum(), query.getPageSize()); + } + return JsonResponse.ok(new PageInfo<>(outcomeService.queryCategoryList(query.getParam()))); + } + + @PostMapping("/classify/add") + public JsonResponse addCategory(@RequestBody @Validated OutcomeDto.AddCategory dto) { + outcomeService.addCategory(dto); + return JsonResponse.ok(); + } + + @PostMapping("/classify/del") + public JsonResponse delCategory(@RequestBody @Validated CommonDto.DelDto dto) { + outcomeService.delCategory(dto); + return JsonResponse.ok(); + } +} diff --git a/research-admin/src/main/java/com/research/web/controller/client/funding/FundingController.java b/research-admin/src/main/java/com/research/web/controller/client/funding/FundingController.java new file mode 100644 index 00000000..ea3a5785 --- /dev/null +++ b/research-admin/src/main/java/com/research/web/controller/client/funding/FundingController.java @@ -0,0 +1,13 @@ +package com.research.web.controller.client.funding; + +/** + * @Author zzc + * @Package com.research.web.controller.client.funding + * @Date 2025/8/12 16:28 + * @description: + */ +public class FundingController { + + + +} diff --git a/research-admin/src/main/java/com/research/web/controller/client/project/ClientPrjProjInfoController.java b/research-admin/src/main/java/com/research/web/controller/client/project/ClientPrjProjInfoController.java index ab912026..24852941 100644 --- a/research-admin/src/main/java/com/research/web/controller/client/project/ClientPrjProjInfoController.java +++ b/research-admin/src/main/java/com/research/web/controller/client/project/ClientPrjProjInfoController.java @@ -22,7 +22,7 @@ import javax.annotation.Resource; * @description: */ @Slf4j -@Api(tags = "填报端登录") +@Api(tags = "项目") @RestController @RequestMapping("/project") public class ClientPrjProjInfoController { diff --git a/research-admin/src/main/java/com/research/web/controller/client/project/CooperatorController.java b/research-admin/src/main/java/com/research/web/controller/client/project/CooperatorController.java index 47850dc6..52e2ef78 100644 --- a/research-admin/src/main/java/com/research/web/controller/client/project/CooperatorController.java +++ b/research-admin/src/main/java/com/research/web/controller/client/project/CooperatorController.java @@ -30,7 +30,7 @@ import java.util.List; * @description: */ @Slf4j -@Api(tags = "填报端登录") +@Api(tags = "合作单位") @RestController @RequestMapping("/cooperator") public class CooperatorController { diff --git a/research-admin/src/main/java/com/research/web/controller/client/project/GroupController.java b/research-admin/src/main/java/com/research/web/controller/client/project/GroupController.java index 7cc0cccf..650e98f8 100644 --- a/research-admin/src/main/java/com/research/web/controller/client/project/GroupController.java +++ b/research-admin/src/main/java/com/research/web/controller/client/project/GroupController.java @@ -1,10 +1,77 @@ package com.research.web.controller.client.project; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import com.research.common.core.domain.BaseDto; +import com.research.common.core.domain.JsonResponse; +import com.research.system.domain.dto.CommonDto; +import com.research.system.domain.dto.GroupDto; +import com.research.system.domain.vo.GroupVO; +import com.research.system.service.KtsGroupService; +import io.swagger.annotations.Api; +import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.annotation.Validated; +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 javax.annotation.Resource; +import java.util.List; + /** * @Author zzc * @Package com.research.web.controller.tenant * @Date 2025/8/11 15:44 * @description: */ +@Slf4j +@Api(tags = "课题组") +@RestController +@RequestMapping("/group") public class GroupController { + + @Resource + private KtsGroupService ktsGroupService; + + @PostMapping("/query") + public JsonResponse> queryGroupList(@RequestBody @Validated BaseDto query){ + if (query.getPageNum() > 0) { + PageHelper.startPage(query.getPageNum(), query.getPageSize()); + } + return JsonResponse.ok(new PageInfo<>(ktsGroupService.queryGroupList(query.getParam()))); + } + @PostMapping("/add") + public JsonResponse add(@RequestBody @Validated GroupDto.Add dto){ + ktsGroupService.add(dto); + return JsonResponse.ok(); + } + @PostMapping("/del") + public JsonResponse del(@RequestBody @Validated CommonDto.DelDto dto){ + ktsGroupService.del(dto); + return JsonResponse.ok(); + } + @PostMapping("/status") + public JsonResponse status(@RequestBody @Validated CommonDto.StatusDto dto){ + ktsGroupService.status(dto); + return JsonResponse.ok(); + } + @PostMapping("/member/query") + public JsonResponse> queryMemberList(@RequestBody @Validated BaseDto query){ + if (query.getPageNum() > 0) { + PageHelper.startPage(query.getPageNum(), query.getPageSize()); + } + return JsonResponse.ok(new PageInfo<>(ktsGroupService.queryMemberList(query.getParam()))); + } + @PostMapping("/member/add") + public JsonResponse addMember(@RequestBody @Validated GroupDto.AddMember dto){ + ktsGroupService.addMember(dto); + return JsonResponse.ok(); + } + + @PostMapping("/member/del") + public JsonResponse delMember(@RequestBody @Validated CommonDto.DelDto dto){ + ktsGroupService.delMember(dto); + return JsonResponse.ok(); + } } diff --git a/research-admin/src/main/resources/application.yml b/research-admin/src/main/resources/application.yml index 6fe1a85b..2a59e32c 100644 --- a/research-admin/src/main/resources/application.yml +++ b/research-admin/src/main/resources/application.yml @@ -95,7 +95,7 @@ token: # 令牌密钥 secret: abcdefghijklmnopqrstuvwxyz # 令牌有效期(默认30分钟) - expireTime: 30 + expireTime: 30000 # MyBatis配置 mybatis: diff --git a/research-common/src/main/java/com/research/common/constant/UserConstants.java b/research-common/src/main/java/com/research/common/constant/UserConstants.java index 0c40c553..19efb0f7 100644 --- a/research-common/src/main/java/com/research/common/constant/UserConstants.java +++ b/research-common/src/main/java/com/research/common/constant/UserConstants.java @@ -83,4 +83,6 @@ public class UserConstants public static final String HEADER_KEY_TOKEN = "Authorization"; + public static final String DEFALT_PASSWORD = "Kygx123#"; + } diff --git a/research-system/src/main/java/com/research/system/domain/dto/CommonDto.java b/research-system/src/main/java/com/research/system/domain/dto/CommonDto.java index e7120e4d..a489c898 100644 --- a/research-system/src/main/java/com/research/system/domain/dto/CommonDto.java +++ b/research-system/src/main/java/com/research/system/domain/dto/CommonDto.java @@ -1,5 +1,6 @@ package com.research.system.domain.dto; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.NotNull; @@ -26,4 +27,13 @@ public class CommonDto { private List idList; } + @Data + public static class StatusDto{ + @ApiModelProperty("状态") + private Byte status; + @ApiModelProperty("") + @NotNull(message = "ID不能为空") + private Long id; + } + } diff --git a/research-system/src/main/java/com/research/system/domain/dto/FundingDto.java b/research-system/src/main/java/com/research/system/domain/dto/FundingDto.java new file mode 100644 index 00000000..040c7a4f --- /dev/null +++ b/research-system/src/main/java/com/research/system/domain/dto/FundingDto.java @@ -0,0 +1,59 @@ +package com.research.system.domain.dto; + +import com.research.system.domain.po.FudFundRecord; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * @Author zzc + * @Package com.research.system.domain.dto + * @Date 2025/8/12 16:29 + * @description: + */ +public class FundingDto { + + @Data + public static class Query { + private String projOrgid;//合作单位id', + private String ktgroupid;//课题组id', + private String paytype;//经费类型:0-收入,1-支出', + } + + @Data + public static class Add { + private Long id; + + private Long projId; + + private Long projOrgId; + + private Long ktGroupId; + + private Byte payType; + + private String paySource; + + private String paySubject; + + private String payAbstract; + + private Date payTime; + + private BigDecimal incomeAmount; + + private BigDecimal payAmount; + + private String jsr; + + private String spr; + + private String pzh; + + private String pzhUrl; + + private String remark; + } + +} diff --git a/research-system/src/main/java/com/research/system/domain/dto/GroupDto.java b/research-system/src/main/java/com/research/system/domain/dto/GroupDto.java new file mode 100644 index 00000000..c7104ce4 --- /dev/null +++ b/research-system/src/main/java/com/research/system/domain/dto/GroupDto.java @@ -0,0 +1,103 @@ +package com.research.system.domain.dto; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.research.system.domain.po.KtsKtGroupMember; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +/** + * @Author zzc + * @Package com.research.system.domain.dto + * @Date 2025/8/12 9:02 + * @description: + */ +public class GroupDto { + + @Data + public static class Query { + @ApiModelProperty("合作单位id") + private Long projOrgId; + @ApiModelProperty("课题组状态:0-正常,1禁用") + private Byte ktGroupStatus; + @ApiModelProperty("课题组名称") + private String ktGroupName; + } + + @Data + public static class MemberQuery { + @ApiModelProperty("课题组id") + private Long ktGroupId; + @ApiModelProperty("姓名") + private String memberName; + @ApiModelProperty("电话") + private String memberPhone; + @ApiModelProperty("成员类型:0-课题组负责人,1-课题组成员") + private Byte type; + @ApiModelProperty("审核状态:0-待审核,1-拒绝,2-通过") + private Byte auditStatus; + private Byte category; + @ApiModelProperty("成员状态:0-正常,1禁用") + private Byte memberStatus; + } + + @Data + public static class Add { + private Long id; + + private Long projId; + + private Long projOrgId; + + private Long parentKtId; + + private String ktGroupName; + + private Integer sort; + + private String intro; + + private Byte ktGroupStatus; + } + + @Data + public static class AddMember { + private Long id; + + private Long userId; + + private Long ktGroupId; + + private String parentMemberId; + + private String memberName; + + private String memberPhone; + + private String memberEmail; + + private Byte memberGender; + + @JsonFormat(pattern = "yyyy-MM-dd") + private Date memberBirth; + + private Byte type; + + private Byte category; + + private Integer qualification; + + private Integer title; + + private Integer sort; + + private String intro; + + private Byte auditStatus; + + private Byte memberStatus; + @ApiModelProperty("0不确认,如用户表已有该手机号信息,则报错提示 1确认添加") + private Byte confirm; + } +} diff --git a/research-system/src/main/java/com/research/system/domain/dto/OutcomeDto.java b/research-system/src/main/java/com/research/system/domain/dto/OutcomeDto.java new file mode 100644 index 00000000..b9c61c02 --- /dev/null +++ b/research-system/src/main/java/com/research/system/domain/dto/OutcomeDto.java @@ -0,0 +1,104 @@ +package com.research.system.domain.dto; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.research.system.domain.po.AchAchievement; +import com.research.system.domain.po.AchAchievementCategory; +import lombok.Data; + +import java.util.Date; + +/** + * @Author zzc + * @Package com.research.system.domain.dto + * @Date 2025/8/12 14:12 + * @description: + */ +public class OutcomeDto { + + @Data + public static class Query{ + private Long projOrgId; + private Long ktGroupId; + private String title; + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date applyDate; + private Long categoryId1; + private Long categoryId2; + private Byte achType; + } + + @Data + public static class QueryCategory { + private String categoryName; + private String categoryCode; + } + + @Data + public static class Add { + private Long id; + + private Long projId; + + private Long projOrgId; + + private Long ktGroupId; + + private Long categoryId1; + + private Long categoryId2; + + private String title; + + private String no; + + private String authors; + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date applyDate; + + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date publishDate; + + private String place; + + private Byte achType; + + private String source; + + private Byte paperSourceType; + + private String ysktXmfzr; + + private String ysktFunds; + + private String ysktLxpzwh; + + private Byte ysktStatus; + + private String abstracts; + + private String keywords; + + private String paperLink; + + private String pdfDownloadUrl; + + private String commitmentLetterUrl; + } + + @Data + public static class AddCategory { + private Long id; + + private Long projId; + + private Long parentId; + + private String categoryCode; + + private String categoryName; + + private Integer sort; + + private String remark; + } +} diff --git a/research-system/src/main/java/com/research/system/domain/vo/FundingVo.java b/research-system/src/main/java/com/research/system/domain/vo/FundingVo.java new file mode 100644 index 00000000..ca5ee528 --- /dev/null +++ b/research-system/src/main/java/com/research/system/domain/vo/FundingVo.java @@ -0,0 +1,55 @@ +package com.research.system.domain.vo; + +import com.research.system.domain.po.FudFundRecord; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * @Author zzc + * @Package com.research.system.domain.vo + * @Date 2025/8/12 16:30 + * @description: + */ +public class FundingVo { + + @Data + public static class Result { + private Long id; + + private Long projId; + + private Long projOrgId; + + private Long ktGroupId; + + private Byte payType; + + private String paySource; + + private String paySubject; + + private String payAbstract; + + private Date payTime; + + private BigDecimal incomeAmount; + + private BigDecimal payAmount; + + private String jsr; + + private String spr; + + private String pzh; + + private String pzhUrl; + + private String remark; + + private String createBy; + + private Date createTime; + } +} diff --git a/research-system/src/main/java/com/research/system/domain/vo/GroupVO.java b/research-system/src/main/java/com/research/system/domain/vo/GroupVO.java new file mode 100644 index 00000000..fbd2c21e --- /dev/null +++ b/research-system/src/main/java/com/research/system/domain/vo/GroupVO.java @@ -0,0 +1,91 @@ +package com.research.system.domain.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.research.system.domain.po.KtsKtGroup; +import com.research.system.domain.po.KtsKtGroupMember; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +/** + * @Author zzc + * @Package com.research.system.domain.vo + * @Date 2025/8/12 8:58 + * @description: + */ +public class GroupVO { + + @Data + public static class Result{ + private Long id; + + private Long projId; + + private Long projOrgId; + + private Long parentKtId; + + private String ktGroupName; + + private Integer sort; + + private String intro; + + private Byte ktGroupStatus; + + private String createBy; + + private Date createTime; + private String projOrgName; + } + + @Data + public static class MemberResult { + private Long id; + + private Long userId; + + private Long ktGroupId; + + private String parentMemberId; + + private String memberName; + + private String memberPhone; + + private String memberEmail; + + private Byte memberGender; + + @JsonFormat(pattern = "yyyy-MM-dd") + private Date memberBirth; + + private Byte type; + + private Byte category; + + private Integer qualification; + + private Integer title; + + private Integer sort; + + private String intro; + + private Byte auditStatus; + + private Byte memberStatus; + + private String createBy; + + private Date createTime; + @ApiModelProperty("课题组名称") + private String ktGroupName; + + private String qualificationName; + + private String titleName; + } + +} diff --git a/research-system/src/main/java/com/research/system/domain/vo/OutcomeVo.java b/research-system/src/main/java/com/research/system/domain/vo/OutcomeVo.java new file mode 100644 index 00000000..9621e2c8 --- /dev/null +++ b/research-system/src/main/java/com/research/system/domain/vo/OutcomeVo.java @@ -0,0 +1,101 @@ +package com.research.system.domain.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.research.system.domain.po.AchAchievement; +import com.research.system.domain.po.AchAchievementCategory; +import lombok.Data; + +import java.util.Date; +import java.util.List; + +/** + * @Author zzc + * @Package com.research.system.domain.vo + * @Date 2025/8/12 14:15 + * @description: + */ +public class OutcomeVo { + + @Data + public static class Result { + private Long id; + + private Long projId; + + private Long projOrgId; + + private Long ktGroupId; + + private Long categoryId1; + + private Long categoryId2; + + private String title; + + private String no; + + private String authors; + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date applyDate; + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date publishDate; + + private String place; + + private Byte achType; + + private String source; + + private Byte paperSourceType; + + private String ysktXmfzr; + + private String ysktFunds; + + private String ysktLxpzwh; + + private Byte ysktStatus; + + private String abstracts; + + private String keywords; + + private String paperLink; + + private String pdfDownloadUrl; + + private String commitmentLetterUrl; + + private String createBy; + + private Date createTime; + } + + @Data + public static class CategoryResult { + private Long id; + + private Long projId; + + private Long parentId; + + private String categoryCode; + + private String categoryName; + + private Integer sort; + + private String remark; + + private Byte delFlag; + + private String createBy; + + private Date createTime; + private Integer num; + private List childList; + } + + + +} diff --git a/research-system/src/main/java/com/research/system/persist/dao/KtsGroupDao.java b/research-system/src/main/java/com/research/system/persist/dao/KtsGroupDao.java new file mode 100644 index 00000000..276c3934 --- /dev/null +++ b/research-system/src/main/java/com/research/system/persist/dao/KtsGroupDao.java @@ -0,0 +1,22 @@ +package com.research.system.persist.dao; + +import com.research.system.domain.dto.CommonDto; +import com.research.system.domain.dto.GroupDto; +import com.research.system.domain.vo.GroupVO; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * @Author zzc + * @Package com.research.system.persist.dao + * @Date 2025/8/12 10:41 + * @description: + */ +public interface KtsGroupDao { + + List queryGroupList(@Param("dto") GroupDto.Query dto); + + List queryMemberList(@Param("dto") GroupDto.MemberQuery dto); + +} diff --git a/research-system/src/main/java/com/research/system/persist/dao/OutcomeDao.java b/research-system/src/main/java/com/research/system/persist/dao/OutcomeDao.java new file mode 100644 index 00000000..401a39a8 --- /dev/null +++ b/research-system/src/main/java/com/research/system/persist/dao/OutcomeDao.java @@ -0,0 +1,22 @@ +package com.research.system.persist.dao; + +import com.research.system.domain.dto.OutcomeDto; +import com.research.system.domain.vo.OutcomeVo; +import org.apache.ibatis.annotations.Param; +import org.springframework.security.core.parameters.P; + +import java.util.List; + +/** + * @Author zzc + * @Package com.research.system.persist.dao + * @Date 2025/8/12 14:51 + * @description: + */ +public interface OutcomeDao { + + List queryList(@Param("dto") OutcomeDto.Query query); + + List queryCategoryList(@Param("dto") OutcomeDto.QueryCategory dto); + +} diff --git a/research-system/src/main/java/com/research/system/service/FundingService.java b/research-system/src/main/java/com/research/system/service/FundingService.java new file mode 100644 index 00000000..e5d8f37f --- /dev/null +++ b/research-system/src/main/java/com/research/system/service/FundingService.java @@ -0,0 +1,23 @@ +package com.research.system.service; + +import com.research.system.domain.dto.CommonDto; +import com.research.system.domain.dto.FundingDto; +import com.research.system.domain.vo.FundingVo; + +import java.util.List; + +/** + * @Author zzc + * @Package com.research.system.service + * @Date 2025/8/12 16:28 + * @description: + */ +public interface FundingService { + + List queryList(FundingDto.Query query); + + void add(FundingDto.Add dto); + + void del(CommonDto.DelDto dto); + +} diff --git a/research-system/src/main/java/com/research/system/service/KtsGroupService.java b/research-system/src/main/java/com/research/system/service/KtsGroupService.java new file mode 100644 index 00000000..8c7feae4 --- /dev/null +++ b/research-system/src/main/java/com/research/system/service/KtsGroupService.java @@ -0,0 +1,32 @@ +package com.research.system.service; + +import com.research.common.core.domain.JsonResponse; +import com.research.system.domain.dto.CommonDto; +import com.research.system.domain.dto.GroupDto; +import com.research.system.domain.vo.GroupVO; + +import java.util.List; + +/** + * @Author zzc + * @Package com.research.system.service + * @Date 2025/8/12 9:00 + * @description: + */ +public interface KtsGroupService { + + List queryGroupList(GroupDto.Query query); + + void add(GroupDto.Add dto); + + void del(CommonDto.DelDto dto); + + void status(CommonDto.StatusDto dto); + + List queryMemberList(GroupDto.MemberQuery query); + + JsonResponse addMember(GroupDto.AddMember dto); + + void delMember(CommonDto.DelDto dto); + +} diff --git a/research-system/src/main/java/com/research/system/service/OutcomeService.java b/research-system/src/main/java/com/research/system/service/OutcomeService.java new file mode 100644 index 00000000..dc001564 --- /dev/null +++ b/research-system/src/main/java/com/research/system/service/OutcomeService.java @@ -0,0 +1,28 @@ +package com.research.system.service; + +import com.research.system.domain.dto.CommonDto; +import com.research.system.domain.dto.OutcomeDto; +import com.research.system.domain.vo.OutcomeVo; + +import java.util.List; + +/** + * @Author zzc + * @Package com.research.system.service + * @Date 2025/8/12 14:11 + * @description: + */ +public interface OutcomeService { + + List queryList(OutcomeDto.Query query); + + void add(OutcomeDto.Add dto); + + void del(CommonDto.DelDto dto); + + List queryCategoryList(OutcomeDto.QueryCategory query); + + void addCategory(OutcomeDto.AddCategory dto); + + void delCategory(CommonDto.DelDto dto); +} diff --git a/research-system/src/main/java/com/research/system/service/impl/ClientPrjProjInfoServiceImpl.java b/research-system/src/main/java/com/research/system/service/impl/ClientPrjProjInfoServiceImpl.java index 089dbf4c..8b158912 100644 --- a/research-system/src/main/java/com/research/system/service/impl/ClientPrjProjInfoServiceImpl.java +++ b/research-system/src/main/java/com/research/system/service/impl/ClientPrjProjInfoServiceImpl.java @@ -37,6 +37,7 @@ public class ClientPrjProjInfoServiceImpl implements ClientPrjProjInfoService { @Resource private PrjProjDocumentMapper prjProjDocumentMapper; + @Override public void aduit(ClientPrjProjInfoDto.Aduit dto) { PrjProjInfo prjProjInfo = BeanUtil.copyProperties(dto, PrjProjInfo.class); diff --git a/research-system/src/main/java/com/research/system/service/impl/FundingServiceImpl.java b/research-system/src/main/java/com/research/system/service/impl/FundingServiceImpl.java new file mode 100644 index 00000000..0aa64903 --- /dev/null +++ b/research-system/src/main/java/com/research/system/service/impl/FundingServiceImpl.java @@ -0,0 +1,39 @@ +package com.research.system.service.impl; + +import com.research.system.domain.dto.CommonDto; +import com.research.system.domain.dto.FundingDto; +import com.research.system.domain.vo.FundingVo; +import com.research.system.persist.mapper.FudFundRecordMapper; +import com.research.system.service.FundingService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; + +/** + * @Author zzc + * @Package com.research.system.service.impl + * @Date 2025/8/12 16:34 + * @description: + */ +@Service +public class FundingServiceImpl implements FundingService { + + @Resource + private FudFundRecordMapper fudFundRecordMapper; + + @Override + public List queryList(FundingDto.Query query) { + return null; + } + + @Override + public void add(FundingDto.Add dto) { + + } + + @Override + public void del(CommonDto.DelDto dto) { + + } +} diff --git a/research-system/src/main/java/com/research/system/service/impl/KtsGroupServiceImpl.java b/research-system/src/main/java/com/research/system/service/impl/KtsGroupServiceImpl.java new file mode 100644 index 00000000..f7d6f345 --- /dev/null +++ b/research-system/src/main/java/com/research/system/service/impl/KtsGroupServiceImpl.java @@ -0,0 +1,149 @@ +package com.research.system.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.IdUtil; +import com.research.common.constant.UserConstants; +import com.research.common.core.domain.JsonResponse; +import com.research.common.core.domain.entity.SysUser; +import com.research.common.exception.base.BaseException; +import com.research.common.utils.SecurityUtils; +import com.research.system.domain.dto.CommonDto; +import com.research.system.domain.dto.GroupDto; +import com.research.system.domain.po.*; +import com.research.system.domain.vo.GroupVO; +import com.research.system.persist.dao.KtsGroupDao; +import com.research.system.persist.mapper.KtsKtGroupMapper; +import com.research.system.persist.mapper.KtsKtGroupMemberMapper; +import com.research.system.service.ClientPrjProjInfoService; +import com.research.system.service.ISysUserService; +import com.research.system.service.KtsGroupService; +import org.springframework.context.annotation.Bean; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.List; + +/** + * @Author zzc + * @Package com.research.system.service.impl + * @Date 2025/8/12 9:17 + * @description: + */ +@Service +public class KtsGroupServiceImpl implements KtsGroupService { + + @Resource + private KtsKtGroupMapper ktsKtGroupMapper; + @Resource + private KtsKtGroupMemberMapper ktsKtGroupMemberMapper; + @Resource + private ClientPrjProjInfoService clientPrjProjInfoService; + @Resource + private ISysUserService sysUserService; + @Resource + private KtsGroupDao ktsGroupDao; + + @Override + public List queryGroupList(GroupDto.Query query) { + return ktsGroupDao.queryGroupList(query); + } + + @Override + public void add(GroupDto.Add dto) { + //根据登录账号查询项目 + PrjProjInfo proInfoByTenantId = clientPrjProjInfoService.getProInfoByTenantId(SecurityUtils.getTenantId()); + if (proInfoByTenantId == null) { + throw new BaseException("未查询到项目"); + } + KtsKtGroup ktsKtGroup = BeanUtil.copyProperties(dto, KtsKtGroup.class); + if (dto.getId() == null) { + ktsKtGroup.setId(IdUtil.getSnowflakeNextId()); + ktsKtGroup.setCreateBy(SecurityUtils.getUsername()); + ktsKtGroup.setKtGroupStatus((byte) 0); + ktsKtGroup.setCreateTime(new Date()); + ktsKtGroup.setDelFlag((byte) 0); + ktsKtGroup.setProjId(proInfoByTenantId.getId()); + ktsKtGroupMapper.insertSelective(ktsKtGroup); + } else { + ktsKtGroup.setUpdateBy(SecurityUtils.getUsername()); + ktsKtGroup.setUpdateTime(new Date()); + ktsKtGroupMapper.updateByPrimaryKeySelective(ktsKtGroup); + } + } + + @Override + public void del(CommonDto.DelDto dto) { + KtsKtGroupExample ktsKtGroupExample = new KtsKtGroupExample(); + ktsKtGroupExample.createCriteria().andIdIn(dto.getIdList()); + KtsKtGroup ktsKtGroup = new KtsKtGroup(); + ktsKtGroup.setDelFlag((byte) 1); + ktsKtGroupMapper.updateByExampleSelective(ktsKtGroup, ktsKtGroupExample); + } + + @Override + public void status(CommonDto.StatusDto dto) { + KtsKtGroup ktsKtGroup = ktsKtGroupMapper.selectByPrimaryKey(dto.getId()); + if (ktsKtGroup == null || ktsKtGroup.getDelFlag() == 1) { + throw new BaseException("未查询到数据"); + } + ktsKtGroup.setKtGroupStatus(dto.getStatus()); + ktsKtGroupMapper.updateByPrimaryKeySelective(ktsKtGroup); + } + + @Override + public List queryMemberList(GroupDto.MemberQuery query) { + return ktsGroupDao.queryMemberList(query); + } + + @Override + public JsonResponse addMember(GroupDto.AddMember dto) { + KtsKtGroupMember ktsKtGroupMember = BeanUtil.copyProperties(dto, KtsKtGroupMember.class); + if (dto.getId() == null) { + //查询手机号是否已有用户 + SysUser sysUser = sysUserService.selectUserByUserName(dto.getMemberPhone()); + if (sysUser != null && "0".equals(sysUser.getDelFlag()) && dto.getConfirm() == 0) { + return JsonResponse.ok().fail(201, "手机号已存在,请确认是否添加该用户!"); + } + ktsKtGroupMember.setId(IdUtil.getSnowflakeNextId()); + ktsKtGroupMember.setCreateBy(SecurityUtils.getUsername()); + ktsKtGroupMember.setMemberStatus((byte) 0); + ktsKtGroupMember.setAuditStatus((byte) 0); + ktsKtGroupMember.setCreateTime(new Date()); + ktsKtGroupMember.setDelFlag((byte) 0); + if (sysUser == null) { + sysUser = new SysUser(); + sysUser.setUserId(IdUtil.getSnowflakeNextId()); + sysUser.setNickName(dto.getMemberName()); + sysUser.setUserName(dto.getMemberPhone()); + sysUser.setPassword(SecurityUtils.encryptPassword(UserConstants.DEFALT_PASSWORD)); + sysUser.setStatus(UserConstants.NORMAL); + sysUser.setCreateBy(SecurityUtils.getUsername()); + sysUser.setEmail(dto.getMemberEmail()); + sysUser.setPhonenumber(dto.getMemberPhone()); + sysUser.setCreateTime(new Date()); + sysUserService.insertUser(sysUser); + + } + ktsKtGroupMember.setUserId(sysUser.getUserId()); + + ktsKtGroupMemberMapper.insertSelective(ktsKtGroupMember); + return JsonResponse.ok(); + } else { + ktsKtGroupMember.setUpdateBy(SecurityUtils.getUsername()); + ktsKtGroupMember.setUpdateTime(new Date()); + ktsKtGroupMemberMapper.updateByPrimaryKeySelective(ktsKtGroupMember); + return JsonResponse.ok(); + } + } + + @Override + public void delMember(CommonDto.DelDto dto) { + KtsKtGroupMemberExample ktsKtGroupMemberExample = new KtsKtGroupMemberExample(); + ktsKtGroupMemberExample.createCriteria().andIdIn(dto.getIdList()); + KtsKtGroupMember ktsKtGroupMember = new KtsKtGroupMember(); + ktsKtGroupMember.setDelFlag((byte) 1); + ktsKtGroupMemberMapper.updateByExampleSelective(ktsKtGroupMember, ktsKtGroupMemberExample); + + } +} diff --git a/research-system/src/main/java/com/research/system/service/impl/OutcomeServiceImpl.java b/research-system/src/main/java/com/research/system/service/impl/OutcomeServiceImpl.java new file mode 100644 index 00000000..e2898eed --- /dev/null +++ b/research-system/src/main/java/com/research/system/service/impl/OutcomeServiceImpl.java @@ -0,0 +1,97 @@ +package com.research.system.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.IdUtil; +import com.research.common.utils.SecurityUtils; +import com.research.system.domain.dto.CommonDto; +import com.research.system.domain.dto.OutcomeDto; +import com.research.system.domain.po.AchAchievement; +import com.research.system.domain.po.AchAchievementCategory; +import com.research.system.domain.po.AchAchievementCategoryExample; +import com.research.system.domain.po.AchAchievementExample; +import com.research.system.domain.vo.OutcomeVo; +import com.research.system.persist.dao.OutcomeDao; +import com.research.system.persist.mapper.AchAchievementCategoryMapper; +import com.research.system.persist.mapper.AchAchievementMapper; +import com.research.system.service.OutcomeService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.List; + +/** + * @Author zzc + * @Package com.research.system.service.impl + * @Date 2025/8/12 14:53 + * @description: + */ +@Service +public class OutcomeServiceImpl implements OutcomeService { + //https://www.erciyan.com/book/95146757/409170406_2.html + @Resource + private OutcomeDao outcomeDao; + @Resource + private AchAchievementMapper achAchievementMapper; + @Resource + private AchAchievementCategoryMapper achAchievementCategoryMapper; + + @Override + public List queryList(OutcomeDto.Query query) { + return outcomeDao.queryList(query); + } + + @Override + public void add(OutcomeDto.Add dto) { + AchAchievement achAchievement = BeanUtil.copyProperties(dto, AchAchievement.class); + if (achAchievement.getId() == null) { + achAchievement.setId(IdUtil.getSnowflakeNextId()); + achAchievement.setCreateBy(SecurityUtils.getUsername()); + achAchievement.setCreateTime(new Date()); + achAchievement.setDelFlag((byte) 0); + achAchievementMapper.insertSelective(achAchievement); + }else { + achAchievement.setUpdateBy(SecurityUtils.getUsername()); + achAchievement.setUpdateTime(new Date()); + achAchievementMapper.updateByPrimaryKeySelective(achAchievement); + } + } + + @Override + public void del(CommonDto.DelDto dto) { + AchAchievementExample achAchievementExample = new AchAchievementExample(); + achAchievementExample.createCriteria().andIdIn(dto.getIdList()); + AchAchievement achAchievement = new AchAchievement(); + achAchievement.setDelFlag((byte) 1); + achAchievementMapper.updateByExampleSelective(achAchievement, achAchievementExample); + } + + @Override + public List queryCategoryList(OutcomeDto.QueryCategory query) { + return outcomeDao.queryCategoryList(query); + } + + @Override + public void addCategory(OutcomeDto.AddCategory dto) { + AchAchievementCategory achAchievementCategory = BeanUtil.copyProperties(dto, AchAchievementCategory.class); + if (achAchievementCategory.getId() == null) { + achAchievementCategory.setId(IdUtil.getSnowflakeNextId()); + achAchievementCategory.setCreateBy(SecurityUtils.getUsername()); + achAchievementCategory.setCreateTime(new Date()); + achAchievementCategoryMapper.insertSelective(achAchievementCategory); + }else { + achAchievementCategory.setUpdateBy(SecurityUtils.getUsername()); + achAchievementCategory.setUpdateTime(new Date()); + achAchievementCategoryMapper.updateByPrimaryKeySelective(achAchievementCategory); + } + } + + @Override + public void delCategory(CommonDto.DelDto dto) { + AchAchievementCategoryExample achAchievementCategoryExample = new AchAchievementCategoryExample(); + achAchievementCategoryExample.createCriteria().andIdIn(dto.getIdList()); + AchAchievementCategory achAchievementCategory = new AchAchievementCategory(); + achAchievementCategory.setDelFlag((byte) 1); + achAchievementCategoryMapper.updateByExampleSelective(achAchievementCategory, achAchievementCategoryExample); + } +} diff --git a/research-system/src/main/resources/mapper/dao/KtsGroupDao.xml b/research-system/src/main/resources/mapper/dao/KtsGroupDao.xml new file mode 100644 index 00000000..04c9e02a --- /dev/null +++ b/research-system/src/main/resources/mapper/dao/KtsGroupDao.xml @@ -0,0 +1,90 @@ + + + + + + + + diff --git a/research-system/src/main/resources/mapper/dao/OutcomeDao.xml b/research-system/src/main/resources/mapper/dao/OutcomeDao.xml new file mode 100644 index 00000000..0b354d62 --- /dev/null +++ b/research-system/src/main/resources/mapper/dao/OutcomeDao.xml @@ -0,0 +1,91 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + +