Merge branch 'uat' into sim
This commit is contained in:
@ -1,6 +1,8 @@
|
||||
package com.chinaunicom.mall.ebtp.extend.bizmessage.controller;
|
||||
|
||||
import com.chinaunicom.mall.ebtp.extend.bizmessage.dto.PageDTO;
|
||||
import com.chinaunicom.mall.ebtp.extend.bizmessage.entity.BizMessageAuthorize;
|
||||
import com.chinaunicom.mall.ebtp.extend.bizmessage.entity.BizMessageVo;
|
||||
import com.chinaunicom.mall.ebtp.extend.bizmessage.mybatis.IBizMessagePage;
|
||||
import com.chinaunicom.mall.ebtp.extend.bizmessage.service.BizMessageConsumerService;
|
||||
import com.chinaunicom.mall.ebtp.extend.bizmessage.vo.DescribeSiteMsgDetailVO;
|
||||
@ -13,6 +15,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
/**
|
||||
@ -56,9 +59,39 @@ public class BizMessageConsumerController {
|
||||
DescribeSiteMsgDetailVO vo = new DescribeSiteMsgDetailVO();
|
||||
vo.setMsgId(source.getId());
|
||||
BeanUtils.copyProperties(source, vo);
|
||||
|
||||
BizMessageAuthorize authorize = new BizMessageAuthorize();
|
||||
authorize.setMessageId(source.getId());
|
||||
authorize = this.service.getAuthorize(authorize);
|
||||
vo.setAuthorizestate(authorize.getState());
|
||||
vo.setServicecode(source.getServicecode());
|
||||
return vo;
|
||||
}).orElseGet(DescribeSiteMsgDetailVO::new);
|
||||
}
|
||||
|
||||
/**
|
||||
* 信息类别查询
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@ApiOperation("信息类别查询")
|
||||
@PostMapping("selectMsgListByType")
|
||||
@ResponseStatus(code = HttpStatus.OK)
|
||||
public List<BizMessageVo> selectMsgListByType(@RequestBody(required = false) BizMessageVo vo) {
|
||||
|
||||
return service.selectMsgListByType(vo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 信息已阅
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@ApiOperation("信息已阅")
|
||||
@GetMapping("selectMsgRead/{id}")
|
||||
@ResponseStatus(code = HttpStatus.OK)
|
||||
public Boolean selectMsgRead( @ApiParam(value = "待查询的消息id", required = true) @PathVariable("id") String id) {
|
||||
//已读
|
||||
this.service.updateState(id);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -5,4 +5,5 @@ import com.chinaunicom.mall.ebtp.extend.bizmessage.entity.BizMessageAuthorize;
|
||||
|
||||
public interface BizMessageAuthorizeMapper extends BaseMapper<BizMessageAuthorize> {
|
||||
|
||||
|
||||
}
|
||||
|
@ -3,10 +3,22 @@ package com.chinaunicom.mall.ebtp.extend.bizmessage.dao;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.chinaunicom.mall.ebtp.extend.bizmessage.entity.BizMessage;
|
||||
import com.chinaunicom.mall.ebtp.extend.bizmessage.entity.BizMessageAuthorize;
|
||||
import com.chinaunicom.mall.ebtp.extend.bizmessage.entity.BizMessageVo;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface BizMessageMapper extends BaseMapper<BizMessage> {
|
||||
|
||||
IPage<BizMessage> findMessage(@Param("param") IPage<BizMessage> page, @Param("userId") String userId);
|
||||
|
||||
IPage<BizMessageVo> findMessageVo(@Param("param") IPage<BizMessageVo> page, @Param("userId") String userId);
|
||||
|
||||
Boolean updateState(@Param("userId") String userId,@Param("messageId") String messageId);
|
||||
|
||||
List<BizMessageVo> findMessageVoList(BizMessageVo vo);
|
||||
|
||||
List<BizMessageAuthorize> findAuthorizeList(BizMessageAuthorize vo);
|
||||
|
||||
}
|
||||
|
@ -3,19 +3,81 @@
|
||||
<mapper namespace="com.chinaunicom.mall.ebtp.extend.bizmessage.dao.BizMessageMapper">
|
||||
|
||||
<select id="findMessage" resultType="com.chinaunicom.mall.ebtp.extend.bizmessage.entity.BizMessage">
|
||||
SELECT *
|
||||
FROM biz_message
|
||||
WHERE authorize = 0
|
||||
SELECT biz_message.*
|
||||
FROM biz_message WHERE authorize = 0
|
||||
|
||||
<if test="userId!=null and userId!=''">
|
||||
UNION ALL
|
||||
|
||||
SELECT a.*
|
||||
FROM ( SELECT * FROM biz_message WHERE authorize = 1) a
|
||||
FROM ( SELECT biz_message.* FROM biz_message
|
||||
WHERE authorize = 1) a
|
||||
INNER JOIN
|
||||
( SELECT * FROM biz_message_authorize WHERE user_id = #{userId}) b ON a.id = b.message_id
|
||||
</if>
|
||||
ORDER BY createtime DESC
|
||||
</select>
|
||||
|
||||
<select id="findMessageVo" resultType="com.chinaunicom.mall.ebtp.extend.bizmessage.entity.BizMessageVo">
|
||||
SELECT biz_message.*,biz_message_template.type as templatetype,'1' as authorizestate
|
||||
FROM biz_message
|
||||
left join biz_message_template on biz_message.templatecode = biz_message_template.code
|
||||
WHERE authorize = 0
|
||||
<if test="userId!=null and userId!=''">
|
||||
UNION ALL
|
||||
SELECT a.*,IFNULL(b.state,1) as authorizestate
|
||||
FROM ( SELECT biz_message.*,biz_message_template.type as templatetype
|
||||
FROM biz_message
|
||||
left join biz_message_template on biz_message.templatecode = biz_message_template.code
|
||||
WHERE authorize = 1) a
|
||||
INNER JOIN
|
||||
( SELECT * FROM biz_message_authorize WHERE user_id = #{userId}) b ON a.id = b.message_id
|
||||
</if>
|
||||
ORDER BY createtime DESC
|
||||
</select>
|
||||
|
||||
<update id="updateState" parameterType="java.lang.String">
|
||||
update biz_message_authorize set state = 1
|
||||
where message_id=#{messageId}
|
||||
and user_id =#{userId}
|
||||
</update>
|
||||
|
||||
<select id="findMessageVoList" resultType="com.chinaunicom.mall.ebtp.extend.bizmessage.entity.BizMessageVo" parameterType="com.chinaunicom.mall.ebtp.extend.bizmessage.entity.BizMessageVo">
|
||||
|
||||
SELECT
|
||||
biz_message.*,
|
||||
biz_message_authorize.state as authorizestate,
|
||||
biz_message_template.type AS templatetype
|
||||
FROM
|
||||
biz_message
|
||||
LEFT JOIN biz_message_template ON biz_message.templatecode = biz_message_template.CODE
|
||||
inner join biz_message_authorize on biz_message.id = biz_message_authorize.message_id
|
||||
WHERE
|
||||
authorize = 1 and user_id = #{userId}
|
||||
<if test="authorizestate!=null and authorizestate!=''">
|
||||
and biz_message_authorize.state = #{authorizestate}
|
||||
</if>
|
||||
<if test="templatetype!=null and templatetype!=''">
|
||||
and biz_message_template.type = #{templatetype}
|
||||
</if>
|
||||
ORDER BY createtime DESC
|
||||
</select>
|
||||
|
||||
<select id="findAuthorizeList" resultType="com.chinaunicom.mall.ebtp.extend.bizmessage.entity.BizMessageAuthorize" parameterType="com.chinaunicom.mall.ebtp.extend.bizmessage.entity.BizMessageAuthorize">
|
||||
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
biz_message_authorize
|
||||
WHERE 1 = 1
|
||||
<if test="userId!=null and userId!=''">
|
||||
and user_id = #{userId}
|
||||
</if>
|
||||
<if test="messageId!=null and messageId!=''">
|
||||
and message_id = #{messageId}
|
||||
</if>
|
||||
<if test="state!=null and state!=''">
|
||||
and state = #{state}
|
||||
</if>
|
||||
</select>
|
||||
</mapper>
|
@ -41,4 +41,8 @@ public class BizMessageRawDTO {
|
||||
@ApiModelProperty(required = true, value = "授权用户列表")
|
||||
private List<String> users;
|
||||
|
||||
@ApiModelProperty(required = true, value = "业务参数json")
|
||||
@NotNull(message = "业务参数json")
|
||||
private Map<String, Object> servicecode;
|
||||
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
package com.chinaunicom.mall.ebtp.extend.bizmessage.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import lombok.Data;
|
||||
|
||||
@ -16,6 +17,8 @@ public class BizMessage {
|
||||
private String url;
|
||||
private String params;
|
||||
private Timestamp createtime;
|
||||
private String servicecode;
|
||||
private String templatecode;
|
||||
|
||||
/* 该值为1则标识开启授权控制,只有授权列表( biz_message_authorize )内的用户可见 */
|
||||
private Integer authorize;
|
||||
|
@ -11,5 +11,6 @@ public class BizMessageAuthorize {
|
||||
|
||||
private String userId;
|
||||
private String messageId;
|
||||
private String state;
|
||||
|
||||
}
|
||||
|
@ -0,0 +1,14 @@
|
||||
package com.chinaunicom.mall.ebtp.extend.bizmessage.entity;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class BizMessageVo extends BizMessage{
|
||||
|
||||
private String authorizestate;
|
||||
private String templatetype;
|
||||
private String userId;
|
||||
private Long datanum;
|
||||
private Integer size;
|
||||
|
||||
}
|
@ -2,13 +2,27 @@ package com.chinaunicom.mall.ebtp.extend.bizmessage.service;
|
||||
|
||||
import com.chinaunicom.mall.ebtp.extend.bizmessage.dto.PageDTO;
|
||||
import com.chinaunicom.mall.ebtp.extend.bizmessage.entity.BizMessage;
|
||||
import com.chinaunicom.mall.ebtp.extend.bizmessage.entity.BizMessageAuthorize;
|
||||
import com.chinaunicom.mall.ebtp.extend.bizmessage.entity.BizMessageVo;
|
||||
import com.chinaunicom.mall.ebtp.extend.bizmessage.mybatis.IBizMessagePage;
|
||||
import com.chinaunicom.mall.ebtp.extend.bizmessage.vo.DescribeSiteMsgVO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface BizMessageConsumerService {
|
||||
|
||||
IBizMessagePage<DescribeSiteMsgVO> listOutline(PageDTO page);
|
||||
|
||||
BizMessage getDetailById(String id);
|
||||
|
||||
Boolean updateState(String id);
|
||||
|
||||
List<BizMessageVo> selectMsgListByType(BizMessageVo vo);
|
||||
|
||||
/**
|
||||
* 查询读取状态
|
||||
* @param authorize
|
||||
* @return
|
||||
*/
|
||||
BizMessageAuthorize getAuthorize(BizMessageAuthorize authorize);
|
||||
}
|
||||
|
@ -6,6 +6,8 @@ import com.chinaunicom.mall.ebtp.common.base.service.IBaseCacheUserService;
|
||||
import com.chinaunicom.mall.ebtp.extend.bizmessage.dao.BizMessageMapper;
|
||||
import com.chinaunicom.mall.ebtp.extend.bizmessage.dto.PageDTO;
|
||||
import com.chinaunicom.mall.ebtp.extend.bizmessage.entity.BizMessage;
|
||||
import com.chinaunicom.mall.ebtp.extend.bizmessage.entity.BizMessageAuthorize;
|
||||
import com.chinaunicom.mall.ebtp.extend.bizmessage.entity.BizMessageVo;
|
||||
import com.chinaunicom.mall.ebtp.extend.bizmessage.mybatis.BizMessagePage;
|
||||
import com.chinaunicom.mall.ebtp.extend.bizmessage.mybatis.IBizMessagePage;
|
||||
import com.chinaunicom.mall.ebtp.extend.bizmessage.service.BizMessageConsumerService;
|
||||
@ -14,6 +16,8 @@ import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@ -39,7 +43,7 @@ public class BizMessageConsumerServiceImpl implements BizMessageConsumerService
|
||||
public IBizMessagePage<DescribeSiteMsgVO> listOutline(PageDTO page) {
|
||||
page = createPageCondition(page);
|
||||
|
||||
IPage<BizMessage> pageEntity = mapper.findMessage(new Page<BizMessage>(page.getPageNo(), page.getPageSize()),
|
||||
IPage<BizMessageVo> pageEntity = mapper.findMessageVo(new Page<BizMessageVo>(page.getPageNo(), page.getPageSize()),
|
||||
service.getCacheUser().getUserId());
|
||||
|
||||
// DAT -> VO 转换
|
||||
@ -48,8 +52,10 @@ public class BizMessageConsumerServiceImpl implements BizMessageConsumerService
|
||||
result.setRecords(pageEntity.getRecords().stream().map(source -> {
|
||||
DescribeSiteMsgVO vo = new DescribeSiteMsgVO();
|
||||
vo.setMsgId(source.getId());
|
||||
vo.setServicecode(source.getServicecode());
|
||||
vo.setAuthorizestate(source.getAuthorizestate());
|
||||
vo.setTemplatetype(source.getTemplatetype());
|
||||
BeanUtils.copyProperties(source, vo);
|
||||
|
||||
return vo;
|
||||
}).collect(Collectors.toList()));
|
||||
|
||||
@ -64,7 +70,20 @@ public class BizMessageConsumerServiceImpl implements BizMessageConsumerService
|
||||
*/
|
||||
@Override
|
||||
public BizMessage getDetailById(String id) {
|
||||
return mapper.selectById(id);
|
||||
BizMessage message = mapper.selectById(id);
|
||||
return message;
|
||||
}
|
||||
|
||||
/**
|
||||
* 消息详情 已读修改
|
||||
*
|
||||
* @param messageId
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public Boolean updateState(String messageId){
|
||||
String userId = service.getCacheUser().getUserId();
|
||||
return mapper.updateState(userId,messageId);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -81,4 +100,45 @@ public class BizMessageConsumerServiceImpl implements BizMessageConsumerService
|
||||
}).orElseGet(PageDTO::new);
|
||||
}
|
||||
|
||||
/**
|
||||
* 消息概要列表
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public List<BizMessageVo> selectMsgListByType(BizMessageVo vo) {
|
||||
vo.setSize(vo.getSize()!=null?vo.getSize():5);
|
||||
vo.setUserId(service.getCacheUser().getUserId());
|
||||
if(vo.getAuthorizestate()==null||"".equals(vo.getAuthorizestate())){
|
||||
vo.setAuthorizestate("0");
|
||||
}
|
||||
|
||||
List<BizMessageVo> list = mapper.findMessageVoList(vo);
|
||||
|
||||
List<BizMessageVo> rList = new ArrayList<>();
|
||||
|
||||
for(int i = 0 ; i < list.size();i++){
|
||||
if(i<vo.getSize()){
|
||||
BizMessageVo message = list.get(i);
|
||||
message.setDatanum(Long.valueOf(list.size()));
|
||||
rList.add(message);
|
||||
}
|
||||
}
|
||||
|
||||
return rList;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 查询读取状态
|
||||
* @param authorize
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public BizMessageAuthorize getAuthorize(BizMessageAuthorize authorize){
|
||||
|
||||
authorize.setUserId(service.getCacheUser().getUserId());
|
||||
List<BizMessageAuthorize> authorizes = this.mapper.findAuthorizeList(authorize);
|
||||
return authorizes!=null?authorizes.get(0):new BizMessageAuthorize();
|
||||
}
|
||||
}
|
||||
|
@ -85,13 +85,15 @@ public class BizMessageProducerServiceImpl implements BizMessageProducerService
|
||||
bizmessage.setContent(fill(dao.getBody(), messageRaw.getBody()));
|
||||
bizmessage.setUrl(fill(dao.getRouter(), messageRaw.getExtra()));
|
||||
bizmessage.setParams(toJson(messageRaw.getExtra()));
|
||||
bizmessage.setServicecode(toJson(messageRaw.getServicecode()));
|
||||
bizmessage.setTemplatecode(dao.getCode());
|
||||
|
||||
Optional.ofNullable(messageRaw.getUsers()).ifPresent(users -> {
|
||||
log.debug("if user list {} is not emtpy, then grant current message to them.", users);
|
||||
bizmessage.setAuthorize(Math.min(1, users.size()));
|
||||
|
||||
log.debug("grant message [{}] to users", messageId);
|
||||
users.forEach(userid -> authorizeMapper.insert(new BizMessageAuthorize(userid, messageId)));
|
||||
users.forEach(userid -> authorizeMapper.insert(new BizMessageAuthorize(userid, messageId,"0")));
|
||||
});
|
||||
|
||||
return bizmessage;
|
||||
|
@ -26,4 +26,6 @@ public class DescribeSiteMsgDetailVO {
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Timestamp createtime;
|
||||
|
||||
private String authorizestate;
|
||||
private String servicecode;
|
||||
}
|
||||
|
@ -16,6 +16,9 @@ public class DescribeSiteMsgVO {
|
||||
private String msgId;
|
||||
private String title;
|
||||
private String category;
|
||||
private String servicecode;
|
||||
private String authorizestate;
|
||||
private String templatetype;
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Timestamp createtime;
|
||||
|
||||
|
Reference in New Issue
Block a user