forked from luyan/epmet-cloud-lingshan
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