package com.doumee.api.business;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.doumee.api.BaseController;
|
import com.doumee.core.annotation.excel.ExcelExporter;
|
import com.doumee.core.annotation.pr.PreventRepeat;
|
import com.doumee.core.model.ApiResponse;
|
import com.doumee.core.model.PageWrap;
|
import com.doumee.core.model.PageData;
|
import com.doumee.core.utils.Constants;
|
import com.doumee.core.utils.DateUtil;
|
import com.doumee.dao.business.model.Declares;
|
import com.doumee.dao.business.model.Project;
|
import com.doumee.service.business.ProjectService;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.*;
|
import javax.servlet.http.HttpServletResponse;
|
|
import java.time.LocalDateTime;
|
import java.util.ArrayList;
|
import java.util.List;
|
|
/**
|
* @author 江蹄蹄
|
* @date 2023/02/15 08:55
|
*/
|
@Api(tags = "项目信息表")
|
@RestController
|
@RequestMapping("/business/project")
|
public class ProjectController extends BaseController {
|
|
@Autowired
|
private ProjectService projectService;
|
|
@PreventRepeat
|
@ApiOperation("新建")
|
@PostMapping("/create")
|
@RequiresPermissions("business:project:create")
|
public ApiResponse create(@RequestBody Project project) {
|
return ApiResponse.success(projectService.create(project));
|
}
|
|
@ApiOperation("根据ID删除")
|
@GetMapping("/delete/{id}")
|
@RequiresPermissions("business:project:delete")
|
public ApiResponse deleteById(@PathVariable Integer id) {
|
projectService.deleteById(id);
|
return ApiResponse.success(null);
|
}
|
|
@ApiOperation("批量删除")
|
@GetMapping("/delete/batch")
|
@RequiresPermissions("business:project:delete")
|
public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
|
String [] idArray = ids.split(",");
|
List<Integer> idList = new ArrayList<>();
|
for (String id : idArray) {
|
idList.add(Integer.valueOf(id));
|
}
|
projectService.deleteByIdInBatch(idList);
|
return ApiResponse.success(null);
|
}
|
|
@ApiOperation("根据ID修改")
|
@PostMapping("/updateById")
|
@RequiresPermissions("business:project:update")
|
public ApiResponse updateById(@RequestBody Project project) {
|
projectService.updateById(project);
|
return ApiResponse.success(null);
|
}
|
@ApiOperation("分配市局子账号")
|
@PostMapping("/distributeSjChild")
|
@RequiresPermissions("business:project:distributeSjChild")
|
public ApiResponse distributeSjChild(@RequestBody Project project) {
|
projectService.distributeSjChild(project);
|
return ApiResponse.success(null);
|
}
|
|
@ApiOperation("分页查询")
|
@PostMapping("/page")
|
@RequiresPermissions("business:project:query")
|
public ApiResponse<PageData<Project>> findPage (@RequestBody PageWrap<Project> pageWrap) {
|
return ApiResponse.success(projectService.findPage(pageWrap));
|
}
|
@ApiOperation("已报名项目分页查询")
|
@PostMapping("/pageDeclared")
|
@RequiresPermissions("business:project:query")
|
public ApiResponse<PageData<Declares>> pageDeclared (@RequestBody PageWrap<Project> pageWrap) {
|
return ApiResponse.success(projectService.pageDeclared(pageWrap));
|
}
|
|
|
|
@ApiOperation("导出Excel")
|
@PostMapping("/exportExcel")
|
@RequiresPermissions("business:project:exportExcel")
|
public void exportExcel (@RequestBody PageWrap<Project> pageWrap, HttpServletResponse response) {
|
ExcelExporter.build(Project.class).export(projectService.findPage(pageWrap).getRecords(), "项目信息表", response);
|
}
|
|
@ApiOperation("根据ID查询")
|
@GetMapping("/{id}")
|
@RequiresPermissions("business:project:query")
|
public ApiResponse<Project> findById(@PathVariable Integer id) {
|
return ApiResponse.success(projectService.findById(id));
|
}
|
|
/**
|
* 删除子账号关联项目
|
* @param project
|
*/
|
@ApiOperation("删除子账号关联项目")
|
@PostMapping("/updateSJchildIdById")
|
@RequiresPermissions("business:project:update")
|
public ApiResponse updateSJchildIdById(@RequestBody Project project){
|
projectService.updateSJchildIdById(project);
|
return ApiResponse.success(null);
|
}
|
|
/**
|
* 条件查询
|
*
|
* @return List<Project>
|
*/
|
@ApiOperation("市局关联项目")
|
@PostMapping("/findSJProjectList")
|
public ApiResponse<List<Project>> findSJProjectList(){
|
// Project project = new Project();
|
// project.setSjId(getLoginUser().getId());
|
|
// QueryWrapper<Project> wrapper = new QueryWrapper<>();
|
// wrapper.lambda()
|
// .eq(Project::getSjId,getLoginUser().getId())
|
//// .eq(Project::getCityId,getLoginUser().getCityId())
|
// .eq(Project::getIsdeleted, Constants.ZERO)
|
// .le(Project::getStartDate, LocalDateTime.now())
|
// .ge(Project::getEndDate,LocalDateTime.now());
|
|
Project p =new Project();
|
p.setSjId(getLoginUser().getId());
|
p.setIsdeleted(Constants.ZERO);
|
List<Project> list = projectService.findList(p);
|
return ApiResponse.success(list);
|
}
|
}
|