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