浏览代码

添加拒绝

hubert 7 年之前
父节点
当前提交
092b3d79dd

+ 25 - 27
src/main/java/com/uas/platform/b2c/common/message/controller/InternalMessageController.java

@@ -64,7 +64,7 @@ public class InternalMessageController {
     }*/
 
     /**
-     * 获取公共消息的方法
+     * 获取消息的方法
      *
      * @author dongbw
      * @param pageParams 分页参数
@@ -73,36 +73,34 @@ public class InternalMessageController {
      * @return
      * @throws Exception
      */
-    @SuppressWarnings("unchecked")
+
     @RequestMapping(value = "/private", method = RequestMethod.GET)
-    public static Page<MessageModel> getMessagesPagePrivate(PageParams pageParams, Short isRead) throws Exception {
-
-
-        HashMap<String, Object> params = new HashMap<>();
-        params.put("receiverUu", SystemSession.getUser().getUserUU());
-        params.put("receiverEnuu", SystemSession.getUser().getEnterprise().getUu());
-        params.put("consumerApp", "B2B");
-//        params.put("pageParams", FlexJsonUtils.toJsonDeep(pageParams));
-        params.put("page", pageParams.getPage());
-        params.put("count", pageParams.getCount());
-        params.put("sorting", pageParams.getSorting());
-        params.put("isRead", isRead);
-
-        HttpUtil.Response res = HttpUtil.sendGetRequest(MESSAGE_PUBLIC_SERVICE_URL + "/messages", params);
-        if (HttpStatus.OK.value() == res.getStatusCode()) {
-            if (null != res.getResponseText()) {
-                System.out.println(res.getResponseText());
-
-                return (Page) JSONObject.parseObject(res.getResponseText(), new TypeReference<Page<MessageModel>>() {
-                }, new Feature[0]);
-            }
-        } else {
-            throw new RuntimeException("获取消息失败");
-        }
-        return null;
+    public Page<MessageModel> getMessagesPagePrivate(PageParams pageParams, Short isRead, String keyword) throws Exception {
+        Page<MessageModel> messagePage = internalMessageService.getMessagesPagePrivate(pageParams, isRead, keyword);
+        //设置已读
+        internalMessageService.setRead(messagePage.getContent());
+        return messagePage;
+
     }
 
 
+    /**
+     * 统计未读消息
+     *
+     * @return
+     */
+    @RequestMapping(value = "/count", method = RequestMethod.GET, headers = "Accept=application/json")
+    @ResponseBody
+    @ResponseStatus(value = HttpStatus.OK)
+    public ModelMap getMessages(Short isRead) {
+        try {
+            return new ModelMap("toRead", internalMessageService.getMessageNum(SystemSession.getUser().getEnterprise().getUu(), SystemSession.getUser().getUserUU(),isRead));
+        } catch (Exception e) {
+            e.printStackTrace();
+            return null;
+        }
+//		return new ModelMap("toRead", pagingReleaseService.getToReadCount());
+    }
 
     /**
      * 阅读消息

+ 34 - 0
src/main/java/com/uas/platform/b2c/common/message/service/InternalMessageService.java

@@ -1,10 +1,13 @@
 package com.uas.platform.b2c.common.message.service;
 
 import com.alibaba.fastjson.JSONObject;
+import com.uas.platform.b2c.common.message.model.MessageModel;
 import com.uas.platform.b2c.trade.deprecated.model.BasicMessage;
 import com.uas.platform.core.model.PageParams;
+import com.uas.sso.support.Page;
 
 import java.util.Date;
+import java.util.List;
 
 /**
  * 站内信service
@@ -112,4 +115,35 @@ public interface InternalMessageService {
      * @return
      */
     JSONObject getMessageLogsCount(String textid);
+
+    /***
+     * 设置已读
+     * @param content
+     * @throws Exception
+     */
+    void setRead(List<MessageModel> content)throws Exception;
+
+    /**
+     * 获取当前企业当前用户未读消息数量
+     *
+     * @author dongbw
+     * @param enUU 企业UU
+     * @param userUU 用户UU
+     * @return
+     * @throws Exception
+     */
+    Integer getMessageNum(Long enUU, Long userUU,Short isRead) throws Exception;
+
+    /**
+     * 获取消息的方法
+     *
+     * @author dongbw
+     * @param pageParams 分页参数
+     * @param isRead 阅读状态 1已读 0 未读
+     * @return
+     * @throws Exception
+     */
+    Page<MessageModel> getMessagesPagePrivate(PageParams pageParams, Short isRead,String keyword) throws Exception;
+
+
 }

+ 167 - 0
src/main/java/com/uas/platform/b2c/common/message/service/impl/InternalMessageServiceImpl.java

@@ -1,16 +1,30 @@
 package com.uas.platform.b2c.common.message.service.impl;
 
+import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
+import com.alibaba.fastjson.TypeReference;
+import com.alibaba.fastjson.parser.Feature;
+import com.uas.platform.b2c.advertise.ad.model.Message;
+import com.uas.platform.b2c.common.message.model.MessageModel;
 import com.uas.platform.b2c.common.message.service.InternalMessageService;
+import com.uas.platform.b2c.core.config.MessageConf;
 import com.uas.platform.b2c.core.config.MicroServicesConf;
 import com.uas.platform.b2c.core.config.SysConf;
 import com.uas.platform.b2c.core.support.SystemSession;
+import com.uas.platform.b2c.core.utils.ContextUtils;
 import com.uas.platform.b2c.trade.deprecated.model.BasicMessage;
 import com.uas.platform.core.model.PageParams;
 import com.uas.platform.core.model.Type;
+import com.uas.platform.core.util.HttpUtil;
+import com.uas.platform.core.util.serializer.FlexJsonUtils;
+import com.uas.sso.support.Page;
+import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.collections.map.HashedMap;
+import org.apache.commons.collections.map.ListOrderedMap;
+import org.apache.commons.lang.StringUtils;
 import org.apache.velocity.app.VelocityEngine;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
 import org.springframework.stereotype.Service;
 import org.springframework.ui.velocity.VelocityEngineUtils;
 import org.springframework.web.client.RestTemplate;
@@ -18,6 +32,7 @@ import org.springframework.web.client.RestTemplate;
 import java.lang.reflect.Field;
 import java.util.Date;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -34,6 +49,29 @@ public class InternalMessageServiceImpl implements InternalMessageService {
 
     private final SysConf sysConf;
 
+    private static final String MESSAGE_PUBLIC_SERVICE_URL = ContextUtils.getBean(MessageConf.class).getMessagePublicServiceDevUrl();
+
+    /**
+     * 消息类型 (在MALL消息中拼接跳转单据详情url请求时需要)
+     */
+    private final String INQUIRY_TYPE = "公共询价";
+
+    /**
+     * 消息类型,公共询价的采纳结果
+     */
+    private final String INQUIRY_DECIDE_TYPE_MALL = "商城公共询价采纳结果";
+
+    /**
+     * 消息类型 (在MALL消息中拼接求购询价待报价)
+     */
+    private final String INQUIRY_TYPE_SELLER_MALL = "MALL公共询价";
+
+    /**
+     * 消息类型 (在B2B消息中拼接跳转单据详情url请求时需要)
+     */
+    private final String INQUIRY_TYPE_MALL = "公共询价";
+
+
     @Autowired
     public InternalMessageServiceImpl(MicroServicesConf conf, RestTemplate restTemplate,VelocityEngine velocityEngine, SysConf sysConf) {
         this.conf = conf;
@@ -203,5 +241,134 @@ public class InternalMessageServiceImpl implements InternalMessageService {
         JSONObject result = restTemplate.getForObject(url, JSONObject.class);
         return result;
     }
+
+
+    /**
+     * 设置已读
+     * @param content 传入信息内容
+     * @throws Exception
+     */
+    @Override
+    public void setRead(List<MessageModel> content)throws Exception {
+        if (!CollectionUtils.isEmpty(content)) {
+            HashMap<String, Object> params = new HashMap<>();
+            StringBuilder idString = new StringBuilder();
+            for(MessageModel m :content) {
+               if (!StringUtils.isEmpty(idString.toString())) {
+                   idString.append(",");
+               }
+               idString.append(m.getId());
+
+            }
+            params.put("messageId", idString.toString());
+            params.put("receiverUu", SystemSession.getUser().getUserUU());
+            params.put("receiverEnuu", SystemSession.getUser().getEnterprise().getUu());
+            params.put("consumerApp", "B2B");
+            String res = HttpUtil.doPost(MESSAGE_PUBLIC_SERVICE_URL + "/messages/read", FlexJsonUtils.toJsonDeep(params));
+        }
+
+    }
+
+    /**
+     * 获取当前企业当前用户未读消息数量
+     *
+     * @author dongbw
+     * @param enUU 企业UU
+     * @param userUU 用户UU
+     * @return isRead 0为未读 1为已读 不传即为所有信息
+     * @throws Exception
+     */
+    @Override
+    public Integer getMessageNum(Long enUU, Long userUU, Short isRead) throws Exception {
+        HashMap<String, Object> params = new HashMap<>();
+        params.put("receiverUu", userUU);
+        params.put("receiverEnuu", enUU);
+        params.put("consumerApp", "B2B");
+        params.put("isRead", isRead == null ? "" : isRead);
+        HttpUtil.Response res = HttpUtil.sendGetRequest(MESSAGE_PUBLIC_SERVICE_URL + "/messages/count", params);
+        if (res.getStatusCode() == HttpStatus.OK.value() && null != res.getResponseText()) {
+            JSONObject jsonObject = JSON.parseObject(res.getResponseText());
+            return (Integer) jsonObject.get("count");
+        } else {
+            throw new RuntimeException("获取消息失败");
+        }
+    }
+
+    /**
+     * 获取消息的方法
+     *
+     * @author dongbw
+     * @param pageParams 分页参数
+     * @param isRead 阅读状态 1已读 0 未读
+     * @return
+     * @throws Exception
+     */
+    @SuppressWarnings("unchecked")
+    @Override
+    public Page<MessageModel> getMessagesPagePrivate(PageParams pageParams, Short isRead,String keyword) throws Exception {
+        HashMap<String, Object> params = new HashMap<>();
+        params.put("receiverUu", SystemSession.getUser().getUserUU());
+        params.put("receiverEnuu", SystemSession.getUser().getEnterprise().getUu());
+        params.put("consumerApp", "MALL");
+//        params.put("pageParams", FlexJsonUtils.toJsonDeep(pageParams));
+        params.put("page", pageParams.getPage());
+        params.put("sorting", pageParams.getSorting() == null ? "{\"createTime\":\"DESC\"}" : pageParams.getSorting());
+        params.put("count", pageParams.getCount());
+        params.put("isRead", isRead == null ? "" : isRead);
+        if (null != keyword && !"".equals(keyword)) {
+            params.put("keyword", keyword);
+        }
+        HttpUtil.Response res = HttpUtil.sendGetRequest(MESSAGE_PUBLIC_SERVICE_URL + "/messages", params);
+        if (HttpStatus.OK.value() == res.getStatusCode()) {
+            if (null != res.getResponseText()) {
+                System.out.println(res.getResponseText());
+                Page<MessageModel> messageModelPage = JSONObject.parseObject(res.getResponseText(), new TypeReference<Page<MessageModel>>() {
+                }, new Feature[0]);
+                if (messageModelPage != null) {
+                    for (MessageModel messageModel : messageModelPage.getContent()) {
+                        // 拼接公共询价链接
+                        if (INQUIRY_TYPE_MALL.equals(messageModel.getType())) {
+                            messageModel.setUrl("/user#/seekPurchase" );
+                        } else if (INQUIRY_DECIDE_TYPE_MALL.equals(messageModel.getType())) {
+                            messageModel.setUrl("/vendor#/vendorPurchaseOffer" );
+                        } else if (INQUIRY_TYPE_SELLER_MALL.equals(messageModel.getType())) {
+                            messageModel.setUrl("/vendor#/seekPurchase" );
+                        }
+                    }
+                }
+                return messageModelPage;
+
+                // 拼接访问URL
+              /*  if(messagePage != null){
+                    for(MessageModel messageModel : messagePage.getContent()){
+                        if (INQUIRY_TYPE.equals(messageModel.getType())) {
+                            messageModel.setUrl("#/DECIDE" );
+                        } else if (INQUIRY_DECIDE_TYPE_MALL.equals(messageModel.getType())) {
+                            messageModel.setUrl("#/vendorPurchaseOffer" );
+                        }
+                    }
+                }*/
+            }
+        } else {
+            throw new RuntimeException("获取消息失败");
+        }
+        return null;
+    }
+
+//    public Page<MessageModel> getMessageUrl(String keyword, PageParams params, Short isRead) throws Exception {
+//        Page<MessageModel> page = getMessagesPagePrivate(params,isRead,keyword);
+//        if (page != null) {
+//            for (MessageModel messageModel : page.getContent()) {
+//                // 拼接公共询价链接
+//                if (INQUIRY_TYPE.equals(messageModel.getType())) {
+//                    messageModel.setUrl("#/DECIDE" );
+//                } else if (INQUIRY_DECIDE_TYPE_MALL.equals(messageModel.getType())) {
+//                    messageModel.setUrl("#/vendorPurchaseOffer" );
+//                }
+//            }
+//        }
+//        return page;
+//    }
+
 }
 

+ 5 - 0
src/main/webapp/resources/js/common/query/internalMessage.js

@@ -46,6 +46,11 @@ define([ 'ngResource' ], function() {
             getLogsByText: {
                 url: 'internalmessage-service/byText',
                 method: 'GET'
+            },
+            // 获取信息数量
+            getUnread: {
+                url: 'internalmessage-service/count',
+                method: 'GET'
             }
         });
     }])

+ 12 - 4
src/main/webapp/resources/js/common/query/seekPurchase.js

@@ -14,18 +14,26 @@ define([ 'ngResource' ], function() {
         url: 'http://218.17.158.219:24000/inquiry/public',
         method: 'GET',
       },
-      saveOneSeekPurchase: {
+      /*saveOneSeekPurchase: {
         url: 'http://218.17.158.219:24000/inquiry/buyer/save',
         method: 'POST'
-      },
+      },*/
+      saveOneSeekPurchase: {
+                url: 'http://10.1.51.96:8080/inquiry/buyer/save',
+                method: 'POST'
+            },
       saveOneSeekPurchaseProd: {
         url: 'https://api-inquiry.usoftmall.com/inquiry/buyer/save',
         method: 'POST'
       },
-      saveOffer: {
+     /* saveOffer: {
         url: 'http://218.17.158.219:24000/inquiry/sale/item/save',
         method: 'POST'
-      },
+      },*/
+       saveOffer: {
+                url: 'http://10.1.51.96:8080/inquiry/sale/item/save',
+                method: 'POST'
+            },
       saveOfferProd: {
         url: 'https://api-inquiry.usoftmall.com/inquiry/sale/item/save',
         method: 'POST'

+ 12 - 0
src/main/webapp/resources/js/usercenter/app.js

@@ -709,6 +709,18 @@ define([ 'angularAMD', 'ui.router', 'ui-bootstrap', 'ngLocal', 'ngTable', 'commo
 		}
 	});
 
+
+    /**
+     * 卖家中心头部
+     */
+    app.controller('UserCenterHeaderCtrl', ['$scope', 'BaseService', 'InternalMessage', function ($scope, BaseService, InternalMessage) {
+        $scope.homeUrl = BaseService.getRootPath();
+        InternalMessage.getUnread({isRead: 0}, function (data) {
+            $scope.unReadMessCount = data.toRead;
+        }, function (err) {
+            toaster.pop('error', err || '获取未读消息数量失败');
+        })
+    }]);
 	/**
 	 * 采购单状态
 	 */

+ 54 - 11
src/main/webapp/resources/js/usercenter/controllers/forstore/messagePersonalCtrl.js

@@ -10,11 +10,13 @@ define(['app/app'], function(app) {
             count: 10,
             timeSorting: 'DESC',
             classes: '',
-            recRole: 'BUYER'
+            recRole: 'BUYER',
+            isRead: 0
         };
         $scope.deleteIds = [];
         $scope.isChoosedAll = false;
         $scope.isDelete = false;
+        $scope.getUnread = 0; // 未读消息
 
         //初始化页数信息
         $scope.initPages = function (totalElementPages) {
@@ -195,10 +197,16 @@ define(['app/app'], function(app) {
             getData();
         };
 
-        // 时间排序
+       /* // 时间排序
         $scope.orderTime = function () {
             $scope.params.timeSorting = $scope.params.timeSorting == 'DESC' ? 'ASC' : 'DESC';
             getData();
+        };*/
+        // 时间排序
+        $scope.orderTime = function () {
+            $scope.params.timeSorting = $scope.params.timeSorting == 'DESC' ? 'ASC' : 'DESC'
+            $scope.params.sorting = {createTime: $scope.params.timeSorting};
+            getData();
         };
 
         // 全选
@@ -291,17 +299,46 @@ define(['app/app'], function(app) {
         //     sendTime: '1525228751',
         //     content: "My name is: "
         //   }
-        // }]
+     /*   // }]
+        InternalMessage.getUnread(function(data) {
+            $scope.getUnread = data;
+        })
+        var getData = function () {
+            InternalMessage.getMessagesPagePrivate($scope.params, function(data) {
+                if (data) {
+                    $scope.messageAllData = data;
+                    $scope.messageCurrent = data.content;
+                    angular.forEach($scope.messageCurrent, function(message) {
+                       message.content = $sce.trustAsHtml(message.content);
+                    });
+                    $scope.params.currentPage = data.number;
+                    $scope.acculatePages(data.number, data.totalPages);
+                }
+            }, function(response) {
+                toaster.pop('error', '获取消息失败,请重新刷新界面,');
+            });
+        };*/
+        $scope.unReadMessCount = 0;
+        $scope.allReadMessCount = 0;
         var getData = function () {
+            InternalMessage.getUnread({}, function (data) {
+                $scope.allReadMessCount = data.toRead;
+            }, function (err) {
+                toaster.pop('error', err || '获取未读消息数量失败');
+            })
             InternalMessage.getMessagesPagePrivate($scope.params, function(data) {
                 if (data) {
-                    $scope.messageAllData = data.messages;
-                    $scope.messageCurrent = data.messages.content;
+                    console.log(data);
+                    $scope.messageAllData = data;
+                    $scope.messageCurrent = data.content;
                     angular.forEach($scope.messageCurrent, function(message) {
-                       message.messageText.content = $sce.trustAsHtml(message.messageText.content);
+                        message.content = $sce.trustAsHtml(message.content);
                     });
-                    $scope.params.currentPage = data.messages.number;
-                    $scope.acculatePages(data.messages.number, data.messages.totalPages);
+                    $scope.params.currentPage = data.number;
+                    $scope.acculatePages(data.number, data.totalPages);
+                    if ($scope.tab == 'no') {
+                        $scope.unReadMessCount = data.totalElements;
+                    }
                 }
             }, function(response) {
                 toaster.pop('error', '获取消息失败,请重新刷新界面,');
@@ -356,13 +393,19 @@ define(['app/app'], function(app) {
         };
 
         //tab切换
-        $scope.tab = 'all'
+        $scope.tab = 'no';
         $scope.checkTab = function(str) {
-            $scope.tab = str
-
+            $scope.tab = str;
+            if (str == 'all') {
+                $scope.params.isRead = null;
+            } else if (str == 'no') {
+                $scope.params.isRead = 0;
+            }
+            getData();
         }
 
 
         getData();
+
     }]);
 });

+ 1 - 1
src/main/webapp/resources/js/usercenter/controllers/forstore/seek_purchase_ctrl.js

@@ -473,7 +473,7 @@ define(['app/app', 'clipboard', 'QRCode'], function (app, clipboard, QRCode) {
             $http({
               method: 'POST',
               dataType: 'json',
-              url: seekUrl + '/inquiry/buyer/decide',
+              url: seekUrl + '/inquiry/buyer/adopt',
               params: {id: id, status: 1}
             }).success(function (data) {
               toaster.pop('success', '采纳报价成功');

+ 6 - 6
src/main/webapp/resources/js/vendor/app.js

@@ -943,13 +943,13 @@ define([ 'angularAMD', 'ngLocal', 'common/services', 'common/directives', 'commo
 	/**
 	 * 卖家中心头部
 	 */
-	app.controller('VendorCenterHeaderCtrl', ['$scope', 'BaseService'/*, 'InternalMessage'*/, function ($scope, BaseService/*, InternalMessage*/) {
+	app.controller('VendorCenterHeaderCtrl', ['$scope', 'BaseService', 'InternalMessage', function ($scope, BaseService, InternalMessage) {
 		$scope.homeUrl = BaseService.getRootPath();
-		// InternalMessage.getUnReadCount({recRole: 'SELLER'}, function (data) {
-		// 	$scope.unReadMessage = data.count;
-		// }, function (responge) {
-        //
-		// })
+        InternalMessage.getUnread({isRead: 0}, function (data) {
+            $scope.unReadMessCount = data.toRead;
+        }, function (err) {
+            toaster.pop('error', err || '获取未读消息数量失败');
+        })
 	}]);
 
 	/**

+ 34 - 9
src/main/webapp/resources/js/vendor/controllers/forstore/messagePersonalCtrl.js

@@ -10,7 +10,8 @@ define(['app/app'], function(app) {
             count: 10,
             timeSorting: 'DESC',
             classes: '',
-            recRole: 'SELLER'
+            recRole: 'SELLER',
+            isRead: 0
         };
         $scope.deleteIds = [];
         $scope.isChoosedAll = false;
@@ -197,7 +198,8 @@ define(['app/app'], function(app) {
 
         // 时间排序
         $scope.orderTime = function () {
-            $scope.params.timeSorting = $scope.params.timeSorting == 'DESC' ? 'ASC' : 'DESC';
+            $scope.params.timeSorting = $scope.params.timeSorting == 'DESC' ? 'ASC' : 'DESC'
+            $scope.params.sorting = {createTime: $scope.params.timeSorting};
             getData();
         };
 
@@ -219,16 +221,32 @@ define(['app/app'], function(app) {
             });
         };
 
+        $scope.unReadMessCount = 0;
+        $scope.isReadMessCount = 0;
         var getData = function () {
+            /*InternalMessage.getUnread({isRead: 0}, function (data) {
+                $scope.unReadMessCount = data.toRead;*/
+            InternalMessage.getUnread({}, function (data) {
+                $scope.allReadMessCount = data.toRead;
+            }, function (err) {
+                toaster.pop('error', err || '获取未读消息数量失败');
+            })
             InternalMessage.getMessagesPagePrivate($scope.params, function(data) {
                 if (data) {
-                    $scope.messageAllData = data.messages;
-                    $scope.messageCurrent = data.messages.content;
+                    console.log(data);
+                    $scope.messageAllData = data;
+                    $scope.messageCurrent = data.content;
                     angular.forEach($scope.messageCurrent, function(message) {
-                        message.messageText.content = $sce.trustAsHtml(message.messageText.content);
+                        message.content = $sce.trustAsHtml(message.content);
                     });
-                    $scope.params.currentPage = data.messages.number;
-                    $scope.acculatePages(data.messages.number, data.messages.totalPages);
+                    $scope.params.currentPage = data.number;
+                    $scope.acculatePages(data.number, data.totalPages);
+                   /* if ($scope.tab == 'all') {
+                        $scope.isReadMessCount = data.totalElements;
+                    }*/
+                    if ($scope.tab == 'no') {
+                        $scope.unReadMessCount = data.totalElements;
+                    }
                 }
             }, function(response) {
                 toaster.pop('error', '获取消息失败,请重新刷新界面,');
@@ -272,9 +290,16 @@ define(['app/app'], function(app) {
         };
 
         getData();
-        $scope.tab = 'all'
+        /*$scope.tab = 'all';*/
+        $scope.tab = 'no';
         $scope.checkTab = function(str) {
-            $scope.tab = str
+            $scope.tab = str;
+            if (str == 'all') {
+                $scope.params.isRead = null;
+            } else if (str == 'no') {
+                $scope.params.isRead = 0;
+            }
+            getData();
         }
     }]);
 });

+ 1 - 1
src/main/webapp/resources/js/vendor/controllers/forstore/seek_purchase_ctrl.js

@@ -190,7 +190,7 @@ define(['app/app'], function (app) {
                   $scope.isShowSayPriceBox = false;
                   $scope.seekPurchaseTableParams.reload();
                 }, function (response) {
-                  toaster.pop('error', '请勿重复报价或报价自己的求购');
+                  toaster.pop('error', '请勿重复报价或报价自己的求购2');
                 });
               }
             } else {

+ 48 - 11
src/main/webapp/resources/view/usercenter/forstore/messagePersonal.html

@@ -93,14 +93,44 @@
     .oder01:nth-of-type(1) ul li.active:hover a{
         color: #fff !important;
     }
+    .com-massage ul li a{
+        position: relative;
+    }
+    .com-massage ul li a .infoRed {
+        position: absolute;
+        border-radius: 50%;
+        width: 8px;
+        height: 8px;
+        top: -4px;
+        left: -4px;
+        background: red
+    }
+    .com-massage ul li a.info{
+        margin: 5px 0 0;
+        width: 840px;
+        font-size: 14px;
+        white-space: nowrap;
+        text-overflow: ellipsis;
+        overflow: hidden;
+    }
+    .com-massage ul li a.link:hover{
+        color: #5078cb;
+        text-decoration: underline ;
+    }
+    .com-massage ul li a.noLink:hover{
+        color: #333;
+        cursor: default ;
+    }
 </style>
 <div class="user_right fr" id="massage">
     <!--订单中心-->
     <div class="oder">
         <div class="oder01">
             <ul>
-                <li class="active" ng-class="{'active' : tab == 'all'}" ng-click="checkTab('all')"><a href="javascript:void(0)"> 全部(<span ng-bind="messageAllData.totalElements || 0"></span>)</a></li>
-                <li class="" ng-class="{'active' : tab == 'no'}" ng-click="checkTab('no')"><a href="javascript:void(0)"> 未读(<span ng-bind="messageAllData.totalElements || 0"></span>)</a></li>
+               <!-- <li class="active" ng-class="{'active' : tab == 'all'}" ng-click="checkTab('all')"><a href="javascript:void(0)"> 全部(<span ng-bind="messageAllData.totalElements || 0"></span>)</a></li>
+                <li class="" ng-class="{'active' : tab == 'no'}" ng-click="checkTab('no')"><a href="javascript:void(0)"> 未读(<span ng-bind="getUnread.toRead || 0"></span>)</a></li>-->
+                <li ng-class="{'active' : tab == 'all'}" ng-click="checkTab('all')"><a href="javascript:void(0)"> 全部(<span ng-bind="allReadMessCount || 0"></span>)</a></li>
+                <li ng-class="{'active' : tab == 'no'}" ng-click="checkTab('no')"><a href="javascript:void(0)"> 未读(<span ng-bind="unReadMessCount || 0"></span>)</a></li>
             </ul>
             <div class="select">
                 <select name="" class="select-adder form-control" ng-change="chooseClasses()" ng-model="classes">
@@ -117,26 +147,33 @@
             </div>
             <div class="filter-list">
                 <a ng-click="orderTime()">时间<i class="fa fa-long-arrow-up" aria-hidden="true" ng-show="params.timeSorting == 'ASC'"></i><i class="fa fa-long-arrow-down" aria-hidden="true" ng-show="params.timeSorting == 'DESC'"></i></a>
-                <a ng-click="deleteBatch()">删除</a>
-                <label class="check-active">
+            <!--  <a ng-click="deleteBatch()">删除</a>-->
+               <!-- <label class="check-active">
                     <input type="checkbox" id="isChooseAll" ng-click="chooseAll()" ng-model="isChoosedAll">
                     <label for="isChooseAll"></label>
                     <span style="margin-left: 0;">全选</span>
-                </label>
+                </label>-->
             </div>
         </div>
     </div>
     <div class="com-massage">
         <ul>
             <li ng-repeat="message in messageCurrent">
-                <div ng-if="message.messageText.classes=='物流信息'" ng-click="readMessage(message)">
-                    <a href="#"><div class="icon icon-log"></div></a>
+                <!--<div ng-if="message.messageText.classes=='物流信息'" ng-click="readMessage(message)">-->
+                    <a href="#">
+                        <div class="icon icon-log"></div>
+                        <div class="infoRed" ng-if="message.isRead < 1"></div>
+                    </a>
                     <div class="content">
-                        <p><span ng-bind="message.messageText.classes"></span><time ng-bind="message.messageText.sendTime | date:'yyyy-MM-dd HH:mm'"></time></p>
-                        <p ng-bind-html="message.messageText.content"></p>
+                       <!-- <p><span ng-bind="message.messageText.classes"></span><time ng-bind="message.messageText.sendTime | date:'yyyy-MM-dd HH:mm'"></time></p>-->
+                        <p class="content-info">
+                                <p><span>{{message.createTime| date:'yyyy-MM-dd HH:mm'}}</span></p>
+                                <a href="{{message.url}}" ng-bind="message.content" ng-if="message.url" title="{{message.content}}" class="link info"></a>
+                                <a ng-bind="message.content" ng-if="!message.url" title="{{message.content}}" class="noLink info"></a>
+                        </p>
+                   <!-- </div>
+                    <div class="check"><input type="checkbox" id="check01" ng-model="message.isChoosed" ng-click="chooseOne(message)"><label for="check01"></label></div>-->
                     </div>
-                    <div class="check"><input type="checkbox" id="check01" ng-model="message.isChoosed" ng-click="chooseOne(message)"><label for="check01"></label></div>
-                </div>
                 <div ng-if="message.messageText.classes=='售后信息'" ng-click="readMessage(message)">
                     <a href="#"><div class="icon icon-service"></div></a>
                     <div class="content">

+ 1 - 1
src/main/webapp/resources/view/usercenter/forstore/messagePublic.html

@@ -105,7 +105,7 @@
                     </div>
                     <!--<div class="check"><input type="checkbox" id="check03"><label for="check03"></label></div>-->
                 </div>
-                <div  ng-if="message.messageText.classes=='卖家留言'" ng-click="readMessage(message)">
+                <div  ng-if="message.messageText.classes=='卖家留言1'" ng-click="readMessage(message)">
                     <a href="#"><div class="icon icon-massage"></div><em ng-if="message.status=='UNREAD'" class="dot"></em></a>
                     <div class="content">
                         <p><span ng-bind="message.messageText.classes"></span><time ng-bind="message.messageText.sendTime | date:'yyyy-MM-dd HH:mm'"></time></p>

+ 2 - 1
src/main/webapp/resources/view/usercenter/header.html

@@ -213,7 +213,8 @@
         <div class="nav">
             <ul>
                 <!--<li ng-class="{'active' : active == 'home'}"><a href="#home" class="active">首页</a></li>-->
-                <li ng-class="{'active' : active == 'message'}" ><a ui-sref="messagePersonal">消息(<span ng-bind="unReadMessage">0</span>)</a></li>
+                <!--<li ng-class="{'active' : active == 'message'}" ><a ui-sref="messagePersonal">消息(<span ng-bind="unReadMessage">0</span>)</a></li>-->
+                <li ng-class="{'active' : active == 'message'}" ><a ui-sref="messagePersonal">消息(<span ng-bind="unReadMessCount || 0"></span>)</a></li>
                 <!--<li ng-class="{'active' : active == 'browsing-history'}" s><a href="#browsing-history">浏览历史</a></li>-->
             </ul>
         </div>

+ 32 - 10
src/main/webapp/resources/view/vendor/forstore/messagePersonal.html

@@ -94,14 +94,30 @@
     .oder01:nth-of-type(1) ul li.active:hover a{
         color: #fff !important;
     }
+    .com-massage ul li a.info{
+        margin: 5px 0 0;
+        width: 840px;
+        font-size: 14px;
+        white-space: nowrap;
+        text-overflow: ellipsis;
+        overflow: hidden;
+    }
+    .com-massage ul li a.link:hover{
+        color: #5078cb;
+        text-decoration: underline ;
+    }
+    .com-massage ul li a.noLink:hover{
+        color: #333;
+        cursor: default ;
+    }
 </style>
 <div class="user_right fr" id="massage">
     <!--订单中心-->
     <div class="oder">
         <div class="oder01">
             <ul>
-                <li class="active" ng-class="{'active' : tab == 'all'}" ng-click="checkTab('all')"><a href="javascript:void(0)"> 全部(<span ng-bind="messageAllData.totalElements || 0"></span>)</a></li>
-                <li class="" ng-class="{'active' : tab == 'no'}" ng-click="checkTab('no')"><a href="javascript:void(0)"> 未读(<span ng-bind="messageAllData.totalElements || 0"></span>)</a></li>
+                <li ng-class="{'active' : tab == 'all'}" ng-click="checkTab('all')"><a href="javascript:void(0)"> 全部(<span ng-bind="allReadMessCount || 0"></span>)</a></li>
+                <li ng-class="{'active' : tab == 'no'}" ng-click="checkTab('no')"><a href="javascript:void(0)"> 未读(<span ng-bind="unReadMessCount || 0"></span>)</a></li>
             </ul>
             <div class="select">
                 <select name="" class="select-adder form-control" ng-change="chooseClasses()" ng-model="classes">
@@ -118,25 +134,31 @@
             </div>
             <div class="filter-list">
                 <a ng-click="orderTime()">时间<i class="fa fa-long-arrow-up" aria-hidden="true" ng-show="params.timeSorting == 'ASC'"></i><i class="fa fa-long-arrow-down" aria-hidden="true" ng-show="params.timeSorting == 'DESC'"></i></a>
-                <a ng-click="deleteBatch()">删除</a>
-                <label class="check-active">
+              <!--<a ng-click="deleteBatch()">删除</a>-->
+               <!-- <label class="check-active">
                     <input type="checkbox" id="isChooseAll" ng-click="chooseAll()" ng-model="isChoosedAll">
                     <label for="isChooseAll"></label>
                     <span style="margin-left: 0;">全选</span>
-                </label>
+                </label>-->
             </div>
         </div>
     </div>
     <div class="com-massage">
         <ul>
             <li ng-repeat="message in messageCurrent">
-                <div ng-if="message.messageText.classes=='物流信息'" ng-click="readMessage(message)">
+                <!--<div ng-if="message.classes=='物流信息'" ng-click="readMessage(message)">-->
                     <a href="#"><div class="icon icon-log"></div></a>
                     <div class="content">
-                        <p><span ng-bind="message.messageText.classes"></span><time ng-bind="message.messageText.sendTime | date:'yyyy-MM-dd HH:mm'"></time></p>
-                        <p ng-bind-html="message.messageText.content"></p>
-                    </div>
-                    <div class="check"><input type="checkbox" id="check01" ng-model="message.isChoosed" ng-click="chooseOne(message)"><label for="check01"></label></div>
+                      <!--  <p><span ng-bind="message.messageText.classes"></span><time ng-bind="message.messageText.sendTime | date:'yyyy-MM-dd HH:mm'"></time></p>-->
+
+                            <!-- <p><span ng-bind="message.messageText.classes"></span><time ng-bind="message.messageText.sendTime | date:'yyyy-MM-dd HH:mm'"></time></p>-->
+                        <p class="content-info">
+                            <p><span>{{message.createTime| date:'yyyy-MM-dd HH:mm'}}</span></p>
+                            <a href="{{message.url}}" ng-bind="message.content" ng-if="message.url" title="{{message.content}}" class="link info"></a>
+                            <a ng-bind="message.content" ng-if="!message.url" title="{{message.content}}" class="noLink info"></a>
+                        </p>
+                    <!--</div>
+                    <div class="check"><input type="checkbox" id="check01" ng-model="message.isChoosed" ng-click="chooseOne(message)"><label for="check01"></label></div>-->
                 </div>
                 <div ng-if="message.messageText.classes=='售后信息'" ng-click="readMessage(message)">
                     <a href="#"><div class="icon icon-service"></div></a>

+ 1 - 1
src/main/webapp/resources/view/vendor/forstore/messagePublic.html

@@ -105,7 +105,7 @@
                     </div>
                     <!--<div class="check"><input type="checkbox" id="check03"><label for="check03"></label></div>-->
                 </div>
-                <div  ng-if="message.messageText.classes=='卖家留言'" ng-click="readMessage(message)">
+                <div  ng-if="message.messageText.classes=='卖家留言1'" ng-click="readMessage(message)">
                     <a href="#"><div class="icon icon-massage"></div><em ng-if="message.status=='UNREAD'" class="dot"></em></a>
                     <div class="content">
                         <p><span ng-bind="message.messageText.classes"></span><time ng-bind="message.messageText.sendTime | date:'yyyy-MM-dd HH:mm'"></time></p>

+ 1 - 1
src/main/webapp/resources/view/vendor/header.html

@@ -211,7 +211,7 @@
         <div class="nav">
             <ul>
                 <!--&lt;!&ndash;<li ng-class="{'active' : active == 'index'}"><a href="#index" class="active">首页</a></li>&ndash;&gt;-->
-                <li ng-class="{'active' : active == 'message'}" ><a ui-sref="messagePersonal">消息(<span ng-bind="unReadMessage"></span>)</a></li>
+                <li ng-class="{'active' : active == 'message'}" ><a ui-sref="messagePersonal">消息(<span ng-bind="unReadMessCount || 0"></span>)</a></li>
                 <!--&lt;!&ndash;<li ng-class="{'active' : active == 'browsing-history'}"><a href="#browsing-history">浏览历史</a></li>&ndash;&gt;-->
             </ul>
         </div>