Browse Source

Merge remote-tracking branch 'origin/master'

zouxuan 3 năm trước cách đây
mục cha
commit
660b8ba4c3

+ 11 - 13
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/controller/BbsPrivateMessageController.java

@@ -21,14 +21,12 @@ import org.springframework.web.bind.annotation.*;
 
 import javax.validation.Valid;
 
-import com.yonge.cooleshow.bbs.vo.BbsPrivateMessageVo;
 import com.yonge.cooleshow.bbs.dto.search.BbsPrivateMessageSearch;
 import com.yonge.cooleshow.bbs.entity.BbsPrivateMessage;
 import com.yonge.cooleshow.bbs.service.BbsPrivateMessageService;
 
 import java.util.Date;
 import java.util.List;
-import java.util.stream.Collectors;
 
 @RestController
 @RequestMapping("/bbsPrivateMessage")
@@ -56,7 +54,7 @@ public class BbsPrivateMessageController extends BaseController {
 
 	@PostMapping("/page/message")
 	@ApiOperation(value = "私信人员消息列表", notes = "传入bbsPrivateMessageSearch")
-	public HttpResponseResult<PageInfo<BbsPrivateMessageDto>> pageMessage(@RequestBody @Valid BbsPrivateMessageSearch query) {
+	public HttpResponseResult<BbsPrivateMessageDto> pageMessage(@RequestBody @Valid BbsPrivateMessageSearch query) {
 		SysUser user = sysUserFeignService.queryUserInfo();
 		if (user == null || user.getId() == null) {
 			throw  new BizException("请重新登录");
@@ -65,17 +63,17 @@ public class BbsPrivateMessageController extends BaseController {
 		if (receiverUser == null || user.getId() == null) {
 			throw  new BizException("私信接收方用户不存在");
 		}
+		BbsPrivateMessageDto bbsPrivateMessageDto = new BbsPrivateMessageDto();
 		query.setUserId(user.getId());
-		IPage<BbsPrivateMessageDto> pages = bbsPrivateMessageService.selectMessagePage(PageUtil.getPage(query), query);
-		List<BbsPrivateMessageDto> collect = pages.getRecords().stream().peek(bbsPrivateMessageDto -> {
-			bbsPrivateMessageDto.setReceiverAvatar(receiverUser.getAvatar());
-			bbsPrivateMessageDto.setReceiverName(receiverUser.getUsername());
-			bbsPrivateMessageDto.setUserName(user.getUsername());
-			bbsPrivateMessageDto.setUserAvatar(user.getAvatar());
-
-		}).collect(Collectors.toList());
-		pages.setRecords(collect);
-		return succeed(PageUtil.pageInfo(pages));
+		IPage<BbsPrivateMessage> pages = bbsPrivateMessageService.selectReadMessagePage(PageUtil.getPage(query), query);
+		bbsPrivateMessageDto.setReadPage(PageUtil.pageInfo(pages));
+		bbsPrivateMessageDto.setReceiverAvatar(receiverUser.getAvatar());
+		bbsPrivateMessageDto.setReceiverName(receiverUser.getUsername());
+		bbsPrivateMessageDto.setUserName(user.getUsername());
+		bbsPrivateMessageDto.setUserAvatar(user.getAvatar());
+		List<BbsPrivateMessage> unreadMessage  = bbsPrivateMessageService.selectUnreadMessage(query);
+		bbsPrivateMessageDto.setUnreadList(unreadMessage);
+		return succeed(bbsPrivateMessageDto);
 	}
 
 

+ 1 - 1
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/controller/BbsReplyController.java

@@ -45,7 +45,7 @@ public class BbsReplyController extends BaseController {
 	@PostMapping("/remove/{id}")
 	@ApiOperation(value = "后台-评论删除", notes = "传入id")
 	public HttpResponseResult remove(@PathVariable Long id) {
-        if (id != null) {
+        if (id == null) {
 			return failed("参数不能为空");
 		}
 		return status(bbsReplyService.removeById(id));

+ 10 - 2
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/dao/BbsPrivateMessageDao.java

@@ -50,7 +50,15 @@ public interface BbsPrivateMessageDao extends BaseMapper<BbsPrivateMessage> {
 	boolean read(@Param("readDto") MessageReadDto readDto);
 
 	/**
-	 * 私信人员消息列表
+	 * 私信人员已读消息列表
 	 */
-	List<BbsPrivateMessageDto> selectMessagePage(@Param("page") IPage<BbsPrivateMessageDto> page, @Param("query") BbsPrivateMessageSearch query);
+	List<BbsPrivateMessage> selectMessagePage(@Param("page") IPage<BbsPrivateMessage> page, @Param("query") BbsPrivateMessageSearch query);
+
+	/**
+	 * 未读消息列表
+	 *
+	 * @param query
+	 * @return
+	 */
+	List<BbsPrivateMessage> selectUnreadMessage(@Param("query") BbsPrivateMessageSearch query);
 }

+ 24 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/dto/BbsPrivateMessageDto.java

@@ -1,10 +1,13 @@
 package com.yonge.cooleshow.bbs.dto;
 
 import com.yonge.cooleshow.bbs.entity.BbsPrivateMessage;
+import com.yonge.toolset.base.page.PageInfo;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import org.apache.commons.beanutils.BeanUtils;
 
+import java.util.List;
+
 /**
  * @Author: liweifan
  * @Data: 2022-06-09 17:27:11
@@ -26,6 +29,27 @@ public class BbsPrivateMessageDto extends BbsPrivateMessage{
     @ApiModelProperty("头像")
     private String userAvatar;
 
+    @ApiModelProperty("所有的未读消息列表")
+    private List<BbsPrivateMessage> unreadList;
+
+    @ApiModelProperty("已读消息列表")
+    private PageInfo<BbsPrivateMessage> readPage;
+
+    public List<BbsPrivateMessage> getUnreadList() {
+        return unreadList;
+    }
+
+    public void setUnreadList(List<BbsPrivateMessage> unreadList) {
+        this.unreadList = unreadList;
+    }
+
+    public PageInfo<BbsPrivateMessage> getReadPage() {
+        return readPage;
+    }
+
+    public void setReadPage(PageInfo<BbsPrivateMessage> readPage) {
+        this.readPage = readPage;
+    }
 
     public String getReceiverName() {
         return receiverName;

+ 12 - 3
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/service/BbsPrivateMessageService.java

@@ -2,13 +2,14 @@ package com.yonge.cooleshow.bbs.service;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
-import com.yonge.cooleshow.bbs.dto.BbsPrivateMessageDto;
 import com.yonge.cooleshow.bbs.dto.MessageReadDto;
 import com.yonge.cooleshow.bbs.dto.PrivateMessagePersonVo;
 import com.yonge.cooleshow.bbs.vo.BbsPrivateMessageVo;
 import com.yonge.cooleshow.bbs.dto.search.BbsPrivateMessageSearch;
 import com.yonge.cooleshow.bbs.entity.BbsPrivateMessage;
 
+import java.util.List;
+
 /**
  * 私信 服务类
  * @author liweifan
@@ -48,9 +49,17 @@ public interface BbsPrivateMessageService extends IService<BbsPrivateMessage>  {
 	boolean read(MessageReadDto readDto);
 
 	/**
-	 * 私信人员消息列表
+	 * 私信人员已读消息列表
+	 *
+	 * @return
+	 */
+	IPage<BbsPrivateMessage> selectReadMessagePage(IPage<BbsPrivateMessage> page, BbsPrivateMessageSearch query);
+
+	/**
+	 * 私信未读消息列表
 	 *
+	 * @param query
 	 * @return
 	 */
-	IPage<BbsPrivateMessageDto> selectMessagePage(IPage<BbsPrivateMessageDto> page, BbsPrivateMessageSearch query);
+	List<BbsPrivateMessage> selectUnreadMessage(BbsPrivateMessageSearch query);
 }

+ 8 - 1
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/service/impl/BbsPrivateMessageServiceImpl.java

@@ -14,6 +14,8 @@ import com.yonge.cooleshow.bbs.dto.search.BbsPrivateMessageSearch;
 import com.yonge.cooleshow.bbs.dao.BbsPrivateMessageDao;
 import com.yonge.cooleshow.bbs.service.BbsPrivateMessageService;
 
+import java.util.List;
+
 
 @Service
 public class BbsPrivateMessageServiceImpl extends ServiceImpl<BbsPrivateMessageDao, BbsPrivateMessage> implements BbsPrivateMessageService {
@@ -40,8 +42,13 @@ public class BbsPrivateMessageServiceImpl extends ServiceImpl<BbsPrivateMessageD
     }
 
     @Override
-    public IPage<BbsPrivateMessageDto> selectMessagePage(IPage<BbsPrivateMessageDto> page, BbsPrivateMessageSearch query) {
+    public IPage<BbsPrivateMessage> selectReadMessagePage(IPage<BbsPrivateMessage> page, BbsPrivateMessageSearch query) {
         return page.setRecords(baseMapper.selectMessagePage(page, query));
     }
 
+    @Override
+    public List<BbsPrivateMessage> selectUnreadMessage(BbsPrivateMessageSearch query) {
+        return baseMapper.selectUnreadMessage( query);
+    }
+
 }

+ 23 - 3
cooleshow-bbs/src/main/resources/config/mybatis/BbsPrivateMessageMapper.xml

@@ -55,12 +55,12 @@
 
 	<update id="read">
         update bbs_private_message bpm set bpm.read_flag_ = 1
-        where #{readDto.userId} = bpm.send_user_id_
-        and #{readDto.sendUserId} = bpm.receiver_user_id_
+        where #{readDto.sendUserId} = bpm.send_user_id_
+        and #{readDto.userId} = bpm.receiver_user_id_
         and #{readDto.readTime} &gt; bpm.created_time_
     </update>
 
-	<select id="selectMessagePage" resultType="com.yonge.cooleshow.bbs.dto.BbsPrivateMessageDto">
+	<select id="selectMessagePage" resultType="com.yonge.cooleshow.bbs.entity.BbsPrivateMessage">
 
         select
         bpm.id as id
@@ -71,6 +71,7 @@
         , bpm.read_flag_ as readFlag
         from bbs_private_message bpm
         <where>
+            bpm.read_flag_ = 1
             <if test="query.userId != null and query.receiverUserId != null">
                 and ((#{query.userId} = bpm.send_user_id_ and #{query.receiverUserId} = bpm.receiver_user_id_)
                 or (#{query.userId} = bpm.receiver_user_id_ and #{query.receiverUserId} = bpm.send_user_id_))
@@ -79,4 +80,23 @@
 
         order by bpm.created_time_ desc
     </select>
+
+	<select id="selectUnreadMessage" resultMap="BaseResultMap">
+
+        select
+        bpm.id as id
+        , bpm.send_user_id_ as sendUserId
+        , bpm.receiver_user_id_ as receiverUserId
+        , bpm.message_content_ as messageContent
+        , bpm.created_time_ as createdTime
+        , bpm.read_flag_ as readFlag
+        from bbs_private_message bpm
+        <where>
+            bpm.read_flag_ = 0
+            <if test="query.userId != null and query.receiverUserId != null">
+                and
+             (#{query.userId} = bpm.receiver_user_id_ and #{query.receiverUserId} = bpm.send_user_id_)
+            </if>
+        </where>
+    </select>
 </mapper>

+ 5 - 0
cooleshow-cms/src/main/java/com/yonge/cooleshow/cms/controller/NewsController.java

@@ -109,6 +109,11 @@ public class NewsController extends BaseController {
 				}
 			}
 		}
+		if(newsInfo.getType() == 4) {
+			if (StringUtil.isEmpty(newsInfo.getPlatformType() )) {
+				return failed("平台不能为空");
+			}
+		}
 
 		// 1 4 6
 		if (newsInfo.getType() == 1 ||newsInfo.getType() == 4 || newsInfo.getType() == 6) {

+ 1 - 1
cooleshow-cms/src/main/java/com/yonge/cooleshow/cms/controller/queryinfo/NewsInformationQueryInfo.java

@@ -17,7 +17,7 @@ public class NewsInformationQueryInfo extends QueryInfo {
 	@NotNull(message = "类型不能为空")
 	private Integer type;
 
-	@ApiModelProperty(value = "平台类型  ADMIN:平台端  STUDENT:学生端  TEACHER:老师端",required = true)
+	@ApiModelProperty(value = "平台类型  ADMIN:平台端  STUDENT:学生端  TEACHER:老师端 WEBSITE:官网",required = true)
 	@NotBlank(message = "平台类型不能为空")
 	private String platformType;
 

+ 12 - 0
cooleshow-cms/src/main/java/com/yonge/cooleshow/cms/dal/entity/SysNewsInformation.java

@@ -94,6 +94,18 @@ public class SysNewsInformation {
 	@ApiModelProperty("链接方式 IN :内部链接   OUT:外部链接")
 	private String linkType;
 
+	// 平台类型  ADMIN:平台端  STUDENT:学生端  TEACHER:老师端 WEBSITE:官网
+	@ApiModelProperty(value = "平台类型    STUDENT:学生端  WEBSITE:官网")
+	private String platformType;
+
+	public String getPlatformType() {
+		return platformType;
+	}
+
+	public void setPlatformType(String platformType) {
+		this.platformType = platformType;
+	}
+
 	public Integer getShowTime() {
 		return showTime;
 	}

+ 13 - 2
cooleshow-cms/src/main/resources/config/mybatis/SysNewsInformationMapper.xml

@@ -30,6 +30,7 @@
 		<result column="update_by_" property="updateBy" />
 		<result column="link_type_" property="linkType" />
 		<result column="create_by_" property="createBy" />
+		<result column="platform_type_" property="platformType" />
 	</resultMap>
 	
 	<resultMap type="com.yonge.cooleshow.cms.dto.SysNewsInformationDto" id="SysNewsInformationDto" extends="SysNewsInformation">
@@ -68,6 +69,15 @@
 						and if(sni.offline_time_ is not null,sni.offline_time_ &gt;= now(),1=1)
 					</if>
 				</if>
+				<choose>
+					<when test="platformType == 'WEBSITE'">
+						and sni.platform_type_ = #{platformType}
+					</when>
+					<when test="platformType == 'STUDENT'">
+						and sni.platform_type_ = #{platformType}
+					</when>
+				</choose>
+
 			</if>
 			<if test="excludeIds!=null and excludeIds.size()>0">
 				AND sni.id_ NOT IN
@@ -96,8 +106,8 @@
 	
 	<!-- 向数据库增加一条记录 -->
 	<insert id="insert" parameterType="com.yonge.cooleshow.cms.dal.entity.SysNewsInformation" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
-		INSERT INTO sys_news_information (id_,title_,content_,cover_image_,video_cover_image_,type_,online_time_,offline_time_,sub_type_,status_,create_time_,update_time_,link_url_,href_target_,order_,del_flag_,memo_,attribute1_,attribute2_,subject_id_list_,create_by_,update_by_,show_time_,link_type_)
-		VALUES(#{id},#{title},#{content},#{coverImage},#{videoCoverImage},#{type},#{onlineTime},#{offlineTime},#{subType},#{status, typeHandler=com.yonge.toolset.mybatis.dal.CustomEnumTypeHandler},now(),now(),#{linkUrl},#{hrefTarget},#{order},0,#{memo},#{attribute1},#{attribute2},#{subjectIdList},#{createBy},#{updateBy},#{showTime},#{linkType})
+		INSERT INTO sys_news_information (id_,title_,content_,cover_image_,video_cover_image_,type_,online_time_,offline_time_,sub_type_,status_,create_time_,update_time_,link_url_,href_target_,order_,del_flag_,memo_,attribute1_,attribute2_,subject_id_list_,create_by_,update_by_,show_time_,link_type_,platform_type_)
+		VALUES(#{id},#{title},#{content},#{coverImage},#{videoCoverImage},#{type},#{onlineTime},#{offlineTime},#{subType},#{status, typeHandler=com.yonge.toolset.mybatis.dal.CustomEnumTypeHandler},now(),now(),#{linkUrl},#{hrefTarget},#{order},0,#{memo},#{attribute1},#{attribute2},#{subjectIdList},#{createBy},#{updateBy},#{showTime},#{linkType},#{platformType})
 	</insert>
 	
 	<!-- 根据主键查询一条记录 -->
@@ -126,6 +136,7 @@
 				subject_id_list_ = #{subjectIdList},
 				update_by_ = #{updateBy},
 				link_type_ = #{linkType},
+				platform_type_ = #{platformType},
 				show_time_ = #{showTime}
 		</set>
 		WHERE id_ = #{id}

+ 1 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/CourseScheduleServiceImpl.java

@@ -684,6 +684,7 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
                 }
                 search.setRepliedIds(userList);
             }
+            search.setStatus(CourseScheduleEnum.COMPLETE.getCode());
         }
         return page.setRecords(baseMapper.queryTeacherPracticeCourse(page, monthToDate(search)));
     }