wxz 3 years ago
parent
commit
30547d2846
  1. 7
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/mq/listener/listener/AuthOperationLogListener.java
  2. 2
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/service/impl/SysDictDataServiceImpl.java
  3. 4
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java
  4. 19
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/IcPartyActivityDTO.java
  5. 16
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/PartyActivityFormDTO.java
  6. 22
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/PartyActivitySignUpRecordFormDTO.java
  7. 25
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/SignUpParyActFormDTO.java
  8. 46
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/PartyActivityResDTO.java
  9. 61
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/PartyActivitySignUpRecordResDTO.java
  10. 87
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/IcPartyActivityController.java
  11. 9
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/IcActivityUnitRelationDao.java
  12. 27
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/IcPartyActivityDao.java
  13. 24
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/IcPartyActivitySignUpRecordDao.java
  14. 9
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/IcServiceItemDictDao.java
  15. 9
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/IcUserDemandRecDao.java
  16. 14
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/entity/IcPartyActivityEntity.java
  17. 54
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/entity/IcPartyActivitySignUpRecordEntity.java
  18. 13
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/excel/IcPartyActivityExcel.java
  19. 13
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/excel/IcPartyActivityImportExcel.java
  20. 7
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/IcActivityUnitRelationService.java
  21. 52
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/IcPartyActivityService.java
  22. 8
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/IcServiceItemDictService.java
  23. 11
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcActivityUnitRelationServiceImpl.java
  24. 186
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcPartyActivityServiceImpl.java
  25. 12
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcServiceItemDictServiceImpl.java
  26. 30
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcUserDemandRecServiceImpl.java
  27. 9
      epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/IcActivityUnitRelationDao.xml
  28. 92
      epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/IcPartyActivityDao.xml
  29. 40
      epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/IcPartyActivitySignUpRecordDao.xml
  30. 15
      epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/IcServiceItemDictDao.xml
  31. 20
      epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/IcUserDemandRecDao.xml
  32. BIN
      epmet-module/epmet-heart/epmet-heart-server/src/main/resources/templates/icpartyactivity_import_tem.xlsx
  33. 1
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/IcEventReplyFormDTO.java
  34. 14
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/IcEventController.java
  35. 4
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectSatisfactionDetailServiceImpl.java
  36. 5
      epmet-module/resi-mine/resi-mine-client/src/main/java/com/epmet/resi/mine/dto/result/OperListResultDTO.java
  37. 9
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CertificationAddFormDTO.java
  38. 6
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/CertificationDetailResultDTO.java
  39. 9
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/UserOperListResultDTO.java
  40. 2
      epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserBadgeCertificateRecordDao.java
  41. 35
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBadgeServiceImpl.java
  42. 14
      epmet-user/epmet-user-server/src/main/resources/mapper/UserBadgeCertificateRecordDao.xml
  43. 5
      epmet-user/epmet-user-server/src/main/resources/mapper/UserBadgeDao.xml

7
epmet-admin/epmet-admin-server/src/main/java/com/epmet/mq/listener/listener/AuthOperationLogListener.java

@ -1,6 +1,7 @@
package com.epmet.mq.listener.listener;
import com.alibaba.fastjson.JSON;
import com.epmet.auth.constants.AuthOperationConstants;
import com.epmet.auth.constants.AuthOperationEnum;
import com.epmet.commons.rocketmq.constants.MQUserPropertys;
import com.epmet.commons.rocketmq.messages.LoginMQMsg;
@ -77,7 +78,11 @@ public class AuthOperationLogListener implements MessageListenerConcurrently {
logEntity.setOperatorName(operatorInfo.getName());
logEntity.setOperatorMobile(operatorInfo.getMobile());
logEntity.setOperatingTime(msgObj.getLoginTime());
logEntity.setContent("成功登录系统");
if(AuthOperationConstants.LOGIN.equals(logEntity.getType())){
logEntity.setContent("成功登录系统");
}else{
logEntity.setContent("成功退出系统");
}
DistributedLock distributedLock = null;
RLock lock = null;

2
epmet-admin/epmet-admin-server/src/main/java/com/epmet/service/impl/SysDictDataServiceImpl.java

@ -173,7 +173,7 @@ public class SysDictDataServiceImpl extends BaseServiceImpl<SysDictDataDao, SysD
*/
@Override
public List<OptionResultDTO> getNationOption() {
String cacheKey = RedisKeys.getEducationOptions();
String cacheKey = RedisKeys.getNationOptions();
List<OptionResultDTO> cachedDatas = JSON.parseObject(redisUtils.getString(cacheKey), new TypeReference<List<OptionResultDTO>>(){});
if (cachedDatas != null) {
return cachedDatas;

4
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java

@ -1019,6 +1019,10 @@ public class RedisKeys {
return rootPrefix.concat("icform:options:education");
}
public static String getNationOptions() {
return rootPrefix.concat("icform:options:nation");
}
/**
* 住房性质
* @author wxz

19
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/IcPartyActivityDTO.java

@ -110,17 +110,30 @@ public class IcPartyActivityDTO implements Serializable {
private String content;
/**
* 服务人数
* 服务人数;烟台服务人数是活动限制名额如果是0代表不限制
*/
private Integer peopleCount;
/**
* 活动时间
* 活动时间;烟台此列作为活动开始时间
*/
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern="yyyy-MM-dd HH:mm")
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date activityTime;
/**
* 烟台此列作为活动结束时间;必填
*/
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date activityEndTime;
/**
* 烟台活动封面必填
*/
private String coverUrl;
/**
* 活动地址
*/

16
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/PartyActivityFormDTO.java

@ -18,8 +18,16 @@ import java.util.Date;
@Data
public class PartyActivityFormDTO extends PageFormDTO implements Serializable {
private static final long serialVersionUID = -2510068555703677L;
@NotBlank(message = "组织Id不能为空" )
public interface ResiDingQueryInternalGroup {
}
@NotBlank(message = "组织Id不能为空",groups = {ResiDingQueryInternalGroup.class})
private String agencyId;
@NotBlank(message = "gridId不能为空",groups = {ResiDingQueryInternalGroup.class})
private String gridId;
private String unitId;
private String title;
@ -31,4 +39,10 @@ public class PartyActivityFormDTO extends PageFormDTO implements Serializable {
// private Integer pageNo;
// private Integer pageSize;
private String customerId;
/**
* 居民端钉钉传userId
*/
@NotBlank(message = "userId不能为空",groups = {ResiDingQueryInternalGroup.class})
private String userId;
}

22
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/PartyActivitySignUpRecordFormDTO.java

@ -0,0 +1,22 @@
package com.epmet.dto.form;
import com.epmet.commons.tools.dto.form.PageFormDTO;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Description 人员名单
* @Author yzm
* @Date 2023/3/29 13:42
*/
@Data
public class PartyActivitySignUpRecordFormDTO extends PageFormDTO implements Serializable {
/**
* 联建活动ID
*/
@NotBlank(message = "activityId不能为空", groups = AddUserInternalGroup.class)
private String activityId;
}

25
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/SignUpParyActFormDTO.java

@ -0,0 +1,25 @@
package com.epmet.dto.form;
import com.epmet.commons.tools.validator.group.QueryGroup;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @Description
* @Author yzm
* @Date 2023/3/29 15:27
*/
@Data
public class SignUpParyActFormDTO {
/**
*
*/
@NotBlank(message = "userId不能为空", groups = QueryGroup.class)
private String userId;
@NotBlank(message = "activityId不能为空", groups = QueryGroup.class)
private String activityId;
@NotBlank(message = "gridId不能为空", groups = QueryGroup.class)
private String gridId;
}

46
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/PartyActivityResDTO.java

@ -0,0 +1,46 @@
package com.epmet.dto.result;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
import java.util.List;
/**
* @Description 居民端钉钉查看联建活动详情
* @Author yzm
* @Date 2023/3/29 15:59
*/
@Data
public class PartyActivityResDTO {
private String activityId;
private String agencyName;
private String agencyId;
private List<String> unitNameList;
private List<String> serviceMatterNameList;
private String title;
private String target;
private String content;
private Integer peopleCount;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date activityTime;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date activityEndTime;
private String coverUrl;
private String address;
private String result;
/**
* 报名记录id
*/
private String signUpId;
/**
* 已报名总人数
*/
private Integer signUpCount;
/**
* 是否报名:true已报名false未报名
*/
private Boolean signUpFlag;
}

61
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/PartyActivitySignUpRecordResDTO.java

@ -0,0 +1,61 @@
package com.epmet.dto.result;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 联建活动报名记录表(烟台需求)
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2023-03-29
*/
@Data
public class PartyActivitySignUpRecordResDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
private String id;
/**
* 客户id
*/
private String customerId;
/**
* 联建活动ID
*/
private String activityId;
/**
* 居民端用户id
*/
private String userId;
/**
* 姓名
*/
private String userName;
private String mobile;
/**
* 报名时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date signUpTime;
/**
* 用户报名时所在的网格
*/
private String gridId;
/**
* 网格名称XXX社区-xxx网格
*/
private String gridName;
}

87
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/IcPartyActivityController.java

@ -24,6 +24,7 @@ import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.aop.NoRepeatSubmit;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.dto.form.PageFormDTO;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.exception.ExceptionUtils;
@ -35,11 +36,16 @@ import com.epmet.commons.tools.utils.poi.excel.handler.FreezeAndFilter;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.commons.tools.validator.group.QueryGroup;
import com.epmet.constants.ImportTaskConstants;
import com.epmet.dto.IcPartyActivityDTO;
import com.epmet.dto.form.ImportTaskCommonFormDTO;
import com.epmet.dto.form.PartyActivityFormDTO;
import com.epmet.dto.form.PartyActivitySignUpRecordFormDTO;
import com.epmet.dto.form.SignUpParyActFormDTO;
import com.epmet.dto.result.ImportTaskCommonResultDTO;
import com.epmet.dto.result.PartyActivityResDTO;
import com.epmet.dto.result.PartyActivitySignUpRecordResDTO;
import com.epmet.dto.result.demand.OptionDTO;
import com.epmet.excel.IcPartyActivityExcel;
import com.epmet.feign.EpmetCommonServiceOpenFeignClient;
@ -47,6 +53,7 @@ import com.epmet.service.IcPartyActivityService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpHeaders;
import org.springframework.web.bind.annotation.*;
@ -60,9 +67,7 @@ import java.io.IOException;
import java.io.InputStream;
import java.net.URLEncoder;
import java.nio.file.Path;
import java.util.Date;
import java.util.List;
import java.util.UUID;
import java.util.*;
/**
@ -88,7 +93,7 @@ public class IcPartyActivityController implements ResultDataResolver {
*/
@PostMapping("search")
public Result<PageData<IcPartyActivityDTO>> page(@LoginUser TokenDto tokenDto,@RequestBody PartyActivityFormDTO formDTO){
formDTO.setCustomerId(formDTO.getCustomerId());
formDTO.setCustomerId(tokenDto.getCustomerId());
PageData<IcPartyActivityDTO> page = icPartyActivityService.search(formDTO);
return new Result<PageData<IcPartyActivityDTO>>().ok(page);
}
@ -253,5 +258,79 @@ public class IcPartyActivityController implements ResultDataResolver {
}
}
/**
* 人员名单
*
* @param formDTO
* @return
*/
@PostMapping("querySignUpRecord")
public Result<PageData<PartyActivitySignUpRecordResDTO>> querySignUpRecord(@RequestBody PartyActivitySignUpRecordFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, PageFormDTO.AddUserShowGroup.class,PageFormDTO.AddUserInternalGroup.class);
return new Result<PageData<PartyActivitySignUpRecordResDTO>>().ok(icPartyActivityService.querySignUpRecord(formDTO.getActivityId(),formDTO.getPageNo(),formDTO.getPageSize()));
}
/**
* 居民端钉钉报名联建活动
*
* @param formDTO
* @return
*/
@PostMapping("signUp")
public Result signUp(@RequestBody SignUpParyActFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, QueryGroup.class);
String signUpId = icPartyActivityService.signUp(formDTO.getActivityId(), formDTO.getUserId(), formDTO.getGridId());
Map resultMap = new HashMap<>();
resultMap.put("signUpId", signUpId);
return new Result().ok(resultMap);
}
/**
* 居民端钉钉查看联建活动详情
*
* @param tokenDto
* @param activityId
* @return
*/
@PostMapping("act-detail-resi/{activityId}")
public Result<PartyActivityResDTO> queryActDetailForResi(@LoginUser TokenDto tokenDto, @PathVariable("activityId") String activityId) {
if (StringUtils.isBlank(activityId)) {
return new Result();
}
return new Result<PartyActivityResDTO>().ok(icPartyActivityService.queryActDetailForResi(tokenDto.getCustomerId(),tokenDto.getUserId(),activityId));
}
/**
* 居民端钉钉分页查询联建活动
*
* @param formDTO
* @return
*/
@PostMapping("page-all-act")
public Result<PageData<PartyActivityResDTO>> pageAllAct(@RequestBody PartyActivityFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, PartyActivityFormDTO.ResiDingQueryInternalGroup.class);
return new Result<PageData<PartyActivityResDTO>>().ok(
icPartyActivityService.pageAllAct(formDTO.getPageNo(),
formDTO.getPageSize(),
formDTO.getGridId(),
formDTO.getAgencyId(),
formDTO.getUserId()));
}
/**
* 居民端钉钉已报名列表
* @param formDTO
* @return
*/
@PostMapping("applied-act")
public Result<PageData<PartyActivityResDTO>> appliedAct(@RequestBody PartyActivityFormDTO formDTO){
ValidatorUtils.validateEntity(formDTO, PartyActivityFormDTO.ResiDingQueryInternalGroup.class);
return new Result<PageData<PartyActivityResDTO>>().ok(
icPartyActivityService.appliedAct(formDTO.getPageNo(),
formDTO.getPageSize(),
formDTO.getGridId(),
formDTO.getAgencyId(),
formDTO.getUserId()));
}
}

9
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/IcActivityUnitRelationDao.java

@ -5,6 +5,8 @@ import com.epmet.entity.IcActivityUnitRelationEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 联建活动与单位关联表
*
@ -22,4 +24,11 @@ public interface IcActivityUnitRelationDao extends BaseDao<IcActivityUnitRelatio
* @Date 2022/2/21 16:19
*/
void deleteByActivity(@Param("activityId") String activityId);
/**
* 查询联建活动关联的联建单位名称列表
* @param activityId
* @return
*/
List<String> selectActivityUntiNames(String activityId);
}

27
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/IcPartyActivityDao.java

@ -20,8 +20,10 @@ package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.form.PartyActivityFormDTO;
import com.epmet.dto.result.ActivityStatisticsDTO;
import com.epmet.dto.result.PartyActivityResDTO;
import com.epmet.entity.IcPartyActivityEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@ -54,4 +56,29 @@ public interface IcPartyActivityDao extends BaseDao<IcPartyActivityEntity> {
List<IcPartyActivityEntity> getActivityList(PartyActivityFormDTO formDTO);
/**
*
* @param gridId 当前用户所在网格id
* @param agencyId 当前用户所在网格所属组织id
* @param userId 居民端用户id,校验当前用户是否报名
* @return 居民端钉钉-分页查询全部联建活动
*/
List<PartyActivityResDTO> pageAllAct(@Param("customerId")String customerId,
@Param("gridId") String gridId,
@Param("agencyId")String agencyId,
@Param("userId")String userId);
/**
* 居民端钉钉已报名列表
* @param customerId
* @param gridId
* @param agencyId
* @param userId
* @return
*/
List<PartyActivityResDTO> selectAppliedAct(@Param("customerId")String customerId,
@Param("gridId") String gridId,
@Param("agencyId")String agencyId,
@Param("userId")String userId);
}

24
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/IcPartyActivitySignUpRecordDao.java

@ -0,0 +1,24 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.result.PartyActivitySignUpRecordResDTO;
import com.epmet.entity.IcPartyActivitySignUpRecordEntity;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* 联建活动报名记录表(烟台需求)
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2023-03-29
*/
@Mapper
public interface IcPartyActivitySignUpRecordDao extends BaseDao<IcPartyActivitySignUpRecordEntity> {
/**
* 人员名单
* @param activityId
* @return
*/
List<PartyActivitySignUpRecordResDTO> querySignUpRecord(String activityId);
}

9
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/IcServiceItemDictDao.java

@ -39,4 +39,13 @@ public interface IcServiceItemDictDao extends BaseDao<IcServiceItemDictEntity> {
IcServiceItemDictEntity selectMax(String customerId);
String selectName(@Param("customerId") String customerId, @Param("categoryCode") String categoryCode);
/**
* 查询联建活动的服务事项名称
* @param activityId
* @param customerId
* @return
*/
List<String> selectActivityServiceItemName(@Param("activityId") String activityId,
@Param("customerId") String customerId);
}

9
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/IcUserDemandRecDao.java

@ -147,4 +147,13 @@ public interface IcUserDemandRecDao extends BaseDao<IcUserDemandRecEntity> {
* @return
*/
Integer selectCountByServerId(String serverId);
/***
* 根据需求id查详情
* @param demandRecId
* @return void
* @author qushutong
* @date 2023/3/30 17:37
*/
IcUserDemandRecDTO selectInfoByDemandRecId(@Param("customerId") String customerId, @Param("demandRecId") String demandRecId);
}

14
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/entity/IcPartyActivityEntity.java

@ -83,14 +83,24 @@ public class IcPartyActivityEntity extends BaseEpmetEntity {
private String content;
/**
* 服务人数
* 服务人数;烟台服务人数是活动限制名额如果是0代表不限制
*/
private Integer peopleCount;
/**
* 活动时间
* 活动时间;烟台此列作为活动开始时间
*/
private Date activityTime;
/**
* 烟台此列作为活动结束时间;必填
*/
private Date activityEndTime;
/**
* 烟台活动封面必填
*/
private String coverUrl;
/**
* 活动地址

54
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/entity/IcPartyActivitySignUpRecordEntity.java

@ -0,0 +1,54 @@
package com.epmet.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 联建活动报名记录表(烟台需求)
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2023-03-29
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("ic_party_activity_sign_up_record")
public class IcPartyActivitySignUpRecordEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
* 客户id
*/
private String customerId;
/**
* 联建活动ID
*/
private String activityId;
/**
* 居民端用户id
*/
private String userId;
/**
* 姓名
*/
private String userName;
private String mobile;
/**
* 报名时间
*/
private Date signUpTime;
/**
* 用户报名时所在的网格
*/
private String gridId;
private String gridName;
}

13
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/excel/IcPartyActivityExcel.java

@ -49,9 +49,20 @@ public class IcPartyActivityExcel {
private Integer peopleCount;
@ColumnWidth(20)
@ExcelProperty(value = "活动时间")
@ExcelProperty(value = "活动开始时间")
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date activityTime;
/**
* 烟台此列作为活动结束时间;必填
*/
@ColumnWidth(20)
@ExcelProperty(value = "活动结束时间")
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date activityEndTime;
/**
* actId不为空小程序
* 为空管理平台

13
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/excel/IcPartyActivityImportExcel.java

@ -51,11 +51,20 @@ public class IcPartyActivityImportExcel extends ExcelVerifyInfo {
@ExcelProperty(value = "服务人数*")
private Integer peopleCount;
@NotNull(message = "活动时间不能为空")
@ExcelProperty("活动时间*")
@NotNull(message = "活动开始时间不能为空")
@ExcelProperty("活动开始时间*")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date activityTime;
/**
* 烟台此列作为活动结束时间;必填
*/
@NotNull(message = "活动结束时间不能为空")
@ExcelProperty("活动结束时间*")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date activityEndTime;
@NotBlank(message = "详细地址")
@Length(max = 250, message = "详细地址最多输入250字")
@ExcelProperty(value = "详细地址*")

7
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/IcActivityUnitRelationService.java

@ -22,6 +22,13 @@ public interface IcActivityUnitRelationService extends BaseService<IcActivityUni
*/
List<String> getUnitList(String activityId);
/**
* 获取联建活动关联的联建单位名称
* @param activityId
* @return
*/
List<String> getActivityUntiNames(String activityId);
/**
* 物理删除删除活动所属单位
*

52
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/IcPartyActivityService.java

@ -22,6 +22,8 @@ import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.dto.IcPartyActivityDTO;
import com.epmet.dto.form.PartyActivityFormDTO;
import com.epmet.dto.result.PartyActivityResDTO;
import com.epmet.dto.result.PartyActivitySignUpRecordResDTO;
import com.epmet.dto.result.demand.OptionDTO;
import com.epmet.entity.IcPartyActivityEntity;
@ -127,4 +129,54 @@ public interface IcPartyActivityService extends BaseService<IcPartyActivityEntit
* @param filePath
*/
void execAsyncExcelImport(Path filePath, String importTaskId,String customerId,String userId);
/**
* 人员名单
* @param activityId
* @return
*/
PageData<PartyActivitySignUpRecordResDTO> querySignUpRecord(String activityId,Integer pageNo,Integer pageSize);
/**
* 居民端钉钉报名联建活动
* @param activityId
* @param userId
* @param gridId
*/
String signUp(String activityId, String userId, String gridId);
/**
* 居民端钉钉查看联建活动详情
* @param customerId
* @param userId
* @param activityId
* @return
*/
PartyActivityResDTO queryActDetailForResi(String customerId, String userId, String activityId);
/**
* 居民端钉钉-分页查询全部联建活动
*
* @param pageNo
* @param pageSize
* @param gridId
* @param userId
* @return
*/
PageData<PartyActivityResDTO> pageAllAct(Integer pageNo, Integer pageSize, String gridId, String agencyId,String userId);
/**
* 居民端钉钉已报名列表
* @param pageNo
* @param pageSize
* @param gridId
* @param agencyId
* @param userId
* @return
*/
PageData<PartyActivityResDTO> appliedAct(Integer pageNo,
Integer pageSize,
String gridId,
String agencyId,
String userId);
}

8
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/IcServiceItemDictService.java

@ -83,4 +83,12 @@ public interface IcServiceItemDictService extends BaseService<IcServiceItemDictE
String getCategoryName(String customerId, String id);
List<ServiceItemResultDTO> queryDictOption(String type, String customerId);
/**
* 查询联建活动的服务事项名称列表
* @param activityId
* @param customerId
* @return
*/
List<String> getByActivityId(String activityId, String customerId);
}

11
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcActivityUnitRelationServiceImpl.java

@ -43,6 +43,17 @@ public class IcActivityUnitRelationServiceImpl extends BaseServiceImpl<IcActivit
return list.stream().map(IcActivityUnitRelationEntity::getUnitId).collect(Collectors.toList());
}
/**
* 获取联建活动关联的联建单位名称
*
* @param activityId
* @return
*/
@Override
public List<String> getActivityUntiNames(String activityId) {
return baseDao.selectActivityUntiNames(activityId);
}
/**
* 删除活动所属单位
*

186
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcPartyActivityServiceImpl.java

@ -24,28 +24,33 @@ import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.constant.StrConstant;
import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.exception.ExceptionUtils;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.redis.common.CustomerOrgRedis;
import com.epmet.commons.tools.redis.common.CustomerStaffRedis;
import com.epmet.commons.tools.redis.common.bean.AgencyInfoCache;
import com.epmet.commons.tools.redis.common.bean.GridInfoCache;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.*;
import com.epmet.constants.ImportTaskConstants;
import com.epmet.dao.IcPartyActivityDao;
import com.epmet.dao.IcPartyActivitySignUpRecordDao;
import com.epmet.dto.IcPartyActivityDTO;
import com.epmet.dto.IcPartyUnitDTO;
import com.epmet.dto.form.ImportTaskCommonFormDTO;
import com.epmet.dto.form.PartyActivityFormDTO;
import com.epmet.dto.result.ActivityStatisticsDTO;
import com.epmet.dto.result.UploadImgResultDTO;
import com.epmet.dto.result.*;
import com.epmet.dto.result.demand.OptionDTO;
import com.epmet.entity.IcActivityServiceRelationEntity;
import com.epmet.entity.IcActivityUnitRelationEntity;
import com.epmet.entity.IcPartyActivityEntity;
import com.epmet.entity.IcPartyActivitySignUpRecordEntity;
import com.epmet.excel.IcPartyActivityImportExcel;
import com.epmet.excel.handler.IcPartyActivityImportListener;
import com.epmet.feign.EpmetCommonServiceOpenFeignClient;
import com.epmet.feign.EpmetUserOpenFeignClient;
import com.epmet.feign.OssFeignClient;
import com.epmet.service.*;
import com.github.pagehelper.PageHelper;
@ -57,6 +62,7 @@ import org.apache.commons.fileupload.FileItemFactory;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.lang3.StringUtils;
import org.apache.http.entity.ContentType;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -83,8 +89,8 @@ public class IcPartyActivityServiceImpl extends BaseServiceImpl<IcPartyActivityD
@Resource
private IcPartyUnitService icPartyUnitService;
@Resource
private IcServiceItemDictService icServiceItemDictService;
// @Resource
// private IcServiceItemDictService icServiceItemDictService;
@Resource
private IcActivityUnitRelationService icActivityUnitRelationService;
@Resource
@ -93,6 +99,10 @@ public class IcPartyActivityServiceImpl extends BaseServiceImpl<IcPartyActivityD
private OssFeignClient ossFeignClient;
@Resource
private EpmetCommonServiceOpenFeignClient commonServiceOpenFeignClient;
@Autowired
private IcPartyActivitySignUpRecordDao partyActivitySignUpRecordDao;
@Autowired
private EpmetUserOpenFeignClient epmetUserOpenFeignClient;
@Override
@ -139,7 +149,7 @@ public class IcPartyActivityServiceImpl extends BaseServiceImpl<IcPartyActivityD
List<String> serviceMatterid = Arrays.asList(dto.getServiceMatter().split(StrConstant.COMMA));
List<String> serviceMatterNameList=new ArrayList<>();
for(String id:serviceMatterid){
String categoryName=icServiceItemDictService.getCategoryName(dto.getCustomerId(),id);
String categoryName=SpringContextUtils.getBean(IcServiceItemDictService.class).getCategoryName(dto.getCustomerId(),id);
if(StringUtils.isNotBlank(categoryName)){
serviceMatterNameList.add(categoryName);
}
@ -156,7 +166,7 @@ public class IcPartyActivityServiceImpl extends BaseServiceImpl<IcPartyActivityD
});
}
return new PageData<>(dtoList, pageInfo.getTotal());
return new PageData<>(dtoList, pageInfo.getTotal(),formDTO.getPageSize());
}
@Override
@ -201,7 +211,7 @@ public class IcPartyActivityServiceImpl extends BaseServiceImpl<IcPartyActivityD
IcPartyActivityDTO dto = ConvertUtils.sourceToTarget(entity, IcPartyActivityDTO.class);
//获取服务事项
List<OptionDTO> serviceItemList = icServiceItemDictService.queryDictList(entity.getCustomerId());
List<OptionDTO> serviceItemList = SpringContextUtils.getBean(IcServiceItemDictService.class).queryDictList(entity.getCustomerId());
Map<String, String> categoryMap = serviceItemList.stream().collect(Collectors.toMap(OptionDTO::getValue, OptionDTO::getLabel));
List<String> services = icActivityServiceRelationService.getServiceList(id);
List<String> serviceNames = services.stream().map(categoryMap::get).collect(Collectors.toList());
@ -335,7 +345,7 @@ public class IcPartyActivityServiceImpl extends BaseServiceImpl<IcPartyActivityD
//获取联建单位
Map<String, String> option = icPartyUnitService.options(unitDTO).stream().collect(Collectors.toMap(OptionDTO::getValue, OptionDTO::getLabel));
//获取服务事项字典
List<OptionDTO> serviceItemList = icServiceItemDictService.queryDictList(tokenDto.getCustomerId());
List<OptionDTO> serviceItemList = SpringContextUtils.getBean(IcServiceItemDictService.class).queryDictList(tokenDto.getCustomerId());
Map<String, String> categoryMap = serviceItemList.stream().collect(Collectors.toMap(OptionDTO::getValue, OptionDTO::getLabel));
//数据组装
dtoList.forEach(dto -> {
@ -509,4 +519,164 @@ public class IcPartyActivityServiceImpl extends BaseServiceImpl<IcPartyActivityD
baseDao.insert(e);
});
}
/**
* 人员名单
*
* @param activityId
* @return
*/
@Override
public PageData<PartyActivitySignUpRecordResDTO> querySignUpRecord(String activityId, Integer pageNo, Integer pageSize) {
PageHelper.startPage(pageNo, pageSize);
List<PartyActivitySignUpRecordResDTO> list = partyActivitySignUpRecordDao.querySignUpRecord(activityId);
PageInfo<PartyActivitySignUpRecordResDTO> pageInfo = new PageInfo<>(list);
return new PageData<>(list, pageInfo.getTotal(), pageSize);
}
/**
* 居民端钉钉报名联建活动
*
* @param activityId
* @param userId
* @param gridId
*/
@Override
public String signUp(String activityId, String userId, String gridId) {
LambdaQueryWrapper<IcPartyActivitySignUpRecordEntity> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(IcPartyActivitySignUpRecordEntity::getActivityId, activityId)
.eq(IcPartyActivitySignUpRecordEntity::getUserId, userId)
.select(IcPartyActivitySignUpRecordEntity::getId);
IcPartyActivitySignUpRecordEntity entity = partyActivitySignUpRecordDao.selectOne(queryWrapper);
if (null != entity) {
return entity.getId();
}
// 查询网格名称
GridInfoCache gridInfoCache = CustomerOrgRedis.getGridInfo(gridId);
if (null == gridInfoCache) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "网格信息查询异常gridId:" + gridId, "网格信息查询异常");
}
// 查询用户姓名和手机号
List<String> userIdList=new ArrayList<>();
userIdList.add(userId);
Result<List<UserBaseInfoResultDTO>> userRes = epmetUserOpenFeignClient.queryUserBaseInfo(userIdList);
if (!userRes.success() || CollectionUtils.isEmpty(userRes.getData())) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "网格信息查询异常gridId:" + gridId, "查询用户信息异常");
}
UserBaseInfoResultDTO userBaseInfoResultDTO=userRes.getData().get(NumConstant.ZERO);
IcPartyActivitySignUpRecordEntity insert = new IcPartyActivitySignUpRecordEntity();
insert.setActivityId(activityId);
insert.setCustomerId(EpmetRequestHolder.getLoginUserCustomerId());
insert.setGridId(gridId);
insert.setGridName(gridInfoCache.getGridNamePath());
insert.setUserId(userId);
insert.setUserName(userBaseInfoResultDTO.getRealName());
insert.setMobile(userBaseInfoResultDTO.getMobile());
insert.setSignUpTime(new Date());
partyActivitySignUpRecordDao.insert(insert);
return insert.getId();
}
/**
* 居民端钉钉查看联建活动详情
*
* @param customerId
* @param userId
* @param activityId
* @return
*/
@Override
public PartyActivityResDTO queryActDetailForResi(String customerId, String userId, String activityId) {
IcPartyActivityEntity activityEntity = baseDao.selectById(activityId);
if (null == activityEntity) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "联建活动不存在,activityId:" + activityId, "联建活动不存在");
}
PartyActivityResDTO resDTO = ConvertUtils.sourceToTarget(activityEntity, PartyActivityResDTO.class);
resDTO.setSignUpFlag(false);
resDTO.setActivityId(activityId);
// 当前用户是否报名
LambdaQueryWrapper<IcPartyActivitySignUpRecordEntity> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(IcPartyActivitySignUpRecordEntity::getActivityId, activityId)
.eq(IcPartyActivitySignUpRecordEntity::getUserId, userId)
.select(IcPartyActivitySignUpRecordEntity::getId);
IcPartyActivitySignUpRecordEntity signUpRecordEntity = partyActivitySignUpRecordDao.selectOne(queryWrapper);
if (null != signUpRecordEntity) {
resDTO.setSignUpId(signUpRecordEntity.getId());
resDTO.setSignUpFlag(true);
}
// 主办方:组织名称
AgencyInfoCache agencyInfoCache = CustomerOrgRedis.getAgencyInfo(resDTO.getAgencyId());
if (null != agencyInfoCache) {
resDTO.setAgencyName(agencyInfoCache.getOrganizationName());
}
// 联建单位:
resDTO.setUnitNameList(icActivityUnitRelationService.getActivityUntiNames(activityId));
// 服务事项
resDTO.setServiceMatterNameList(SpringContextUtils.getBean(IcServiceItemDictService.class).getByActivityId(activityId,activityEntity.getCustomerId()));
// 报名总人数
LambdaQueryWrapper<IcPartyActivitySignUpRecordEntity> countWrapper = new LambdaQueryWrapper<>();
countWrapper.eq(IcPartyActivitySignUpRecordEntity::getActivityId, activityId);
resDTO.setSignUpCount(partyActivitySignUpRecordDao.selectCount(countWrapper));
return resDTO;
}
/**
* 居民端钉钉-分页查询全部联建活动
*
* @param pageNo
* @param pageSize
* @param gridId
* @param userId
* @return
*/
@Override
public PageData<PartyActivityResDTO> pageAllAct(Integer pageNo, Integer pageSize, String gridId,String agencyId, String userId) {
PageHelper.startPage(pageNo,pageSize);
List<PartyActivityResDTO> list=baseDao.pageAllAct(EpmetRequestHolder.getLoginUserCustomerId(),gridId,agencyId,userId);
list.forEach(resDTO->{
// 主办方:组织名称
AgencyInfoCache agencyInfoCache = CustomerOrgRedis.getAgencyInfo(resDTO.getAgencyId());
if (null != agencyInfoCache) {
resDTO.setAgencyName(agencyInfoCache.getOrganizationName());
}
// 联建单位:
resDTO.setUnitNameList(icActivityUnitRelationService.getActivityUntiNames(resDTO.getActivityId()));
// 服务事项
resDTO.setServiceMatterNameList(SpringContextUtils.getBean(IcServiceItemDictService.class).getByActivityId(resDTO.getActivityId(),EpmetRequestHolder.getLoginUserCustomerId()));
});
PageInfo<PartyActivityResDTO> pageInfo = new PageInfo<>(list);
return new PageData<>(list, pageInfo.getTotal(),pageSize);
}
/**
* 居民端钉钉已报名列表
*
* @param pageNo
* @param pageSize
* @param gridId
* @param agencyId
* @param userId
* @return
*/
@Override
public PageData<PartyActivityResDTO> appliedAct(Integer pageNo, Integer pageSize, String gridId, String agencyId, String userId) {
PageHelper.startPage(pageNo, pageSize);
List<PartyActivityResDTO> list = baseDao.selectAppliedAct(EpmetRequestHolder.getLoginUserCustomerId(), gridId, agencyId, userId);
list.forEach(resDTO -> {
// 主办方:组织名称
AgencyInfoCache agencyInfoCache = CustomerOrgRedis.getAgencyInfo(resDTO.getAgencyId());
if (null != agencyInfoCache) {
resDTO.setAgencyName(agencyInfoCache.getOrganizationName());
}
// 联建单位:
resDTO.setUnitNameList(icActivityUnitRelationService.getActivityUntiNames(resDTO.getActivityId()));
// 服务事项
resDTO.setServiceMatterNameList(SpringContextUtils.getBean(IcServiceItemDictService.class).getByActivityId(resDTO.getActivityId(), EpmetRequestHolder.getLoginUserCustomerId()));
});
PageInfo<PartyActivityResDTO> pageInfo = new PageInfo<>(list);
return new PageData<>(list, pageInfo.getTotal(), pageSize);
}
}

12
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcServiceItemDictServiceImpl.java

@ -226,5 +226,15 @@ public class IcServiceItemDictServiceImpl extends BaseServiceImpl<IcServiceItemD
return resultList;
}
/**
* 查询联建活动的服务事项名称列表
*
* @param activityId
* @param customerId
* @return
*/
@Override
public List<String> getByActivityId(String activityId, String customerId) {
return baseDao.selectActivityServiceItemName(activityId,customerId);
}
}

30
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcUserDemandRecServiceImpl.java

@ -22,6 +22,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.rocketmq.messages.ServerSatisfactionCalFormDTO;
import com.epmet.commons.tools.constant.AppClientConstant;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.constant.ServiceConstant;
@ -45,10 +46,7 @@ import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.utils.ScanContentUtils;
import com.epmet.constant.ReadFlagConstant;
import com.epmet.constant.SmsTemplateConstant;
import com.epmet.constant.UserDemandConstant;
import com.epmet.constant.UserMessageTypeConstant;
import com.epmet.constant.*;
import com.epmet.dao.IcUserDemandOperateLogDao;
import com.epmet.dao.IcUserDemandRecDao;
import com.epmet.dao.IcUserDemandSatisfactionDao;
@ -1998,7 +1996,14 @@ public class IcUserDemandRecServiceImpl extends BaseServiceImpl<IcUserDemandRecD
satisfactionEntity.setUserType("staff");
satisfactionEntity.setUserId(formDTO.getStaffId());
satisfactionEntity.setEvaluateTime(new Date());
satisfactionEntity.setScore(("perfect".equals(formDTO.getSatisfaction()) ? new BigDecimal(5) : ("good".equals(formDTO.getSatisfaction()) ? new BigDecimal(3) : ("bad".equals(formDTO.getSatisfaction()) ? BigDecimal.ONE : BigDecimal.ZERO))));
// satisfactionEntity.setScore(("perfect".equals(formDTO.getSatisfaction()) ? new BigDecimal(5) : ("good".equals(formDTO.getSatisfaction()) ? new BigDecimal(3) : ("bad".equals(formDTO.getSatisfaction()) ? BigDecimal.ONE : BigDecimal.ZERO))));
/***
* 修改积分规则 钉钉端对应一到五课星
* @author qushutong
* @date 2023/3/30 16:00
*/
satisfactionEntity.setScore( new BigDecimal(formDTO.getSatisfaction()));
demandSatisfactionDao.insert(satisfactionEntity);
//3.新增操作日志记录
@ -2016,6 +2021,21 @@ public class IcUserDemandRecServiceImpl extends BaseServiceImpl<IcUserDemandRecD
entity.setFinishResult("resolved");
entity.setEvaluateFlag(true);
baseDao.updateById(entity);
// 3/30 计算更新平均值
IcUserDemandRecDTO icUserDemandRecDTO = baseDao.selectInfoByDemandRecId(formDTO.getCustomerId(),formDTO.getDemandRecId());
if("party_unit".equals(icUserDemandRecDTO.getServiceType())){
ServerSatisfactionCalFormDTO mqMsg = new ServerSatisfactionCalFormDTO();
mqMsg.setCustomerId(formDTO.getCustomerId());
mqMsg.setServerId(icUserDemandRecDTO.getServerId());
mqMsg.setServiceType(icUserDemandRecDTO.getServiceType());
SystemMsgFormDTO form = new SystemMsgFormDTO();
form.setMessageType(SystemMessageType.CAL_PARTY_UNIT_SATISFACTION);
form.setContent(mqMsg);
messageOpenFeignClient.sendSystemMsgByMQ(form);
}
}
@Override

9
epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/IcActivityUnitRelationDao.xml

@ -22,5 +22,14 @@
DELETE FROM ic_activity_unit_relation WHERE ACTIVITY_ID = #{activityId}
</delete>
<!-- 查询联建活动关联的联建单位名称列表 -->
<select id="selectActivityUntiNames" parameterType="java.lang.String" resultType="java.lang.String">
select u.UNIT_NAME from ic_party_unit u
where u.id in(
select r.UNIT_ID from ic_activity_unit_relation r
where r.ACTIVITY_ID=#{activityId}
and r.DEL_FLAG='0'
)
</select>
</mapper>

92
epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/IcPartyActivityDao.xml

@ -52,7 +52,7 @@
a.ACT_ID,
a.GRID_ID,
ur.UNIT_ID,
GROUP_CONCAT( sr.SERVICE_MATTER ) AS serviceMatter,
GROUP_CONCAT( distinct sr.SERVICE_MATTER ) AS serviceMatter,
a.TITLE,
a.TARGET,
a.CONTENT,
@ -63,7 +63,9 @@
a.LATITUDE,
a.RESULT,
a.AGENCY_ID,
a.CUSTOMER_ID
a.CUSTOMER_ID,
a.COVER_URL,
a.ACTIVITY_END_TIME
FROM
ic_party_activity a
left join ic_activity_unit_relation ur
@ -89,8 +91,11 @@
<if test='null != serviceMatter and "" != serviceMatter'>
AND sr.SERVICE_MATTER = #{serviceMatter}
</if>
<if test=" null != startTime and null != endTime">
AND a.ACTIVITY_TIME BETWEEN #{startTime} AND #{endTime}
<if test=" null != startTime">
AND a.ACTIVITY_TIME &gt;= #{startTime}
</if>
<if test=" null != endTime">
AND a.ACTIVITY_TIME &lt;= #{endTime}
</if>
GROUP BY a.id
ORDER BY a.ACTIVITY_TIME DESC
@ -159,4 +164,83 @@
</select>
<!-- 居民端钉钉-分页查询全部联建活动 -->
<select id="pageAllAct" parameterType="map" resultType="com.epmet.dto.result.PartyActivityResDTO">
select
a.ID as activityId,
a.AGENCY_ID,
'' as agencyName,
a.TITLE,
a.TARGET,
a.CONTENT,
a.PEOPLE_COUNT,
a.ACTIVITY_TIME,
a.ACTIVITY_END_TIME,
a.COVER_URL,
a.ADDRESS,
a.RESULT,
su.id as signUpId,
(
case when su.id is null then 0
else 1
end
)as signUpFlag,
(
select count(s.id)
from ic_party_activity_sign_up_record s
where s.ACTIVITY_ID=a.id
and s.DEL_FLAG='0'
)as signUpCount
from ic_party_activity a
left join ic_party_activity_sign_up_record su
on(a.id=su.ACTIVITY_ID
and su.USER_ID=#{userId}
and su.DEL_FLAG='0')
where a.DEL_FLAG='0'
and a.CUSTOMER_ID = #{customerId}
and (a.GRID_ID = #{gridId}
or a.AGENCY_ID = #{agencyId}
or a.PIDS like concat('%',#{agencyId},'%')
)
order by a.ACTIVITY_END_TIME desc,a.CREATED_TIME desc
</select>
<!-- 居民端钉钉,已报名列表 -->
<select id="selectAppliedAct" parameterType="map" resultType="com.epmet.dto.result.PartyActivityResDTO">
select
a.ID as activityId,
a.AGENCY_ID,
'' as agencyName,
a.TITLE,
a.TARGET,
a.CONTENT,
a.PEOPLE_COUNT,
a.ACTIVITY_TIME,
a.ACTIVITY_END_TIME,
a.COVER_URL,
a.ADDRESS,
a.RESULT,
su.id as signUpId,
1 as signUpFlag,
(
select count(s.id)
from ic_party_activity_sign_up_record s
where s.ACTIVITY_ID=a.id
and s.DEL_FLAG='0'
)as signUpCount
from ic_party_activity_sign_up_record su
inner join ic_party_activity a
on(su.ACTIVITY_ID=a.ID)
where su.DEL_FLAG='0'
and a.DEL_FLAG='0'
and su.CUSTOMER_ID = #{customerId}
and su.USER_ID = #{userId}
and (a.GRID_ID = #{gridId}
or a.AGENCY_ID = #{agencyId}
or a.PIDS like concat('%',#{agencyId},'%')
)
order by a.ACTIVITY_END_TIME desc,a.CREATED_TIME desc
</select>
</mapper>

40
epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/IcPartyActivitySignUpRecordDao.xml

@ -0,0 +1,40 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.dao.IcPartyActivitySignUpRecordDao">
<resultMap type="com.epmet.entity.IcPartyActivitySignUpRecordEntity" id="icPartyActivitySignUpRecordMap">
<result property="id" column="ID"/>
<result property="customerId" column="CUSTOMER_ID"/>
<result property="activityId" column="ACTIVITY_ID"/>
<result property="userId" column="USER_ID"/>
<result property="userName" column="USER_NAME"/>
<result property="signUpTime" column="SIGN_UP_TIME"/>
<result property="gridId" column="GRID_ID"/>
<result property="delFlag" column="DEL_FLAG"/>
<result property="revision" column="REVISION"/>
<result property="createdBy" column="CREATED_BY"/>
<result property="createdTime" column="CREATED_TIME"/>
<result property="updatedBy" column="UPDATED_BY"/>
<result property="updatedTime" column="UPDATED_TIME"/>
</resultMap>
<select id="querySignUpRecord" parameterType="java.lang.String" resultType="com.epmet.dto.result.PartyActivitySignUpRecordResDTO">
SELECT
m.ID,
m.CUSTOMER_ID,
m.ACTIVITY_ID,
m.USER_ID,
m.USER_NAME,
m.MOBILE,
m.GRID_ID,
m.GRID_NAME,
m.SIGN_UP_TIME
FROM
ic_party_activity_sign_up_record m
WHERE
m.ACTIVITY_ID = #{activityId}
ORDER BY
m.SIGN_UP_TIME DESC
</select>
</mapper>

15
epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/IcServiceItemDictDao.xml

@ -41,4 +41,19 @@
d.CUSTOMER_ID = #{customerId}
AND d.CATEGORY_CODE = #{categoryCode}
</select>
<!-- 查询联建活动的服务事项名称 -->
<select id="selectActivityServiceItemName" parameterType="map" resultType="java.lang.String">
select
distinct d.CATEGORY_NAME
from ic_service_item_dict d
where d.CUSTOMER_ID = #{customerId}
and d.DEL_FLAG='0'
and d.CATEGORY_CODE in(
select r.SERVICE_MATTER
from ic_activity_service_relation r
where r.ACTIVITY_ID = #{activityId}
and r.DEL_FLAG='0'
)order by d.SORT asc
</select>
</mapper>

20
epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/IcUserDemandRecDao.xml

@ -706,4 +706,24 @@
AND s.SERVER_ID = #{serverId}
AND r.`STATUS` = 'assigned'
</select>
<select id="selectInfoByDemandRecId" resultType="com.epmet.dto.IcUserDemandRecDTO">
SELECT
r.*,
s.SERVER_ID,
s.SERVICE_TYPE
FROM
ic_user_demand_rec r
INNER JOIN ic_user_demand_service s ON ( r.id = s.demand_rec_id )
WHERE
r.DEL_FLAG = '0'
AND r.`STATUS` = 'finished'
<if test="null !=customerId and customerId !='' ">
AND r.customer_id =#{customerId}
</if>
<if test="null != demandRecId and demandRecId != '' ">
and r.id = #{demandRecId}
</if>
LIMIT 1
</select>
</mapper>

BIN
epmet-module/epmet-heart/epmet-heart-server/src/main/resources/templates/icpartyactivity_import_tem.xlsx

Binary file not shown.

1
epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/IcEventReplyFormDTO.java

@ -46,6 +46,7 @@ public class IcEventReplyFormDTO implements Serializable {
/**
* 满意度 - 不满意:bad基本满意:good非常满意:perfect
* v2版本 12,3,4,5
*/
@NotBlank(message = "满意度不能为空", groups = {Comment.class})
private String satisfaction;

14
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/IcEventController.java

@ -301,6 +301,20 @@ public class IcEventController {
return new Result();
}
/**
* @Author sun
* @Description 事件管理-评价 关联 联建单位
**/
@PostMapping("commentv2")
public Result commentv2(@LoginUser TokenDto tokenDto, @RequestBody IcEventReplyFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, IcEventReplyFormDTO.Comment.class);
formDTO.setCustomerId(tokenDto.getCustomerId());
formDTO.setUserId(tokenDto.getUserId());
icEventService.comment(formDTO);
return new Result();
}
/**
* @Author sun
* @Description 事件管理-详情

4
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectSatisfactionDetailServiceImpl.java

@ -365,7 +365,9 @@ public class ProjectSatisfactionDetailServiceImpl extends BaseServiceImpl<Projec
//评价表新增数据
ProjectSatisfactionDetailEntity entity = new ProjectSatisfactionDetailEntity();
entity.setProjectId(projectId);
entity.setComment(("perfect".equals(satisfaction) ? "非常满意" : ("good".equals(satisfaction) ? "基本满意" : ("bad".equals(satisfaction) ? "不满意" : ""))));
// entity.setComment(("perfect".equals(satisfaction) ? "非常满意" : ("good".equals(satisfaction) ? "基本满意" : ("bad".equals(satisfaction) ? "不满意" : ""))));
entity.setComment(("5".equals(satisfaction) ? "非常满意" : ("0".equals(satisfaction) ? "不满意" : "基本满意" )));
entity.setSatisfaction(satisfaction);
entity.setCustomerId(customerId);
baseDao.insert(entity);

5
epmet-module/resi-mine/resi-mine-client/src/main/java/com/epmet/resi/mine/dto/result/OperListResultDTO.java

@ -48,4 +48,9 @@ public class OperListResultDTO implements Serializable {
*/
private String badgeType;
/**
* 认证(审核)状态 待审核:auditing;审核通过: approved;驳回:rejected;
*/
// @JsonIgnore
private String auditStatus;
}

9
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CertificationAddFormDTO.java

@ -60,10 +60,11 @@ public class CertificationAddFormDTO implements Serializable {
*/
private String remark;
/**
* 验证码
*/
private String code;
// 烟台不校验验证码
// /**
// * 验证码
// */
// private String code;
/**
* 是否需要发送站内信

6
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/CertificationDetailResultDTO.java

@ -1,8 +1,10 @@
package com.epmet.dto.result;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* @Author zxc
@ -68,6 +70,9 @@ public class CertificationDetailResultDTO implements Serializable {
private String badgeId;
private String badgeName;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date createdTime;
public CertificationDetailResultDTO() {
this.surname = "";
this.name = "";
@ -83,5 +88,6 @@ public class CertificationDetailResultDTO implements Serializable {
this.gridName="";
this.badgeId="";
this.badgeName="";
this.createdTime=null;
}
}

9
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/UserOperListResultDTO.java

@ -51,10 +51,17 @@ public class UserOperListResultDTO implements Serializable {
@JsonIgnore
private String customerId;
/**
* 是否开启(点亮) 1:点亮0:未点亮
*/
@JsonIgnore
private String isOpened;
@JsonIgnore
/**
* 认证(审核)状态 待审核:auditing;审核通过: approved;驳回:rejected;
*/
// @JsonIgnore
private String auditStatus;
@JsonIgnore
private Integer sort;

2
epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserBadgeCertificateRecordDao.java

@ -40,4 +40,6 @@ public interface UserBadgeCertificateRecordDao extends BaseDao<UserBadgeCertific
*/
Integer selectIsExist(@Param("badgeId")String badgeId,@Param("userId")String userId);
UserBadgeCertificateRecordEntity selectCertificateRecord(@Param("badgeId")String badgeId,@Param("userId")String userId);
}

35
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBadgeServiceImpl.java

@ -3,6 +3,7 @@ package com.epmet.service.impl;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.constant.StrConstant;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.exception.RenException;
@ -26,6 +27,7 @@ import com.epmet.dto.UserBadgeCertificateRecordDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.epmet.entity.BadgeEntity;
import com.epmet.entity.UserBadgeCertificateRecordEntity;
import com.epmet.feign.EpmetMessageOpenFeignClient;
import com.epmet.feign.EpmetUserOpenFeignClient;
import com.epmet.feign.GovOrgFeignClient;
@ -140,17 +142,39 @@ public class UserBadgeServiceImpl implements UserBadgeService {
u.setIsLighted(u.getIsOpened().equals(NumConstant.ZERO_STR) ? BadgeConstant.NO : BadgeConstant.YES);
u.setIsCertificated(BadgeConstant.NO);
u.setIsReject(false);
u.setAuditStatus(StrConstant.EPMETY_STR);
});
return userOperListResultDTOS;
}
userOperListResultDTOS.forEach(ub -> {
userAuthBadgeList.forEach(u -> {
if (ub.getBadgeId().equals(u.getBadgeId())){
Boolean authFlag=false;
for (UserOperListResultDTO u : userAuthBadgeList) {
ub.setAuditStatus(StrConstant.EPMETY_STR);
if (ub.getBadgeId().equals(u.getBadgeId())) {
ub.setIsReject(u.getAuditStatus().equals(BadgeConstant.REJECTED));
ub.setIsCertificated(u.getAuditStatus().equals(BadgeConstant.APPROVED) ? BadgeConstant.YES : BadgeConstant.NO);
ub.setIsLighted(u.getIsOpened().equals(NumConstant.ZERO_STR) ? BadgeConstant.NO : BadgeConstant.YES);
ub.setAuditStatus(u.getAuditStatus());
authFlag = true;
}
});
}
if (!authFlag) {
UserBadgeCertificateRecordEntity entity = userBadgeCertificateRecordDao.selectCertificateRecord(ub.getBadgeId(), userOperListFormDTO.getUserId());
if (null == entity) {
//未申请
ub.setIsReject(null);
ub.setIsLighted(BadgeConstant.NO);
ub.setAuditStatus(StrConstant.EPMETY_STR);
ub.setIsCertificated(BadgeConstant.NO);
} else {
//申请了,但是未通过的:rejected:审核驳回;auditing:审核中
ub.setIsReject(entity.getAuditStatus().equals(BadgeConstant.REJECTED));
ub.setIsLighted(BadgeConstant.NO);
ub.setAuditStatus(entity.getAuditStatus());
ub.setIsCertificated(BadgeConstant.NO);
}
}
});
Map<String, List<UserOperListResultDTO>> collect = userOperListResultDTOS.stream().collect(Collectors.groupingBy(UserOperListResultDTO::getIsLighted));
List<UserOperListResultDTO> result = collect.get(BadgeConstant.YES);
@ -274,12 +298,13 @@ public class UserBadgeServiceImpl implements UserBadgeService {
authFieldFormDTO.setBadgeId(certificationAddFormDTO.getBadgeId());
validateParams(certificationAddFormDTO, authFieldFormDTO);
if (StringUtils.isNotBlank(certificationAddFormDTO.getMobile())) {
//烟台不校验验证码
/*if (StringUtils.isNotBlank(certificationAddFormDTO.getMobile())) {
String smsCode = userBadgeRedis.getBadgeSmsCode(certificationAddFormDTO.getMobile());
if (!StringUtils.isNotBlank(smsCode)) {
return new Result().error(EpmetErrorCode.MOBILE_CODE_ERROR.getCode());
}
}
}*/
// 0309:如果是党员徽章去判断居民信息-类别是否是党员
String auditRemark="";
BadgeEntity badgeEntity = badgeDao.selectBadgeInfo(EpmetRequestHolder.getLoginUserCustomerId(),certificationAddFormDTO.getBadgeId());

14
epmet-user/epmet-user-server/src/main/resources/mapper/UserBadgeCertificateRecordDao.xml

@ -40,5 +40,17 @@
AND (AUDIT_STATUS = 'approved' OR AUDIT_STATUS = 'auditing')
</select>
<select id="selectCertificateRecord" parameterType="map" resultType="com.epmet.entity.UserBadgeCertificateRecordEntity">
SELECT
r.*
FROM
user_badge_certificate_record r
WHERE
r.DEL_FLAG = '0'
AND r.USER_ID = #{userId}
AND r.BADGE_ID = #{badgeId}
ORDER BY
r.CREATED_TIME DESC
LIMIT 1
</select>
</mapper>

5
epmet-user/epmet-user-server/src/main/resources/mapper/UserBadgeDao.xml

@ -73,7 +73,7 @@
CREATED_TIME DESC
</select>
<!-- 查询徽章认证记录 -->
<!-- 查询徽章认证记录 -->
<select id="selectAuthRecord" resultType="com.epmet.dto.result.UserOperListResultDTO">
SELECT
CUSTOMER_ID,
@ -118,7 +118,8 @@
r.ID AS recordId,
r.GRID_ID as gridId,
r.BADGE_ID as badgeId,
b.BADGE_NAME as badgeName
b.BADGE_NAME as badgeName,
r.CREATED_TIME as createdTime
FROM
user_badge_certificate_record r
left join badge b on(r.BADGE_ID=b.id and r.CUSTOMER_ID=b.CUSTOMER_ID)

Loading…
Cancel
Save