13 changed files with 709 additions and 0 deletions
			
			
		| @ -0,0 +1,52 @@ | |||
| package com.epmet.dto; | |||
| 
 | |||
| import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; | |||
| import lombok.Data; | |||
| import org.hibernate.validator.constraints.Length; | |||
| 
 | |||
| import javax.validation.Valid; | |||
| import javax.validation.constraints.NotBlank; | |||
| import javax.validation.constraints.NotEmpty; | |||
| import java.io.Serializable; | |||
| import java.util.List; | |||
| 
 | |||
| 
 | |||
| /** | |||
|  * 组织发布消息(烟台) | |||
|  * | |||
|  * @author generator generator@elink-cn.com | |||
|  * @since v1.0.0 2023-05-04 | |||
|  */ | |||
| @Data | |||
| public class OrganizationMessageFormDTO implements Serializable { | |||
| 
 | |||
|     private static final long serialVersionUID = 1L; | |||
| 
 | |||
|     public interface AddShowGroup extends CustomerClientShowGroup { | |||
|     } | |||
|     /** | |||
|      * 发布渠道:0:专属app | |||
|      */ | |||
|     @NotBlank(message = "发布渠道不能为空", groups = {AddShowGroup.class}) | |||
|     private String publishDitch; | |||
| 
 | |||
|     /** | |||
|      * 消息内容;最多输入500 | |||
|      */ | |||
|     @NotBlank(message = "内容不能为空", groups = {AddShowGroup.class}) | |||
|     @Length(max = 500, message = "内容输入500字", groups = {AddShowGroup.class}) | |||
|     private String content; | |||
| 
 | |||
|     @Valid | |||
|     @NotEmpty(message = "发布范围不能为空", groups = {AddShowGroup.class}) | |||
|     private List<OrganizationMessagePublishRangeDTO> rangeList; | |||
| 
 | |||
|     /** | |||
|      * 客户Id | |||
|      */ | |||
|     private String customerId; | |||
|     /** | |||
|      * 发布人staffId | |||
|      */ | |||
|     private String publishStaffId; | |||
| } | |||
| @ -0,0 +1,63 @@ | |||
| package com.epmet.dto; | |||
| 
 | |||
| import lombok.Data; | |||
| 
 | |||
| import javax.validation.constraints.NotBlank; | |||
| import java.io.Serializable; | |||
| 
 | |||
| 
 | |||
| /** | |||
|  * 消息发布范围(烟台) | |||
|  * | |||
|  * @author generator generator@elink-cn.com | |||
|  * @since v1.0.0 2023-05-04 | |||
|  */ | |||
| @Data | |||
| public class OrganizationMessagePublishRangeDTO implements Serializable { | |||
| 
 | |||
|     private static final long serialVersionUID = 1L; | |||
| 
 | |||
|     /** | |||
|      * 主键 | |||
|      */ | |||
| 	private String id; | |||
| 
 | |||
|     /** | |||
|      * 客户Id | |||
|      */ | |||
| 	private String customerId; | |||
| 
 | |||
|     /** | |||
|      * 消息id:organization_message.id | |||
|      */ | |||
| 	private String messageId; | |||
| 
 | |||
|     /** | |||
|      * 组织或者网格id | |||
|      */ | |||
|     @NotBlank(message = "orgId不能为空",groups = {OrganizationMessageFormDTO.AddShowGroup.class}) | |||
| 	private String orgId; | |||
| 
 | |||
|     /** | |||
|      * 组织:agency;网格:grid | |||
|      */ | |||
|     @NotBlank(message = "orgType不能为空",groups = {OrganizationMessageFormDTO.AddShowGroup.class}) | |||
| 	private String orgType; | |||
| 
 | |||
|     /** | |||
|      * org_id的父级 | |||
|      */ | |||
| 	private String pid; | |||
| 
 | |||
|     /** | |||
|      * org_id的全路径,包含org_id | |||
|      */ | |||
| 	private String orgIdPath; | |||
| 
 | |||
|     /** | |||
|      * 组织名称或者网格名称;如果是网格名称,存储的是XXX社区-XX网格 | |||
|      */ | |||
| 	private String orgName; | |||
| 
 | |||
| 
 | |||
| } | |||
| @ -0,0 +1,30 @@ | |||
| package com.epmet.dto.form; | |||
| 
 | |||
| import com.epmet.commons.tools.dto.form.PageFormDTO; | |||
| import lombok.Data; | |||
| 
 | |||
| /** | |||
|  * @Description 烟台消息管理,列表查询入参 | |||
|  * @Author yzm | |||
|  * @Date 2023/5/4 16:05 | |||
|  */ | |||
| @Data | |||
| public class OrganizationMessagePageFormDTO extends PageFormDTO { | |||
|     /** | |||
|      * 发布渠道:0:专属app | |||
|      */ | |||
|     private String publishDitch; | |||
|     /** | |||
|      * 发布范围,组织id或者网格id | |||
|      */ | |||
|     private String orgId; | |||
|     /** | |||
|      * yyyy-MM-dd | |||
|      */ | |||
|     private String startDate; | |||
|     /** | |||
|      * yyyy-MM-dd | |||
|      */ | |||
|     private String endDate; | |||
| } | |||
| 
 | |||
| @ -0,0 +1,65 @@ | |||
| package com.epmet.dto.result; | |||
| 
 | |||
| import com.fasterxml.jackson.annotation.JsonFormat; | |||
| import lombok.Data; | |||
| 
 | |||
| import java.util.Date; | |||
| 
 | |||
| /** | |||
|  * @Description 烟台消息管理,列表查询 | |||
|  * @Author yzm | |||
|  * @Date 2023/5/4 16:06 | |||
|  */ | |||
| @Data | |||
| public class OrganizationMessageResultDTO { | |||
|     /** | |||
|      * 消息id | |||
|      */ | |||
|     private String messageId; | |||
| 
 | |||
|     /** | |||
|      * 发布渠道:0:专属app | |||
|      */ | |||
|     private String publishDitch; | |||
| 
 | |||
|     /** | |||
|      * 消息内容;最多输入500 | |||
|      */ | |||
|     private String content; | |||
|     /** | |||
|      * 发布范围 | |||
|      */ | |||
|     private String publishRangeName; | |||
| 
 | |||
|     /** | |||
|      * 发布时间 | |||
|      */ | |||
|     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") | |||
|     private Date publishTime; | |||
| 
 | |||
|     /** | |||
|      * 发布人staffId | |||
|      */ | |||
|     private String publishStaffId; | |||
| 
 | |||
|     /** | |||
|      * 发布人姓名 | |||
|      */ | |||
|     private String publishStaffName; | |||
| 
 | |||
|     /** | |||
|      * 发布人所属组织id | |||
|      */ | |||
|     private String publishOrgId; | |||
| 
 | |||
|     /** | |||
|      * org_id_path | |||
|      */ | |||
|     private String publishOrgIdPath; | |||
| 
 | |||
|     /** | |||
|      * 发布人所属组织名称 | |||
|      */ | |||
|     private String publishOrgName; | |||
| } | |||
| 
 | |||
| @ -0,0 +1,73 @@ | |||
| package com.epmet.controller; | |||
| 
 | |||
| import com.epmet.commons.tools.annotation.LoginUser; | |||
| import com.epmet.commons.tools.page.PageData; | |||
| import com.epmet.commons.tools.security.dto.TokenDto; | |||
| import com.epmet.commons.tools.utils.Result; | |||
| import com.epmet.commons.tools.validator.ValidatorUtils; | |||
| import com.epmet.dto.OrganizationMessageFormDTO; | |||
| import com.epmet.dto.form.OrganizationMessagePageFormDTO; | |||
| import com.epmet.dto.result.OrganizationMessageResultDTO; | |||
| import com.epmet.service.OrganizationMessageService; | |||
| import org.apache.commons.lang3.StringUtils; | |||
| import org.springframework.beans.factory.annotation.Autowired; | |||
| import org.springframework.web.bind.annotation.*; | |||
| 
 | |||
| 
 | |||
| /** | |||
|  * 组织发布消息(烟台) | |||
|  * | |||
|  * @author generator generator@elink-cn.com | |||
|  * @since v1.0.0 2023-05-04 | |||
|  */ | |||
| @RestController | |||
| @RequestMapping("organization/message") | |||
| public class OrganizationMessageController { | |||
| 
 | |||
|     @Autowired | |||
|     private OrganizationMessageService organizationMessageService; | |||
| 
 | |||
|     /** | |||
|      * 列表查询 | |||
|      * | |||
|      * @param formDTO | |||
|      * @return | |||
|      */ | |||
|     @PostMapping("list") | |||
|     public Result<PageData<OrganizationMessageResultDTO>> pageList(@RequestBody OrganizationMessagePageFormDTO formDTO) { | |||
|         return new Result<PageData<OrganizationMessageResultDTO>>().ok(organizationMessageService.pageList(formDTO.getPageNo(), formDTO.getPageSize(), | |||
|                 formDTO.getPublishDitch(), | |||
|                 formDTO.getOrgId(), | |||
|                 formDTO.getStartDate(), | |||
|                 formDTO.getEndDate())); | |||
|     } | |||
| 
 | |||
|     /** | |||
|      * 查询消息详情 | |||
|      * | |||
|      * @param messageId | |||
|      * @return | |||
|      */ | |||
|     @PostMapping("detail/{messageId}") | |||
|     public Result<OrganizationMessageResultDTO> getDetail(@PathVariable("messageId") String messageId) { | |||
|         if (StringUtils.isBlank(messageId)) { | |||
|             return new Result<>(); | |||
|         } | |||
|         return new Result<OrganizationMessageResultDTO>().ok(organizationMessageService.getDetail(messageId)); | |||
|     } | |||
| 
 | |||
|     /** | |||
|      * 发布消息 | |||
|      * | |||
|      * @param formDTO | |||
|      * @return 返回消息id | |||
|      */ | |||
|     @PostMapping("publish") | |||
|     public Result publish(@LoginUser TokenDto tokenDto, @RequestBody OrganizationMessageFormDTO formDTO) { | |||
|         formDTO.setCustomerId(tokenDto.getCustomerId()); | |||
|         formDTO.setPublishStaffId(tokenDto.getUserId()); | |||
|         ValidatorUtils.validateEntity(formDTO, OrganizationMessageFormDTO.AddShowGroup.class); | |||
|         return new Result().ok(organizationMessageService.publish(formDTO)); | |||
|     } | |||
| 
 | |||
| } | |||
| @ -0,0 +1,36 @@ | |||
| package com.epmet.dao; | |||
| 
 | |||
| import com.epmet.commons.mybatis.dao.BaseDao; | |||
| import com.epmet.dto.result.OrganizationMessageResultDTO; | |||
| import com.epmet.entity.OrganizationMessageEntity; | |||
| import org.apache.ibatis.annotations.Mapper; | |||
| import org.apache.ibatis.annotations.Param; | |||
| 
 | |||
| import java.util.List; | |||
| 
 | |||
| /** | |||
|  * 组织发布消息(烟台) | |||
|  * | |||
|  * @author generator generator@elink-cn.com | |||
|  * @since v1.0.0 2023-05-04 | |||
|  */ | |||
| @Mapper | |||
| public interface OrganizationMessageDao extends BaseDao<OrganizationMessageEntity> { | |||
| 
 | |||
|     /** | |||
|      * | |||
|      * @param staffOrgIdPath 工作人员所属组织的orgIdPath | |||
|      * @param publishDitch 发布渠道;0:专属app | |||
|      * @param orgId 发布范围,组织id或者网格id | |||
|      * @param startDate yyyy-MM-dd | |||
|      * @param endDate yyyy-MM-dd | |||
|      * @return | |||
|      */ | |||
|     List<OrganizationMessageResultDTO> pageList(@Param("customerId")String customerId, | |||
|                                                 @Param("staffOrgIdPath") String staffOrgIdPath, | |||
|                                                 @Param("publishDitch")String publishDitch, | |||
|                                                 @Param("orgId")String orgId, | |||
|                                                 @Param("startDate")String startDate, | |||
|                                                 @Param("endDate")String endDate, | |||
|                                                 @Param("messageId")String messageId); | |||
| } | |||
| @ -0,0 +1,16 @@ | |||
| package com.epmet.dao; | |||
| 
 | |||
| import com.epmet.commons.mybatis.dao.BaseDao; | |||
| import com.epmet.entity.OrganizationMessagePublishRangeEntity; | |||
| import org.apache.ibatis.annotations.Mapper; | |||
| 
 | |||
| /** | |||
|  * 消息发布范围(烟台) | |||
|  * | |||
|  * @author generator generator@elink-cn.com | |||
|  * @since v1.0.0 2023-05-04 | |||
|  */ | |||
| @Mapper | |||
| public interface OrganizationMessagePublishRangeDao extends BaseDao<OrganizationMessagePublishRangeEntity> { | |||
| 	 | |||
| } | |||
| @ -0,0 +1,69 @@ | |||
| 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-05-04 | |||
|  */ | |||
| @Data | |||
| @EqualsAndHashCode(callSuper=false) | |||
| @TableName("organization_message") | |||
| public class OrganizationMessageEntity extends BaseEpmetEntity { | |||
| 
 | |||
| 	private static final long serialVersionUID = 1L; | |||
| 
 | |||
|     /** | |||
|      * 客户Id | |||
|      */ | |||
| 	private String customerId; | |||
| 
 | |||
|     /** | |||
|      * 发布渠道:0:专属app | |||
|      */ | |||
| 	private String publishDitch; | |||
| 
 | |||
|     /** | |||
|      * 消息内容;最多输入500 | |||
|      */ | |||
| 	private String content; | |||
| 
 | |||
|     /** | |||
|      * 发布人staffId | |||
|      */ | |||
| 	private String publishStaffId; | |||
| 
 | |||
|     /** | |||
|      * 发布人姓名 | |||
|      */ | |||
| 	private String publishStaffName; | |||
| 
 | |||
|     /** | |||
|      * 发布人所属组织id | |||
|      */ | |||
| 	private String publishOrgId; | |||
| 
 | |||
|     /** | |||
|      * org_id_path | |||
|      */ | |||
| 	private String publishOrgIdPath; | |||
| 
 | |||
|     /** | |||
|      * 发布人所属组织名称 | |||
|      */ | |||
| 	private String publishOrgName; | |||
| 
 | |||
|     /** | |||
|      * 发布时间 | |||
|      */ | |||
| 	private Date publishTime; | |||
| 
 | |||
| } | |||
| @ -0,0 +1,56 @@ | |||
| package com.epmet.entity; | |||
| 
 | |||
| import com.baomidou.mybatisplus.annotation.TableName; | |||
| import com.epmet.commons.mybatis.entity.BaseEpmetEntity; | |||
| import lombok.Data; | |||
| import lombok.EqualsAndHashCode; | |||
| 
 | |||
| /** | |||
|  * 消息发布范围(烟台) | |||
|  * | |||
|  * @author generator generator@elink-cn.com | |||
|  * @since v1.0.0 2023-05-04 | |||
|  */ | |||
| @Data | |||
| @EqualsAndHashCode(callSuper=false) | |||
| @TableName("organization_message_publish_range") | |||
| public class OrganizationMessagePublishRangeEntity extends BaseEpmetEntity { | |||
| 
 | |||
| 	private static final long serialVersionUID = 1L; | |||
| 
 | |||
|     /** | |||
|      * 客户Id | |||
|      */ | |||
| 	private String customerId; | |||
| 
 | |||
|     /** | |||
|      * 消息id:organization_message.id | |||
|      */ | |||
| 	private String messageId; | |||
| 
 | |||
|     /** | |||
|      * 组织或者网格id | |||
|      */ | |||
| 	private String orgId; | |||
| 
 | |||
|     /** | |||
|      * 组织:agency;网格:grid | |||
|      */ | |||
| 	private String orgType; | |||
| 
 | |||
|     /** | |||
|      * org_id的父级 | |||
|      */ | |||
| 	private String pid; | |||
| 
 | |||
|     /** | |||
|      * org_id的全路径,包含org_id | |||
|      */ | |||
| 	private String orgIdPath; | |||
| 
 | |||
|     /** | |||
|      * 组织名称或者网格名称;如果是网格名称,存储的是XXX社区-XX网格 | |||
|      */ | |||
| 	private String orgName; | |||
| 
 | |||
| } | |||
| @ -0,0 +1,42 @@ | |||
| package com.epmet.service; | |||
| 
 | |||
| import com.epmet.commons.mybatis.service.BaseService; | |||
| import com.epmet.commons.tools.page.PageData; | |||
| import com.epmet.dto.OrganizationMessageFormDTO; | |||
| import com.epmet.dto.result.OrganizationMessageResultDTO; | |||
| import com.epmet.entity.OrganizationMessageEntity; | |||
| 
 | |||
| /** | |||
|  * 组织发布消息(烟台) | |||
|  * | |||
|  * @author generator generator@elink-cn.com | |||
|  * @since v1.0.0 2023-05-04 | |||
|  */ | |||
| public interface OrganizationMessageService extends BaseService<OrganizationMessageEntity> { | |||
| 
 | |||
|     /** | |||
|      * 分页列表 | |||
|      * @param pageNo | |||
|      * @param pageSize | |||
|      * @param publishDitch 发布渠道;0:专属app | |||
|      * @param orgId 发布范围,组织id或者网格id | |||
|      * @param startDate yyyy-MM-dd | |||
|      * @param endDate yyyy-MM-dd | |||
|      * @return | |||
|      */ | |||
|     PageData<OrganizationMessageResultDTO> pageList(Integer pageNo, Integer pageSize, String publishDitch, String orgId, String startDate, String endDate); | |||
| 
 | |||
|     /** | |||
|      * 查询详情 | |||
|      * @param messageId | |||
|      * @return | |||
|      */ | |||
|     OrganizationMessageResultDTO getDetail(String messageId); | |||
| 
 | |||
|     /** | |||
|      * 发布消息 | |||
|      * @param formDTO | |||
|      * @return 返回消息id | |||
|      */ | |||
|     String publish(OrganizationMessageFormDTO formDTO); | |||
| } | |||
| @ -0,0 +1,122 @@ | |||
| package com.epmet.service.impl; | |||
| 
 | |||
| import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; | |||
| import com.epmet.commons.tools.constant.NumConstant; | |||
| import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; | |||
| import com.epmet.commons.tools.enums.OrgTypeEnum; | |||
| 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.utils.ConvertUtils; | |||
| import com.epmet.commons.tools.utils.EpmetRequestHolder; | |||
| import com.epmet.commons.tools.utils.PidUtils; | |||
| import com.epmet.dao.OrganizationMessageDao; | |||
| import com.epmet.dao.OrganizationMessagePublishRangeDao; | |||
| import com.epmet.dto.OrganizationMessageFormDTO; | |||
| import com.epmet.dto.OrganizationMessagePublishRangeDTO; | |||
| import com.epmet.dto.result.OrganizationMessageResultDTO; | |||
| import com.epmet.entity.OrganizationMessageEntity; | |||
| import com.epmet.entity.OrganizationMessagePublishRangeEntity; | |||
| import com.epmet.service.OrganizationMessageService; | |||
| import com.github.pagehelper.PageHelper; | |||
| import com.github.pagehelper.PageInfo; | |||
| import org.apache.commons.collections4.CollectionUtils; | |||
| import org.springframework.beans.factory.annotation.Autowired; | |||
| import org.springframework.stereotype.Service; | |||
| import org.springframework.transaction.annotation.Transactional; | |||
| 
 | |||
| import java.util.Date; | |||
| import java.util.List; | |||
| 
 | |||
| /** | |||
|  * 组织发布消息(烟台) | |||
|  * | |||
|  * @author generator generator@elink-cn.com | |||
|  * @since v1.0.0 2023-05-04 | |||
|  */ | |||
| @Service | |||
| public class OrganizationMessageServiceImpl extends BaseServiceImpl<OrganizationMessageDao, OrganizationMessageEntity> implements OrganizationMessageService { | |||
|     @Autowired | |||
|     private OrganizationMessagePublishRangeDao organizationMessagePublishRangeDao; | |||
| 
 | |||
|     /** | |||
|      * 分页列表 | |||
|      * | |||
|      * @param pageNo | |||
|      * @param pageSize | |||
|      * @param publishDitch 发布渠道;0:专属app | |||
|      * @param orgId 发布范围,组织id或者网格id | |||
|      * @param startDate yyyy-MM-dd | |||
|      * @param endDate yyyy-MM-dd | |||
|      * @return | |||
|      */ | |||
|     @Override | |||
|     public PageData<OrganizationMessageResultDTO> pageList(Integer pageNo, Integer pageSize, String publishDitch, String orgId, String startDate, String endDate) { | |||
|         CustomerStaffInfoCacheResult staffInfoCacheResult = CustomerStaffRedis.getStaffInfo(EpmetRequestHolder.getLoginUserCustomerId(), EpmetRequestHolder.getLoginUserId()); | |||
|         String staffOrgIdPath = PidUtils.convertPid2OrgIdPath(staffInfoCacheResult.getAgencyId(), staffInfoCacheResult.getAgencyPIds()); | |||
|         PageHelper.startPage(pageNo, pageSize); | |||
|         List<OrganizationMessageResultDTO> list = baseDao.pageList(EpmetRequestHolder.getLoginUserCustomerId(),staffOrgIdPath, publishDitch, orgId, startDate, endDate,null); | |||
|         PageInfo<OrganizationMessageResultDTO> pageInfo = new PageInfo<>(list); | |||
|         return new PageData<>(list, pageInfo.getTotal()); | |||
|     } | |||
| 
 | |||
|     /** | |||
|      * 查询详情 | |||
|      * | |||
|      * @param messageId | |||
|      * @return | |||
|      */ | |||
|     @Override | |||
|     public OrganizationMessageResultDTO getDetail(String messageId) { | |||
|         List<OrganizationMessageResultDTO> list = baseDao.pageList(EpmetRequestHolder.getLoginUserCustomerId(),null, null, null, null, null,messageId); | |||
|         if(CollectionUtils.isNotEmpty(list)){ | |||
|             return list.get(NumConstant.ZERO); | |||
|         } | |||
|         return null; | |||
|     } | |||
| 
 | |||
|     /** | |||
|      * 发布消息 | |||
|      * | |||
|      * @param formDTO | |||
|      * @return 返回消息id | |||
|      */ | |||
|     @Transactional(rollbackFor = Exception.class) | |||
|     @Override | |||
|     public String publish(OrganizationMessageFormDTO formDTO) { | |||
|         OrganizationMessageEntity messageEntity = ConvertUtils.sourceToTarget(formDTO, OrganizationMessageEntity.class); | |||
|         CustomerStaffInfoCacheResult staffInfoCacheResult = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getPublishStaffId()); | |||
|         messageEntity.setPublishStaffName(staffInfoCacheResult.getRealName()); | |||
|         messageEntity.setPublishOrgId(staffInfoCacheResult.getAgencyId()); | |||
|         messageEntity.setPublishOrgIdPath(PidUtils.convertPid2OrgIdPath(staffInfoCacheResult.getAgencyId(), staffInfoCacheResult.getAgencyPIds())); | |||
|         messageEntity.setPublishOrgName(staffInfoCacheResult.getAgencyName()); | |||
|         messageEntity.setPublishTime(new Date()); | |||
|         baseDao.insert(messageEntity); | |||
|         for (OrganizationMessagePublishRangeDTO dto : formDTO.getRangeList()) { | |||
|             OrganizationMessagePublishRangeEntity rangeEntity = new OrganizationMessagePublishRangeEntity(); | |||
|             rangeEntity.setCustomerId(messageEntity.getCustomerId()); | |||
|             rangeEntity.setMessageId(messageEntity.getId()); | |||
|             rangeEntity.setOrgId(dto.getOrgId()); | |||
|             rangeEntity.setOrgType(dto.getOrgType()); | |||
|             if (OrgTypeEnum.GRID.getCode().equals(dto.getOrgType())) { | |||
|                 GridInfoCache gridInfoCache = CustomerOrgRedis.getGridInfo(dto.getOrgId()); | |||
|                 rangeEntity.setPid(gridInfoCache.getPid()); | |||
|                 rangeEntity.setOrgIdPath(PidUtils.convertPid2OrgIdPath(dto.getOrgId(), gridInfoCache.getPids())); | |||
|                 rangeEntity.setOrgName(gridInfoCache.getGridNamePath()); | |||
|             } else if (OrgTypeEnum.AGENCY.getCode().equals(dto.getOrgType())) { | |||
|                 AgencyInfoCache agencyInfoCache = CustomerOrgRedis.getAgencyInfo(dto.getOrgId()); | |||
|                 rangeEntity.setPid(agencyInfoCache.getPid()); | |||
|                 rangeEntity.setOrgIdPath(PidUtils.convertPid2OrgIdPath(dto.getOrgId(), agencyInfoCache.getPids())); | |||
|                 rangeEntity.setOrgName(agencyInfoCache.getOrganizationName()); | |||
|             } | |||
|             organizationMessagePublishRangeDao.insert(rangeEntity); | |||
|         } | |||
|         String messageId = messageEntity.getId(); | |||
|         // todo 发送消息 发布范围下有哪些网格,网格下所有的注册居民,每人发送一条消息
 | |||
|         return messageId; | |||
|     } | |||
| 
 | |||
| 
 | |||
| } | |||
| @ -0,0 +1,61 @@ | |||
| <?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.OrganizationMessageDao"> | |||
| 
 | |||
|     <resultMap type="com.epmet.entity.OrganizationMessageEntity" id="organizationMessageMap"> | |||
|         <result property="id" column="ID"/> | |||
|         <result property="customerId" column="CUSTOMER_ID"/> | |||
|         <result property="publishDitch" column="PUBLISH_DITCH"/> | |||
|         <result property="content" column="CONTENT"/> | |||
|         <result property="publishStaffId" column="PUBLISH_STAFF_ID"/> | |||
|         <result property="publishStaffName" column="PUBLISH_STAFF_NAME"/> | |||
|         <result property="publishOrgId" column="PUBLISH_ORG_ID"/> | |||
|         <result property="publishOrgIdPath" column="PUBLISH_ORG_ID_PATH"/> | |||
|         <result property="publishOrgName" column="PUBLISH_ORG_NAME"/> | |||
|         <result property="publishTime" column="PUBLISH_TIME"/> | |||
|         <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="pageList" parameterType="map" resultType="com.epmet.dto.result.OrganizationMessageResultDTO"> | |||
|         select | |||
|             distinct om.ID as messageId, | |||
|             om.PUBLISH_DITCH as publishDitch, | |||
|             om.CONTENT as content, | |||
|             om.PUBLISH_TIME as publishTime, | |||
|             om.PUBLISH_STAFF_ID as publishStaffId, | |||
|             om.PUBLISH_ORG_ID as publishStaffName, | |||
|             om.PUBLISH_ORG_ID_PATH as publishOrgIdPath, | |||
|             OM.PUBLISH_ORG_NAME as publishOrgName, | |||
|             GROUP_CONCAT(r.ORG_NAME) as publishRangeName | |||
|         from organization_message om | |||
|         left join organization_message_publish_range r | |||
|             on(om.id=r.MESSAGE_ID and r.del_flag='0') | |||
|         where om.DEL_FLAG='0' | |||
|           and om.CUSTOMER_ID =#{customerId} | |||
|         <if test='staffOrgIdPath != null and staffOrgIdPath != "" '> | |||
|             and om.PUBLISH_ORG_ID_PATH like concat(#{staffOrgIdPath},'%') | |||
|         </if> | |||
|         <if test='publishDitch != null and publishDitch != "" '> | |||
|            and om.PUBLISH_DITCH =#{publishDitch} | |||
|         </if> | |||
|         <if test='orgId != null and orgId != "" '> | |||
|            and r.ORG_ID =#{orgId} | |||
|         </if> | |||
|         <if test='startDate != null and startDate != "" '> | |||
|             AND DATE_FORMAT(om.PUBLISH_TIME,'%Y-%m-%d') >= #{startDate} | |||
|         </if> | |||
|         <if test='endDate != null and endDate != "" '> | |||
|             AND DATE_FORMAT(om.PUBLISH_TIME,'%Y-%m-%d') <![CDATA[ <= ]]> #{endDate} | |||
|         </if> | |||
|         <if test='messageId != null and messageId != "" '> | |||
|             and om.id =#{messageId} | |||
|         </if> | |||
|         order by om.PUBLISH_TIME desc | |||
|     </select> | |||
| </mapper> | |||
| @ -0,0 +1,24 @@ | |||
| <?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.OrganizationMessagePublishRangeDao"> | |||
| 
 | |||
|     <resultMap type="com.epmet.entity.OrganizationMessagePublishRangeEntity" id="organizationMessagePublishRangeMap"> | |||
|         <result property="id" column="ID"/> | |||
|         <result property="customerId" column="CUSTOMER_ID"/> | |||
|         <result property="messageId" column="MESSAGE_ID"/> | |||
|         <result property="orgId" column="ORG_ID"/> | |||
|         <result property="orgType" column="ORG_TYPE"/> | |||
|         <result property="pid" column="PID"/> | |||
|         <result property="orgIdPath" column="ORG_ID_PATH"/> | |||
|         <result property="orgName" column="ORG_NAME"/> | |||
|         <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> | |||
| 
 | |||
| 
 | |||
| </mapper> | |||
					Loading…
					
					
				
		Reference in new issue