diff --git a/pom.xml b/pom.xml index f3c6cbe..662d500 100644 --- a/pom.xml +++ b/pom.xml @@ -431,9 +431,7 @@ dev - - true - + @@ -455,7 +453,9 @@ prod - + + true + diff --git a/sa-admin/src/main/java/net/lab1024/sa/admin/config/MvcConfig.java b/sa-admin/src/main/java/net/lab1024/sa/admin/config/MvcConfig.java index c38fe9b..c8f654c 100644 --- a/sa-admin/src/main/java/net/lab1024/sa/admin/config/MvcConfig.java +++ b/sa-admin/src/main/java/net/lab1024/sa/admin/config/MvcConfig.java @@ -36,18 +36,18 @@ public class MvcConfig implements WebMvcConfigurer { registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/"); } -// @Override -// public void addCorsMappings(CorsRegistry registry) { -// registry.addMapping("/**") // 匹配所有的路径 -// .allowCredentials(true) // 设置允许凭证 -// .allowedHeaders("*") // 设置请求头 -// .allowedMethods("GET", "POST", "PUT", "DELETE") // 设置允许的方式 -// .allowedOriginPatterns("*"); -// } -// -// @Override -// public void configurePathMatch(PathMatchConfigurer configurer) { -// configurer -// .addPathPrefix("/village",c -> c.isAnnotationPresent(RestController.class)); -// } + @Override + public void addCorsMappings(CorsRegistry registry) { + registry.addMapping("/**") // 匹配所有的路径 + .allowCredentials(true) // 设置允许凭证 + .allowedHeaders("*") // 设置请求头 + .allowedMethods("GET", "POST", "PUT", "DELETE") // 设置允许的方式 + .allowedOriginPatterns("*"); + } + + @Override + public void configurePathMatch(PathMatchConfigurer configurer) { + configurer + .addPathPrefix("/village",c -> c.isAnnotationPresent(RestController.class)); + } } diff --git a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/controller/AffairsController.java b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/controller/AffairsController.java new file mode 100644 index 0000000..946e94f --- /dev/null +++ b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/controller/AffairsController.java @@ -0,0 +1,72 @@ +package net.lab1024.sa.admin.module.business.affairs.controller; + +import net.lab1024.sa.admin.module.business.affairs.domain.form.AffairsAddForm; +import net.lab1024.sa.admin.module.business.affairs.domain.form.AffairsQueryForm; +import net.lab1024.sa.admin.module.business.affairs.domain.form.AffairsUpdateForm; +import net.lab1024.sa.admin.module.business.affairs.domain.vo.AffairsVO; +import net.lab1024.sa.admin.module.business.affairs.service.AffairsService; +import net.lab1024.sa.base.common.domain.ValidateList; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import cn.dev33.satoken.annotation.SaCheckPermission; +import net.lab1024.sa.base.common.domain.ResponseDTO; +import net.lab1024.sa.base.common.domain.PageResult; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Operation; + +import javax.annotation.Resource; +import javax.validation.Valid; + +/** + * 三务公开信息 Controller + * + * @Author pengjie + * @Date 2025-07-17 11:42:43 + * @Copyright jxj + */ + +@RestController +@Tag(name = "三务公开信息") +public class AffairsController { + + @Resource + private AffairsService affairsService; + + @Operation(summary = "分页查询 @author pengjie") + @PostMapping("/affairs/queryPage") + @SaCheckPermission("affairs:query") + public ResponseDTO> queryPage(@RequestBody @Valid AffairsQueryForm queryForm) { + return ResponseDTO.ok(affairsService.queryPage(queryForm)); + } + + @Operation(summary = "添加 @author pengjie") + @PostMapping("/affairs/add") + @SaCheckPermission("affairs:add") + public ResponseDTO add(@RequestBody @Valid AffairsAddForm addForm) { + return affairsService.add(addForm); + } + + @Operation(summary = "更新 @author pengjie") + @PostMapping("/affairs/update") + @SaCheckPermission("affairs:update") + public ResponseDTO update(@RequestBody @Valid AffairsUpdateForm updateForm) { + return affairsService.update(updateForm); + } + + @Operation(summary = "批量删除 @author pengjie") + @PostMapping("/affairs/batchDelete") + @SaCheckPermission("affairs:delete") + public ResponseDTO batchDelete(@RequestBody ValidateList idList) { + return affairsService.batchDelete(idList); + } + + @Operation(summary = "单个删除 @author pengjie") + @GetMapping("/affairs/delete/{affairsId}") + @SaCheckPermission("affairs:delete") + public ResponseDTO batchDelete(@PathVariable Long affairsId) { + return affairsService.delete(affairsId); + } +} diff --git a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/controller/VillageFrameworkController.java b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/controller/VillageFrameworkController.java new file mode 100644 index 0000000..9c20126 --- /dev/null +++ b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/controller/VillageFrameworkController.java @@ -0,0 +1,72 @@ +package net.lab1024.sa.admin.module.business.affairs.controller; + +import net.lab1024.sa.admin.module.business.affairs.domain.form.VillageFrameworkAddForm; +import net.lab1024.sa.admin.module.business.affairs.domain.form.VillageFrameworkQueryForm; +import net.lab1024.sa.admin.module.business.affairs.domain.form.VillageFrameworkUpdateForm; +import net.lab1024.sa.admin.module.business.affairs.domain.vo.VillageFrameworkVO; +import net.lab1024.sa.admin.module.business.affairs.service.VillageFrameworkService; +import net.lab1024.sa.base.common.domain.ValidateList; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import cn.dev33.satoken.annotation.SaCheckPermission; +import net.lab1024.sa.base.common.domain.ResponseDTO; +import net.lab1024.sa.base.common.domain.PageResult; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Operation; + +import javax.annotation.Resource; +import javax.validation.Valid; + +/** + * 村庄架构 Controller + * + * @Author pengjie + * @Date 2025-07-17 14:48:56 + * @Copyright jxj + */ + +@RestController +@Tag(name = "村庄架构") +public class VillageFrameworkController { + + @Resource + private VillageFrameworkService villageFrameworkService; + + @Operation(summary = "分页查询 @author pengjie") + @PostMapping("/villageFramework/queryPage") + @SaCheckPermission("villageFramework:query") + public ResponseDTO> queryPage(@RequestBody @Valid VillageFrameworkQueryForm queryForm) { + return ResponseDTO.ok(villageFrameworkService.queryPage(queryForm)); + } + + @Operation(summary = "添加 @author pengjie") + @PostMapping("/villageFramework/add") + @SaCheckPermission("villageFramework:add") + public ResponseDTO add(@RequestBody @Valid VillageFrameworkAddForm addForm) { + return villageFrameworkService.add(addForm); + } + + @Operation(summary = "更新 @author pengjie") + @PostMapping("/villageFramework/update") + @SaCheckPermission("villageFramework:update") + public ResponseDTO update(@RequestBody @Valid VillageFrameworkUpdateForm updateForm) { + return villageFrameworkService.update(updateForm); + } + + @Operation(summary = "批量删除 @author pengjie") + @PostMapping("/villageFramework/batchDelete") + @SaCheckPermission("villageFramework:delete") + public ResponseDTO batchDelete(@RequestBody ValidateList idList) { + return villageFrameworkService.batchDelete(idList); + } + + @Operation(summary = "单个删除 @author pengjie") + @GetMapping("/villageFramework/delete/{frameworkId}") + @SaCheckPermission("villageFramework:delete") + public ResponseDTO batchDelete(@PathVariable Long frameworkId) { + return villageFrameworkService.delete(frameworkId); + } +} diff --git a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/controller/VillageIntroduceController.java b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/controller/VillageIntroduceController.java new file mode 100644 index 0000000..eea201a --- /dev/null +++ b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/controller/VillageIntroduceController.java @@ -0,0 +1,72 @@ +package net.lab1024.sa.admin.module.business.affairs.controller; + +import net.lab1024.sa.admin.module.business.affairs.domain.form.VillageIntroduceAddForm; +import net.lab1024.sa.admin.module.business.affairs.domain.form.VillageIntroduceQueryForm; +import net.lab1024.sa.admin.module.business.affairs.domain.form.VillageIntroduceUpdateForm; +import net.lab1024.sa.admin.module.business.affairs.domain.vo.VillageIntroduceVO; +import net.lab1024.sa.admin.module.business.affairs.service.VillageIntroduceService; +import net.lab1024.sa.base.common.domain.ValidateList; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import cn.dev33.satoken.annotation.SaCheckPermission; +import net.lab1024.sa.base.common.domain.ResponseDTO; +import net.lab1024.sa.base.common.domain.PageResult; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Operation; + +import javax.annotation.Resource; +import javax.validation.Valid; + +/** + * 村庄介绍 Controller + * + * @Author pengjie + * @Date 2025-07-17 14:48:56 + * @Copyright jxj + */ + +@RestController +@Tag(name = "村庄介绍") +public class VillageIntroduceController { + + @Resource + private VillageIntroduceService villageIntroduceService; + + @Operation(summary = "分页查询 @author pengjie") + @PostMapping("/villageIntroduce/queryPage") + @SaCheckPermission("villageIntroduce:query") + public ResponseDTO> queryPage(@RequestBody @Valid VillageIntroduceQueryForm queryForm) { + return ResponseDTO.ok(villageIntroduceService.queryPage(queryForm)); + } + + @Operation(summary = "添加 @author pengjie") + @PostMapping("/villageIntroduce/add") + @SaCheckPermission("villageIntroduce:add") + public ResponseDTO add(@RequestBody @Valid VillageIntroduceAddForm addForm) { + return villageIntroduceService.add(addForm); + } + + @Operation(summary = "更新 @author pengjie") + @PostMapping("/villageIntroduce/update") + @SaCheckPermission("villageIntroduce:update") + public ResponseDTO update(@RequestBody @Valid VillageIntroduceUpdateForm updateForm) { + return villageIntroduceService.update(updateForm); + } + + @Operation(summary = "批量删除 @author pengjie") + @PostMapping("/villageIntroduce/batchDelete") + @SaCheckPermission("villageIntroduce:delete") + public ResponseDTO batchDelete(@RequestBody ValidateList idList) { + return villageIntroduceService.batchDelete(idList); + } + + @Operation(summary = "单个删除 @author pengjie") + @GetMapping("/villageIntroduce/delete/{introduceId}") + @SaCheckPermission("villageIntroduce:delete") + public ResponseDTO batchDelete(@PathVariable Long introduceId) { + return villageIntroduceService.delete(introduceId); + } +} diff --git a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/controller/VillageMailController.java b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/controller/VillageMailController.java new file mode 100644 index 0000000..ad23479 --- /dev/null +++ b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/controller/VillageMailController.java @@ -0,0 +1,72 @@ +package net.lab1024.sa.admin.module.business.affairs.controller; + +import net.lab1024.sa.admin.module.business.affairs.domain.form.VillageMailAddForm; +import net.lab1024.sa.admin.module.business.affairs.domain.form.VillageMailQueryForm; +import net.lab1024.sa.admin.module.business.affairs.domain.form.VillageMailUpdateForm; +import net.lab1024.sa.admin.module.business.affairs.domain.vo.VillageMailVO; +import net.lab1024.sa.admin.module.business.affairs.service.VillageMailService; +import net.lab1024.sa.base.common.domain.ValidateList; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import cn.dev33.satoken.annotation.SaCheckPermission; +import net.lab1024.sa.base.common.domain.ResponseDTO; +import net.lab1024.sa.base.common.domain.PageResult; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Operation; + +import javax.annotation.Resource; +import javax.validation.Valid; + +/** + * 内部邮件 Controller + * + * @Author pengjie + * @Date 2025-07-17 14:48:56 + * @Copyright jxj + */ + +@RestController +@Tag(name = "内部邮件") +public class VillageMailController { + + @Resource + private VillageMailService villageMailService; + + @Operation(summary = "分页查询 @author pengjie") + @PostMapping("/villageMail/queryPage") + @SaCheckPermission("villageMail:query") + public ResponseDTO> queryPage(@RequestBody @Valid VillageMailQueryForm queryForm) { + return ResponseDTO.ok(villageMailService.queryPage(queryForm)); + } + + @Operation(summary = "添加 @author pengjie") + @PostMapping("/villageMail/add") + @SaCheckPermission("villageMail:add") + public ResponseDTO add(@RequestBody @Valid VillageMailAddForm addForm) { + return villageMailService.add(addForm); + } + + @Operation(summary = "更新 @author pengjie") + @PostMapping("/villageMail/update") + @SaCheckPermission("villageMail:update") + public ResponseDTO update(@RequestBody @Valid VillageMailUpdateForm updateForm) { + return villageMailService.update(updateForm); + } + + @Operation(summary = "批量删除 @author pengjie") + @PostMapping("/villageMail/batchDelete") + @SaCheckPermission("villageMail:delete") + public ResponseDTO batchDelete(@RequestBody ValidateList idList) { + return villageMailService.batchDelete(idList); + } + + @Operation(summary = "单个删除 @author pengjie") + @GetMapping("/villageMail/delete/{mailId}") + @SaCheckPermission("villageMail:delete") + public ResponseDTO batchDelete(@PathVariable Long mailId) { + return villageMailService.delete(mailId); + } +} diff --git a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/dao/AffairsDao.java b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/dao/AffairsDao.java new file mode 100644 index 0000000..f5afe42 --- /dev/null +++ b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/dao/AffairsDao.java @@ -0,0 +1,34 @@ +package net.lab1024.sa.admin.module.business.affairs.dao; + +import java.util.List; +import net.lab1024.sa.admin.module.business.affairs.domain.entity.AffairsEntity; +import net.lab1024.sa.admin.module.business.affairs.domain.form.AffairsQueryForm; +import net.lab1024.sa.admin.module.business.affairs.domain.vo.AffairsVO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Component; + +/** + * 三务公开信息 Dao + * + * @Author pengjie + * @Date 2025-07-17 11:42:43 + * @Copyright jxj + */ + +@Mapper +@Component +public interface AffairsDao extends BaseMapper { + + /** + * 分页 查询 + * + * @param page + * @param queryForm + * @return + */ + List queryPage(Page page, @Param("queryForm") AffairsQueryForm queryForm); + +} diff --git a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/dao/VillageFrameworkDao.java b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/dao/VillageFrameworkDao.java new file mode 100644 index 0000000..7bbcd03 --- /dev/null +++ b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/dao/VillageFrameworkDao.java @@ -0,0 +1,34 @@ +package net.lab1024.sa.admin.module.business.affairs.dao; + +import java.util.List; +import net.lab1024.sa.admin.module.business.affairs.domain.entity.VillageFrameworkEntity; +import net.lab1024.sa.admin.module.business.affairs.domain.form.VillageFrameworkQueryForm; +import net.lab1024.sa.admin.module.business.affairs.domain.vo.VillageFrameworkVO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Component; + +/** + * 村庄架构 Dao + * + * @Author pengjie + * @Date 2025-07-17 14:48:56 + * @Copyright jxj + */ + +@Mapper +@Component +public interface VillageFrameworkDao extends BaseMapper { + + /** + * 分页 查询 + * + * @param page + * @param queryForm + * @return + */ + List queryPage(Page page, @Param("queryForm") VillageFrameworkQueryForm queryForm); + +} diff --git a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/dao/VillageIntroduceDao.java b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/dao/VillageIntroduceDao.java new file mode 100644 index 0000000..9677724 --- /dev/null +++ b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/dao/VillageIntroduceDao.java @@ -0,0 +1,34 @@ +package net.lab1024.sa.admin.module.business.affairs.dao; + +import java.util.List; +import net.lab1024.sa.admin.module.business.affairs.domain.entity.VillageIntroduceEntity; +import net.lab1024.sa.admin.module.business.affairs.domain.form.VillageIntroduceQueryForm; +import net.lab1024.sa.admin.module.business.affairs.domain.vo.VillageIntroduceVO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Component; + +/** + * 村庄介绍 Dao + * + * @Author pengjie + * @Date 2025-07-17 14:48:56 + * @Copyright jxj + */ + +@Mapper +@Component +public interface VillageIntroduceDao extends BaseMapper { + + /** + * 分页 查询 + * + * @param page + * @param queryForm + * @return + */ + List queryPage(Page page, @Param("queryForm") VillageIntroduceQueryForm queryForm); + +} diff --git a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/dao/VillageMailDao.java b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/dao/VillageMailDao.java new file mode 100644 index 0000000..3b13bc8 --- /dev/null +++ b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/dao/VillageMailDao.java @@ -0,0 +1,34 @@ +package net.lab1024.sa.admin.module.business.affairs.dao; + +import java.util.List; +import net.lab1024.sa.admin.module.business.affairs.domain.entity.VillageMailEntity; +import net.lab1024.sa.admin.module.business.affairs.domain.form.VillageMailQueryForm; +import net.lab1024.sa.admin.module.business.affairs.domain.vo.VillageMailVO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Component; + +/** + * 内部邮件 Dao + * + * @Author pengjie + * @Date 2025-07-17 14:48:56 + * @Copyright jxj + */ + +@Mapper +@Component +public interface VillageMailDao extends BaseMapper { + + /** + * 分页 查询 + * + * @param page + * @param queryForm + * @return + */ + List queryPage(Page page, @Param("queryForm") VillageMailQueryForm queryForm); + +} diff --git a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/entity/AffairsEntity.java b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/entity/AffairsEntity.java new file mode 100644 index 0000000..7f435a0 --- /dev/null +++ b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/entity/AffairsEntity.java @@ -0,0 +1,73 @@ +package net.lab1024.sa.admin.module.business.affairs.domain.entity; + +import com.baomidou.mybatisplus.annotation.*; + +import java.time.LocalDateTime; +import lombok.Data; + +/** + * 三务公开信息 实体类 + * + * @Author pengjie + * @Date 2025-07-17 11:42:43 + * @Copyright jxj + */ + +@Data +@TableName("affairs") +public class AffairsEntity { + + /** + * 三务ID + */ + @TableId(type = IdType.ASSIGN_ID) + private Long affairsId; + + /** + * 标题 + */ + private String title; + + /** + * 类型 + */ + private Integer type; + + /** + * 可见范围类型(1:人员;2:组织) + */ + private Integer rangeType; + + /** + * 发布范围 + */ + private String range; + + /** + * 内容 + */ + private String content; + + /** + * 附件 + */ + private String fileUrl; + + /** + * 创建时间 + */ + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + /** + * 创建人 + */ + private String createBy; + + /** + * 更新时间 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; + +} diff --git a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/entity/VillageFrameworkEntity.java b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/entity/VillageFrameworkEntity.java new file mode 100644 index 0000000..c8b35d7 --- /dev/null +++ b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/entity/VillageFrameworkEntity.java @@ -0,0 +1,53 @@ +package net.lab1024.sa.admin.module.business.affairs.domain.entity; + +import com.baomidou.mybatisplus.annotation.*; + +import java.time.LocalDateTime; +import lombok.Data; + +/** + * 村庄架构 实体类 + * + * @Author pengjie + * @Date 2025-07-17 14:48:56 + * @Copyright jxj + */ + +@Data +@TableName("village_framework") +public class VillageFrameworkEntity { + + /** + * 村庄架构ID + */ + @TableId(type = IdType.ASSIGN_ID) + private Long frameworkId; + + /** + * 村庄ID + */ + private Integer villageId; + + /** + * 架构图片 + */ + private String fileUrl; + + /** + * 创建时间 + */ + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + /** + * 创建人 + */ + private String createBy; + + /** + * 更新时间 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; + +} diff --git a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/entity/VillageIntroduceEntity.java b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/entity/VillageIntroduceEntity.java new file mode 100644 index 0000000..53e6910 --- /dev/null +++ b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/entity/VillageIntroduceEntity.java @@ -0,0 +1,73 @@ +package net.lab1024.sa.admin.module.business.affairs.domain.entity; + +import com.baomidou.mybatisplus.annotation.*; + +import java.time.LocalDateTime; +import lombok.Data; + +/** + * 村庄介绍 实体类 + * + * @Author pengjie + * @Date 2025-07-17 14:48:56 + * @Copyright jxj + */ + +@Data +@TableName("village_introduce") +public class VillageIntroduceEntity { + + /** + * 村庄介绍ID + */ + @TableId(type = IdType.ASSIGN_ID) + private Long introduceId; + + /** + * 村庄ID + */ + private Integer villageId; + + /** + * 面积 + */ + private String area; + + /** + * 责任人 + */ + private String chargePerson; + + /** + * 电话 + */ + private String phone; + + /** + * 内容 + */ + private String content; + + /** + * 乡村图片 + */ + private String fileUrl; + + /** + * 创建时间 + */ + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + /** + * 创建人 + */ + private String createBy; + + /** + * 更新时间 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; + +} diff --git a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/entity/VillageMailEntity.java b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/entity/VillageMailEntity.java new file mode 100644 index 0000000..e573306 --- /dev/null +++ b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/entity/VillageMailEntity.java @@ -0,0 +1,68 @@ +package net.lab1024.sa.admin.module.business.affairs.domain.entity; + +import com.baomidou.mybatisplus.annotation.*; + +import java.time.LocalDateTime; +import lombok.Data; + +/** + * 内部邮件 实体类 + * + * @Author pengjie + * @Date 2025-07-17 14:48:56 + * @Copyright jxj + */ + +@Data +@TableName("village_mail") +public class VillageMailEntity { + + /** + * 邮件ID + */ + @TableId(type = IdType.ASSIGN_ID) + private Long mailId; + + /** + * 收件人 + */ + private String recipient; + + /** + * 主题 + */ + private String title; + + /** + * 内容 + */ + private String content; + + /** + * 附件 + */ + private String fileUrl; + + /** + * 阅读状态(0:未读;1:已读) + */ + private Integer state; + + /** + * 创建时间 + */ + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + /** + * 创建人 + */ + private String createBy; + + /** + * 更新时间 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; + +} diff --git a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/form/AffairsAddForm.java b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/form/AffairsAddForm.java new file mode 100644 index 0000000..1741b46 --- /dev/null +++ b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/form/AffairsAddForm.java @@ -0,0 +1,35 @@ +package net.lab1024.sa.admin.module.business.affairs.domain.form; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +/** + * 三务公开信息 新建表单 + * + * @Author pengjie + * @Date 2025-07-17 11:42:43 + * @Copyright jxj + */ + +@Data +public class AffairsAddForm { + + @Schema(description = "标题") + private String title; + + @Schema(description = "类型") + private Integer type; + + @Schema(description = "可见范围类型(1:人员;2:组织)") + private Integer rangeType; + + @Schema(description = "发布范围") + private String range; + + @Schema(description = "内容") + private String content; + + @Schema(description = "附件") + private String fileUrl; + +} \ No newline at end of file diff --git a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/form/AffairsQueryForm.java b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/form/AffairsQueryForm.java new file mode 100644 index 0000000..9bef2b6 --- /dev/null +++ b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/form/AffairsQueryForm.java @@ -0,0 +1,26 @@ +package net.lab1024.sa.admin.module.business.affairs.domain.form; + +import net.lab1024.sa.base.common.domain.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 三务公开信息 分页查询表单 + * + * @Author pengjie + * @Date 2025-07-17 11:42:43 + * @Copyright jxj + */ + +@Data +@EqualsAndHashCode(callSuper = false) +public class AffairsQueryForm extends PageParam { + + @Schema(description = "标题") + private String title; + + @Schema(description = "类型") + private Integer type; + +} diff --git a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/form/AffairsUpdateForm.java b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/form/AffairsUpdateForm.java new file mode 100644 index 0000000..1c52a18 --- /dev/null +++ b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/form/AffairsUpdateForm.java @@ -0,0 +1,40 @@ +package net.lab1024.sa.admin.module.business.affairs.domain.form; + +import io.swagger.v3.oas.annotations.media.Schema; +import javax.validation.constraints.NotNull; +import lombok.Data; + +/** + * 三务公开信息 更新表单 + * + * @Author pengjie + * @Date 2025-07-17 11:42:43 + * @Copyright jxj + */ + +@Data +public class AffairsUpdateForm { + + @Schema(description = "三务ID", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "三务ID 不能为空") + private Long affairsId; + + @Schema(description = "标题") + private String title; + + @Schema(description = "类型") + private Integer type; + + @Schema(description = "可见范围类型(1:人员;2:组织)") + private Integer rangeType; + + @Schema(description = "发布范围") + private String range; + + @Schema(description = "内容") + private String content; + + @Schema(description = "附件") + private String fileUrl; + +} \ No newline at end of file diff --git a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/form/VillageFrameworkAddForm.java b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/form/VillageFrameworkAddForm.java new file mode 100644 index 0000000..029df23 --- /dev/null +++ b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/form/VillageFrameworkAddForm.java @@ -0,0 +1,23 @@ +package net.lab1024.sa.admin.module.business.affairs.domain.form; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +/** + * 村庄架构 新建表单 + * + * @Author pengjie + * @Date 2025-07-17 14:48:56 + * @Copyright jxj + */ + +@Data +public class VillageFrameworkAddForm { + + @Schema(description = "村庄ID") + private Integer villageId; + + @Schema(description = "架构图片") + private String fileUrl; + +} \ No newline at end of file diff --git a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/form/VillageFrameworkQueryForm.java b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/form/VillageFrameworkQueryForm.java new file mode 100644 index 0000000..917507b --- /dev/null +++ b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/form/VillageFrameworkQueryForm.java @@ -0,0 +1,23 @@ +package net.lab1024.sa.admin.module.business.affairs.domain.form; + +import net.lab1024.sa.base.common.domain.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 村庄架构 分页查询表单 + * + * @Author pengjie + * @Date 2025-07-17 14:48:56 + * @Copyright jxj + */ + +@Data +@EqualsAndHashCode(callSuper = false) +public class VillageFrameworkQueryForm extends PageParam { + + @Schema(description = "村庄ID") + private Integer villageId; + +} diff --git a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/form/VillageFrameworkUpdateForm.java b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/form/VillageFrameworkUpdateForm.java new file mode 100644 index 0000000..78111ae --- /dev/null +++ b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/form/VillageFrameworkUpdateForm.java @@ -0,0 +1,28 @@ +package net.lab1024.sa.admin.module.business.affairs.domain.form; + +import io.swagger.v3.oas.annotations.media.Schema; +import javax.validation.constraints.NotNull; +import lombok.Data; + +/** + * 村庄架构 更新表单 + * + * @Author pengjie + * @Date 2025-07-17 14:48:56 + * @Copyright jxj + */ + +@Data +public class VillageFrameworkUpdateForm { + + @Schema(description = "村庄架构ID", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "村庄架构ID 不能为空") + private Long frameworkId; + + @Schema(description = "村庄ID") + private Integer villageId; + + @Schema(description = "架构图片") + private String fileUrl; + +} \ No newline at end of file diff --git a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/form/VillageIntroduceAddForm.java b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/form/VillageIntroduceAddForm.java new file mode 100644 index 0000000..cc41efd --- /dev/null +++ b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/form/VillageIntroduceAddForm.java @@ -0,0 +1,35 @@ +package net.lab1024.sa.admin.module.business.affairs.domain.form; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +/** + * 村庄介绍 新建表单 + * + * @Author pengjie + * @Date 2025-07-17 14:48:56 + * @Copyright jxj + */ + +@Data +public class VillageIntroduceAddForm { + + @Schema(description = "村庄ID") + private Integer villageId; + + @Schema(description = "面积") + private String area; + + @Schema(description = "责任人") + private String chargePerson; + + @Schema(description = "电话") + private String phone; + + @Schema(description = "内容") + private String content; + + @Schema(description = "乡村图片") + private String fileUrl; + +} \ No newline at end of file diff --git a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/form/VillageIntroduceQueryForm.java b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/form/VillageIntroduceQueryForm.java new file mode 100644 index 0000000..8e8b354 --- /dev/null +++ b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/form/VillageIntroduceQueryForm.java @@ -0,0 +1,23 @@ +package net.lab1024.sa.admin.module.business.affairs.domain.form; + +import net.lab1024.sa.base.common.domain.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 村庄介绍 分页查询表单 + * + * @Author pengjie + * @Date 2025-07-17 14:48:56 + * @Copyright jxj + */ + +@Data +@EqualsAndHashCode(callSuper = false) +public class VillageIntroduceQueryForm extends PageParam { + + @Schema(description = "村庄ID") + private Integer villageId; + +} diff --git a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/form/VillageIntroduceUpdateForm.java b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/form/VillageIntroduceUpdateForm.java new file mode 100644 index 0000000..8e1d0c4 --- /dev/null +++ b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/form/VillageIntroduceUpdateForm.java @@ -0,0 +1,40 @@ +package net.lab1024.sa.admin.module.business.affairs.domain.form; + +import io.swagger.v3.oas.annotations.media.Schema; +import javax.validation.constraints.NotNull; +import lombok.Data; + +/** + * 村庄介绍 更新表单 + * + * @Author pengjie + * @Date 2025-07-17 14:48:56 + * @Copyright jxj + */ + +@Data +public class VillageIntroduceUpdateForm { + + @Schema(description = "村庄介绍ID", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "村庄介绍ID 不能为空") + private Long introduceId; + + @Schema(description = "村庄ID") + private Integer villageId; + + @Schema(description = "面积") + private String area; + + @Schema(description = "责任人") + private String chargePerson; + + @Schema(description = "电话") + private String phone; + + @Schema(description = "内容") + private String content; + + @Schema(description = "乡村图片") + private String fileUrl; + +} \ No newline at end of file diff --git a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/form/VillageMailAddForm.java b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/form/VillageMailAddForm.java new file mode 100644 index 0000000..23967fb --- /dev/null +++ b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/form/VillageMailAddForm.java @@ -0,0 +1,32 @@ +package net.lab1024.sa.admin.module.business.affairs.domain.form; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +/** + * 内部邮件 新建表单 + * + * @Author pengjie + * @Date 2025-07-17 14:48:56 + * @Copyright jxj + */ + +@Data +public class VillageMailAddForm { + + @Schema(description = "收件人") + private String recipient; + + @Schema(description = "主题") + private String title; + + @Schema(description = "内容") + private String content; + + @Schema(description = "附件") + private String fileUrl; + + @Schema(description = "阅读状态(0:未读;1:已读)") + private Integer state; + +} \ No newline at end of file diff --git a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/form/VillageMailQueryForm.java b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/form/VillageMailQueryForm.java new file mode 100644 index 0000000..0b8678f --- /dev/null +++ b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/form/VillageMailQueryForm.java @@ -0,0 +1,29 @@ +package net.lab1024.sa.admin.module.business.affairs.domain.form; + +import net.lab1024.sa.base.common.domain.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 内部邮件 分页查询表单 + * + * @Author pengjie + * @Date 2025-07-17 14:48:56 + * @Copyright jxj + */ + +@Data +@EqualsAndHashCode(callSuper = false) +public class VillageMailQueryForm extends PageParam { + + @Schema(description = "创建人") + private String createBy; + + @Schema(description = "收件人") + private String recipient; + + @Schema(description = "主题") + private String title; + +} diff --git a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/form/VillageMailUpdateForm.java b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/form/VillageMailUpdateForm.java new file mode 100644 index 0000000..dfd9b94 --- /dev/null +++ b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/form/VillageMailUpdateForm.java @@ -0,0 +1,37 @@ +package net.lab1024.sa.admin.module.business.affairs.domain.form; + +import io.swagger.v3.oas.annotations.media.Schema; +import javax.validation.constraints.NotNull; +import lombok.Data; + +/** + * 内部邮件 更新表单 + * + * @Author pengjie + * @Date 2025-07-17 14:48:56 + * @Copyright jxj + */ + +@Data +public class VillageMailUpdateForm { + + @Schema(description = "邮件ID", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "邮件ID 不能为空") + private Long mailId; + + @Schema(description = "收件人") + private String recipient; + + @Schema(description = "主题") + private String title; + + @Schema(description = "内容") + private String content; + + @Schema(description = "附件") + private String fileUrl; + + @Schema(description = "阅读状态(0:未读;1:已读)") + private Integer state; + +} \ No newline at end of file diff --git a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/vo/AffairsVO.java b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/vo/AffairsVO.java new file mode 100644 index 0000000..b57ee04 --- /dev/null +++ b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/vo/AffairsVO.java @@ -0,0 +1,49 @@ +package net.lab1024.sa.admin.module.business.affairs.domain.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import java.time.LocalDateTime; +import lombok.Data; + +/** + * 三务公开信息 列表VO + * + * @Author pengjie + * @Date 2025-07-17 11:42:43 + * @Copyright jxj + */ + +@Data +public class AffairsVO { + + + @Schema(description = "三务ID") + private Long affairsId; + + @Schema(description = "标题") + private String title; + + @Schema(description = "类型") + private Integer type; + + @Schema(description = "可见范围类型(1:人员;2:组织)") + private Integer rangeType; + + @Schema(description = "发布范围") + private String range; + + @Schema(description = "内容") + private String content; + + @Schema(description = "附件") + private String fileUrl; + + @Schema(description = "创建时间") + private LocalDateTime createTime; + + @Schema(description = "创建人") + private String createBy; + + @Schema(description = "更新时间") + private LocalDateTime updateTime; + +} diff --git a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/vo/VillageFrameworkVO.java b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/vo/VillageFrameworkVO.java new file mode 100644 index 0000000..5881811 --- /dev/null +++ b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/vo/VillageFrameworkVO.java @@ -0,0 +1,37 @@ +package net.lab1024.sa.admin.module.business.affairs.domain.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import java.time.LocalDateTime; +import lombok.Data; + +/** + * 村庄架构 列表VO + * + * @Author pengjie + * @Date 2025-07-17 14:48:56 + * @Copyright jxj + */ + +@Data +public class VillageFrameworkVO { + + + @Schema(description = "村庄架构ID") + private Long frameworkId; + + @Schema(description = "村庄ID") + private Integer villageId; + + @Schema(description = "架构图片") + private String fileUrl; + + @Schema(description = "创建时间") + private LocalDateTime createTime; + + @Schema(description = "创建人") + private String createBy; + + @Schema(description = "更新时间") + private LocalDateTime updateTime; + +} diff --git a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/vo/VillageIntroduceVO.java b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/vo/VillageIntroduceVO.java new file mode 100644 index 0000000..f5a2b97 --- /dev/null +++ b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/vo/VillageIntroduceVO.java @@ -0,0 +1,49 @@ +package net.lab1024.sa.admin.module.business.affairs.domain.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import java.time.LocalDateTime; +import lombok.Data; + +/** + * 村庄介绍 列表VO + * + * @Author pengjie + * @Date 2025-07-17 14:48:56 + * @Copyright jxj + */ + +@Data +public class VillageIntroduceVO { + + + @Schema(description = "村庄介绍ID") + private Long introduceId; + + @Schema(description = "村庄ID") + private Integer villageId; + + @Schema(description = "面积") + private String area; + + @Schema(description = "责任人") + private String chargePerson; + + @Schema(description = "电话") + private String phone; + + @Schema(description = "内容") + private String content; + + @Schema(description = "乡村图片") + private String fileUrl; + + @Schema(description = "创建时间") + private LocalDateTime createTime; + + @Schema(description = "创建人") + private String createBy; + + @Schema(description = "更新时间") + private LocalDateTime updateTime; + +} diff --git a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/vo/VillageMailVO.java b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/vo/VillageMailVO.java new file mode 100644 index 0000000..dd033c4 --- /dev/null +++ b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/domain/vo/VillageMailVO.java @@ -0,0 +1,46 @@ +package net.lab1024.sa.admin.module.business.affairs.domain.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import java.time.LocalDateTime; +import lombok.Data; + +/** + * 内部邮件 列表VO + * + * @Author pengjie + * @Date 2025-07-17 14:48:56 + * @Copyright jxj + */ + +@Data +public class VillageMailVO { + + + @Schema(description = "邮件ID") + private Long mailId; + + @Schema(description = "收件人") + private String recipient; + + @Schema(description = "主题") + private String title; + + @Schema(description = "内容") + private String content; + + @Schema(description = "附件") + private String fileUrl; + + @Schema(description = "阅读状态(0:未读;1:已读)") + private Integer state; + + @Schema(description = "创建时间") + private LocalDateTime createTime; + + @Schema(description = "创建人") + private String createBy; + + @Schema(description = "更新时间") + private LocalDateTime updateTime; + +} diff --git a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/manager/AffairsManager.java b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/manager/AffairsManager.java new file mode 100644 index 0000000..fb78aaa --- /dev/null +++ b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/manager/AffairsManager.java @@ -0,0 +1,20 @@ +package net.lab1024.sa.admin.module.business.affairs.manager; + +import net.lab1024.sa.admin.module.business.affairs.dao.AffairsDao; +import net.lab1024.sa.admin.module.business.affairs.domain.entity.AffairsEntity; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + * 三务公开信息 Manager + * + * @Author pengjie + * @Date 2025-07-17 11:42:43 + * @Copyright jxj + */ +@Service +public class AffairsManager extends ServiceImpl { + + +} diff --git a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/manager/VillageFrameworkManager.java b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/manager/VillageFrameworkManager.java new file mode 100644 index 0000000..1dd7ab8 --- /dev/null +++ b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/manager/VillageFrameworkManager.java @@ -0,0 +1,20 @@ +package net.lab1024.sa.admin.module.business.affairs.manager; + +import net.lab1024.sa.admin.module.business.affairs.domain.entity.VillageFrameworkEntity; +import net.lab1024.sa.admin.module.business.affairs.dao.VillageFrameworkDao; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + * 村庄架构 Manager + * + * @Author pengjie + * @Date 2025-07-17 14:48:56 + * @Copyright jxj + */ +@Service +public class VillageFrameworkManager extends ServiceImpl { + + +} diff --git a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/manager/VillageIntroduceManager.java b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/manager/VillageIntroduceManager.java new file mode 100644 index 0000000..7b9df4b --- /dev/null +++ b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/manager/VillageIntroduceManager.java @@ -0,0 +1,20 @@ +package net.lab1024.sa.admin.module.business.affairs.manager; + +import net.lab1024.sa.admin.module.business.affairs.domain.entity.VillageIntroduceEntity; +import net.lab1024.sa.admin.module.business.affairs.dao.VillageIntroduceDao; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + * 村庄介绍 Manager + * + * @Author pengjie + * @Date 2025-07-17 14:48:56 + * @Copyright jxj + */ +@Service +public class VillageIntroduceManager extends ServiceImpl { + + +} diff --git a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/manager/VillageMailManager.java b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/manager/VillageMailManager.java new file mode 100644 index 0000000..76f2962 --- /dev/null +++ b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/manager/VillageMailManager.java @@ -0,0 +1,20 @@ +package net.lab1024.sa.admin.module.business.affairs.manager; + +import net.lab1024.sa.admin.module.business.affairs.dao.VillageMailDao; +import net.lab1024.sa.admin.module.business.affairs.domain.entity.VillageMailEntity; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + * 内部邮件 Manager + * + * @Author pengjie + * @Date 2025-07-17 14:48:56 + * @Copyright jxj + */ +@Service +public class VillageMailManager extends ServiceImpl { + + +} diff --git a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/service/AffairsService.java b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/service/AffairsService.java new file mode 100644 index 0000000..3a101cf --- /dev/null +++ b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/service/AffairsService.java @@ -0,0 +1,102 @@ +package net.lab1024.sa.admin.module.business.affairs.service; + +import java.util.List; +import java.util.stream.Collectors; + +import net.lab1024.sa.admin.module.business.affairs.dao.AffairsDao; +import net.lab1024.sa.admin.module.business.affairs.domain.entity.AffairsEntity; +import net.lab1024.sa.admin.module.business.affairs.domain.form.AffairsAddForm; +import net.lab1024.sa.admin.module.business.affairs.domain.form.AffairsQueryForm; +import net.lab1024.sa.admin.module.business.affairs.domain.form.AffairsUpdateForm; +import net.lab1024.sa.admin.module.business.affairs.domain.vo.AffairsVO; +import net.lab1024.sa.base.common.domain.RequestUser; +import net.lab1024.sa.base.common.util.SmartBeanUtil; +import net.lab1024.sa.base.common.util.SmartPageUtil; +import net.lab1024.sa.base.common.domain.ResponseDTO; +import net.lab1024.sa.base.common.domain.PageResult; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import net.lab1024.sa.base.common.util.SmartRequestUtil; +import org.apache.commons.collections4.CollectionUtils; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; + +/** + * 三务公开信息 Service + * + * @Author pengjie + * @Date 2025-07-17 11:42:43 + * @Copyright jxj + */ + +@Service +public class AffairsService { + + @Resource + private AffairsDao affairsDao; + + /** + * 分页查询 + * + * @param queryForm + * @return + */ + public PageResult queryPage(AffairsQueryForm queryForm) { + RequestUser requestUser = SmartRequestUtil.getRequestUser(); + Page page = SmartPageUtil.convert2PageQuery(queryForm); + List list = affairsDao.queryPage(page, queryForm); + list = list.stream().filter(l -> (l.getRange().contains(requestUser.getUserId().toString()) && l.getRangeType() == 1) + || (l.getRange().contains(requestUser.getVillageId().toString()) && l.getRangeType() == 2)) + .collect(Collectors.toList()); + PageResult pageResult = SmartPageUtil.convert2PageResult(page, list); + return pageResult; + } + + /** + * 添加 + */ + public ResponseDTO add(AffairsAddForm addForm) { + AffairsEntity affairsEntity = SmartBeanUtil.copy(addForm, AffairsEntity.class); + affairsDao.insert(affairsEntity); + return ResponseDTO.ok(); + } + + /** + * 更新 + * + * @param updateForm + * @return + */ + public ResponseDTO update(AffairsUpdateForm updateForm) { + AffairsEntity affairsEntity = SmartBeanUtil.copy(updateForm, AffairsEntity.class); + affairsDao.updateById(affairsEntity); + return ResponseDTO.ok(); + } + + /** + * 批量删除 + * + * @param idList + * @return + */ + public ResponseDTO batchDelete(List idList) { + if (CollectionUtils.isEmpty(idList)){ + return ResponseDTO.ok(); + } + + affairsDao.deleteBatchIds(idList); + return ResponseDTO.ok(); + } + + /** + * 单个删除 + */ + public ResponseDTO delete(Long affairsId) { + if (null == affairsId){ + return ResponseDTO.ok(); + } + + affairsDao.deleteById(affairsId); + return ResponseDTO.ok(); + } +} diff --git a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/service/VillageFrameworkService.java b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/service/VillageFrameworkService.java new file mode 100644 index 0000000..f9860fe --- /dev/null +++ b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/service/VillageFrameworkService.java @@ -0,0 +1,94 @@ +package net.lab1024.sa.admin.module.business.affairs.service; + +import java.util.List; +import net.lab1024.sa.admin.module.business.affairs.dao.VillageFrameworkDao; +import net.lab1024.sa.admin.module.business.affairs.domain.entity.VillageFrameworkEntity; +import net.lab1024.sa.admin.module.business.affairs.domain.form.VillageFrameworkAddForm; +import net.lab1024.sa.admin.module.business.affairs.domain.form.VillageFrameworkQueryForm; +import net.lab1024.sa.admin.module.business.affairs.domain.form.VillageFrameworkUpdateForm; +import net.lab1024.sa.admin.module.business.affairs.domain.vo.VillageFrameworkVO; +import net.lab1024.sa.base.common.util.SmartBeanUtil; +import net.lab1024.sa.base.common.util.SmartPageUtil; +import net.lab1024.sa.base.common.domain.ResponseDTO; +import net.lab1024.sa.base.common.domain.PageResult; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.commons.collections4.CollectionUtils; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; + +/** + * 村庄架构 Service + * + * @Author pengjie + * @Date 2025-07-17 14:48:56 + * @Copyright jxj + */ + +@Service +public class VillageFrameworkService { + + @Resource + private VillageFrameworkDao villageFrameworkDao; + + /** + * 分页查询 + * + * @param queryForm + * @return + */ + public PageResult queryPage(VillageFrameworkQueryForm queryForm) { + Page page = SmartPageUtil.convert2PageQuery(queryForm); + List list = villageFrameworkDao.queryPage(page, queryForm); + PageResult pageResult = SmartPageUtil.convert2PageResult(page, list); + return pageResult; + } + + /** + * 添加 + */ + public ResponseDTO add(VillageFrameworkAddForm addForm) { + VillageFrameworkEntity villageFrameworkEntity = SmartBeanUtil.copy(addForm, VillageFrameworkEntity.class); + villageFrameworkDao.insert(villageFrameworkEntity); + return ResponseDTO.ok(); + } + + /** + * 更新 + * + * @param updateForm + * @return + */ + public ResponseDTO update(VillageFrameworkUpdateForm updateForm) { + VillageFrameworkEntity villageFrameworkEntity = SmartBeanUtil.copy(updateForm, VillageFrameworkEntity.class); + villageFrameworkDao.updateById(villageFrameworkEntity); + return ResponseDTO.ok(); + } + + /** + * 批量删除 + * + * @param idList + * @return + */ + public ResponseDTO batchDelete(List idList) { + if (CollectionUtils.isEmpty(idList)){ + return ResponseDTO.ok(); + } + + villageFrameworkDao.deleteBatchIds(idList); + return ResponseDTO.ok(); + } + + /** + * 单个删除 + */ + public ResponseDTO delete(Long frameworkId) { + if (null == frameworkId){ + return ResponseDTO.ok(); + } + + villageFrameworkDao.deleteById(frameworkId); + return ResponseDTO.ok(); + } +} diff --git a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/service/VillageIntroduceService.java b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/service/VillageIntroduceService.java new file mode 100644 index 0000000..7ddba86 --- /dev/null +++ b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/service/VillageIntroduceService.java @@ -0,0 +1,94 @@ +package net.lab1024.sa.admin.module.business.affairs.service; + +import java.util.List; +import net.lab1024.sa.admin.module.business.affairs.dao.VillageIntroduceDao; +import net.lab1024.sa.admin.module.business.affairs.domain.entity.VillageIntroduceEntity; +import net.lab1024.sa.admin.module.business.affairs.domain.form.VillageIntroduceAddForm; +import net.lab1024.sa.admin.module.business.affairs.domain.form.VillageIntroduceQueryForm; +import net.lab1024.sa.admin.module.business.affairs.domain.form.VillageIntroduceUpdateForm; +import net.lab1024.sa.admin.module.business.affairs.domain.vo.VillageIntroduceVO; +import net.lab1024.sa.base.common.util.SmartBeanUtil; +import net.lab1024.sa.base.common.util.SmartPageUtil; +import net.lab1024.sa.base.common.domain.ResponseDTO; +import net.lab1024.sa.base.common.domain.PageResult; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.commons.collections4.CollectionUtils; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; + +/** + * 村庄介绍 Service + * + * @Author pengjie + * @Date 2025-07-17 14:48:56 + * @Copyright jxj + */ + +@Service +public class VillageIntroduceService { + + @Resource + private VillageIntroduceDao villageIntroduceDao; + + /** + * 分页查询 + * + * @param queryForm + * @return + */ + public PageResult queryPage(VillageIntroduceQueryForm queryForm) { + Page page = SmartPageUtil.convert2PageQuery(queryForm); + List list = villageIntroduceDao.queryPage(page, queryForm); + PageResult pageResult = SmartPageUtil.convert2PageResult(page, list); + return pageResult; + } + + /** + * 添加 + */ + public ResponseDTO add(VillageIntroduceAddForm addForm) { + VillageIntroduceEntity villageIntroduceEntity = SmartBeanUtil.copy(addForm, VillageIntroduceEntity.class); + villageIntroduceDao.insert(villageIntroduceEntity); + return ResponseDTO.ok(); + } + + /** + * 更新 + * + * @param updateForm + * @return + */ + public ResponseDTO update(VillageIntroduceUpdateForm updateForm) { + VillageIntroduceEntity villageIntroduceEntity = SmartBeanUtil.copy(updateForm, VillageIntroduceEntity.class); + villageIntroduceDao.updateById(villageIntroduceEntity); + return ResponseDTO.ok(); + } + + /** + * 批量删除 + * + * @param idList + * @return + */ + public ResponseDTO batchDelete(List idList) { + if (CollectionUtils.isEmpty(idList)){ + return ResponseDTO.ok(); + } + + villageIntroduceDao.deleteBatchIds(idList); + return ResponseDTO.ok(); + } + + /** + * 单个删除 + */ + public ResponseDTO delete(Long introduceId) { + if (null == introduceId){ + return ResponseDTO.ok(); + } + + villageIntroduceDao.deleteById(introduceId); + return ResponseDTO.ok(); + } +} diff --git a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/service/VillageMailService.java b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/service/VillageMailService.java new file mode 100644 index 0000000..f7ca6df --- /dev/null +++ b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/affairs/service/VillageMailService.java @@ -0,0 +1,94 @@ +package net.lab1024.sa.admin.module.business.affairs.service; + +import java.util.List; +import net.lab1024.sa.admin.module.business.affairs.dao.VillageMailDao; +import net.lab1024.sa.admin.module.business.affairs.domain.entity.VillageMailEntity; +import net.lab1024.sa.admin.module.business.affairs.domain.form.VillageMailAddForm; +import net.lab1024.sa.admin.module.business.affairs.domain.form.VillageMailQueryForm; +import net.lab1024.sa.admin.module.business.affairs.domain.form.VillageMailUpdateForm; +import net.lab1024.sa.admin.module.business.affairs.domain.vo.VillageMailVO; +import net.lab1024.sa.base.common.util.SmartBeanUtil; +import net.lab1024.sa.base.common.util.SmartPageUtil; +import net.lab1024.sa.base.common.domain.ResponseDTO; +import net.lab1024.sa.base.common.domain.PageResult; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.commons.collections4.CollectionUtils; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; + +/** + * 内部邮件 Service + * + * @Author pengjie + * @Date 2025-07-17 14:48:56 + * @Copyright jxj + */ + +@Service +public class VillageMailService { + + @Resource + private VillageMailDao villageMailDao; + + /** + * 分页查询 + * + * @param queryForm + * @return + */ + public PageResult queryPage(VillageMailQueryForm queryForm) { + Page page = SmartPageUtil.convert2PageQuery(queryForm); + List list = villageMailDao.queryPage(page, queryForm); + PageResult pageResult = SmartPageUtil.convert2PageResult(page, list); + return pageResult; + } + + /** + * 添加 + */ + public ResponseDTO add(VillageMailAddForm addForm) { + VillageMailEntity villageMailEntity = SmartBeanUtil.copy(addForm, VillageMailEntity.class); + villageMailDao.insert(villageMailEntity); + return ResponseDTO.ok(); + } + + /** + * 更新 + * + * @param updateForm + * @return + */ + public ResponseDTO update(VillageMailUpdateForm updateForm) { + VillageMailEntity villageMailEntity = SmartBeanUtil.copy(updateForm, VillageMailEntity.class); + villageMailDao.updateById(villageMailEntity); + return ResponseDTO.ok(); + } + + /** + * 批量删除 + * + * @param idList + * @return + */ + public ResponseDTO batchDelete(List idList) { + if (CollectionUtils.isEmpty(idList)){ + return ResponseDTO.ok(); + } + + villageMailDao.deleteBatchIds(idList); + return ResponseDTO.ok(); + } + + /** + * 单个删除 + */ + public ResponseDTO delete(Long mailId) { + if (null == mailId){ + return ResponseDTO.ok(); + } + + villageMailDao.deleteById(mailId); + return ResponseDTO.ok(); + } +} diff --git a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/event/controller/EventController.java b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/event/controller/EventController.java index 23e65fb..8269544 100644 --- a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/event/controller/EventController.java +++ b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/event/controller/EventController.java @@ -53,6 +53,13 @@ public class EventController { return ResponseDTO.ok(eventService.queryPage(queryForm)); } + @Operation(summary = "列表查询 @author pengjie") + @PostMapping("/event/queryList") + @SaCheckPermission("event:query") + public ResponseDTO> queryList(@RequestBody @Valid EventQueryForm queryForm) { + return ResponseDTO.ok(eventService.queryList(queryForm)); + } + @Operation(summary = "添加 @author pengjie") @PostMapping("/event/add") @SaCheckPermission("event:add") diff --git a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/event/service/EventService.java b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/event/service/EventService.java index f988400..0ea33ef 100644 --- a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/event/service/EventService.java +++ b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/event/service/EventService.java @@ -82,6 +82,18 @@ public class EventService { return pageResult; } + /** + * 列表查询 + * + * @param queryForm + * @return + */ + public List queryList(EventQueryForm queryForm) { + List list = eventDao.queryPage(queryForm); + build(list); + return list; + } + /** * 添加 */ diff --git a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/party/controller/PartyOrganizationController.java b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/party/controller/PartyOrganizationController.java index 48dafce..04474fb 100644 --- a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/party/controller/PartyOrganizationController.java +++ b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/party/controller/PartyOrganizationController.java @@ -19,6 +19,7 @@ import io.swagger.v3.oas.annotations.Operation; import javax.annotation.Resource; import javax.validation.Valid; +import java.util.List; /** * 党组织 Controller @@ -42,6 +43,13 @@ public class PartyOrganizationController { return ResponseDTO.ok(partyOrganizationService.queryPage(queryForm)); } + @Operation(summary = "列表查询 @author pengjie") + @PostMapping("/partyOrganization/queryList") + @SaCheckPermission("partyOrganization:query") + public ResponseDTO> queryList(@RequestBody @Valid PartyOrganizationQueryForm queryForm) { + return ResponseDTO.ok(partyOrganizationService.queryList(queryForm)); + } + @Operation(summary = "添加 @author pengjie") @PostMapping("/partyOrganization/add") @SaCheckPermission("partyOrganization:add") diff --git a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/party/dao/PartyOrganizationDao.java b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/party/dao/PartyOrganizationDao.java index eb09b00..91593a9 100644 --- a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/party/dao/PartyOrganizationDao.java +++ b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/party/dao/PartyOrganizationDao.java @@ -33,4 +33,5 @@ public interface PartyOrganizationDao extends BaseMapper queryPage(Page page, @Param("queryForm") PartyOrganizationQueryForm queryForm); + List queryPage(@Param("queryForm") PartyOrganizationQueryForm queryForm); } diff --git a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/party/service/PartyOrganizationService.java b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/party/service/PartyOrganizationService.java index ab12340..d9b890d 100644 --- a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/party/service/PartyOrganizationService.java +++ b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/party/service/PartyOrganizationService.java @@ -45,6 +45,17 @@ public class PartyOrganizationService { return pageResult; } + /** + * 列表查询 + * + * @param queryForm + * @return + */ + public List queryList(PartyOrganizationQueryForm queryForm) { + List list = partyOrganizationDao.queryPage(queryForm); + return list; + } + /** * 添加 */ diff --git a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/village/controller/AdolescentVillagerController.java b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/village/controller/AdolescentVillagerController.java index 8bf3eb0..0169b50 100644 --- a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/village/controller/AdolescentVillagerController.java +++ b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/village/controller/AdolescentVillagerController.java @@ -3,23 +3,27 @@ package net.lab1024.sa.admin.module.business.village.controller; import net.lab1024.sa.admin.module.business.village.domain.form.AdolescentVillagerAddForm; import net.lab1024.sa.admin.module.business.village.domain.form.AdolescentVillagerQueryForm; import net.lab1024.sa.admin.module.business.village.domain.form.AdolescentVillagerUpdateForm; +import net.lab1024.sa.admin.module.business.village.domain.form.CorrectVillagerQueryForm; import net.lab1024.sa.admin.module.business.village.domain.vo.AbroadVillagerVO; +import net.lab1024.sa.admin.module.business.village.domain.vo.AdolescentVillagerExcelVo; import net.lab1024.sa.admin.module.business.village.domain.vo.AdolescentVillagerVO; +import net.lab1024.sa.admin.module.business.village.domain.vo.CorrectVillagerExcelVo; import net.lab1024.sa.admin.module.business.village.service.AdolescentVillagerService; import net.lab1024.sa.base.common.domain.ValidateList; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; +import net.lab1024.sa.base.common.util.SmartExcelUtil; +import org.springframework.web.bind.annotation.*; import cn.dev33.satoken.annotation.SaCheckPermission; import net.lab1024.sa.base.common.domain.ResponseDTO; import net.lab1024.sa.base.common.domain.PageResult; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RestController; import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Operation; +import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.io.IOException; +import java.util.List; /** * 青少年人员信息 Controller @@ -77,4 +81,25 @@ public class AdolescentVillagerController { public ResponseDTO queryById(@PathVariable Long adolescentId) { return ResponseDTO.ok(adolescentVillagerService.queryById(adolescentId)); } + + @Operation(summary = "下载导入模板") + @GetMapping(value = "/adolescentVillager/exportExcel") + public void exportExcel(HttpServletResponse response) { + adolescentVillagerService.exportExcel(response); + } + + @Operation(summary = "导入 ") + @PostMapping("/adolescentVillager/import") + @SaCheckPermission("adolescentVillager:add") + public ResponseDTO importAdolescentVillager(@RequestParam MultipartFile file) { + return adolescentVillagerService.importAdolescentVillager(file); + } + + @Operation(summary = "导出 ") + @PostMapping("/adolescentVillager/export") + @SaCheckPermission("adolescentVillager:query") + public void export(@RequestBody AdolescentVillagerQueryForm query, HttpServletResponse response) throws IOException { + List adolescentVillagerExcelVos = adolescentVillagerService.export(query); + SmartExcelUtil.exportExcel(response,"重点青少年人员列表.xlsx","重点青少年人员", AdolescentVillagerExcelVo.class, adolescentVillagerExcelVos); + } } diff --git a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/village/dao/AdolescentVillagerDao.java b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/village/dao/AdolescentVillagerDao.java index 55f404b..cec0d3e 100644 --- a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/village/dao/AdolescentVillagerDao.java +++ b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/village/dao/AdolescentVillagerDao.java @@ -32,5 +32,7 @@ public interface AdolescentVillagerDao extends BaseMapper queryPage(Page page, @Param("queryForm") AdolescentVillagerQueryForm queryForm); + List queryPage(@Param("queryForm") AdolescentVillagerQueryForm queryForm); + AdolescentVillagerVO queryById(@Param("id") Long id); } diff --git a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/village/domain/form/AdolescentVillagerImportForm.java b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/village/domain/form/AdolescentVillagerImportForm.java new file mode 100644 index 0000000..db7feaf --- /dev/null +++ b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/village/domain/form/AdolescentVillagerImportForm.java @@ -0,0 +1,64 @@ +package net.lab1024.sa.admin.module.business.village.domain.form; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.time.LocalDateTime; + +/** + * 青少年人员信息 实体类 + * + * @Author pengjie + * @Date 2025-07-02 16:23:34 + * @Copyright jxj + */ + +@Data +public class AdolescentVillagerImportForm { + + @ExcelProperty("*姓名") + private String villagerName; + + @ExcelProperty("人员类型") + private String type; + + @ExcelProperty("家庭情况") + private String familyStatus; + + @ExcelProperty("监护人姓名") + private String guardianName; + + @ExcelProperty("监护人身份证") + private String guardianCard; + + @ExcelProperty("监护人关系") + private String guardianRelationship; + + @ExcelProperty("监护人电话") + private String guardianPhone; + + @ExcelProperty("监护人住址") + private String guardianAddress; + + @ExcelProperty("*是否违法犯罪") + private String criminalityFlag; + + @ExcelProperty("犯罪情况") + private String criminalityStatus; + + @ExcelProperty("帮扶人姓名") + private String assistancePerson; + + @ExcelProperty("帮扶人电话") + private String assistancePhone; + + @ExcelProperty("帮扶手段") + private String assistanceMeans; + + @ExcelProperty("帮扶情况") + private String assistanceSituation; +} diff --git a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/village/domain/vo/AdolescentVillagerExcelVo.java b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/village/domain/vo/AdolescentVillagerExcelVo.java new file mode 100644 index 0000000..5bde785 --- /dev/null +++ b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/village/domain/vo/AdolescentVillagerExcelVo.java @@ -0,0 +1,57 @@ + +package net.lab1024.sa.admin.module.business.village.domain.vo; + +import com.alibaba.excel.annotation.ExcelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class AdolescentVillagerExcelVo { + + @ExcelProperty("*姓名") + private String villagerName; + + @ExcelProperty("人员类型") + private String type; + + @ExcelProperty("家庭情况") + private String familyStatus; + + @ExcelProperty("监护人姓名") + private String guardianName; + + @ExcelProperty("监护人身份证") + private String guardianCard; + + @ExcelProperty("监护人关系") + private String guardianRelationship; + + @ExcelProperty("监护人电话") + private String guardianPhone; + + @ExcelProperty("监护人住址") + private String guardianAddress; + + @ExcelProperty("*是否违法犯罪") + private String criminalityFlag; + + @ExcelProperty("犯罪情况") + private String criminalityStatus; + + @ExcelProperty("帮扶人姓名") + private String assistancePerson; + + @ExcelProperty("帮扶人电话") + private String assistancePhone; + + @ExcelProperty("帮扶手段") + private String assistanceMeans; + + @ExcelProperty("帮扶情况") + private String assistanceSituation; +} diff --git a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/village/service/AdolescentVillagerService.java b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/village/service/AdolescentVillagerService.java index b7574c6..953fb88 100644 --- a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/village/service/AdolescentVillagerService.java +++ b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/village/service/AdolescentVillagerService.java @@ -1,16 +1,24 @@ package net.lab1024.sa.admin.module.business.village.service; +import java.io.IOException; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; +import com.alibaba.excel.EasyExcel; +import com.alibaba.fastjson.JSON; +import lombok.extern.slf4j.Slf4j; import net.lab1024.sa.admin.module.business.village.dao.AdolescentVillagerDao; import net.lab1024.sa.admin.module.business.village.domain.entity.AdolescentVillagerEntity; -import net.lab1024.sa.admin.module.business.village.domain.form.AdolescentVillagerAddForm; -import net.lab1024.sa.admin.module.business.village.domain.form.AdolescentVillagerQueryForm; -import net.lab1024.sa.admin.module.business.village.domain.form.AdolescentVillagerUpdateForm; -import net.lab1024.sa.admin.module.business.village.domain.vo.AbroadVillagerVO; -import net.lab1024.sa.admin.module.business.village.domain.vo.AdolescentVillagerVO; -import net.lab1024.sa.admin.module.business.village.domain.vo.FlowVillagerVO; +import net.lab1024.sa.admin.module.business.village.domain.entity.CorrectVillagerEntity; +import net.lab1024.sa.admin.module.business.village.domain.entity.VillagerEntity; +import net.lab1024.sa.admin.module.business.village.domain.form.*; +import net.lab1024.sa.admin.module.business.village.domain.vo.*; +import net.lab1024.sa.admin.module.business.village.manager.AdolescentVillagerManager; +import net.lab1024.sa.admin.module.business.village.manager.VillagerManager; +import net.lab1024.sa.admin.util.ExcelUtils; +import net.lab1024.sa.base.common.exception.BusinessException; import net.lab1024.sa.base.common.util.SmartBeanUtil; import net.lab1024.sa.base.common.util.SmartPageUtil; import net.lab1024.sa.base.common.domain.ResponseDTO; @@ -19,9 +27,12 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import net.lab1024.sa.base.module.support.dict.domain.vo.DictValueVO; import net.lab1024.sa.base.module.support.dict.service.DictCacheService; import org.apache.commons.collections4.CollectionUtils; +import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; /** * 青少年人员信息 Service @@ -31,15 +42,22 @@ import javax.annotation.Resource; * @Copyright jxj */ +@Slf4j @Service public class AdolescentVillagerService { @Resource private AdolescentVillagerDao adolescentVillagerDao; + @Resource + private AdolescentVillagerManager adolescentVillagerManager; + @Resource private DictCacheService dictCacheService; + @Resource + private VillagerManager villagerManager; + /** * 分页查询 * @@ -54,6 +72,18 @@ public class AdolescentVillagerService { return pageResult; } + /** + * 列表查询 + * + * @param queryForm + * @return + */ + public List queryList(AdolescentVillagerQueryForm queryForm) { + List list = adolescentVillagerDao.queryPage(queryForm); + build(list); + return list; + } + /** * 添加 */ @@ -112,16 +142,94 @@ public class AdolescentVillagerService { return adolescentVillagerDao.queryById(adolescentId); } + /** + * 导出模版 + */ + public void exportExcel(HttpServletResponse response) { + List villagerList = villagerManager.list(); + List type = dictCacheService.selectByKeyCode("ADOLESCENT_TYPE"); + List familyStatus = dictCacheService.selectByKeyCode("FAMILY_STATUS"); + List assistanceMeans = dictCacheService.selectByKeyCode("ASSISTANCE_MEANS"); + ExcelUtils.exportExcelAdolescentVillagerTemplate(response, villagerList, type, familyStatus, assistanceMeans); + } + + /** + * 导入 + */ + public ResponseDTO importAdolescentVillager(MultipartFile file) { + List dataList; + try { + dataList = EasyExcel.read(file.getInputStream()).head(AdolescentVillagerImportForm.class) + .sheet() + .doReadSync(); + } catch (IOException e) { + log.error(e.getMessage(), e); + throw new BusinessException("数据格式存在问题,无法读取"); + } + if (CollectionUtils.isEmpty(dataList)) { + return ResponseDTO.userErrorParam("数据为空"); + } + List villagerList = villagerManager.list(); + List type = dictCacheService.selectByKeyCode("ADOLESCENT_TYPE"); + List familyStatus = dictCacheService.selectByKeyCode("FAMILY_STATUS"); + List assistanceMeans = dictCacheService.selectByKeyCode("ASSISTANCE_MEANS"); + List adolescentVillagerEntityArrayList = new ArrayList<>(); + for (AdolescentVillagerImportForm adolescentVillagerImportForm : dataList) { + AdolescentVillagerEntity adolescentVillagerEntity = new AdolescentVillagerEntity(); + BeanUtils.copyProperties(adolescentVillagerImportForm, adolescentVillagerEntity); + String[] split = adolescentVillagerImportForm.getVillagerName().split("-"); + List collect1 = villagerList.stream().filter(v -> v.getName().equals(split[0]) && v.getCardNumber().equals(split[1])).collect(Collectors.toList()); + adolescentVillagerEntity.setVillagerId(collect1.size() > 0 ? collect1.get(0).getVillagerId() : null); + adolescentVillagerEntity.setType(type.stream().filter(g -> g.getValueName().equals(adolescentVillagerImportForm.getType())).collect(Collectors.toList()).get(0).getValueCode()); + adolescentVillagerEntity.setFamilyStatus(familyStatus.stream().filter(g -> g.getValueName().equals(adolescentVillagerImportForm.getFamilyStatus())).collect(Collectors.toList()).get(0).getValueCode()); + adolescentVillagerEntity.setAssistanceMeans(assistanceMeans.stream().filter(g -> g.getValueName().equals(adolescentVillagerImportForm.getAssistanceMeans())).collect(Collectors.toList()).get(0).getValueCode()); + adolescentVillagerEntity.setCriminalityFlag(adolescentVillagerImportForm.getCriminalityFlag().equals("是") ? 1 : 0); + adolescentVillagerEntityArrayList.add(adolescentVillagerEntity); + } + adolescentVillagerManager.saveBatch(adolescentVillagerEntityArrayList); + return ResponseDTO.okMsg("成功导入" + dataList.size() + "条,具体数据为:" + JSON.toJSONString(dataList)); + } + + /** + * 导出查询 + * + * @param queryForm + * @return + */ + public List export(AdolescentVillagerQueryForm queryForm) { + List list = this.queryList(queryForm); + return list.stream() + .map(e -> + AdolescentVillagerExcelVo.builder() + .villagerName(e.getName()) + .type(e.getTypeName()) + .familyStatus(e.getFamilyStatusName()) + .guardianName(e.getGuardianName()) + .guardianCard(e.getGuardianCard()) + .guardianRelationship(e.getGuardianRelationship()) + .guardianPhone(e.getGuardianPhone()) + .guardianAddress(e.getGuardianAddress()) + .criminalityFlag(e.getCriminalityFlag() == 1 ? "是" : "否") + .criminalityStatus(e.getCriminalityStatus()) + .assistancePerson(e.getAssistancePerson()) + .assistancePhone(e.getAssistancePhone()) + .assistanceMeans(e.getAssistanceMeansName()) + .assistanceSituation(e.getAssistanceSituation()) + .build() + ) + .collect(Collectors.toList()); + } + private void build(List list) { - List reason = dictCacheService.selectByKeyCode("ADOLESCENT_TYPE"); - List cardType = dictCacheService.selectByKeyCode("FAMILY_STATUS"); - List accommodationType = dictCacheService.selectByKeyCode("ASSISTANCE_MEANS"); + List type = dictCacheService.selectByKeyCode("ADOLESCENT_TYPE"); + List familyStatus = dictCacheService.selectByKeyCode("FAMILY_STATUS"); + List assistanceMeans = dictCacheService.selectByKeyCode("ASSISTANCE_MEANS"); for (AdolescentVillagerVO adolescentVillagerVO : list) { - List collect = reason.stream().filter(d -> d.getValueCode().equals(adolescentVillagerVO.getType())).collect(Collectors.toList()); + List collect = type.stream().filter(d -> d.getValueCode().equals(adolescentVillagerVO.getType())).collect(Collectors.toList()); adolescentVillagerVO.setTypeName(collect.size() > 0 ? collect.get(0).getValueName() : ""); - List collect1 = cardType.stream().filter(d -> d.getValueCode().equals(adolescentVillagerVO.getFamilyStatus())).collect(Collectors.toList()); + List collect1 = familyStatus.stream().filter(d -> d.getValueCode().equals(adolescentVillagerVO.getFamilyStatus())).collect(Collectors.toList()); adolescentVillagerVO.setFamilyStatusName(collect1.size() > 0 ? collect1.get(0).getValueName() : ""); - List collect2 = accommodationType.stream().filter(d -> d.getValueCode().equals(adolescentVillagerVO.getAssistanceMeans())).collect(Collectors.toList()); + List collect2 = assistanceMeans.stream().filter(d -> d.getValueCode().equals(adolescentVillagerVO.getAssistanceMeans())).collect(Collectors.toList()); adolescentVillagerVO.setAssistanceMeansName(collect2.size() > 0 ? collect2.get(0).getValueName() : ""); } } diff --git a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/village/service/EnterpriseGoalService.java b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/village/service/EnterpriseGoalService.java index 3f784a6..ae65597 100644 --- a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/village/service/EnterpriseGoalService.java +++ b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/village/service/EnterpriseGoalService.java @@ -135,10 +135,10 @@ public class EnterpriseGoalService { */ public EnterpriseGoalVO queryById(EnterpriseGoalQueryForm queryForm) { EnterpriseGoalVO enterpriseGoalVO = enterpriseGoalDao.queryById(queryForm); - enterpriseGoalVO.setActualProfit(enterpriseGoalVO.getActualIncome().subtract(enterpriseGoalVO.getActualExpenses())); if (enterpriseGoalVO == null) { enterpriseGoalVO = new EnterpriseGoalVO(); } else { + enterpriseGoalVO.setActualProfit(enterpriseGoalVO.getActualIncome().subtract(enterpriseGoalVO.getActualExpenses())); if (enterpriseGoalVO.getActualIncome() != null && enterpriseGoalVO.getIncome() != null && enterpriseGoalVO.getIncome().compareTo(new BigDecimal(0)) > 0) { enterpriseGoalVO.setActualIncomeRatio(enterpriseGoalVO.getActualIncome().divide(enterpriseGoalVO.getIncome(), 2, BigDecimal.ROUND_HALF_UP)); } diff --git a/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/village/controller/VillageEmployeeController.java b/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/village/controller/VillageEmployeeController.java index 9bbe4c5..5b99281 100644 --- a/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/village/controller/VillageEmployeeController.java +++ b/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/village/controller/VillageEmployeeController.java @@ -43,6 +43,12 @@ public class VillageEmployeeController { return villageEmployeeService.queryList(); } + @Operation(summary = "查询当前用户的下属乡村列表 @author pengjie") + @GetMapping("/villageEmployee/queryChildrenList") + public ResponseDTO> queryChildrenList() { + return villageEmployeeService.queryChildrenList(); + } + @Operation(summary = "更新 @author pengjie") @PostMapping("/villageEmployee/update") public ResponseDTO update(@RequestBody @Valid VillageEmployeeUpdateForm updateForm) { diff --git a/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/village/service/VillageEmployeeService.java b/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/village/service/VillageEmployeeService.java index 0812bf5..a70245a 100644 --- a/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/village/service/VillageEmployeeService.java +++ b/sa-admin/src/main/java/net/lab1024/sa/admin/module/system/village/service/VillageEmployeeService.java @@ -75,6 +75,12 @@ public class VillageEmployeeService { return ResponseDTO.ok(parentList); } + public ResponseDTO> queryChildrenList() { + Integer villageId = SmartRequestUtil.getRequestUser().getVillageId(); + List villageList = villageManager.list(Wrappers.lambdaQuery().apply("find_in_set({0}, ancestors)", villageId)); + return ResponseDTO.ok(villageList); + } + /** * 更新 * diff --git a/sa-admin/src/main/java/net/lab1024/sa/admin/util/ExcelUtils.java b/sa-admin/src/main/java/net/lab1024/sa/admin/util/ExcelUtils.java index a921186..7265c85 100644 --- a/sa-admin/src/main/java/net/lab1024/sa/admin/util/ExcelUtils.java +++ b/sa-admin/src/main/java/net/lab1024/sa/admin/util/ExcelUtils.java @@ -608,6 +608,59 @@ public class ExcelUtils { } } + public static void exportExcelAdolescentVillagerTemplate(HttpServletResponse response, List villagerList, List type + , List familyStatus, List assistanceMeans) { + try { + ClassPathResource classPathResource = new ClassPathResource("excel/重点青少年人员导入模板.xlsx"); + InputStream inputStream = classPathResource.getInputStream(); + XSSFWorkbook workbook = new XSSFWorkbook(inputStream); + + XSSFSheet sheet = workbook.getSheet("人员类型"); + if (type.size() > 0) { + for (int i = 0; i < type.size(); i++) { + XSSFRow row1 = sheet.createRow(i + type.size()); + XSSFCell cell1 = row1.createCell(0); + cell1.setCellType(CellType.STRING); + cell1.setCellValue(type.get(i).getValueName()); + } + } + + XSSFSheet sheet1 = workbook.getSheet("家庭情况"); + if (familyStatus.size() > 0) { + for (int i = 0; i < familyStatus.size(); i++) { + XSSFRow row1 = sheet1.createRow(i + familyStatus.size()); + XSSFCell cell1 = row1.createCell(0); + cell1.setCellType(CellType.STRING); + cell1.setCellValue(familyStatus.get(i).getValueName()); + } + } + + XSSFSheet sheet2 = workbook.getSheet("帮扶手段"); + if (assistanceMeans.size() > 0) { + for (int i = 0; i < assistanceMeans.size(); i++) { + XSSFRow row1 = sheet2.createRow(i + assistanceMeans.size()); + XSSFCell cell1 = row1.createCell(0); + cell1.setCellType(CellType.STRING); + cell1.setCellValue(assistanceMeans.get(i).getValueName()); + } + } + + XSSFSheet sheet5 = workbook.getSheet("姓名"); + if (villagerList.size() > 0) { + for (int i = 0; i < villagerList.size(); i++) { + XSSFRow row1 = sheet5.createRow(i + villagerList.size()); + XSSFCell cell1 = row1.createCell(0); + cell1.setCellType(CellType.STRING); + cell1.setCellValue(villagerList.get(i).getName() + "-" + villagerList.get(0).getCardNumber()); + } + } + + downLoadExcel("重点青少年人员导入模板.xlsx", response, workbook); + } catch (IOException e) { + log.error("error:", e); + } + } + private static void picture(String path, XSSFSheet sheet, int startRow, int endRow, int startCol, int endCol) { try { InputStream inputStreamPic = new FileInputStream(path); diff --git a/sa-admin/src/main/resources/excel/重点青少年人员导入模板.xlsx b/sa-admin/src/main/resources/excel/重点青少年人员导入模板.xlsx new file mode 100644 index 0000000..a97be67 Binary files /dev/null and b/sa-admin/src/main/resources/excel/重点青少年人员导入模板.xlsx differ diff --git a/sa-admin/src/main/resources/mapper/business/affairs/AffairsMapper.xml b/sa-admin/src/main/resources/mapper/business/affairs/AffairsMapper.xml new file mode 100644 index 0000000..ff8c956 --- /dev/null +++ b/sa-admin/src/main/resources/mapper/business/affairs/AffairsMapper.xml @@ -0,0 +1,37 @@ + + + + + + + affairs.affairs_id, + affairs.title, + affairs.type, + affairs.range_type, + affairs.range, + affairs.content, + affairs.file_url, + affairs.create_time, + affairs.create_by, + affairs.update_time + + + + + + + diff --git a/sa-admin/src/main/resources/mapper/business/affairs/VillageFrameworkMapper.xml b/sa-admin/src/main/resources/mapper/business/affairs/VillageFrameworkMapper.xml new file mode 100644 index 0000000..e935529 --- /dev/null +++ b/sa-admin/src/main/resources/mapper/business/affairs/VillageFrameworkMapper.xml @@ -0,0 +1,29 @@ + + + + + + + village_framework.framework_id, + village_framework.village_id, + village_framework.file_url, + village_framework.create_time, + village_framework.create_by, + village_framework.update_time + + + + + + + diff --git a/sa-admin/src/main/resources/mapper/business/affairs/VillageIntroduceMapper.xml b/sa-admin/src/main/resources/mapper/business/affairs/VillageIntroduceMapper.xml new file mode 100644 index 0000000..0e5fc23 --- /dev/null +++ b/sa-admin/src/main/resources/mapper/business/affairs/VillageIntroduceMapper.xml @@ -0,0 +1,33 @@ + + + + + + + village_introduce.introduce_id, + village_introduce.village_id, + village_introduce.area, + village_introduce.charge_person, + village_introduce.phone, + village_introduce.content, + village_introduce.file_url, + village_introduce.create_time, + village_introduce.create_by, + village_introduce.update_time + + + + + + + diff --git a/sa-admin/src/main/resources/mapper/business/affairs/VillageMailMapper.xml b/sa-admin/src/main/resources/mapper/business/affairs/VillageMailMapper.xml new file mode 100644 index 0000000..6de4385 --- /dev/null +++ b/sa-admin/src/main/resources/mapper/business/affairs/VillageMailMapper.xml @@ -0,0 +1,40 @@ + + + + + + + village_mail.mail_id, + village_mail.recipient, + village_mail.title, + village_mail.content, + village_mail.file_url, + village_mail.state, + village_mail.create_time, + village_mail.create_by, + village_mail.update_time + + + + + + +