package com.lf.server.controller.data; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.OrderItem; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.lf.server.annotation.SysLog; import com.lf.server.controller.all.BaseController; import com.lf.server.entity.all.ResponseMsg; import com.lf.server.entity.bs.BsprojectEntity; import com.lf.server.entity.data.DictEntity; import com.lf.server.entity.data.DirEntity; import com.lf.server.entity.sys.DepEntity; import com.lf.server.entity.sys.UserEntity; import com.lf.server.helper.StringHelper; import com.lf.server.helper.WebHelper; import com.lf.server.mapper.bs.BsprojectMapper; import com.lf.server.service.all.BaseQueryService; import com.lf.server.service.data.DirService; import com.lf.server.service.sys.DepService; import com.lf.server.service.sys.TokenService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; import java.util.ArrayList; import java.util.List; /** * 项目管理 * @author WWW */ @Api(tags = "数据管理\\项目管理") @RestController @RequestMapping("/project") public class ProjectController extends BaseController { @Autowired DepService depService; @Autowired DirService dirService; @Autowired TokenService tokenService; @Autowired BsprojectMapper bsprojectMapper; @Autowired BaseQueryService baseQueryService; @SysLog() @ApiOperation(value = "查询所有单位数据") @GetMapping(value = "/selectDepAll") public ResponseMsg> selectDepAll() { try { List list = depService.selectDepAll(); return success(list); } catch (Exception ex) { return fail(ex.getMessage(), null); } } @SysLog() @ApiOperation(value = "查询根目录") @GetMapping(value = "/selectDirRoot") public ResponseMsg> selectDirRoot() { try { List list = dirService.selectDirRoot(); return success(list); } catch (Exception ex) { return fail(ex.getMessage(), null); } } @SysLog() @ApiOperation(value = "分页查询并返回记录数") @ApiImplicitParams({ @ApiImplicitParam(name = "dirid", value = "目录ID", dataType = "Integer", paramType = "query", example = "1"), @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "Integer", paramType = "query", example = "10"), @ApiImplicitParam(name = "pageIndex", value = "分页数(从1开始)", dataType = "Integer", paramType = "query", example = "1") }) @GetMapping(value = "/selectByPageAndCount") public ResponseMsg selectByPageAndCount(Integer dirid, Integer pageSize, Integer pageIndex) { try { QueryWrapper wrapper = null; if (null != dirid) { wrapper = new QueryWrapper<>(); wrapper.eq("dirid", dirid); } Page page = new Page<>(pageIndex, pageSize); page.addOrder(OrderItem.asc("gid")); Page paged = bsprojectMapper.selectPage(page, wrapper); return success(paged.getTotal(), paged.getRecords()); } catch (Exception ex) { return fail(ex.getMessage(), null); } } @SysLog() @ApiOperation(value = "查询字段信息") @GetMapping(value = "/selectFields") public ResponseMsg> selectFields() { try { String tabName = BaseQueryService.getTabName(bsprojectMapper); if (tabName == null) { return null; } String[] strs = tabName.split("\\."); List list = baseQueryService.selectFields(strs[0], strs[1]); return success(list); } catch (Exception ex) { return fail(ex.getMessage(), null); } } @SysLog() @ApiOperation(value = "删除一条") @ApiImplicitParams({ @ApiImplicitParam(name = "gid", value = "ID", dataType = "int", paramType = "query", example = "1") }) @GetMapping(value = "/delete") public ResponseMsg delete(int gid) { try { int rows = bsprojectMapper.deleteById(gid); return success(rows); } catch (Exception ex) { return fail(ex.getMessage(), -1); } } @SysLog() @ApiOperation(value = "插入一条") @ApiImplicitParams({ @ApiImplicitParam(name = "entity", value = "实体类", dataType = "DictEntity", paramType = "body") }) @PostMapping(value = "/insert", produces = "application/json; charset=UTF-8") public ResponseMsg insert(@RequestBody BsprojectEntity entity, HttpServletRequest req) { try { if (null == entity) { return fail("实体类不能为空", 0); } UserEntity ue = tokenService.getCurrentUser(req); entity.setCreateuser(ue.getId()); entity.setCreatetime(WebHelper.getCurrentTimestamp()); entity.setGeom(StringHelper.getGeomWkt(entity.getGeom())); List list = new ArrayList<>(); list.add(entity); int rows = bsprojectMapper.insertBatch(list); return success(rows); } catch (Exception ex) { return fail(ex.getMessage(), -1); } } @SysLog() @ApiOperation(value = "更新一条") @ApiImplicitParams({ @ApiImplicitParam(name = "entity", value = "实体类", dataType = "DictEntity", paramType = "body") }) @ResponseBody @PostMapping(value = "/update", produces = "application/json; charset=UTF-8") public ResponseMsg update(@RequestBody BsprojectEntity entity, HttpServletRequest req) { try { if (null == entity) { return fail("实体类不能为空", 0); } UserEntity ue = tokenService.getCurrentUser(req); entity.setUpdateuser(ue.getId()); entity.setUpdatetime(WebHelper.getCurrentTimestamp()); entity.setGeom(StringHelper.getGeomWkt(entity.getGeom())); List list = new ArrayList<>(); list.add(entity); int rows = bsprojectMapper.updateBatch(list); return success(rows); } catch (Exception ex) { return fail(ex.getMessage(), -1); } } }