dongbw преди 8 години
родител
ревизия
1c34e44f3f

+ 1 - 1
donate-console/src/main/webapp/resources/view/user/organization_list.html

@@ -557,7 +557,7 @@
                                 <span ng-if="org.type == 1">公募</span>
                                 <span ng-if="org.type == 2">非公募</span>
                             </td>
-                            <td>{{org.fullTimePopulation + org.partTimePopulation + org.voluntaryPopulation || 0 | number}}人</td>
+                            <td><span ng-bind="org.fullTimePopulation"></span></td>
                             <td ng-if="active == 'unaudited'">
                                 {{org.submitTime | date : 'yyyy-MM-dd'}}
                             </td>

+ 11 - 0
donate-service/src/main/java/com/uas/service/donate/controller/UserController.java

@@ -115,5 +115,16 @@ public class UserController {
         return new ModelMap("unreadMessage", userService.getUnreadMessageNum());
     }
 
+    /**
+     * 设置消息已读
+     * @param mdId  消息详情id
+     * @return 处理结果
+     */
+    @RequestMapping(value = "/setRead/{mdId}", method = RequestMethod.POST)
+    @ResponseBody
+    public ModelMap setRead(@PathVariable("mdId") Long mdId) {
+        logger.log("消息已读", "设置消息为已读",null, null, mdId);
+        return userService.setRead(mdId);
+    }
 
 }

+ 8 - 2
donate-service/src/main/java/com/uas/service/donate/service/UserService.java

@@ -4,8 +4,7 @@ package com.uas.service.donate.service;
 import com.uas.platform.core.model.PageInfo;
 import com.uas.service.donate.model.*;
 import org.springframework.data.domain.Page;
-
-import javax.persistence.criteria.CriteriaBuilder;
+import org.springframework.ui.ModelMap;
 
 public interface UserService {
     //返回某人个人信息
@@ -53,4 +52,11 @@ public interface UserService {
      * @return
      */
     Integer getUnreadMessageNum();
+
+    /**
+     * 设置消息已读
+     * @param mdId 消息详情id
+     * @return 处理结果
+     */
+    ModelMap setRead(Long mdId);
 }

+ 26 - 0
donate-service/src/main/java/com/uas/service/donate/service/impl/UserServiceImpl.java

@@ -1,6 +1,7 @@
 package com.uas.service.donate.service.impl;
 
 import com.uas.account.util.AccountUtils;
+import com.uas.platform.core.model.Constant;
 import com.uas.platform.core.model.PageInfo;
 import com.uas.platform.core.persistence.criteria.PredicateUtils;
 import com.uas.service.donate.core.support.SystemSession;
@@ -11,6 +12,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
 import org.springframework.data.jpa.domain.Specification;
 import org.springframework.stereotype.Service;
+import org.springframework.ui.ModelMap;
 
 import javax.persistence.criteria.CriteriaBuilder;
 import javax.persistence.criteria.CriteriaQuery;
@@ -177,4 +179,28 @@ public class UserServiceImpl implements UserService {
         }
         return null;
     }
+
+    /**
+     * 设置消息已读
+     *
+     * @param mdId 消息详情id
+     * @return 处理结果
+     */
+    @Override
+    public ModelMap setRead(Long mdId) {
+        ModelMap map = new ModelMap();
+        MessageDetail detail = messageDetailDao.findOne(mdId);
+        if (null == detail) {
+            map.put("error", "未找到对应消息记录");
+            return map;
+        }
+        detail.setReadStatus(Constant.YES);
+        messageDetailDao.save(detail);
+        // 修改阅读人数
+        Message message = detail.getMessage();
+        message.setReaderNum(message.getReaderNum() != null ? message.getReaderNum() + 1 : 1);
+        messageDao.save(message);
+        map.put("success", "成功设为已读");
+        return map;
+    }
 }

+ 8 - 0
donate-service/src/main/webapp/resources/js/common/query/User.js

@@ -33,6 +33,14 @@ define ([ 'ngResource' ], function() {
                 params: {
                     imId: 'imId'
                 }
+            },
+            // 消息设为已读
+            setRead: {
+                url: 'user/setRead/:mdId',
+                method: 'POST',
+                params: {
+                    mdId: 'mdId'
+                }
             }
         });
     }]);

+ 1 - 1
donate-service/src/main/webapp/resources/js/user/app.js

@@ -25,7 +25,7 @@ define([ 'angularAMD', 'ngRoute', 'ui.router', 'ui-bootstrap', 'ngLocal', 'ngTab
         return httpInterceptor;
     }]);
 	app.config(['$stateProvider', '$urlRouterProvider', function($stateProvider, $urlRouterProvider) {
-		$urlRouterProvider.otherwise("/");
+		$urlRouterProvider.otherwise("/project");
 		$stateProvider.state("user", angularAMD.route({
 			url : '/:param',
 			title : '个人中心',

+ 20 - 0
donate-service/src/main/webapp/resources/js/user/controllers/UserCtrl.js

@@ -129,6 +129,26 @@ define([ 'app/app' ], function(app) {
         };
         loadData();
 
+            /**
+             * 设置已读
+             * @param mdId 消息详情id
+             */
+        $scope.setRead = function(mdId) {
+            User.setRead({mdId: mdId}, {}, function(data) {
+                if (data.success) {
+                    toaster.pop('success', '设置已读成功');
+                }
+                if (data.error) {
+                    toaster.pop('error', data.error);
+                }
+                loadData();
+                $scope.tableParams.reload();
+            }, function(res) {
+                toaster.pop('error', '出现错误,设置失败');
+                console.log(res);
+            });
+        };
+
         /**
          * 查看详情
          */

+ 9 - 2
donate-service/src/main/webapp/resources/view/user/user_center.html

@@ -943,8 +943,15 @@
                             </tr>
                             </tbody>
                             <tbody ng-repeat="messageDetail in $data">
-                            <tr class="news-list">
-                                <td class="read">{{$index + 1}}<em ng-class="{'red':messageDetail.message.readStatus != 1}"></em></td>
+                            <!-- 未读消息 -->
+                            <tr class="news-list" ng-if="messageDetail.readStatus != 1" ng-click="setRead(messageDetail.id)" title="点击设为已读">
+                                <td class="read">{{$index + 1}}<em ng-class="{'red':messageDetail.readStatus != 1}"></em></td>
+                                <td>{{messageDetail.message.title}}</td>
+                                <td class="third"><span ng-bind="messageDetail.message.context"></span></td>
+                            </tr>
+                            <!-- 已读消息 -->
+                            <tr class="news-list" ng-if="messageDetail.readStatus == 1" title="该消息已读">
+                                <td class="read">{{$index + 1}}</td>
                                 <td>{{messageDetail.message.title}}</td>
                                 <td class="third"><span ng-bind="messageDetail.message.context"></span></td>
                             </tr>