From afda600cf257b5a0eb6ae099a80282d21f971958 Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Thu, 16 May 2024 19:41:24 +0800
Subject: [PATCH] E呼即办2行政区域
---
src/main/java/org/springblade/modules/counties/mapper/CountiesMapper.xml | 15
src/main/java/org/springblade/modules/issueClazz/mapper/IssueClazzMapper.xml | 42 ++
src/main/java/org/springblade/modules/issueClazz/service/impl/IssueClazzServiceImpl.java | 51 ++
src/main/java/org/springblade/modules/counties/controller/CountiesController.java | 129 +++++++
src/main/java/org/springblade/modules/counties/service/impl/CountiesServiceImpl.java | 43 ++
src/main/java/org/springblade/modules/counties/mapper/CountiesMapper.java | 43 ++
src/main/java/org/springblade/modules/issueClazz/vo/IssueClazzVO.java | 93 +++++
src/main/java/org/springblade/modules/counties/service/ICountiesService.java | 43 ++
src/main/java/org/springblade/modules/counties/entity/CountiesEntity.java | 59 +++
src/main/java/org/springblade/modules/issueClazz/controller/IssueClazzController.java | 140 +++++++
src/main/java/org/springblade/modules/issueClazz/entity/IssueClazzEntity.java | 53 ++
src/main/java/org/springblade/modules/counties/dto/CountiesDTO.java | 53 ++
src/main/java/org/springblade/modules/counties/vo/CountiesVO.java | 35 +
src/main/java/org/springblade/modules/issueClazz/dto/IssueClazzDTO.java | 48 ++
src/main/java/org/springblade/modules/issueClazz/mapper/IssueClazzMapper.java | 44 ++
src/main/java/org/springblade/modules/issueClazz/wrapper/IssueClazzWrapper.java | 50 ++
src/main/java/org/springblade/modules/counties/wrapper/CountiesWrapper.java | 50 ++
src/main/java/org/springblade/modules/issueClazz/service/IIssueClazzService.java | 46 ++
18 files changed, 1,037 insertions(+), 0 deletions(-)
diff --git a/src/main/java/org/springblade/modules/counties/controller/CountiesController.java b/src/main/java/org/springblade/modules/counties/controller/CountiesController.java
new file mode 100644
index 0000000..2eb7862
--- /dev/null
+++ b/src/main/java/org/springblade/modules/counties/controller/CountiesController.java
@@ -0,0 +1,129 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.counties.controller;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import lombok.AllArgsConstructor;
+import javax.validation.Valid;
+
+import org.springblade.core.secure.BladeUser;
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.mp.support.Query;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.Func;
+import org.springblade.modules.counties.dto.CountiesDTO;
+import org.springframework.web.bind.annotation.*;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.modules.counties.entity.CountiesEntity;
+import org.springblade.modules.counties.vo.CountiesVO;
+import org.springblade.modules.counties.wrapper.CountiesWrapper;
+import org.springblade.modules.counties.service.ICountiesService;
+import org.springblade.core.boot.ctrl.BladeController;
+
+import java.util.List;
+
+/**
+ * E呼即办区县 控制器
+ *
+ * @author BladeX
+ * @since 2024-05-16
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("blade-counties/counties")
+@Api(value = "E呼即办区县", tags = "E呼即办区县接口")
+public class CountiesController extends BladeController {
+
+ private final ICountiesService countiesService;
+
+ /**
+ * E呼即办区县 详情
+ */
+ @GetMapping("/detail")
+ @ApiOperationSupport(order = 1)
+ @ApiOperation(value = "详情", notes = "传入counties")
+ public R<CountiesVO> detail(CountiesEntity counties) {
+ CountiesEntity detail = countiesService.getOne(Condition.getQueryWrapper(counties));
+ return R.data(CountiesWrapper.build().entityVO(detail));
+ }
+ /**
+ * E呼即办区县 分页
+ */
+ @GetMapping("/list")
+ @ApiOperationSupport(order = 2)
+ @ApiOperation(value = "分页", notes = "传入counties")
+ public R<List<CountiesVO>> list(CountiesEntity counties, Query query) {
+ List<CountiesEntity> list = countiesService.list();
+ return R.data(CountiesWrapper.build().listVO(list));
+ }
+
+ /**
+ * E呼即办区县 自定义分页
+ */
+ @GetMapping("/page")
+ @ApiOperationSupport(order = 3)
+ @ApiOperation(value = "分页", notes = "传入counties")
+ public R<IPage<CountiesVO>> page(CountiesVO counties, Query query) {
+ IPage<CountiesVO> pages = countiesService.selectCountiesPage(Condition.getPage(query), counties);
+ return R.data(pages);
+ }
+
+ /**
+ * E呼即办区县 新增
+ */
+ @PostMapping("/save")
+ @ApiOperationSupport(order = 4)
+ @ApiOperation(value = "新增", notes = "传入counties")
+ public R save(@Valid @RequestBody CountiesEntity counties) {
+ return R.status(countiesService.save(counties));
+ }
+
+ /**
+ * E呼即办区县 修改
+ */
+ @PostMapping("/update")
+ @ApiOperationSupport(order = 5)
+ @ApiOperation(value = "修改", notes = "传入counties")
+ public R update(@Valid @RequestBody CountiesEntity counties) {
+ return R.status(countiesService.updateById(counties));
+ }
+
+ /**
+ * E呼即办区县 新增或修改
+ */
+ @PostMapping("/submit")
+ @ApiOperationSupport(order = 6)
+ @ApiOperation(value = "新增或修改", notes = "传入counties")
+ public R submit(@Valid @RequestBody CountiesEntity counties) {
+ return R.status(countiesService.saveOrUpdate(counties));
+ }
+
+ /**
+ * E呼即办区县 删除
+ */
+ @PostMapping("/remove")
+ @ApiOperationSupport(order = 7)
+ @ApiOperation(value = "逻辑删除", notes = "传入ids")
+ public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
+ return R.status(countiesService.removeBatchByIds(Func.toLongList(ids)));
+ }
+
+
+}
diff --git a/src/main/java/org/springblade/modules/counties/dto/CountiesDTO.java b/src/main/java/org/springblade/modules/counties/dto/CountiesDTO.java
new file mode 100644
index 0000000..e276327
--- /dev/null
+++ b/src/main/java/org/springblade/modules/counties/dto/CountiesDTO.java
@@ -0,0 +1,53 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.counties.dto;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * E呼即办区县 数据传输对象实体类
+ *
+ * @author BladeX
+ * @since 2024-05-16
+ */
+@Data
+public class CountiesDTO {
+ private static final long serialVersionUID = 1L;
+ @ApiModelProperty(value = "", example = "")
+ @TableField("name")
+ private String name;
+
+ @ApiModelProperty(value = "主键ID", example = "")
+ @TableId(value = "code", type = IdType.ASSIGN_UUID)
+ private String code;
+
+ @ApiModelProperty(value = "", example = "")
+ @TableField("up_code")
+ private String upCode;
+
+ @ApiModelProperty(value = "", example = "")
+ @TableField("code6")
+ private String code6;
+
+ @ApiModelProperty(value = "", example = "")
+ @TableField("code_append")
+ private String codeAppend;
+}
diff --git a/src/main/java/org/springblade/modules/counties/entity/CountiesEntity.java b/src/main/java/org/springblade/modules/counties/entity/CountiesEntity.java
new file mode 100644
index 0000000..724f597
--- /dev/null
+++ b/src/main/java/org/springblade/modules/counties/entity/CountiesEntity.java
@@ -0,0 +1,59 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.counties.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.EqualsAndHashCode;
+import org.springblade.core.tenant.mp.TenantEntity;
+
+/**
+ * E呼即办区县 实体类
+ *
+ * @author BladeX
+ * @since 2024-05-16
+ */
+@Data
+@TableName("jczz_counties")
+@ApiModel(value = "Counties对象", description = "E呼即办区县")
+public class CountiesEntity {
+ @ApiModelProperty(value = "", example = "")
+ @TableField("name")
+ private String name;
+
+ @ApiModelProperty(value = "主键ID", example = "")
+ @TableId(value = "code", type = IdType.ASSIGN_UUID)
+ private String code;
+
+ @ApiModelProperty(value = "", example = "")
+ @TableField("up_code")
+ private String upCode;
+
+ @ApiModelProperty(value = "", example = "")
+ @TableField("code6")
+ private String code6;
+
+ @ApiModelProperty(value = "", example = "")
+ @TableField("code_append")
+ private String codeAppend;
+
+}
diff --git a/src/main/java/org/springblade/modules/counties/mapper/CountiesMapper.java b/src/main/java/org/springblade/modules/counties/mapper/CountiesMapper.java
new file mode 100644
index 0000000..f3314d3
--- /dev/null
+++ b/src/main/java/org/springblade/modules/counties/mapper/CountiesMapper.java
@@ -0,0 +1,43 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.counties.mapper;
+
+import org.springblade.modules.counties.entity.CountiesEntity;
+import org.springblade.modules.counties.vo.CountiesVO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import java.util.List;
+
+/**
+ * E呼即办区县 Mapper 接口
+ *
+ * @author BladeX
+ * @since 2024-05-16
+ */
+public interface CountiesMapper extends BaseMapper<CountiesEntity> {
+
+ /**
+ * 自定义分页
+ *
+ * @param page
+ * @param counties
+ * @return
+ */
+ List<CountiesVO> selectCountiesPage(IPage page, CountiesVO counties);
+
+
+}
diff --git a/src/main/java/org/springblade/modules/counties/mapper/CountiesMapper.xml b/src/main/java/org/springblade/modules/counties/mapper/CountiesMapper.xml
new file mode 100644
index 0000000..16ceac6
--- /dev/null
+++ b/src/main/java/org/springblade/modules/counties/mapper/CountiesMapper.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.springblade.modules.counties.mapper.CountiesMapper">
+
+ <!-- 通用查询映射结果 -->
+ <resultMap id="countiesResultMap" type="org.springblade.modules.counties.entity.CountiesEntity">
+ </resultMap>
+
+
+ <select id="selectCountiesPage" resultMap="countiesResultMap">
+ select * from jczz_counties
+ </select>
+
+
+</mapper>
diff --git a/src/main/java/org/springblade/modules/counties/service/ICountiesService.java b/src/main/java/org/springblade/modules/counties/service/ICountiesService.java
new file mode 100644
index 0000000..78ea031
--- /dev/null
+++ b/src/main/java/org/springblade/modules/counties/service/ICountiesService.java
@@ -0,0 +1,43 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.counties.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.springblade.modules.counties.entity.CountiesEntity;
+import org.springblade.modules.counties.vo.CountiesVO;
+import org.springblade.core.mp.base.BaseService;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+
+/**
+ * E呼即办区县 服务类
+ *
+ * @author BladeX
+ * @since 2024-05-16
+ */
+public interface ICountiesService extends IService<CountiesEntity> {
+
+ /**
+ * 自定义分页
+ *
+ * @param page
+ * @param counties
+ * @return
+ */
+ IPage<CountiesVO> selectCountiesPage(IPage<CountiesVO> page, CountiesVO counties);
+
+
+}
diff --git a/src/main/java/org/springblade/modules/counties/service/impl/CountiesServiceImpl.java b/src/main/java/org/springblade/modules/counties/service/impl/CountiesServiceImpl.java
new file mode 100644
index 0000000..f1958f6
--- /dev/null
+++ b/src/main/java/org/springblade/modules/counties/service/impl/CountiesServiceImpl.java
@@ -0,0 +1,43 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.counties.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.modules.counties.entity.CountiesEntity;
+import org.springblade.modules.counties.vo.CountiesVO;
+import org.springblade.modules.counties.mapper.CountiesMapper;
+import org.springblade.modules.counties.service.ICountiesService;
+import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+
+/**
+ * E呼即办区县 服务实现类
+ *
+ * @author BladeX
+ * @since 2024-05-16
+ */
+@Service
+public class CountiesServiceImpl extends ServiceImpl<CountiesMapper, CountiesEntity> implements ICountiesService {
+
+ @Override
+ public IPage<CountiesVO> selectCountiesPage(IPage<CountiesVO> page, CountiesVO counties) {
+ return page.setRecords(baseMapper.selectCountiesPage(page, counties));
+ }
+
+
+}
diff --git a/src/main/java/org/springblade/modules/counties/vo/CountiesVO.java b/src/main/java/org/springblade/modules/counties/vo/CountiesVO.java
new file mode 100644
index 0000000..c5dab5b
--- /dev/null
+++ b/src/main/java/org/springblade/modules/counties/vo/CountiesVO.java
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.counties.vo;
+
+import org.springblade.modules.counties.entity.CountiesEntity;
+import org.springblade.core.tool.node.INode;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * E呼即办区县 视图实体类
+ *
+ * @author BladeX
+ * @since 2024-05-16
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class CountiesVO extends CountiesEntity {
+ private static final long serialVersionUID = 1L;
+
+}
diff --git a/src/main/java/org/springblade/modules/counties/wrapper/CountiesWrapper.java b/src/main/java/org/springblade/modules/counties/wrapper/CountiesWrapper.java
new file mode 100644
index 0000000..47ee697
--- /dev/null
+++ b/src/main/java/org/springblade/modules/counties/wrapper/CountiesWrapper.java
@@ -0,0 +1,50 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.counties.wrapper;
+
+import org.springblade.core.mp.support.BaseEntityWrapper;
+import org.springblade.core.tool.utils.BeanUtil;
+import org.springblade.modules.counties.entity.CountiesEntity;
+import org.springblade.modules.counties.vo.CountiesVO;
+import java.util.Objects;
+
+/**
+ * E呼即办区县 包装类,返回视图层所需的字段
+ *
+ * @author BladeX
+ * @since 2024-05-16
+ */
+public class CountiesWrapper extends BaseEntityWrapper<CountiesEntity, CountiesVO> {
+
+ public static CountiesWrapper build() {
+ return new CountiesWrapper();
+ }
+
+ @Override
+ public CountiesVO entityVO(CountiesEntity counties) {
+ CountiesVO countiesVO = Objects.requireNonNull(BeanUtil.copy(counties, CountiesVO.class));
+
+ //User createUser = UserCache.getUser(counties.getCreateUser());
+ //User updateUser = UserCache.getUser(counties.getUpdateUser());
+ //countiesVO.setCreateUserName(createUser.getName());
+ //countiesVO.setUpdateUserName(updateUser.getName());
+
+ return countiesVO;
+ }
+
+
+}
diff --git a/src/main/java/org/springblade/modules/issueClazz/controller/IssueClazzController.java b/src/main/java/org/springblade/modules/issueClazz/controller/IssueClazzController.java
new file mode 100644
index 0000000..3152f81
--- /dev/null
+++ b/src/main/java/org/springblade/modules/issueClazz/controller/IssueClazzController.java
@@ -0,0 +1,140 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.issueClazz.controller;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import lombok.AllArgsConstructor;
+import javax.validation.Valid;
+
+import org.springblade.core.secure.BladeUser;
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.mp.support.Query;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.Func;
+import org.springblade.modules.system.vo.DeptVO;
+import org.springframework.web.bind.annotation.*;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.modules.issueClazz.entity.IssueClazzEntity;
+import org.springblade.modules.issueClazz.vo.IssueClazzVO;
+import org.springblade.modules.issueClazz.wrapper.IssueClazzWrapper;
+import org.springblade.modules.issueClazz.service.IIssueClazzService;
+import org.springblade.core.boot.ctrl.BladeController;
+
+import java.util.List;
+
+/**
+ * E呼即办 归口文档 控制器
+ *
+ * @author BladeX
+ * @since 2024-05-16
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("blade-issueClazz/issueClazz")
+@Api(value = "E呼即办 归口文档", tags = "E呼即办 归口文档接口")
+public class IssueClazzController extends BladeController {
+
+ private final IIssueClazzService issueClazzService;
+
+ /**
+ * E呼即办 归口文档 详情
+ */
+ @GetMapping("/detail")
+ @ApiOperationSupport(order = 1)
+ @ApiOperation(value = "详情", notes = "传入issueClazz")
+ public R<IssueClazzVO> detail(IssueClazzEntity issueClazz) {
+ IssueClazzEntity detail = issueClazzService.getOne(Condition.getQueryWrapper(issueClazz));
+ return R.data(IssueClazzWrapper.build().entityVO(detail));
+ }
+ /**
+ * E呼即办 归口文档 分页
+ */
+ @GetMapping("/list")
+ @ApiOperationSupport(order = 2)
+ @ApiOperation(value = "分页", notes = "传入issueClazz")
+ public R<IPage<IssueClazzVO>> list(IssueClazzEntity issueClazz, Query query) {
+ IPage<IssueClazzEntity> pages = issueClazzService.page(Condition.getPage(query), Condition.getQueryWrapper(issueClazz));
+ return R.data(IssueClazzWrapper.build().pageVO(pages));
+ }
+
+ /**
+ * E呼即办 归口文档 自定义分页
+ */
+ @GetMapping("/page")
+ @ApiOperationSupport(order = 3)
+ @ApiOperation(value = "分页", notes = "传入issueClazz")
+ public R<IPage<IssueClazzVO>> page(IssueClazzVO issueClazz, Query query) {
+ IPage<IssueClazzVO> pages = issueClazzService.selectIssueClazzPage(Condition.getPage(query), issueClazz);
+ return R.data(pages);
+ }
+
+ /**
+ * E呼即办 归口文档 新增
+ */
+ @PostMapping("/save")
+ @ApiOperationSupport(order = 4)
+ @ApiOperation(value = "新增", notes = "传入issueClazz")
+ public R save(@Valid @RequestBody IssueClazzEntity issueClazz) {
+ return R.status(issueClazzService.save(issueClazz));
+ }
+
+ /**
+ * E呼即办 归口文档 修改
+ */
+ @PostMapping("/update")
+ @ApiOperationSupport(order = 5)
+ @ApiOperation(value = "修改", notes = "传入issueClazz")
+ public R update(@Valid @RequestBody IssueClazzEntity issueClazz) {
+ return R.status(issueClazzService.updateById(issueClazz));
+ }
+
+ /**
+ * E呼即办 归口文档 新增或修改
+ */
+ @PostMapping("/submit")
+ @ApiOperationSupport(order = 6)
+ @ApiOperation(value = "新增或修改", notes = "传入issueClazz")
+ public R submit(@Valid @RequestBody IssueClazzEntity issueClazz) {
+ return R.status(issueClazzService.saveOrUpdate(issueClazz));
+ }
+
+ /**
+ * E呼即办 归口文档 删除
+ */
+ @PostMapping("/remove")
+ @ApiOperationSupport(order = 7)
+ @ApiOperation(value = "逻辑删除", notes = "传入ids")
+ public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
+ return R.status(issueClazzService.removeBatchByIds(Func.toLongList(ids)));
+ }
+
+ /**
+ * 获取部门树形结构
+ */
+ @GetMapping("/tree")
+ @ApiOperationSupport(order = 4)
+ @ApiOperation(value = "树形结构", notes = "树形结构")
+ public R<List<IssueClazzVO>> tree() {
+ List<IssueClazzVO> tree = issueClazzService.tree();
+ return R.data(tree);
+ }
+
+
+}
diff --git a/src/main/java/org/springblade/modules/issueClazz/dto/IssueClazzDTO.java b/src/main/java/org/springblade/modules/issueClazz/dto/IssueClazzDTO.java
new file mode 100644
index 0000000..a399717
--- /dev/null
+++ b/src/main/java/org/springblade/modules/issueClazz/dto/IssueClazzDTO.java
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.issueClazz.dto;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * E呼即办 归口文档 数据传输对象实体类
+ *
+ * @author BladeX
+ * @since 2024-05-16
+ */
+@Data
+public class IssueClazzDTO {
+
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty(value = "主键ID", example = "")
+ @TableId(value = "code", type = IdType.ASSIGN_UUID)
+ private String code;
+
+ @ApiModelProperty(value = "", example = "")
+ @TableField("name")
+ private String name;
+
+ @ApiModelProperty(value = "", example = "")
+ @TableField("parent_code")
+ private String parentCode;
+
+}
diff --git a/src/main/java/org/springblade/modules/issueClazz/entity/IssueClazzEntity.java b/src/main/java/org/springblade/modules/issueClazz/entity/IssueClazzEntity.java
new file mode 100644
index 0000000..721959e
--- /dev/null
+++ b/src/main/java/org/springblade/modules/issueClazz/entity/IssueClazzEntity.java
@@ -0,0 +1,53 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.issueClazz.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.EqualsAndHashCode;
+import org.springblade.core.tenant.mp.TenantEntity;
+
+/**
+ * E呼即办 归口文档 实体类
+ *
+ * @author BladeX
+ * @since 2024-05-16
+ */
+@Data
+@TableName("jczz_issue_clazz")
+@ApiModel(value = "IssueClazz对象", description = "E呼即办 归口文档")
+public class IssueClazzEntity {
+
+
+
+ @ApiModelProperty(value = "主键ID", example = "")
+ @TableId(value = "code", type = IdType.ASSIGN_UUID)
+ private String code;
+
+ @ApiModelProperty(value = "", example = "")
+ @TableField("name")
+ private String name;
+
+ @ApiModelProperty(value = "", example = "")
+ @TableField("parent_code")
+ private String parentCode;
+}
diff --git a/src/main/java/org/springblade/modules/issueClazz/mapper/IssueClazzMapper.java b/src/main/java/org/springblade/modules/issueClazz/mapper/IssueClazzMapper.java
new file mode 100644
index 0000000..a1c5f30
--- /dev/null
+++ b/src/main/java/org/springblade/modules/issueClazz/mapper/IssueClazzMapper.java
@@ -0,0 +1,44 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.issueClazz.mapper;
+
+import org.springblade.modules.issueClazz.entity.IssueClazzEntity;
+import org.springblade.modules.issueClazz.vo.IssueClazzVO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import java.util.List;
+
+/**
+ * E呼即办 归口文档 Mapper 接口
+ *
+ * @author BladeX
+ * @since 2024-05-16
+ */
+public interface IssueClazzMapper extends BaseMapper<IssueClazzEntity> {
+
+ /**
+ * 自定义分页
+ *
+ * @param page
+ * @param issueClazz
+ * @return
+ */
+ List<IssueClazzVO> selectIssueClazzPage(IPage page, IssueClazzVO issueClazz);
+
+
+ List<IssueClazzVO> tree();
+}
diff --git a/src/main/java/org/springblade/modules/issueClazz/mapper/IssueClazzMapper.xml b/src/main/java/org/springblade/modules/issueClazz/mapper/IssueClazzMapper.xml
new file mode 100644
index 0000000..1e8cc99
--- /dev/null
+++ b/src/main/java/org/springblade/modules/issueClazz/mapper/IssueClazzMapper.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.springblade.modules.issueClazz.mapper.IssueClazzMapper">
+
+ <!-- 通用查询映射结果 -->
+ <resultMap id="issueClazzResultMap" type="org.springblade.modules.issueClazz.entity.IssueClazzEntity">
+ </resultMap>
+
+
+ <select id="selectIssueClazzPage" resultMap="issueClazzResultMap">
+ select * from jczz_issue_clazz where is_deleted = 0
+ </select>
+
+ <resultMap id="treeNodeResultMap" type="org.springblade.core.tool.node.TreeNode">
+ <id column="id" property="id"/>
+ <result column="parent_id" property="parentId"/>
+ <result column="title" property="title"/>
+ <result column="value" property="value"/>
+ <result column="key" property="key"/>
+ <result column="has_children" property="hasChildren"/>
+ </resultMap>
+
+
+ <select id="tree" resultMap="treeNodeResultMap">
+ SELECT
+ code,
+ name AS title,
+ code AS "value",
+ code AS "key",
+ parent_code
+ FROM
+ ( SELECT * FROM jczz_issue_clazz ORDER BY parent_code, code )
+ org_query,
+ ( SELECT @id := 10 ) initialisation
+ WHERE
+ (FIND_IN_SET( parent_code, @id ) > 0 or FIND_IN_SET( code, @id ) > 0)
+ AND @id := CONCAT(@id,',',code)
+
+ </select>
+
+
+</mapper>
diff --git a/src/main/java/org/springblade/modules/issueClazz/service/IIssueClazzService.java b/src/main/java/org/springblade/modules/issueClazz/service/IIssueClazzService.java
new file mode 100644
index 0000000..ca0f2ce
--- /dev/null
+++ b/src/main/java/org/springblade/modules/issueClazz/service/IIssueClazzService.java
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.issueClazz.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.springblade.modules.issueClazz.entity.IssueClazzEntity;
+import org.springblade.modules.issueClazz.vo.IssueClazzVO;
+import org.springblade.core.mp.base.BaseService;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+
+import java.util.List;
+
+/**
+ * E呼即办 归口文档 服务类
+ *
+ * @author BladeX
+ * @since 2024-05-16
+ */
+public interface IIssueClazzService extends IService<IssueClazzEntity> {
+
+ /**
+ * 自定义分页
+ *
+ * @param page
+ * @param issueClazz
+ * @return
+ */
+ IPage<IssueClazzVO> selectIssueClazzPage(IPage<IssueClazzVO> page, IssueClazzVO issueClazz);
+
+
+ List<IssueClazzVO> tree();
+}
diff --git a/src/main/java/org/springblade/modules/issueClazz/service/impl/IssueClazzServiceImpl.java b/src/main/java/org/springblade/modules/issueClazz/service/impl/IssueClazzServiceImpl.java
new file mode 100644
index 0000000..61a0550
--- /dev/null
+++ b/src/main/java/org/springblade/modules/issueClazz/service/impl/IssueClazzServiceImpl.java
@@ -0,0 +1,51 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.issueClazz.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.core.tool.node.ForestNodeMerger;
+import org.springblade.modules.issueClazz.entity.IssueClazzEntity;
+import org.springblade.modules.issueClazz.vo.IssueClazzVO;
+import org.springblade.modules.issueClazz.mapper.IssueClazzMapper;
+import org.springblade.modules.issueClazz.service.IIssueClazzService;
+import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springblade.modules.system.vo.DeptVO;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+
+import java.util.List;
+
+/**
+ * E呼即办 归口文档 服务实现类
+ *
+ * @author BladeX
+ * @since 2024-05-16
+ */
+@Service
+public class IssueClazzServiceImpl extends ServiceImpl<IssueClazzMapper, IssueClazzEntity> implements IIssueClazzService {
+
+ @Override
+ public IPage<IssueClazzVO> selectIssueClazzPage(IPage<IssueClazzVO> page, IssueClazzVO issueClazz) {
+ return page.setRecords(baseMapper.selectIssueClazzPage(page, issueClazz));
+ }
+
+ @Override
+ public List<IssueClazzVO> tree() {
+ List<IssueClazzVO> tree = baseMapper.tree();
+ return ForestNodeMerger.merge(tree);
+ }
+}
diff --git a/src/main/java/org/springblade/modules/issueClazz/vo/IssueClazzVO.java b/src/main/java/org/springblade/modules/issueClazz/vo/IssueClazzVO.java
new file mode 100644
index 0000000..0b62ea6
--- /dev/null
+++ b/src/main/java/org/springblade/modules/issueClazz/vo/IssueClazzVO.java
@@ -0,0 +1,93 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.issueClazz.vo;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import org.springblade.modules.issueClazz.entity.IssueClazzEntity;
+import org.springblade.core.tool.node.INode;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.modules.system.vo.DeptVO;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * E呼即办 归口文档 视图实体类
+ *
+ * @author BladeX
+ * @since 2024-05-16
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class IssueClazzVO extends IssueClazzEntity implements INode<IssueClazzVO> {
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键ID
+ */
+ @JsonSerialize(using = ToStringSerializer.class)
+ private Long id;
+
+ /**
+ * 父节点ID
+ */
+ @JsonSerialize(using = ToStringSerializer.class)
+ private Long parentId;
+
+ @JsonSerialize(using = ToStringSerializer.class)
+ private String title;
+
+ /**
+ * 子孙节点
+ */
+ @JsonInclude(JsonInclude.Include.NON_EMPTY)
+ private List<IssueClazzVO> children;
+
+ /**
+ * 是否有子孙节点
+ */
+ @JsonInclude(JsonInclude.Include.NON_EMPTY)
+ private Boolean hasChildren;
+
+ @Override
+ public List<IssueClazzVO> getChildren() {
+ if (this.children == null) {
+ this.children = new ArrayList<>();
+ }
+ return this.children;
+ }
+
+ /**
+ * 上级机构
+ */
+ private String parentName;
+
+ /**
+ * 机构类型名称
+ */
+ private String deptCategoryName;
+
+ private Boolean disabled;
+
+ /**
+ * 保持树型结构统一
+ */
+ private String name;
+}
diff --git a/src/main/java/org/springblade/modules/issueClazz/wrapper/IssueClazzWrapper.java b/src/main/java/org/springblade/modules/issueClazz/wrapper/IssueClazzWrapper.java
new file mode 100644
index 0000000..b016fd7
--- /dev/null
+++ b/src/main/java/org/springblade/modules/issueClazz/wrapper/IssueClazzWrapper.java
@@ -0,0 +1,50 @@
+/*
+ * Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * Neither the name of the dreamlu.net developer nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ * Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.issueClazz.wrapper;
+
+import org.springblade.core.mp.support.BaseEntityWrapper;
+import org.springblade.core.tool.utils.BeanUtil;
+import org.springblade.modules.issueClazz.entity.IssueClazzEntity;
+import org.springblade.modules.issueClazz.vo.IssueClazzVO;
+import java.util.Objects;
+
+/**
+ * E呼即办 归口文档 包装类,返回视图层所需的字段
+ *
+ * @author BladeX
+ * @since 2024-05-16
+ */
+public class IssueClazzWrapper extends BaseEntityWrapper<IssueClazzEntity, IssueClazzVO> {
+
+ public static IssueClazzWrapper build() {
+ return new IssueClazzWrapper();
+ }
+
+ @Override
+ public IssueClazzVO entityVO(IssueClazzEntity issueClazz) {
+ IssueClazzVO issueClazzVO = Objects.requireNonNull(BeanUtil.copy(issueClazz, IssueClazzVO.class));
+
+ //User createUser = UserCache.getUser(issueClazz.getCreateUser());
+ //User updateUser = UserCache.getUser(issueClazz.getUpdateUser());
+ //issueClazzVO.setCreateUserName(createUser.getName());
+ //issueClazzVO.setUpdateUserName(updateUser.getName());
+
+ return issueClazzVO;
+ }
+
+
+}
--
Gitblit v1.9.3