Browse Source

Merge remote-tracking branch 'origin/yantai_zhengwu_master' into dev

master
yinzuomei 2 years ago
parent
commit
09dbc1bbc5
  1. 25
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/SignUpParyActFormDTO.java
  2. 46
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/PartyActivityResDTO.java
  3. 36
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/IcPartyActivityController.java
  4. 9
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/IcActivityUnitRelationDao.java
  5. 9
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/IcServiceItemDictDao.java
  6. 7
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/IcActivityUnitRelationService.java
  7. 18
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/IcPartyActivityService.java
  8. 8
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/IcServiceItemDictService.java
  9. 11
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcActivityUnitRelationServiceImpl.java
  10. 112
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcPartyActivityServiceImpl.java
  11. 12
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcServiceItemDictServiceImpl.java
  12. 9
      epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/IcActivityUnitRelationDao.xml
  13. 15
      epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/IcServiceItemDictDao.xml

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;
}

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

@ -36,12 +36,15 @@ 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;
@ -50,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.*;
@ -63,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.*;
/**
@ -268,6 +270,34 @@ public class IcPartyActivityController implements ResultDataResolver {
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));
}
}

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);
}

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);
}

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);
/**
* 物理删除删除活动所属单位
*

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

@ -22,6 +22,7 @@ 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;
@ -135,4 +136,21 @@ public interface IcPartyActivityService extends BaseService<IcPartyActivityEntit
* @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);
}

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);
}
/**
* 删除活动所属单位
*

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

@ -24,10 +24,13 @@ 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.*;
@ -38,16 +41,16 @@ 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.PartyActivitySignUpRecordResDTO;
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;
@ -86,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
@ -98,6 +101,8 @@ public class IcPartyActivityServiceImpl extends BaseServiceImpl<IcPartyActivityD
private EpmetCommonServiceOpenFeignClient commonServiceOpenFeignClient;
@Autowired
private IcPartyActivitySignUpRecordDao partyActivitySignUpRecordDao;
@Autowired
private EpmetUserOpenFeignClient epmetUserOpenFeignClient;
@Override
@ -144,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);
}
@ -206,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());
@ -340,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 -> {
@ -528,4 +533,95 @@ public class IcPartyActivityServiceImpl extends BaseServiceImpl<IcPartyActivityD
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<>();
queryWrapper.eq(IcPartyActivitySignUpRecordEntity::getActivityId, activityId);
resDTO.setSignUpCount(partyActivitySignUpRecordDao.selectCount(countWrapper));
return resDTO;
}
}

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);
}
}

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>

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>
Loading…
Cancel
Save