补充
This commit is contained in:
parent
e6ae3efd1c
commit
783f3d208b
8
pom.xml
8
pom.xml
@ -431,7 +431,9 @@
|
||||
<properties>
|
||||
<profiles.active>dev</profiles.active>
|
||||
</properties>
|
||||
|
||||
<activation>
|
||||
<activeByDefault>true</activeByDefault>
|
||||
</activation>
|
||||
</profile>
|
||||
<!--测试环境-->
|
||||
<profile>
|
||||
@ -453,9 +455,7 @@
|
||||
<properties>
|
||||
<profiles.active>prod</profiles.active>
|
||||
</properties>
|
||||
<activation>
|
||||
<activeByDefault>true</activeByDefault>
|
||||
</activation>
|
||||
|
||||
</profile>
|
||||
</profiles>
|
||||
|
||||
|
||||
@ -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));
|
||||
// }
|
||||
}
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package net.lab1024.sa.admin.module.business.affairs.controller;
|
||||
|
||||
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;
|
||||
@ -69,4 +70,11 @@ public class VillageIntroduceController {
|
||||
public ResponseDTO<String> batchDelete(@PathVariable Long introduceId) {
|
||||
return villageIntroduceService.delete(introduceId);
|
||||
}
|
||||
|
||||
@Operation(summary = "单个查询 @author pengjie")
|
||||
@GetMapping("/villageIntroduce/queryById/{villageId}")
|
||||
@SaCheckPermission("villageIntroduce:query")
|
||||
public ResponseDTO<VillageIntroduceEntity> queryById(@PathVariable Integer villageId) {
|
||||
return villageIntroduceService.queryById(villageId);
|
||||
}
|
||||
}
|
||||
|
||||
@ -19,6 +19,7 @@ import io.swagger.v3.oas.annotations.Operation;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.validation.Valid;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 内部邮件 Controller
|
||||
@ -76,4 +77,18 @@ public class VillageMailController {
|
||||
public ResponseDTO<String> batchDelete(@PathVariable Long mailId) {
|
||||
return villageMailService.delete(mailId);
|
||||
}
|
||||
|
||||
@Operation(summary = "单个删除 @author pengjie")
|
||||
@GetMapping("/villageMail/queryById/{mailId}")
|
||||
@SaCheckPermission("villageMail:query")
|
||||
public ResponseDTO<VillageMailVO> queryById(@PathVariable Long mailId) {
|
||||
return villageMailService.queryById(mailId);
|
||||
}
|
||||
|
||||
@Operation(summary = "查询已读未读数量 @author pengjie")
|
||||
@GetMapping("/villageMail/queryState")
|
||||
@SaCheckPermission("villageMail:query")
|
||||
public ResponseDTO<Map<String, Object>> queryState() {
|
||||
return villageMailService.queryState();
|
||||
}
|
||||
}
|
||||
|
||||
@ -31,4 +31,5 @@ public interface VillageMailDao extends BaseMapper<VillageMailEntity> {
|
||||
*/
|
||||
List<VillageMailVO> queryPage(Page page, @Param("queryForm") VillageMailQueryForm queryForm);
|
||||
|
||||
VillageMailVO queryById(@Param("id") Long id);
|
||||
}
|
||||
|
||||
@ -34,7 +34,7 @@ public class AffairsEntity {
|
||||
private Integer type;
|
||||
|
||||
/**
|
||||
* 可见范围类型(1:人员;2:部门)
|
||||
* 可见范围类型(1:人员;2:部门;3:全部可见)
|
||||
*/
|
||||
private Integer rangeType;
|
||||
|
||||
|
||||
@ -20,7 +20,7 @@ public class AffairsAddForm {
|
||||
@Schema(description = "类型")
|
||||
private Integer type;
|
||||
|
||||
@Schema(description = "可见范围类型(1:人员;2:组织)")
|
||||
@Schema(description = "可见范围类型(1:人员;2:组织;3:全部可见)")
|
||||
private Integer rangeType;
|
||||
|
||||
@Schema(description = "发布范围")
|
||||
|
||||
@ -25,7 +25,7 @@ public class AffairsUpdateForm {
|
||||
@Schema(description = "类型")
|
||||
private Integer type;
|
||||
|
||||
@Schema(description = "可见范围类型(1:人员;2:组织)")
|
||||
@Schema(description = "可见范围类型(1:人员;2:组织;3:全部可见)")
|
||||
private Integer rangeType;
|
||||
|
||||
@Schema(description = "发布范围")
|
||||
|
||||
@ -26,4 +26,10 @@ public class VillageMailQueryForm extends PageParam {
|
||||
@Schema(description = "主题")
|
||||
private String title;
|
||||
|
||||
@Schema(description = "阅读状态(0:未读;1:已读)")
|
||||
private String state;
|
||||
|
||||
@Schema(description = "是否设为星标(0/1)")
|
||||
private String asterisk;
|
||||
|
||||
}
|
||||
|
||||
@ -27,7 +27,7 @@ public class AffairsVO {
|
||||
@Schema(description = "类型")
|
||||
private Integer type;
|
||||
|
||||
@Schema(description = "可见范围类型(1:人员;2:组织)")
|
||||
@Schema(description = "可见范围类型(1:人员;2:组织;3:全部可见)")
|
||||
private Integer rangeType;
|
||||
|
||||
@Schema(description = "发布范围")
|
||||
|
||||
@ -53,6 +53,7 @@ public class VillageMailVO {
|
||||
private String createByName;
|
||||
|
||||
@Schema(description = "创建人头像")
|
||||
@JsonSerialize(using = FileKeyVoSerializer.class)
|
||||
private String createByAvatar;
|
||||
|
||||
@Schema(description = "更新时间")
|
||||
|
||||
@ -61,7 +61,7 @@ public class AffairsService {
|
||||
list = affairsDao.queryPage(page, queryForm);
|
||||
} else {
|
||||
list = affairsDao.queryPage(queryForm);
|
||||
list = list.stream().filter(l -> (StringUtils.isBlank(l.getRangeInfo()) && l.getRangeType() == null)
|
||||
list = list.stream().filter(l -> (StringUtils.isBlank(l.getRangeInfo()) && l.getRangeType() == 3)
|
||||
|| (l.getRangeInfo().contains(requestUser.getUserId().toString()) && l.getRangeType() == 1)
|
||||
|| (l.getRangeInfo().contains(String.valueOf(requestUser.getDepartmentId())) && l.getRangeType() == 2))
|
||||
.collect(Collectors.toList());
|
||||
|
||||
@ -12,6 +12,7 @@ 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;
|
||||
|
||||
@ -49,6 +50,7 @@ public class FundInfoService {
|
||||
*/
|
||||
public ResponseDTO<String> add(FundInfoAddForm addForm) {
|
||||
FundInfoEntity fundInfoEntity = SmartBeanUtil.copy(addForm, FundInfoEntity.class);
|
||||
fundInfoEntity.setCreateBy(SmartRequestUtil.getRequestUserId().toString());
|
||||
fundInfoDao.insert(fundInfoEntity);
|
||||
return ResponseDTO.ok();
|
||||
}
|
||||
|
||||
@ -15,6 +15,7 @@ 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 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;
|
||||
@ -58,6 +59,7 @@ public class PropertyInfoService {
|
||||
*/
|
||||
public ResponseDTO<String> add(PropertyInfoAddForm addForm) {
|
||||
PropertyInfoEntity propertyInfoEntity = SmartBeanUtil.copy(addForm, PropertyInfoEntity.class);
|
||||
propertyInfoEntity.setCreateBy(SmartRequestUtil.getRequestUserId().toString());
|
||||
propertyInfoDao.insert(propertyInfoEntity);
|
||||
return ResponseDTO.ok();
|
||||
}
|
||||
|
||||
@ -17,6 +17,7 @@ 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 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;
|
||||
@ -60,6 +61,7 @@ public class ResourceInfoService {
|
||||
*/
|
||||
public ResponseDTO<String> add(ResourceInfoAddForm addForm) {
|
||||
ResourceInfoEntity resourceInfoEntity = SmartBeanUtil.copy(addForm, ResourceInfoEntity.class);
|
||||
resourceInfoEntity.setCreateBy(SmartRequestUtil.getRequestUserId().toString());
|
||||
resourceInfoDao.insert(resourceInfoEntity);
|
||||
return ResponseDTO.ok();
|
||||
}
|
||||
|
||||
@ -12,6 +12,7 @@ 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;
|
||||
|
||||
@ -49,6 +50,7 @@ public class VillageFrameworkService {
|
||||
*/
|
||||
public ResponseDTO<String> add(VillageFrameworkAddForm addForm) {
|
||||
VillageFrameworkEntity villageFrameworkEntity = SmartBeanUtil.copy(addForm, VillageFrameworkEntity.class);
|
||||
villageFrameworkEntity.setCreateBy(SmartRequestUtil.getRequestUserId().toString());
|
||||
villageFrameworkDao.insert(villageFrameworkEntity);
|
||||
return ResponseDTO.ok();
|
||||
}
|
||||
|
||||
@ -58,6 +58,7 @@ public class VillageIntroduceService {
|
||||
return ResponseDTO.error(UserErrorCode.ALREADY_EXIST, "已存在乡村介绍信息");
|
||||
}
|
||||
VillageIntroduceEntity villageIntroduceEntity = SmartBeanUtil.copy(addForm, VillageIntroduceEntity.class);
|
||||
villageIntroduceEntity.setCreateBy(SmartRequestUtil.getRequestUserId().toString());
|
||||
villageIntroduceDao.insert(villageIntroduceEntity);
|
||||
return ResponseDTO.ok();
|
||||
}
|
||||
@ -100,4 +101,15 @@ public class VillageIntroduceService {
|
||||
villageIntroduceDao.deleteById(introduceId);
|
||||
return ResponseDTO.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* 单个查询
|
||||
*/
|
||||
public ResponseDTO<VillageIntroduceEntity> queryById(Integer villageId) {
|
||||
if (null == villageId){
|
||||
return ResponseDTO.ok();
|
||||
}
|
||||
|
||||
return ResponseDTO.ok(villageIntroduceDao.selectOne(Wrappers.<VillageIntroduceEntity>lambdaQuery().eq(VillageIntroduceEntity::getVillageId, villageId)));
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,7 +1,9 @@
|
||||
package net.lab1024.sa.admin.module.business.affairs.service;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
@ -22,7 +24,10 @@ 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 net.lab1024.sa.base.module.support.file.service.IFileStorageService;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.BooleanUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
@ -47,6 +52,9 @@ public class VillageMailService {
|
||||
@Resource
|
||||
private EmployeeDao employeeDao;
|
||||
|
||||
@Resource
|
||||
private IFileStorageService fileStorageService;
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
*
|
||||
@ -128,6 +136,28 @@ public class VillageMailService {
|
||||
return ResponseDTO.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* 单个查询
|
||||
*/
|
||||
public ResponseDTO<VillageMailVO> queryById(Long mailId) {
|
||||
if (null == mailId){
|
||||
return ResponseDTO.ok();
|
||||
}
|
||||
return ResponseDTO.ok(villageMailDao.queryById(mailId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询已读未读数量
|
||||
*/
|
||||
public ResponseDTO<Map<String, Object>> queryState() {
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
String userId = SmartRequestUtil.getRequestUserId().toString();
|
||||
map.put("read", villageMailDao.selectCount(Wrappers.<VillageMailEntity>lambdaQuery().eq(VillageMailEntity::getRecipient, userId).eq(VillageMailEntity::getState, 1)));
|
||||
map.put("unRead", villageMailDao.selectCount(Wrappers.<VillageMailEntity>lambdaQuery().eq(VillageMailEntity::getRecipient, userId).eq(VillageMailEntity::getState, 0)));
|
||||
return ResponseDTO.ok(map);
|
||||
}
|
||||
|
||||
|
||||
// private void build(List<VillageMailVO> list) {
|
||||
// List<EmployeeEntity> employeeEntities = employeeDao.selectList(null);
|
||||
// for (VillageMailVO villageMailVO : list) {
|
||||
|
||||
@ -29,6 +29,20 @@ public class EventDraftEntity {
|
||||
*/
|
||||
private String address;
|
||||
|
||||
/**
|
||||
* 位置
|
||||
*/
|
||||
private String addressName;
|
||||
|
||||
/**
|
||||
* 纬度
|
||||
*/
|
||||
private String latitude;
|
||||
/**
|
||||
* 经度
|
||||
*/
|
||||
private String longitude;
|
||||
|
||||
/**
|
||||
* 发生日期
|
||||
*/
|
||||
|
||||
@ -18,6 +18,15 @@ public class EventDraftAddForm {
|
||||
@Schema(description = "详细位置")
|
||||
private String address;
|
||||
|
||||
@Schema(description = "位置")
|
||||
private String addressName;
|
||||
|
||||
@Schema(description = "纬度")
|
||||
private String latitude;
|
||||
|
||||
@Schema(description = "经度")
|
||||
private String longitude;
|
||||
|
||||
@Schema(description = "发生日期")
|
||||
private LocalDate happenTime;
|
||||
|
||||
|
||||
@ -23,6 +23,15 @@ public class EventDraftUpdateForm {
|
||||
@Schema(description = "详细位置")
|
||||
private String address;
|
||||
|
||||
@Schema(description = "位置")
|
||||
private String addressName;
|
||||
|
||||
@Schema(description = "纬度")
|
||||
private String latitude;
|
||||
|
||||
@Schema(description = "经度")
|
||||
private String longitude;
|
||||
|
||||
@Schema(description = "发生日期")
|
||||
private LocalDate happenTime;
|
||||
|
||||
|
||||
@ -23,6 +23,15 @@ public class EventDraftVO {
|
||||
@Schema(description = "详细位置")
|
||||
private String address;
|
||||
|
||||
@Schema(description = "位置")
|
||||
private String addressName;
|
||||
|
||||
@Schema(description = "纬度")
|
||||
private String latitude;
|
||||
|
||||
@Schema(description = "经度")
|
||||
private String longitude;
|
||||
|
||||
@Schema(description = "发生日期")
|
||||
private LocalDate happenTime;
|
||||
|
||||
|
||||
@ -2,6 +2,7 @@ package net.lab1024.sa.admin.module.business.livelihood.controller;
|
||||
|
||||
import net.lab1024.sa.admin.module.business.livelihood.domain.form.SurveyAnswerAddForm;
|
||||
import net.lab1024.sa.admin.module.business.livelihood.domain.form.SurveyAnswerQueryForm;
|
||||
import net.lab1024.sa.admin.module.business.livelihood.domain.form.SurveyAnswerSubmit;
|
||||
import net.lab1024.sa.admin.module.business.livelihood.domain.form.SurveyAnswerUpdateForm;
|
||||
import net.lab1024.sa.admin.module.business.livelihood.domain.vo.SurveyAnswerVO;
|
||||
import net.lab1024.sa.admin.module.business.livelihood.service.SurveyAnswerService;
|
||||
@ -64,4 +65,10 @@ public class SurveyAnswerController {
|
||||
public ResponseDTO<String> batchDelete(@PathVariable Long answerId) {
|
||||
return surveyAnswerService.delete(answerId);
|
||||
}
|
||||
|
||||
@Operation(summary = "提交 @author pengjie")
|
||||
@PostMapping("/surveyAnswer/submit")
|
||||
public ResponseDTO<String> submit(@RequestBody @Valid SurveyAnswerSubmit surveyAnswerSubmit) {
|
||||
return surveyAnswerService.submit(surveyAnswerSubmit);
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,29 @@
|
||||
package net.lab1024.sa.admin.module.business.livelihood.domain.form;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import net.lab1024.sa.admin.module.business.livelihood.domain.entity.SurveyOptionEntity;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 民意调研问题提交
|
||||
*
|
||||
* @Author pengjie
|
||||
* @Date 2025-08-04 16:28:17
|
||||
* @Copyright jxj
|
||||
*/
|
||||
|
||||
@Data
|
||||
public class SurveyAnswerQuestionSubmit {
|
||||
|
||||
@Schema(description = "民意调研问题ID")
|
||||
private Long questionId;
|
||||
|
||||
@Schema(description = "题目类型(1:单选;2:多选;3:简答)")
|
||||
private Integer type;
|
||||
|
||||
@Schema(description = "选项,多选逗号隔开")
|
||||
private String options;
|
||||
}
|
||||
@ -0,0 +1,25 @@
|
||||
package net.lab1024.sa.admin.module.business.livelihood.domain.form;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import net.lab1024.sa.admin.module.business.livelihood.domain.entity.SurveyQuestionEntity;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 民意调研结果提交
|
||||
*
|
||||
* @Author pengjie
|
||||
* @Date 2025-08-02 17:25:41
|
||||
* @Copyright jxj
|
||||
*/
|
||||
|
||||
@Data
|
||||
public class SurveyAnswerSubmit {
|
||||
|
||||
@Schema(description = "民意调研ID")
|
||||
private Long surveyId;
|
||||
|
||||
@Schema(description = "民意调研问题ID")
|
||||
private List<SurveyAnswerQuestionSubmit> questionSubmitList;
|
||||
}
|
||||
@ -46,6 +46,9 @@ public class SurveyVO {
|
||||
@Schema(description = "参与人数")
|
||||
private Integer joinNum;
|
||||
|
||||
@Schema(description = "当前账号是否参与")
|
||||
private Integer joinFlag;
|
||||
|
||||
@Schema(description = "绑定的题目ID")
|
||||
private String questionId;
|
||||
|
||||
|
||||
@ -1,12 +1,14 @@
|
||||
package net.lab1024.sa.admin.module.business.livelihood.service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import net.lab1024.sa.admin.module.business.livelihood.dao.SurveyAnswerDao;
|
||||
import net.lab1024.sa.admin.module.business.livelihood.domain.entity.SurveyAnswerEntity;
|
||||
import net.lab1024.sa.admin.module.business.livelihood.domain.form.SurveyAnswerAddForm;
|
||||
import net.lab1024.sa.admin.module.business.livelihood.domain.form.SurveyAnswerQueryForm;
|
||||
import net.lab1024.sa.admin.module.business.livelihood.domain.form.SurveyAnswerUpdateForm;
|
||||
import net.lab1024.sa.admin.module.business.livelihood.domain.form.*;
|
||||
import net.lab1024.sa.admin.module.business.livelihood.domain.vo.SurveyAnswerVO;
|
||||
import net.lab1024.sa.admin.module.business.livelihood.manager.SurveyAnswerManager;
|
||||
import net.lab1024.sa.admin.module.business.livelihood.manager.SurveyManager;
|
||||
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;
|
||||
@ -32,6 +34,9 @@ public class SurveyAnswerService {
|
||||
@Resource
|
||||
private SurveyAnswerDao surveyAnswerDao;
|
||||
|
||||
@Resource
|
||||
private SurveyAnswerManager surveyAnswerManager;
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
*
|
||||
@ -93,4 +98,25 @@ public class SurveyAnswerService {
|
||||
surveyAnswerDao.deleteById(answerId);
|
||||
return ResponseDTO.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* 提交
|
||||
*/
|
||||
public ResponseDTO<String> submit(SurveyAnswerSubmit surveyAnswerSubmit) {
|
||||
RequestUser requestUserId = SmartRequestUtil.getRequestUser();
|
||||
List<SurveyAnswerEntity> list = new ArrayList<>();
|
||||
List<SurveyAnswerQuestionSubmit> questionSubmitList = surveyAnswerSubmit.getQuestionSubmitList();
|
||||
for (SurveyAnswerQuestionSubmit surveyAnswerQuestionSubmit : questionSubmitList) {
|
||||
SurveyAnswerEntity surveyAnswerEntity = new SurveyAnswerEntity();
|
||||
surveyAnswerEntity.setSurveyId(surveyAnswerSubmit.getSurveyId());
|
||||
surveyAnswerEntity.setSurveyQuestionId(surveyAnswerQuestionSubmit.getQuestionId());
|
||||
surveyAnswerEntity.setSurveyOptionId(surveyAnswerQuestionSubmit.getOptions());
|
||||
surveyAnswerEntity.setAnswerPersonId(requestUserId.getUserId());
|
||||
surveyAnswerEntity.setType(requestUserId.getType() == 4 ? 2 : 1);
|
||||
surveyAnswerEntity.setCreateBy(requestUserId.getUserId().toString());
|
||||
list.add(surveyAnswerEntity);
|
||||
}
|
||||
surveyAnswerManager.saveBatch(list);
|
||||
return ResponseDTO.ok();
|
||||
}
|
||||
}
|
||||
|
||||
@ -196,17 +196,17 @@ public class SurveyService {
|
||||
for (SurveyAnswerQuestionEntity surveyAnswerQuestionEntity : questionList) {
|
||||
List<SurveyAnswerOptionEntity> collect = optionList.stream().filter(o -> o.getQuestionId().toString()
|
||||
.equals(surveyAnswerQuestionEntity.getQuestionId().toString())).collect(Collectors.toList());
|
||||
List<SurveyAnswerEntity> surveyAnswerList = answerList.stream().filter(a ->
|
||||
a.getSurveyQuestionId().toString().equals(surveyAnswerQuestionEntity.getQuestionId().toString())).collect(Collectors.toList());
|
||||
if (surveyAnswerQuestionEntity.getType() == 3) {
|
||||
List<SurveyAnswerEntity> surveyAnswerList = answerList.stream().filter(a ->
|
||||
a.getSurveyQuestionId().toString().equals(surveyAnswerQuestionEntity.getQuestionId().toString())).collect(Collectors.toList());
|
||||
surveyAnswerQuestionEntity.setAnswerList(surveyAnswerList.stream().map(s -> s.getSurveyOptionId()).collect(Collectors.toList()));
|
||||
} else {
|
||||
for (SurveyAnswerOptionEntity surveyAnswerOptionEntity : collect) {
|
||||
List<SurveyAnswerEntity> surveyAnswerList = answerList.stream().filter(a -> a.getSurveyQuestionId().toString().equals(surveyAnswerQuestionEntity.getQuestionId().toString())
|
||||
&& Arrays.asList(a.getSurveyOptionId().split(",")).contains(surveyAnswerOptionEntity.getOptionId().toString())).collect(Collectors.toList());
|
||||
surveyAnswerOptionEntity.setHitNum(surveyAnswerList.size());
|
||||
surveyAnswerOptionEntity.setRatio(surveyDetailVO.getTotal() == 0 ? new BigDecimal(0) :
|
||||
new BigDecimal(surveyAnswerList.size()).divide(new BigDecimal(surveyDetailVO.getTotal()), 2, BigDecimal.ROUND_HALF_UP)
|
||||
List<SurveyAnswerEntity> surveyAnswerHitList = surveyAnswerList.stream().filter(a ->
|
||||
Arrays.asList(a.getSurveyOptionId().split(",")).contains(surveyAnswerOptionEntity.getOptionId().toString())).collect(Collectors.toList());
|
||||
surveyAnswerOptionEntity.setHitNum(surveyAnswerHitList.size());
|
||||
surveyAnswerOptionEntity.setRatio(surveyAnswerList.size() == 0 ? new BigDecimal(0) :
|
||||
new BigDecimal(surveyAnswerHitList.size()).divide(new BigDecimal(surveyAnswerList.size()), 2, BigDecimal.ROUND_HALF_UP)
|
||||
.multiply(new BigDecimal(100)));
|
||||
}
|
||||
surveyAnswerQuestionEntity.setAnswerOptionList(collect);
|
||||
@ -218,9 +218,12 @@ public class SurveyService {
|
||||
}
|
||||
|
||||
private void build(List<SurveyVO> list) {
|
||||
String string = SmartRequestUtil.getRequestUserId().toString();
|
||||
for (SurveyVO surveyVO : list) {
|
||||
surveyVO.setJoinNum((int) surveyAnswerManager.count(Wrappers.<SurveyAnswerEntity>lambdaQuery()
|
||||
.eq(SurveyAnswerEntity::getSurveyId, surveyVO.getSurveyId())));
|
||||
List<SurveyAnswerEntity> answerEntityList = surveyAnswerManager.list(Wrappers.<SurveyAnswerEntity>lambdaQuery()
|
||||
.eq(SurveyAnswerEntity::getSurveyId, surveyVO.getSurveyId()));
|
||||
surveyVO.setJoinNum((int) answerEntityList.stream().map(s -> s.getAnswerPersonId()).distinct().count());
|
||||
surveyVO.setJoinFlag(answerEntityList.stream().filter(a -> a.getAnswerPersonId().toString().equals(string)).count() > 0 ? 1 : 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -3,6 +3,9 @@ package net.lab1024.sa.admin.module.business.village.controller;
|
||||
import net.lab1024.sa.admin.module.business.village.domain.form.GroupAddForm;
|
||||
import net.lab1024.sa.admin.module.business.village.domain.form.GroupQueryForm;
|
||||
import net.lab1024.sa.admin.module.business.village.domain.form.GroupUpdateForm;
|
||||
import net.lab1024.sa.admin.module.business.village.domain.vo.GridDetailVO;
|
||||
import net.lab1024.sa.admin.module.business.village.domain.vo.GridTreeVO;
|
||||
import net.lab1024.sa.admin.module.business.village.domain.vo.GroupDetailVO;
|
||||
import net.lab1024.sa.admin.module.business.village.domain.vo.GroupVO;
|
||||
import net.lab1024.sa.admin.module.business.village.service.GroupService;
|
||||
import net.lab1024.sa.base.common.domain.ValidateList;
|
||||
@ -77,4 +80,18 @@ public class GroupController {
|
||||
public ResponseDTO<String> batchDelete(@RequestBody ValidateList<Long> idList) {
|
||||
return groupService.batchDelete(idList);
|
||||
}
|
||||
|
||||
@Operation(summary = "单个查询 @author pengjie")
|
||||
@GetMapping("/group/queryById/{groupId}")
|
||||
@SaCheckPermission("group:query")
|
||||
public ResponseDTO<GroupDetailVO> queryById(@PathVariable Long groupId) {
|
||||
return groupService.queryById(groupId);
|
||||
}
|
||||
|
||||
@Operation(summary = "根据当前账号查询区域小组树 @author pengjie")
|
||||
@GetMapping("/group/queryGroupTree")
|
||||
@SaCheckPermission("group:query")
|
||||
public ResponseDTO<List<GridTreeVO>> queryGroupTree() {
|
||||
return groupService.queryGroupTree();
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package net.lab1024.sa.admin.module.business.village.controller;
|
||||
|
||||
import net.lab1024.sa.admin.module.business.village.domain.entity.NewsEntity;
|
||||
import net.lab1024.sa.admin.module.business.village.domain.form.NewsAddForm;
|
||||
import net.lab1024.sa.admin.module.business.village.domain.form.NewsQueryForm;
|
||||
import net.lab1024.sa.admin.module.business.village.domain.form.NewsUpdateForm;
|
||||
@ -70,4 +71,11 @@ public class NewsController {
|
||||
public ResponseDTO<String> batchDelete(@PathVariable Long id) {
|
||||
return newsService.delete(id);
|
||||
}
|
||||
|
||||
@Operation(summary = "单个查询 @author pengjie")
|
||||
@GetMapping("/news/queryById/{id}")
|
||||
@SaCheckPermission("news:query")
|
||||
public ResponseDTO<NewsEntity> queryById(@PathVariable Long id) {
|
||||
return newsService.queryById(id);
|
||||
}
|
||||
}
|
||||
|
||||
@ -3,6 +3,8 @@ package net.lab1024.sa.admin.module.business.village.dao;
|
||||
import java.util.List;
|
||||
import net.lab1024.sa.admin.module.business.village.domain.entity.GroupEntity;
|
||||
import net.lab1024.sa.admin.module.business.village.domain.form.GroupQueryForm;
|
||||
import net.lab1024.sa.admin.module.business.village.domain.vo.GridDetailVO;
|
||||
import net.lab1024.sa.admin.module.business.village.domain.vo.GroupDetailVO;
|
||||
import net.lab1024.sa.admin.module.business.village.domain.vo.GroupVO;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
@ -33,4 +35,5 @@ public interface GroupDao extends BaseMapper<GroupEntity> {
|
||||
*/
|
||||
List<GroupVO> queryPage(Page page, @Param("queryForm") GroupQueryForm queryForm);
|
||||
|
||||
GroupDetailVO queryById(@Param("id") Long id);
|
||||
}
|
||||
|
||||
@ -4,6 +4,8 @@ import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import java.time.LocalDateTime;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
|
||||
/**
|
||||
* 村民信息 新建表单
|
||||
*
|
||||
@ -36,6 +38,7 @@ public class VillagerAddForm {
|
||||
@Schema(description = "名族")
|
||||
private String nation;
|
||||
|
||||
@NotBlank(message = "联系方式不能为空")
|
||||
@Schema(description = "联系方式")
|
||||
private String phone;
|
||||
|
||||
|
||||
@ -2,6 +2,7 @@ package net.lab1024.sa.admin.module.business.village.domain.form;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import java.time.LocalDateTime;
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import lombok.Data;
|
||||
|
||||
@ -40,6 +41,7 @@ public class VillagerUpdateForm {
|
||||
@Schema(description = "名族")
|
||||
private String nation;
|
||||
|
||||
@NotBlank(message = "联系方式不能为空")
|
||||
@Schema(description = "联系方式")
|
||||
private String phone;
|
||||
|
||||
|
||||
@ -19,14 +19,20 @@ import java.util.List;
|
||||
public class GridTreeVO{
|
||||
|
||||
@Schema(description = "ID")
|
||||
private Long id;
|
||||
private String id;
|
||||
|
||||
@Schema(description = "父级ID")
|
||||
private String parentId;
|
||||
|
||||
@Schema(description = "名称")
|
||||
private String name;
|
||||
|
||||
@Schema(description = "类型1:组织;2:网格")
|
||||
@Schema(description = "类型1:组织;2:网格/小组")
|
||||
private Integer type;
|
||||
|
||||
@Schema(description = "层级")
|
||||
private String level;
|
||||
|
||||
@Schema(description = "子级")
|
||||
private List<GridTreeVO> chidrenList;
|
||||
}
|
||||
|
||||
@ -0,0 +1,68 @@
|
||||
package net.lab1024.sa.admin.module.business.village.domain.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import net.lab1024.sa.admin.module.business.village.domain.entity.EnterpriseEntity;
|
||||
import net.lab1024.sa.admin.module.business.village.domain.entity.VillagerEntity;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 小组信息 详细VO
|
||||
*
|
||||
* @Author pengjie
|
||||
* @Date 2025-02-18 09:55:32
|
||||
* @Copyright jxj
|
||||
*/
|
||||
|
||||
@Data
|
||||
public class GroupDetailVO extends GroupVO{
|
||||
|
||||
@Schema(description = "总人口")
|
||||
private Integer villagerTotal;
|
||||
|
||||
@Schema(description = "男性")
|
||||
private Integer man;
|
||||
|
||||
@Schema(description = "女性")
|
||||
private Integer woman;
|
||||
|
||||
@Schema(description = "常住人口")
|
||||
private Integer permanentVillager;
|
||||
|
||||
@Schema(description = "流动人口")
|
||||
private Integer flowVillager;
|
||||
|
||||
@Schema(description = "外出人口")
|
||||
private Integer goOutVillager;
|
||||
|
||||
@Schema(description = "空挂人口")
|
||||
private Integer EmptyHangingVillager;
|
||||
|
||||
@Schema(description = "楼房类型数量统计")
|
||||
private List<BuildTypeStatVO> buildTypeStatVOList;
|
||||
|
||||
@Schema(description = "实有企业")
|
||||
private List<EnterpriseEntity> enterpriseEntityList;
|
||||
|
||||
@Schema(description = "楼房数量")
|
||||
private Integer floorNum;
|
||||
|
||||
@Schema(description = "房屋数量")
|
||||
private Integer homeNum;
|
||||
|
||||
@Schema(description = "院落数量")
|
||||
private Integer courtyardNum;
|
||||
|
||||
@Schema(description = "户籍数量")
|
||||
private Integer householdRegisterNum;
|
||||
|
||||
@Schema(description = "农场数量")
|
||||
private Integer farmNum;
|
||||
|
||||
@Schema(description = "企业数量")
|
||||
private Integer enterpriseNum;
|
||||
|
||||
@Schema(description = "事件数量")
|
||||
private Integer eventNum;
|
||||
}
|
||||
@ -28,6 +28,12 @@ public class GroupVO {
|
||||
@Schema(description = "组长")
|
||||
private String groupMaster;
|
||||
|
||||
@Schema(description = "网格长")
|
||||
private String gridMasterName;
|
||||
|
||||
@Schema(description = "网格长联系方式")
|
||||
private String gridMasterPhone;
|
||||
|
||||
@Schema(description = "联系方式")
|
||||
private String phone;
|
||||
|
||||
|
||||
@ -5,6 +5,7 @@ import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import net.lab1024.sa.admin.module.business.event.domain.entity.EventEntity;
|
||||
import net.lab1024.sa.admin.module.business.event.manager.EventManager;
|
||||
@ -156,10 +157,12 @@ public class GridService {
|
||||
}
|
||||
GridDetailVO gridDetailVO = gridDao.queryById(gridId);
|
||||
List<VillagerEntity> villagerVOList = villagerDao.selectList(Wrappers.<VillagerEntity>lambdaQuery().eq(VillagerEntity::getGridId, gridId));
|
||||
List<String> list = Arrays.asList(gridDetailVO.getGridOperator().split(","));
|
||||
List<VillagerEntity> gridOperatorList = villagerVOList.stream().filter(v -> list.contains(v.getVillagerId().toString())).collect(Collectors.toList());
|
||||
gridDetailVO.setGridOperatorName(gridOperatorList.stream().map(g -> g.getVillagerId().toString()).collect(Collectors.joining(",")));
|
||||
gridDetailVO.setGridOperatorList(gridOperatorList);
|
||||
if (StringUtils.isNotBlank(gridDetailVO.getGridOperator())) {
|
||||
List<String> list = Arrays.asList(gridDetailVO.getGridOperator().split(","));
|
||||
List<VillagerEntity> gridOperatorList = villagerVOList.stream().filter(v -> list.contains(v.getVillagerId().toString())).collect(Collectors.toList());
|
||||
gridDetailVO.setGridOperatorName(gridOperatorList.stream().map(g -> g.getName().toString()).collect(Collectors.joining(",")));
|
||||
gridDetailVO.setGridOperatorList(gridOperatorList);
|
||||
}
|
||||
gridDetailVO.setVillagerTotal(villagerVOList.size());
|
||||
gridDetailVO.setMan((int) villagerVOList.stream().filter(v -> v.getSex() == 1).count());
|
||||
gridDetailVO.setWoman((int) villagerVOList.stream().filter(v -> v.getSex() == 2).count());
|
||||
@ -204,33 +207,68 @@ public class GridService {
|
||||
gridDetailVO.setFarmNum((int) farmManager.count(Wrappers.<FarmEntity>lambdaQuery().eq(FarmEntity::getGridId, gridId)));
|
||||
gridDetailVO.setEnterpriseNum(enterpriseEntityList.size());
|
||||
gridDetailVO.setEventNum((int) eventManager.count(Wrappers.<EventEntity>lambdaQuery().eq(EventEntity::getGridId, gridId)));
|
||||
return ResponseDTO.ok();
|
||||
return ResponseDTO.ok(gridDetailVO);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据当前账号查询区域网格树
|
||||
*/
|
||||
public ResponseDTO<List<GridTreeVO>> queryGridTree() {
|
||||
List<GridTreeVO> list = new ArrayList<>();
|
||||
RequestUser requestUser = SmartRequestUtil.getRequestUser();
|
||||
Integer villageId = requestUser.getVillageId();
|
||||
List<VillageEntity> parentList = villageManager.list(Wrappers.<VillageEntity>lambdaQuery()
|
||||
List<VillageEntity> parents = villageManager.list(Wrappers.<VillageEntity>lambdaQuery()
|
||||
.eq(VillageEntity::getState, 1)
|
||||
.eq(VillageEntity::getId, villageId));
|
||||
List<VillageEntity> allList = new ArrayList<>();
|
||||
allList.addAll(parentList);
|
||||
for (VillageEntity villageEntity : parentList) {
|
||||
allList.addAll(villageManager.list(Wrappers.<VillageEntity>lambdaQuery().apply("find_in_set({0}, ancestors)", villageEntity.getId())));
|
||||
List<GridTreeVO> allList = new ArrayList<>();
|
||||
List<GridTreeVO> parentList = new ArrayList<>();
|
||||
for (VillageEntity villageEntity : parents) {
|
||||
GridTreeVO gridTreeVO = new GridTreeVO();
|
||||
gridTreeVO.setId(villageEntity.getId().toString());
|
||||
gridTreeVO.setParentId(villageEntity.getParentId().toString());
|
||||
gridTreeVO.setName(villageEntity.getName());
|
||||
gridTreeVO.setType(1);
|
||||
allList.add(gridTreeVO);
|
||||
parentList.add(gridTreeVO);
|
||||
}
|
||||
getVillageChildren(parentList, allList);
|
||||
return ResponseDTO.ok(list);
|
||||
for (VillageEntity villageEntity : parents) {
|
||||
List<VillageEntity> villageEntityList = villageManager.list(Wrappers.<VillageEntity>lambdaQuery().apply("find_in_set({0}, ancestors)", villageEntity.getId()));
|
||||
for (VillageEntity villageEntity1 : villageEntityList) {
|
||||
GridTreeVO gridTreeVO = new GridTreeVO();
|
||||
gridTreeVO.setId(villageEntity1.getId().toString());
|
||||
gridTreeVO.setParentId(villageEntity1.getParentId().toString());
|
||||
gridTreeVO.setName(villageEntity1.getName());
|
||||
gridTreeVO.setType(1);
|
||||
allList.add(gridTreeVO);
|
||||
}
|
||||
}
|
||||
List<GridEntity> gridEntityList = gridDao.selectList(null);
|
||||
getVillageChildren(parentList, allList, gridEntityList);
|
||||
return ResponseDTO.ok(parentList);
|
||||
}
|
||||
|
||||
private void getVillageChildren(List<VillageEntity> parentList, List<VillageEntity> allList) {
|
||||
for (VillageEntity village : parentList) {
|
||||
List<VillageEntity> collect = allList.stream().filter(a -> a.getParentId().toString().equals(village.getId().toString())).collect(Collectors.toList());
|
||||
getVillageChildren(collect, allList);
|
||||
village.setVillageList(collect);
|
||||
private void getVillageChildren(List<GridTreeVO> parentList, List<GridTreeVO> allList, List<GridEntity> gridEntityList) {
|
||||
for (GridTreeVO gridTreeVO : parentList) {
|
||||
List<GridTreeVO> collect = allList.stream().filter(a -> a.getParentId().toString().equals(gridTreeVO.getId().toString())).collect(Collectors.toList());
|
||||
if (collect.size() > 0) {
|
||||
getVillageChildren(collect, allList, gridEntityList);
|
||||
gridTreeVO.setChidrenList(collect);
|
||||
} else {
|
||||
buildGrid(gridTreeVO, gridEntityList);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void buildGrid(GridTreeVO gridTreeVO, List<GridEntity> gridEntityList) {
|
||||
List<GridEntity> collect = gridEntityList.stream().filter(g -> g.getVillageId() != null && g.getVillageId().toString().equals(gridTreeVO.getId())).collect(Collectors.toList());
|
||||
List<GridTreeVO> children = new ArrayList<>();
|
||||
for (GridEntity gridEntity : collect) {
|
||||
GridTreeVO gridTreeVO1 = new GridTreeVO();
|
||||
gridTreeVO1.setId(gridEntity.getGridId().toString());
|
||||
gridTreeVO1.setParentId(gridTreeVO.getId());
|
||||
gridTreeVO1.setName(gridEntity.getName());
|
||||
gridTreeVO1.setType(2);
|
||||
children.add(gridTreeVO1);
|
||||
}
|
||||
gridTreeVO.setChidrenList(children);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,12 +1,26 @@
|
||||
package net.lab1024.sa.admin.module.business.village.service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import net.lab1024.sa.admin.module.business.village.dao.GroupDao;
|
||||
import net.lab1024.sa.admin.module.business.village.domain.entity.GroupEntity;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import net.lab1024.sa.admin.module.business.event.domain.entity.EventEntity;
|
||||
import net.lab1024.sa.admin.module.business.event.manager.EventManager;
|
||||
import net.lab1024.sa.admin.module.business.village.dao.*;
|
||||
import net.lab1024.sa.admin.module.business.village.domain.entity.*;
|
||||
import net.lab1024.sa.admin.module.business.village.domain.form.GroupAddForm;
|
||||
import net.lab1024.sa.admin.module.business.village.domain.form.GroupQueryForm;
|
||||
import net.lab1024.sa.admin.module.business.village.domain.form.GroupUpdateForm;
|
||||
import net.lab1024.sa.admin.module.business.village.domain.vo.GroupVO;
|
||||
import net.lab1024.sa.admin.module.business.village.domain.vo.*;
|
||||
import net.lab1024.sa.admin.module.business.village.manager.CourtyardManager;
|
||||
import net.lab1024.sa.admin.module.business.village.manager.FarmManager;
|
||||
import net.lab1024.sa.admin.module.business.village.manager.HomeManager;
|
||||
import net.lab1024.sa.admin.module.business.village.manager.HouseholdRegisterManager;
|
||||
import net.lab1024.sa.admin.module.system.village.domain.entity.VillageEntity;
|
||||
import net.lab1024.sa.admin.module.system.village.manager.VillageManager;
|
||||
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;
|
||||
@ -32,6 +46,36 @@ public class GroupService {
|
||||
@Resource
|
||||
private GroupDao groupDao;
|
||||
|
||||
@Resource
|
||||
private VillagerDao villagerDao;
|
||||
|
||||
@Resource
|
||||
private EnterpriseDao enterpriseDao;
|
||||
|
||||
@Resource
|
||||
private BuildTypeDao buildTypeDao;
|
||||
|
||||
@Resource
|
||||
private FloorDao floorDao;
|
||||
|
||||
@Resource
|
||||
private HomeManager homeManager;
|
||||
|
||||
@Resource
|
||||
private CourtyardManager courtyardManager;
|
||||
|
||||
@Resource
|
||||
private HouseholdRegisterManager householdRegisterManager;
|
||||
|
||||
@Resource
|
||||
private FarmManager farmManager;
|
||||
|
||||
@Resource
|
||||
private EventManager eventManager;
|
||||
|
||||
@Resource
|
||||
private VillageManager villageManager;
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
*
|
||||
@ -103,4 +147,126 @@ public class GroupService {
|
||||
groupDao.deleteById(groupId);
|
||||
return ResponseDTO.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* 单个查询
|
||||
*/
|
||||
public ResponseDTO<GroupDetailVO> queryById(Long groupId) {
|
||||
if (null == groupId){
|
||||
return ResponseDTO.ok();
|
||||
}
|
||||
GroupDetailVO groupDetailVO = groupDao.queryById(groupId);
|
||||
List<VillagerEntity> villagerVOList = villagerDao.selectList(Wrappers.<VillagerEntity>lambdaQuery().eq(VillagerEntity::getGroupId, groupId));
|
||||
// List<String> list = Arrays.asList(groupDetailVO.getGridOperator().split(","));
|
||||
// List<VillagerEntity> gridOperatorList = villagerVOList.stream().filter(v -> list.contains(v.getVillagerId().toString())).collect(Collectors.toList());
|
||||
// gridDetailVO.setGridOperatorName(gridOperatorList.stream().map(g -> g.getVillagerId().toString()).collect(Collectors.joining(",")));
|
||||
// gridDetailVO.setGridOperatorList(gridOperatorList);
|
||||
groupDetailVO.setVillagerTotal(villagerVOList.size());
|
||||
groupDetailVO.setMan((int) villagerVOList.stream().filter(v -> v.getSex() == 1).count());
|
||||
groupDetailVO.setWoman((int) villagerVOList.stream().filter(v -> v.getSex() == 2).count());
|
||||
List<BuildTypeEntity> buildTypeEntityList = buildTypeDao.selectList(null);
|
||||
List<FloorEntity> floorEntityList = floorDao.selectList(Wrappers.<FloorEntity>lambdaQuery().eq(FloorEntity::getGridId, groupId));
|
||||
List<BuildTypeStatVO> statVOList = new ArrayList<>();
|
||||
for (BuildTypeEntity buildTypeEntity : buildTypeEntityList) {
|
||||
BuildTypeStatVO buildTypeStatVO = new BuildTypeStatVO();
|
||||
buildTypeStatVO.setName(buildTypeEntity.getName());
|
||||
buildTypeStatVO.setNum((int) floorEntityList.stream().filter(f -> f.getBuildTypeId().toString().equals(buildTypeEntity.getBuildTypeId().toString())).count());
|
||||
statVOList.add(buildTypeStatVO);
|
||||
}
|
||||
groupDetailVO.setBuildTypeStatVOList(statVOList);
|
||||
|
||||
List<HomeEntity> homeEntityList = homeManager.list(Wrappers.<HomeEntity>lambdaQuery().eq(HomeEntity::getGridId, groupId));
|
||||
groupDetailVO.setHomeNum(homeEntityList.size());
|
||||
List<CourtyardEntity> courtyardEntityList = courtyardManager.list(Wrappers.<CourtyardEntity>lambdaQuery().eq(CourtyardEntity::getGridId, groupId));
|
||||
groupDetailVO.setCourtyardNum(courtyardEntityList.size());
|
||||
List<EnterpriseEntity> enterpriseEntityList = new ArrayList<>();
|
||||
if (homeEntityList.size() > 0) {
|
||||
enterpriseEntityList.addAll(enterpriseDao.selectList(Wrappers.<EnterpriseEntity>lambdaQuery().eq(EnterpriseEntity::getPermanentType, 1)
|
||||
.in(EnterpriseEntity::getPermanentId, homeEntityList.stream().map(h -> h.getHomeId()).collect(Collectors.toList()))));
|
||||
}
|
||||
if (courtyardEntityList.size() > 0) {
|
||||
enterpriseEntityList.addAll(enterpriseDao.selectList(Wrappers.<EnterpriseEntity>lambdaQuery().eq(EnterpriseEntity::getPermanentType, 2)
|
||||
.in(EnterpriseEntity::getPermanentId, courtyardEntityList.stream().map(c -> c.getCourtyardId()).collect(Collectors.toList()))));
|
||||
}
|
||||
groupDetailVO.setEnterpriseEntityList(enterpriseEntityList);
|
||||
groupDetailVO.setFloorNum(floorEntityList.size());
|
||||
int num = 0;
|
||||
if (homeEntityList.size() > 0) {
|
||||
num = num + (int)householdRegisterManager.count(Wrappers.<HouseholdRegisterEntity>lambdaQuery()
|
||||
.in(HouseholdRegisterEntity::getPermanentId, homeEntityList.stream().map(h -> h.getHomeId()).collect(Collectors.toList()))
|
||||
.eq(HouseholdRegisterEntity::getPermanentType, 1));
|
||||
}
|
||||
if (courtyardEntityList.size() > 0) {
|
||||
num = num + (int)householdRegisterManager.count(Wrappers.<HouseholdRegisterEntity>lambdaQuery()
|
||||
.in(HouseholdRegisterEntity::getPermanentId, courtyardEntityList.stream().map(c -> c.getCourtyardId()).collect(Collectors.toList()))
|
||||
.eq(HouseholdRegisterEntity::getPermanentType, 2));
|
||||
}
|
||||
groupDetailVO.setHouseholdRegisterNum(num);
|
||||
groupDetailVO.setFarmNum((int) farmManager.count(Wrappers.<FarmEntity>lambdaQuery().eq(FarmEntity::getGridId, groupId)));
|
||||
groupDetailVO.setEnterpriseNum(enterpriseEntityList.size());
|
||||
groupDetailVO.setEventNum((int) eventManager.count(Wrappers.<EventEntity>lambdaQuery().eq(EventEntity::getGridId, groupId)));
|
||||
return ResponseDTO.ok(groupDetailVO);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据当前账号查询区域网格树
|
||||
*/
|
||||
public ResponseDTO<List<GridTreeVO>> queryGroupTree() {
|
||||
RequestUser requestUser = SmartRequestUtil.getRequestUser();
|
||||
Integer villageId = requestUser.getVillageId();
|
||||
List<VillageEntity> parents = villageManager.list(Wrappers.<VillageEntity>lambdaQuery()
|
||||
.eq(VillageEntity::getState, 1)
|
||||
.eq(VillageEntity::getId, villageId));
|
||||
List<GridTreeVO> allList = new ArrayList<>();
|
||||
List<GridTreeVO> parentList = new ArrayList<>();
|
||||
for (VillageEntity villageEntity : parents) {
|
||||
GridTreeVO gridTreeVO = new GridTreeVO();
|
||||
gridTreeVO.setId(villageEntity.getId().toString());
|
||||
gridTreeVO.setParentId(villageEntity.getParentId().toString());
|
||||
gridTreeVO.setName(villageEntity.getName());
|
||||
gridTreeVO.setType(1);
|
||||
allList.add(gridTreeVO);
|
||||
parentList.add(gridTreeVO);
|
||||
}
|
||||
for (VillageEntity villageEntity : parents) {
|
||||
List<VillageEntity> villageEntityList = villageManager.list(Wrappers.<VillageEntity>lambdaQuery().apply("find_in_set({0}, ancestors)", villageEntity.getId()));
|
||||
for (VillageEntity villageEntity1 : villageEntityList) {
|
||||
GridTreeVO gridTreeVO = new GridTreeVO();
|
||||
gridTreeVO.setId(villageEntity1.getId().toString());
|
||||
gridTreeVO.setParentId(villageEntity1.getParentId().toString());
|
||||
gridTreeVO.setName(villageEntity1.getName());
|
||||
gridTreeVO.setType(1);
|
||||
allList.add(gridTreeVO);
|
||||
}
|
||||
}
|
||||
List<GroupEntity> groupEntityList = groupDao.selectList(null);
|
||||
getVillageChildren(parentList, allList, groupEntityList);
|
||||
return ResponseDTO.ok(parentList);
|
||||
}
|
||||
|
||||
private void getVillageChildren(List<GridTreeVO> parentList, List<GridTreeVO> allList, List<GroupEntity> gridEntityList) {
|
||||
for (GridTreeVO gridTreeVO : parentList) {
|
||||
List<GridTreeVO> collect = allList.stream().filter(a -> a.getParentId().toString().equals(gridTreeVO.getId().toString())).collect(Collectors.toList());
|
||||
if (collect.size() > 0) {
|
||||
getVillageChildren(collect, allList, gridEntityList);
|
||||
gridTreeVO.setChidrenList(collect);
|
||||
} else {
|
||||
buildGrid(gridTreeVO, gridEntityList);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void buildGrid(GridTreeVO gridTreeVO, List<GroupEntity> groupEntityList) {
|
||||
List<GroupEntity> collect = groupEntityList.stream().filter(g -> g.getVillageId() != null && g.getVillageId().toString().equals(gridTreeVO.getId())).collect(Collectors.toList());
|
||||
List<GridTreeVO> children = new ArrayList<>();
|
||||
for (GroupEntity groupEntity : collect) {
|
||||
GridTreeVO gridTreeVO1 = new GridTreeVO();
|
||||
gridTreeVO1.setId(groupEntity.getGroupId().toString());
|
||||
gridTreeVO1.setParentId(gridTreeVO.getId());
|
||||
gridTreeVO1.setName(groupEntity.getName());
|
||||
gridTreeVO1.setType(2);
|
||||
children.add(gridTreeVO1);
|
||||
}
|
||||
gridTreeVO.setChidrenList(children);
|
||||
}
|
||||
}
|
||||
|
||||
@ -94,4 +94,14 @@ public class NewsService {
|
||||
newsDao.deleteById(id);
|
||||
return ResponseDTO.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* 单个查询
|
||||
*/
|
||||
public ResponseDTO<NewsEntity> queryById(Long id) {
|
||||
if (null == id){
|
||||
return ResponseDTO.ok();
|
||||
}
|
||||
return ResponseDTO.ok(newsDao.selectById(id));
|
||||
}
|
||||
}
|
||||
|
||||
@ -19,6 +19,7 @@ import net.lab1024.sa.admin.module.business.village.domain.vo.*;
|
||||
import net.lab1024.sa.admin.module.business.village.manager.*;
|
||||
import net.lab1024.sa.admin.module.system.village.domain.entity.VillageEntity;
|
||||
import net.lab1024.sa.admin.util.ExcelUtils;
|
||||
import net.lab1024.sa.base.common.code.UserErrorCode;
|
||||
import net.lab1024.sa.base.common.domain.PageResult;
|
||||
import net.lab1024.sa.base.common.domain.ResponseDTO;
|
||||
import net.lab1024.sa.base.common.exception.BusinessException;
|
||||
@ -137,6 +138,10 @@ public class VillagerService {
|
||||
* 添加
|
||||
*/
|
||||
public ResponseDTO<String> add(VillagerAddForm addForm) {
|
||||
VillagerEntity exist = villagerDao.selectOne(Wrappers.<VillagerEntity>lambdaQuery().eq(VillagerEntity::getPhone, addForm.getPhone()));
|
||||
if (exist != null) {
|
||||
return ResponseDTO.error(UserErrorCode.ALREADY_EXIST, "手机号码已存在");
|
||||
}
|
||||
VillagerEntity villagerEntity = SmartBeanUtil.copy(addForm, VillagerEntity.class);
|
||||
villagerEntity.setCreateBy(SmartRequestUtil.getRequestUser().getUserId().toString());
|
||||
villagerDao.insert(villagerEntity);
|
||||
@ -158,6 +163,12 @@ public class VillagerService {
|
||||
* @return
|
||||
*/
|
||||
public ResponseDTO<String> update(VillagerUpdateForm updateForm) {
|
||||
VillagerEntity exist = villagerDao.selectOne(Wrappers.<VillagerEntity>lambdaQuery()
|
||||
.eq(VillagerEntity::getPhone, updateForm.getPhone())
|
||||
.ne(VillagerEntity::getVillagerId, updateForm.getVillagerId()));
|
||||
if (exist != null) {
|
||||
return ResponseDTO.error(UserErrorCode.ALREADY_EXIST, "手机号码已存在");
|
||||
}
|
||||
VillagerEntity villagerEntity = SmartBeanUtil.copy(updateForm, VillagerEntity.class);
|
||||
villagerDao.updateById(villagerEntity);
|
||||
LambdaUpdateWrapper<HomeVillagerEntity> wrapper = Wrappers.<HomeVillagerEntity>lambdaUpdate();
|
||||
|
||||
@ -240,6 +240,7 @@ public class EmployeeService {
|
||||
entity.setGender(villager.getSex());
|
||||
entity.setPhone(phone);
|
||||
entity.setDeletedFlag(Boolean.FALSE);
|
||||
entity.setDisabledFlag(Boolean.FALSE);
|
||||
entity.setType(4);
|
||||
List<Long> roleIds = new ArrayList<>();
|
||||
roleIds.add(role.getRoleId());
|
||||
|
||||
@ -202,7 +202,7 @@ public class LoginService implements StpInterface {
|
||||
* 验证短信验证码
|
||||
*/
|
||||
public ResponseDTO<String> checkSmsCode(VillagerLoginForm villagerLoginForm) {
|
||||
String redisCaptchaKey = redisService.generateRedisKey(RedisKeyConst.Support.SMS, villagerLoginForm.getPhone());
|
||||
String redisCaptchaKey = redisService.generateRedisKey(RedisKeyConst.Support.REG_SMS, villagerLoginForm.getPhone());
|
||||
String codeCache = redisService.get(redisCaptchaKey);
|
||||
if (!villagerLoginForm.getSmsCode().equals(codeCache)) {
|
||||
return ResponseDTO.userErrorParam("验证码错误");
|
||||
@ -378,6 +378,7 @@ public class LoginService implements StpInterface {
|
||||
// 创建账号并设置默认权限
|
||||
employeeService.addVillagerEmployee(villagerLoginForm.getPhone(), villager);
|
||||
}
|
||||
employeeEntity = employeeService.getByLoginName(villagerLoginForm.getPhone() + "@4");
|
||||
// 验证账号状态
|
||||
if (employeeEntity.getDeletedFlag()) {
|
||||
saveLoginLog(employeeEntity, ip, userAgent, "账号已注销", LoginLogResultEnum.LOGIN_FAIL);
|
||||
@ -427,7 +428,7 @@ public class LoginService implements StpInterface {
|
||||
|
||||
// 设置 token
|
||||
loginResultVO.setToken(token);
|
||||
|
||||
loginResultVO.setVillageId(villager.getVillageId());
|
||||
// 清除权限缓存
|
||||
permissionCache.remove(employeeEntity.getEmployeeId());
|
||||
|
||||
|
||||
@ -39,8 +39,24 @@
|
||||
<if test="queryForm.title != null and queryForm.title != ''">
|
||||
AND INSTR(village_mail.title,#{queryForm.title})
|
||||
</if>
|
||||
<!--状态-->
|
||||
<if test="queryForm.state != null and queryForm.state != ''">
|
||||
AND village_mail.state = #{queryForm.state}
|
||||
</if>
|
||||
<!--星标-->
|
||||
<if test="queryForm.asterisk != null and queryForm.asterisk != ''">
|
||||
AND village_mail.asterisk = #{queryForm.asterisk}
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
|
||||
<!-- 单个查询 -->
|
||||
<select id="queryById" resultType="net.lab1024.sa.admin.module.business.affairs.domain.vo.VillageMailVO">
|
||||
SELECT
|
||||
<include refid="base_columns"/>
|
||||
FROM village_mail
|
||||
left join t_employee e1 on village_mail.create_by = e1.employee_id
|
||||
left join t_employee e2 on village_mail.recipient = e2.employee_id
|
||||
where village_mail.mail_id = #{id}
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
@ -6,6 +6,9 @@
|
||||
<sql id="base_columns">
|
||||
event_draft.id,
|
||||
event_draft.address,
|
||||
event_draft.address_name,
|
||||
event_draft.latitude,
|
||||
event_draft.longitude,
|
||||
event_draft.happen_time,
|
||||
event_draft.type,
|
||||
event_draft.event_desc,
|
||||
|
||||
@ -8,6 +8,7 @@
|
||||
grid.code,
|
||||
grid.name,
|
||||
grid.grid_master,
|
||||
grid.grid_operator,
|
||||
grid.color,
|
||||
grid.map_data,
|
||||
grid.create_time,
|
||||
@ -41,6 +42,6 @@
|
||||
<include refid="base_columns"/>
|
||||
FROM grid
|
||||
left join villager on grid.grid_master = villager.villager_id
|
||||
where grid_id = #{id}
|
||||
where grid.grid_id = #{id}
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
@ -14,7 +14,9 @@
|
||||
group_info.create_time,
|
||||
group_info.create_by,
|
||||
group_info.update_time,
|
||||
group_info.village_id
|
||||
group_info.village_id,
|
||||
villager.name groupMasterName,
|
||||
villager.phone groupMasterPhone
|
||||
</sql>
|
||||
|
||||
<!-- 分页查询 -->
|
||||
@ -22,6 +24,7 @@
|
||||
SELECT
|
||||
<include refid="base_columns"/>
|
||||
FROM group_info
|
||||
left join villager on group_info.group_master = villager.villager_id
|
||||
<where>
|
||||
<!--关键字查询-->
|
||||
<if test="queryForm.keywords != null and queryForm.keywords != ''">
|
||||
@ -33,5 +36,12 @@
|
||||
</where>
|
||||
</select>
|
||||
|
||||
|
||||
<!-- 单个查询 -->
|
||||
<select id="queryById" resultType="net.lab1024.sa.admin.module.business.village.domain.vo.GroupDetailVO">
|
||||
SELECT
|
||||
<include refid="base_columns"/>
|
||||
FROM group_info
|
||||
left join villager on group_info.group_master = villager.villager_id
|
||||
where group_info.group_id = #{id}
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user