package com.panzhihua.service_community.api; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.api.ApiController; import com.panzhihua.common.model.dtos.community.social.PageProjectDTO; import com.panzhihua.common.model.dtos.community.social.PageProjectSignListDTO; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.dtos.property.CommonPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.panzhihua.common.model.vos.community.social.SocialProjectVO; import com.panzhihua.common.utlis.Snowflake; import com.panzhihua.service_community.entity.ComActSocialProject; import com.panzhihua.service_community.service.ComActSocialProjectService; import org.springframework.beans.BeanUtils; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.io.Serializable; import java.util.Date; import java.util.List; /** * 三社联动项目表(ComActSocialProject)表控制层 * * @author makejava * @since 2021-12-22 14:02:48 */ @RestController @RequestMapping("comActSocialProject") public class ComActSocialProjectApi { /** * 服务对象 */ @Resource private ComActSocialProjectService comActSocialProjectService; /** * 分页查询所有数据 * * @param commonPage 查询实体 * @return 所有数据 */ @PostMapping("queryAll") public R selectAll(@RequestBody CommonPage commonPage) { return this.comActSocialProjectService.pageList(commonPage); } /** * 平台详情接口 * * @param id 主键 * @return 单条数据 */ @GetMapping("{id}") public R selectOne(@PathVariable("id") Long id) { return this.comActSocialProjectService.getByBackstage(id); } /** * 根据项目id分页获取关联项目 */ @PostMapping("/getRelation") public R getRelation(@RequestBody CommonPage commonPage){ return this.comActSocialProjectService.getProject(commonPage); } /** * 新增数据 * * @param socialProjectVO 实体对象 * @return 新增结果 */ @PostMapping public R insert(@RequestBody SocialProjectVO socialProjectVO) { ComActSocialProject comActSocialProject=new ComActSocialProject(); BeanUtils.copyProperties(socialProjectVO,comActSocialProject); // comActSocialProject.setId(Snowflake.getId()); comActSocialProject.setCreateTime(new Date()); if(socialProjectVO.getLevel()>1){ ComActSocialProject comActSocialProject1=comActSocialProjectService.getById(socialProjectVO.getParentId()); comActSocialProject.setColumnId(comActSocialProject1.getColumnId()); comActSocialProject.setSecondColumnId(comActSocialProject1.getSecondColumnId()); } return R.ok(this.comActSocialProjectService.save(comActSocialProject)); } /** * 修改数据 * * @param socialProjectVO 实体对象 * @return 修改结果 */ @PostMapping("/update") public R update(@RequestBody SocialProjectVO socialProjectVO) { return R.ok(this.comActSocialProjectService.updateProject(socialProjectVO)); } /** * 删除数据 * * @param id 主键结合 * @return 删除结果 */ @GetMapping("del") public R delete(@RequestParam("id") Long id) { return R.ok(this.comActSocialProjectService.removeById(id)); } /** * 小程序详情接口 * @param id * @param userId * @return */ @GetMapping("/getApplet") public R getApplet(@RequestParam("id") Long id, @RequestParam(value = "userId", required = false) Long userId){ return this.comActSocialProjectService.getByApplet(id, userId); } /** * 分页查询项目报名列表 * @param pageProjectSignListDTO * @return */ @PostMapping("/signList") public R pageProjectSignList(@RequestBody PageProjectSignListDTO pageProjectSignListDTO) { return comActSocialProjectService.pageProjectSignList(pageProjectSignListDTO); } /** * 项目公开报名 * @param projectId * @param userId * @return */ @GetMapping("/sign") public R signProject(@RequestParam("projectId") Long projectId, @RequestParam("userId") Long userId) { return comActSocialProjectService.signProject(projectId, userId); } /** * 分页查询用户报名的项目 * @param pageProjectDTO * @return */ @PostMapping("/project") public R pageProjectWhichIsSignedByUser(@RequestBody PageProjectDTO pageProjectDTO) { return comActSocialProjectService.pageProjectWhichIsSignedByUser(pageProjectDTO); } }