jz.kai 1 rok temu
rodzic
commit
31d97eee0c

+ 1 - 0
common/src/main/java/com/jpsoft/employment/modules/base/entity/NewsInfo.java

@@ -35,6 +35,7 @@ public class NewsInfo {
 	
 				@ApiModelProperty(value = "创建人")
 	private String createBy;
+	private String createName;
 	
 					@ApiModelProperty(value = "创建时间")
 	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm")

+ 14 - 4
common/src/main/resources/mapper/base/NewsInfo.xml

@@ -14,6 +14,8 @@
 			<result property="updateBy" column="update_by" />
 			<result property="updateTime" column="update_time" />
 			<result property="delFlag" column="del_flag" />
+
+		<result property="createName" column="create_name" />
 			</resultMap>
 	<insert id="insert" parameterType="com.jpsoft.employment.modules.base.entity.NewsInfo">
 	<!--
@@ -86,15 +88,23 @@
 	</select>
 	<select id="search" parameterType="hashmap" resultMap="NewsInfoMap">
 		<![CDATA[
-			select * from base_news_info
+			SELECT a.*,b.real_name AS create_name FROM base_news_info a
+			LEFT JOIN sys_user b ON a.create_by = b.id_
 		]]>
 		<where>
-			del_flag = false
+			a.del_flag = 0
 			<if test="searchParams.title != null">
-				and title_ like #{searchParams.title}
+				and a.title_ like #{searchParams.title}
 			</if>
 			<if test="searchParams.type != null">
-				and type_ = #{searchParams.type}
+				and a.type_ = #{searchParams.type}
+			</if>
+			<if test="searchParams.regUserId != null">
+				AND a.id_ NOT IN (
+					SELECT news_id FROM base_news_reg_user
+					WHERE del_flag = 0
+					AND reg_user_id = #{searchParams.regUserId}
+				)
 			</if>
 		</where>
 		<foreach item="sort" collection="sortList"  open="order by" separator=",">

+ 2 - 0
web/src/main/java/com/jpsoft/employment/config/WebMvcConfig.java

@@ -91,6 +91,8 @@ public class WebMvcConfig implements WebMvcConfigurer {
 				//志愿活动
 				.excludePathPatterns("/base/api/volunteer/list")
 				.excludePathPatterns("/base/api/volunteer/detail")
+				//消息
+				.excludePathPatterns("/base/api/news/list")
 		;
 	}
 }

+ 108 - 0
web/src/main/java/com/jpsoft/employment/modules/base/api/NewsApi.java

@@ -0,0 +1,108 @@
+package com.jpsoft.employment.modules.base.api;
+
+import com.github.pagehelper.Page;
+import com.jpsoft.employment.modules.base.entity.*;
+import com.jpsoft.employment.modules.base.service.ImageWallService;
+import com.jpsoft.employment.modules.base.service.NewsInfoService;
+import com.jpsoft.employment.modules.base.service.NewsRegUserService;
+import com.jpsoft.employment.modules.common.dto.MessageResult;
+import com.jpsoft.employment.modules.common.dto.Sort;
+import com.jpsoft.employment.modules.common.utils.PojoUtils;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.*;
+
+@RestController
+@RequestMapping("/base/api/news")
+@Api(description = "新闻消息")
+public class NewsApi {
+    private Logger logger = LoggerFactory.getLogger(getClass());
+
+    @Autowired
+    private NewsInfoService newsInfoService;
+
+    @ApiOperation(value="列表")
+    @RequestMapping(value = "list",method = RequestMethod.POST)
+    public MessageResult list(
+            @RequestParam(value="pageIndex",defaultValue="1") int pageIndex,
+            @RequestParam(value="pageSize",defaultValue="20") int pageSize){
+        MessageResult msgResult = new MessageResult<>();
+
+        Map<String,Object> searchParams = new HashMap<>();
+
+        List<Sort> sortList = new ArrayList<>();
+        sortList.add(new Sort("is_top","desc"));
+        sortList.add(new Sort("create_time","desc"));
+
+        Page<NewsInfo> page = newsInfoService.pageSearch(searchParams,pageIndex,pageSize,true,sortList);
+
+        msgResult.setResult(true);
+        msgResult.setData(PojoUtils.pageWrapper(page));
+
+        return msgResult;
+    }
+
+    @ApiOperation(value="未读消息数量")
+    @RequestMapping(value = "countUnRead",method = RequestMethod.POST)
+    public MessageResult countUnRead(HttpServletRequest request) {
+        MessageResult msgResult = new MessageResult<>();
+        String subject = (String)request.getAttribute("subject");
+
+        Map<String,Object> searchParams = new HashMap<>();
+        searchParams.put("regUserId",subject);
+
+        List<Sort> sortList = new ArrayList<>();
+        sortList.add(new Sort("create_time","desc"));
+
+        Page<NewsInfo> page = newsInfoService.pageSearch(searchParams,1,1000,false,sortList);
+
+        msgResult.setResult(true);
+        msgResult.setData(page.size());
+
+        return msgResult;
+    }
+
+    @ApiOperation(value="未读消息列表")
+    @RequestMapping(value = "listUnRead",method = RequestMethod.POST)
+    public MessageResult listUnRead(HttpServletRequest request,
+            @RequestParam(value="pageIndex",defaultValue="1") int pageIndex,
+            @RequestParam(value="pageSize",defaultValue="20") int pageSize) {
+        MessageResult msgResult = new MessageResult<>();
+        String subject = (String)request.getAttribute("subject");
+
+        Map<String,Object> searchParams = new HashMap<>();
+        searchParams.put("regUserId",subject);
+
+        List<Sort> sortList = new ArrayList<>();
+        sortList.add(new Sort("create_time","desc"));
+
+        Page<NewsInfo> page = newsInfoService.pageSearch(searchParams,pageIndex,pageSize,true,sortList);
+
+        msgResult.setResult(true);
+        msgResult.setData(PojoUtils.pageWrapper(page));
+
+        return msgResult;
+    }
+
+    @ApiOperation(value="详情")
+    @RequestMapping(value = "detail",method = RequestMethod.POST)
+    public MessageResult detail(String id) {
+        MessageResult msgResult = new MessageResult<>();
+
+        NewsInfo newsInfo = newsInfoService.get(id);
+
+        msgResult.setResult(true);
+        msgResult.setData(newsInfo);
+
+        return msgResult;
+    }
+}

+ 5 - 1
web/src/main/java/com/jpsoft/employment/modules/base/api/VolunteerApi.java

@@ -50,6 +50,7 @@ public class VolunteerApi {
         searchParams.put("isShelves",true);
 
         List<Sort> sortList = new ArrayList<>();
+        sortList.add(new Sort("is_top","desc"));
         sortList.add(new Sort("create_time","desc"));
 
         Page<VolunteerTasks> page = volunteerTasksService.pageSearch(searchParams,pageIndex,pageSize,true,sortList);
@@ -57,7 +58,10 @@ public class VolunteerApi {
             Map<String,Object> searchParams1 = new HashMap<>();
             searchParams1.put("volunteerTasksId",volunteerTasks.getId());
 
-            List<VolunteerSignRecord> volunteerSignRecordList = volunteerSignRecordService.pageSearch(searchParams1,1,1000,false,sortList);
+            List<Sort> sortList1 = new ArrayList<>();
+            sortList1.add(new Sort("create_time","desc"));
+
+            List<VolunteerSignRecord> volunteerSignRecordList = volunteerSignRecordService.pageSearch(searchParams1,1,1000,false,sortList1);
             volunteerTasks.setVolunteerSignRecordList(volunteerSignRecordList);
         }
 

+ 6 - 6
web/src/main/resources/application-dev.yml

@@ -5,12 +5,12 @@ server:
 
 spring:
   datasource:
-#     url: jdbc:log4jdbc:mysql://192.168.33.20:3306/love_donation?autoReconnect=true&characterEncoding=utf8&serverTimezone=GMT%2B8
-#     username: root
-#     password: jpsoft2016
-    url: jdbc:log4jdbc:mysql://116.62.150.160:3306/love_donation?autoReconnect=true&characterEncoding=utf8&serverTimezone=GMT%2B8
-    username: root
-    password: jpsoft
+     url: jdbc:log4jdbc:mysql://192.168.33.20:3306/love_donation?autoReconnect=true&characterEncoding=utf8&serverTimezone=GMT%2B8
+     username: root
+     password: jpsoft2016
+#    url: jdbc:log4jdbc:mysql://116.62.150.160:3306/love_donation?autoReconnect=true&characterEncoding=utf8&serverTimezone=GMT%2B8
+#    username: root
+#    password: jpsoft
   devtools:
     add-properties: false
     restart: