Browse Source

临时提交:居民端查询小组详情接口

dev_shibei_match
wxz 5 years ago
parent
commit
02338382fe
  1. 20
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/DateUtils.java
  2. 14
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/constant/GroupAuditStatusConstant.java
  3. 10
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/constant/GroupLimitConstant.java
  4. 21
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GroupDetailResultDTO.java
  5. 21
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/GroupEditSubmitRecordDao.java
  6. 2
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java
  7. 61
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java
  8. 41
      epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/GroupEditSubmitRecordDao.xml

20
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/DateUtils.java

@ -681,4 +681,24 @@ public class DateUtils {
}
}else return null;
}
/**
* 指定月份的开始时间
* @param date
* @return
*/
public static Date getMonthStart(Date date) {
LocalDate ldn = new LocalDate(date);
return ldn.dayOfMonth().withMinimumValue().toDate();
}
/**
* 指定月份的结束时间
* @param date
* @return
*/
public static Date getMonthEnd(Date date) {
LocalDate ldn = new LocalDate(date);
return ldn.dayOfMonth().withMaximumValue().toDate();
}
}

14
epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/constant/GroupAuditStatusConstant.java

@ -0,0 +1,14 @@
package com.epmet.resi.group.constant;
public interface GroupAuditStatusConstant {
// 审核中
String UNDER_AUDITING = "under_auditing";
// 驳回
String REJECTED = "rejected";
// 支持
String APPROVED = "approved";
}

10
epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/constant/GroupLimitConstant.java

@ -0,0 +1,10 @@
package com.epmet.resi.group.constant;
public interface GroupLimitConstant {
/**
* 每月可以编辑2次
*/
Integer EDIT_NUM_LIMIT_MONTH = 2;
}

21
epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GroupDetailResultDTO.java

@ -0,0 +1,21 @@
package com.epmet.resi.group.dto.group.result;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class GroupDetailResultDTO {
private String groupHeadPhoto;
private String groupName;
private String groupIntroduction;
private Integer editNumLimit;
private Integer avaliableEditNum;
private String auditStatus;
private Boolean editable;
private String remark;
}

21
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/GroupEditSubmitRecordDao.java

@ -20,6 +20,9 @@ package com.epmet.modules.group.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.modules.group.entity.GroupEditSubmitRecordEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.Date;
/**
* 组编辑提交记录表
@ -29,5 +32,21 @@ import org.apache.ibatis.annotations.Mapper;
*/
@Mapper
public interface GroupEditSubmitRecordDao extends BaseDao<GroupEditSubmitRecordEntity> {
/**
* 查询指定组指定时间段内的编辑次数
* @param groupId
* @param monthStart
* @param monthEnd
* @return
*/
int countEditNum(@Param("groupId") String groupId,
@Param("monthStart") Date monthStart,
@Param("monthEnd") Date monthEnd);
/**
* 查询最后一次编辑提交记录
* @param groupId
*/
GroupEditSubmitRecordEntity getLatestEditSubmitRecord(@Param("groupId") String groupId);
}

2
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java

@ -294,5 +294,5 @@ public interface ResiGroupService extends BaseService<ResiGroupEntity> {
*/
List<RecommendedListResultDTO> recommendedList(RecommendedListFormDTO formDTO);
void getGroupDetail(String groupId);
GroupDetailResultDTO getGroupDetail(String groupId);
}

61
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java

@ -38,8 +38,10 @@ import com.epmet.modules.constant.UserMessageConstant;
import com.epmet.modules.feign.EpmetMessageFeignClient;
import com.epmet.modules.feign.EpmetUserFeignClient;
import com.epmet.modules.feign.GovOrgFeignClient;
import com.epmet.modules.group.dao.GroupEditSubmitRecordDao;
import com.epmet.modules.group.dao.ResiGroupDao;
import com.epmet.modules.group.dao.ResiGroupOperationDao;
import com.epmet.modules.group.entity.GroupEditSubmitRecordEntity;
import com.epmet.modules.group.entity.ResiGroupEntity;
import com.epmet.modules.group.entity.ResiGroupOperationEntity;
import com.epmet.modules.group.redis.ResiGroupRedis;
@ -52,10 +54,7 @@ import com.epmet.modules.member.redis.ResiGroupMemberRedis;
import com.epmet.modules.member.service.GroupMemeberOperationService;
import com.epmet.modules.member.service.ResiGroupMemberService;
import com.epmet.modules.utils.ModuleConstant;
import com.epmet.resi.group.constant.EnterGroupTypeConstant;
import com.epmet.resi.group.constant.GroupStateConstant;
import com.epmet.resi.group.constant.LeaderFlagConstant;
import com.epmet.resi.group.constant.MemberStateConstant;
import com.epmet.resi.group.constant.*;
import com.epmet.resi.group.dto.UserRoleDTO;
import com.epmet.resi.group.dto.group.*;
import com.epmet.resi.group.dto.group.form.*;
@ -125,6 +124,9 @@ public class ResiGroupServiceImpl extends BaseServiceImpl<ResiGroupDao, ResiGrou
@Autowired
private ResiGroupDao resiGroupDao;
@Autowired
private GroupEditSubmitRecordDao groupEditSubmitRecordDao;
@Override
public PageData<ResiGroupDTO> page(Map<String, Object> params) {
IPage<ResiGroupEntity> page = baseDao.selectPage(
@ -975,9 +977,56 @@ public class ResiGroupServiceImpl extends BaseServiceImpl<ResiGroupDao, ResiGrou
}
@Override
public void getGroupDetail(String groupId) {
//resiGroupDao.getGroupDetail(groupId);
public GroupDetailResultDTO getGroupDetail(String groupId) {
GroupDetailResultDTO groupDetail = new GroupDetailResultDTO();
// 组基本信息
GroupEditSubmitRecordEntity ler = groupEditSubmitRecordDao.getLatestEditSubmitRecord(groupId);
if (ler != null) {
groupDetail.setAuditStatus(ler.getAuditStatus());
groupDetail.setRemark(ler.getRemark());
}
if (GroupAuditStatusConstant.UNDER_AUDITING.equals(ler.getAuditStatus())) {
// 审核中,显示待审核内容
groupDetail.setGroupHeadPhoto(ler.getGroupHeadPhoto());
groupDetail.setGroupName(ler.getGroupName());
groupDetail.setGroupIntroduction(ler.getGroupIntroduction());
} else {
// 不在审核中,直接显示组信息
ResiGroupEntity resiGroupEntity = resiGroupDao.selectById(groupId);
if (resiGroupEntity == null) {
return null;
}
groupDetail.setGroupHeadPhoto(resiGroupEntity.getGroupHeadPhoto());
groupDetail.setGroupName(resiGroupEntity.getGroupName());
groupDetail.setGroupIntroduction(resiGroupEntity.getGroupIntroduction());
}
// 编辑次数及其限制
groupDetail.setEditNumLimit(GroupLimitConstant.EDIT_NUM_LIMIT_MONTH);
Date now = new Date();
int usedEditNum = groupEditSubmitRecordDao.countEditNum(groupId, DateUtils.getMonthStart(now), DateUtils.getMonthEnd(now));
groupDetail.setAvaliableEditNum(GroupLimitConstant.EDIT_NUM_LIMIT_MONTH - usedEditNum);
// 审核状态
// 是否可编辑
boolean editable = true;
if (GroupLimitConstant.EDIT_NUM_LIMIT_MONTH <= usedEditNum) {
// 达到最大编辑次数了
editable = false;
}
if (ler != null && GroupAuditStatusConstant.UNDER_AUDITING.equals(ler.getAuditStatus())) {
// 提交了,还没审核完
editable = false;
}
groupDetail.setEditable(editable);
return groupDetail;
}
}

41
epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/GroupEditSubmitRecordDao.xml

@ -1,7 +1,27 @@
<?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.GroupEditSubmitRecordDao">
<mapper namespace="com.epmet.modules.group.dao.GroupEditSubmitRecordDao">
<sql id="table_columns">
id,
group_id,
customer_id,
grid_id,
group_head_photo,
group_name,
group_introduction,
audit_status,
staff_id,
remark,
audit_time,
del_flag,
revision,
created_by,
created_time,
updated_by,
updated_time
</sql>
<resultMap type="com.epmet.modules.group.entity.GroupEditSubmitRecordEntity" id="groupEditSubmitRecordMap">
<result property="id" column="ID"/>
@ -23,5 +43,24 @@
<result property="updatedTime" column="UPDATED_TIME"/>
</resultMap>
<select id="countEditNum" resultType="java.lang.Integer">
select count(1)
from group_edit_submit_record
where GROUP_ID = #{groupId}
and CREATED_TIME between #{monthStart} and #{monthEnd}
and DEL_FLAG=0
</select>
<select id="getLatestEditSubmitRecord" resultType="com.epmet.modules.group.entity.GroupEditSubmitRecordEntity">
select
<include refid="table_columns"/>
from group_edit_submit_record
where
DEL_FLAG=0
and group_id = #{groupId}
order by CREATED_TIME desc
limit 1
</select>
</mapper>
Loading…
Cancel
Save