Просмотр исходного кода

Merge remote-tracking branch 'origin/dev-mysql' into dev-mysql-newopenstore

zhaohongpeng 8 лет назад
Родитель
Сommit
4c26b71fb9
19 измененных файлов с 146 добавлено и 131 удалено
  1. 8 2
      src/main/java/com/uas/platform/b2c/common/account/controller/UsageLogController.java
  2. 2 2
      src/main/java/com/uas/platform/b2c/common/account/controller/UserController.java
  3. 12 3
      src/main/java/com/uas/platform/b2c/common/account/model/UsageLog.java
  4. 10 0
      src/main/java/com/uas/platform/b2c/prod/commodity/controller/ProductController.java
  5. 2 0
      src/main/java/com/uas/platform/b2c/prod/commodity/dao/ProductReplaceDao.java
  6. 19 0
      src/main/java/com/uas/platform/b2c/prod/commodity/model/ProductReplace.java
  7. 7 0
      src/main/java/com/uas/platform/b2c/prod/commodity/service/ProductService.java
  8. 12 3
      src/main/java/com/uas/platform/b2c/prod/commodity/service/impl/ProductServiceImpl.java
  9. 7 1
      src/main/java/com/uas/platform/b2c/trade/seek/controller/SeekQualityBuyerController.java
  10. 34 0
      src/main/webapp/resources/css/vendor/sell.css
  11. 6 0
      src/main/webapp/resources/js/admin/controllers/LogUsageCtrl.js
  12. 11 10
      src/main/webapp/resources/js/common/controllers/commonCtrls.js
  13. 6 0
      src/main/webapp/resources/js/vendor/controllers/forstore/vendor_store_apply_ctrl.js
  14. 2 0
      src/main/webapp/resources/view/admin/logUsage.html
  15. 0 26
      src/main/webapp/resources/view/vendor/forstore/erp/vendor_material_erp.html
  16. 0 29
      src/main/webapp/resources/view/vendor/forstore/erp/vendor_material_person_erp.html
  17. 0 26
      src/main/webapp/resources/view/vendor/forstore/vendor_material.html
  18. 0 29
      src/main/webapp/resources/view/vendor/forstore/vendor_material_person.html
  19. 8 0
      src/main/webapp/resources/view/vendor/forstore/vendor_store_apply.html

+ 8 - 2
src/main/java/com/uas/platform/b2c/common/account/controller/UsageLogController.java

@@ -35,11 +35,17 @@ public class UsageLogController {
 	 * @return
 	 */
 	@RequestMapping(method = RequestMethod.GET)
-	public Page<UsageLog> getAllByPage(PageParams params,@ApiParam(required = true, value = "用户名") String userName) {
+	public Page<UsageLog> getAllByPage(PageParams params,@ApiParam(required = true, value = "用户名") String userName, String userTel, String email) {
 		PageInfo info = new PageInfo(params);
-		if (userName!=null && !userName.equals("")) {
+		if (userName != null && !userName.equals("")) {
 			info.filter("user.userName", userName);
 		}
+		if (userTel != null && !userTel.equals("")) {
+			info.filter("user.userTel", userTel);
+		}
+		if (email != null && !email.equals("")) {
+			info.filter("user.userEmail", email);
+		}
 		if(info.getSort() == null)
 			info.sorting("time", Sort.Direction.DESC);
 		return usageLogService.findAllByPageInfo(info);

+ 2 - 2
src/main/java/com/uas/platform/b2c/common/account/controller/UserController.java

@@ -216,7 +216,7 @@ public class UserController {
 				session.setAttribute("checkTime", System.currentTimeMillis());
 				session.setAttribute("newUserEmail",newUserEmail);
 				assert logger != null;
-				logger.log("用户信息", "发送用户邮箱地址,UU:" + user.getUserUU());
+				logger.log("用户信息", "修改用户邮箱,邮箱地址为:" + newUserEmail + ", 验证码为:" + checkCode);
 				return new ResponseEntity<>(HttpStatus.OK);
 			} catch (Exception e) {
 				e.printStackTrace();
@@ -360,7 +360,7 @@ public class UserController {
 				session.setAttribute("telCheckTime", System.currentTimeMillis());
 				session.setAttribute("newUserTel", newUserTel);
 				assert logger != null;
-				logger.log("用户信息", "发送手机验证码,UU:" + user.getUserUU());
+				logger.log("用户信息", "修改用户手机号,手机号为:" + newUserTel + ", 验证码为:"+ checkCode);
 				return new ResponseEntity<>(HttpStatus.OK);
 			} catch (Exception e) {
 				e.printStackTrace();

+ 12 - 3
src/main/java/com/uas/platform/b2c/common/account/model/UsageLog.java

@@ -194,14 +194,20 @@ public class UsageLog extends BufferedLogable implements Serializable {
 	}
 
 	public String getUserTel() {
-		if(user != null && user.getUserTel()!=null){
+		if (user == null) {
+			return null;
+		}
+		if(user.getUserTel()!=null){
 			return user.getUserTel().substring(0,user.getUserTel().length()-(user.getUserTel().substring(3)).length())+"****"+user.getUserTel().substring(7);
 		}
 		return user.getUserTel();
 	}
 
 	public String getUserEmail() {
-		if(user != null && user.getUserEmail()!=null){
+		if (user == null) {
+			return null;
+		}
+		if(user.getUserEmail()!=null){
 			String email = user.getUserEmail();
 			int index = org.apache.commons.lang.StringUtils.indexOf(user.getUserEmail(), "@");
 			if (index <= 1)
@@ -213,7 +219,10 @@ public class UsageLog extends BufferedLogable implements Serializable {
 	}
 
 	public String getUserName() {
-		if(user.getUserName() != null && user.getUserName() != null){
+		if (user == null) {
+			return null;
+		}
+		if(user.getUserName() != null){
 			return user.getUserName().substring(0,1)+"**";
 		}
 		return user.getUserName();

+ 10 - 0
src/main/java/com/uas/platform/b2c/prod/commodity/controller/ProductController.java

@@ -197,6 +197,16 @@ public class ProductController {
 		return productFacade.newStockByStandardProduct(id, isSelfSupport, goods);
 	}
 
+	/**
+	 * 根据物料Id获取替代物料列表
+	 * @param id
+	 * @return
+	 */
+	@RequestMapping(value = "/{id}/replaces", method = RequestMethod.GET)
+	public List<ProductReplace> getReplacesByProductId(@PathVariable("id") Long id) {
+    	return productService.getReplacesByProductId(id);
+	}
+
     /**
      * 单个匹配
      *

+ 2 - 0
src/main/java/com/uas/platform/b2c/prod/commodity/dao/ProductReplaceDao.java

@@ -12,4 +12,6 @@ public interface ProductReplaceDao extends JpaRepository<ProductReplace, Long>,
 
     @Query(nativeQuery = true, value = "select * from product$replace where ptr_useruu = :userUU and ptr_prid = :prid")
     List<ProductReplace> findByUserUUAndProductId(@Param("userUU") Long userUU, @Param("prid") Long prId);
+
+    List<ProductReplace> findByProductIdOrderByDetno(Long productId);
 }

+ 19 - 0
src/main/java/com/uas/platform/b2c/prod/commodity/model/ProductReplace.java

@@ -1,7 +1,12 @@
 package com.uas.platform.b2c.prod.commodity.model;
 
+import com.uas.platform.b2c.common.account.model.Role;
+import com.uas.platform.b2c.core.support.SystemSession;
+import org.apache.commons.collections.CollectionUtils;
+
 import javax.persistence.*;
 import java.util.Date;
+import java.util.Set;
 
 /**
  * 存贮商城替代物料
@@ -165,4 +170,18 @@ public class ProductReplace {
     public void setDetno(Short detno) {
         this.detno = detno;
     }
+
+    /**
+     * 判断替代关系当前用户是否可编辑
+     * @return
+     */
+    public boolean isEditable() {
+        if (SystemSession.getUser().isSys()) {
+            return true;
+        }
+        if (SystemSession.getUser().getUserUU().equals(this.userUU)) {
+            return true;
+        }
+        return false;
+    }
 }

+ 7 - 0
src/main/java/com/uas/platform/b2c/prod/commodity/service/ProductService.java

@@ -49,6 +49,13 @@ public interface ProductService {
      */
     boolean setProductReplacesByPerson(Long productId, List<ProductReplace> productReplaceList);
 
+    /**
+     * 根据物料id获取物料的替代物料列表
+     * @param id
+     * @return
+     */
+    List<ProductReplace> getReplacesByProductId(Long id);
+
 
     /**
      * 下载产品资料

+ 12 - 3
src/main/java/com/uas/platform/b2c/prod/commodity/service/impl/ProductServiceImpl.java

@@ -344,7 +344,7 @@ public class ProductServiceImpl implements ProductService {
                     product.setProductDetail(productDetail);
                 }
             }
-            List<ProductReplace> productReplaceList = productReplaceDao.findByUserUUAndProductId(SystemSession.getUser().getUserUU(),product.getId());
+            List<ProductReplace> productReplaceList = productReplaceDao.findByProductIdOrderByDetno(product.getId());
             product.setProductReplaceList(productReplaceList);
         }
         return new PageImpl<V_ProductPerson>(productList, page, productPage.getTotalElements());
@@ -386,13 +386,22 @@ public class ProductServiceImpl implements ProductService {
         List<ProductReplace> productReplacesOld = productReplaceDao.findByUserUUAndProductId(SystemSession.getUser().getUserUU(), productId);
         productReplaceDao.delete(productReplacesOld);
         for (ProductReplace productReplace : productReplaceList) {
-            productReplace.setUserUU(SystemSession.getUser().getUserUU());
-            productReplace.setTime(date);
+            if (productReplace.getUserUU() == null) {
+                productReplace.setUserUU(SystemSession.getUser().getUserUU());
+            }
+            if (productReplace.getTime() == null) {
+                productReplace.setTime(date);
+            }
         }
         productReplaceDao.save(productReplaceList);
         return true;
     }
 
+    @Override
+    public List<ProductReplace> getReplacesByProductId(Long id) {
+        return productReplaceDao.findByProductIdOrderByDetno(id);
+    }
+
     @Override
     public List<Goods> getProductsGoods(String type, String keyword) {
         final PageInfo page = new PageInfo();

+ 7 - 1
src/main/java/com/uas/platform/b2c/trade/seek/controller/SeekQualityBuyerController.java

@@ -1,5 +1,7 @@
 package com.uas.platform.b2c.trade.seek.controller;
 
+import com.uas.platform.b2c.common.account.model.User;
+import com.uas.platform.b2c.core.support.SystemSession;
 import com.uas.platform.b2c.core.support.log.UsageBufferedLogger;
 import com.uas.platform.b2c.trade.seek.model.SeekPurchase;
 import com.uas.platform.b2c.trade.seek.model.SeekQualityBuyer;
@@ -11,6 +13,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
+import org.springframework.util.StringUtils;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
@@ -44,7 +47,10 @@ public class SeekQualityBuyerController {
      */
     @RequestMapping(value = "/getBuyerPageInfo", method = RequestMethod.GET)
     public Page<SeekQualityBuyer> getBuyerPageInfo(PageParams params) {
-        logger.log("求购", "分页获取优质采购商列表,参数为" + params);
+        User user = SystemSession.getUser();
+        if (!StringUtils.isEmpty(user)) {
+            logger.log("求购", "分页获取优质采购商列表");
+        }
         PageInfo info = new PageInfo(params);
         return seekQualityBuyerService.getBuyerPageInfo(info);
     }

+ 34 - 0
src/main/webapp/resources/css/vendor/sell.css

@@ -5315,3 +5315,37 @@ input:-webkit-autofill, input:-webkit-autofill:hover, input:-webkit-autofill:foc
     -webkit-transition: color 99999s ease-out, background-color 99999s ease-out;
     /* -webkit-box-shadow: 0 0 0px 1000px white inset; */
 }
+
+/*提示横条*/
+.result{
+    width: 100%;
+    height: 30px;
+    line-height: 30px;
+    text-align: center;
+    background: #fef6f2;
+    border: 1px solid #ec854d;
+    overflow: hidden ;
+}
+.result span{
+    margin-left: 330px;
+    height: 30px;
+    font-size: 14px;
+    color: #f15601;
+}
+.result span em{
+    font-size: 14px;
+    color: #f15601;
+}
+.result span a {
+    color: #5078cb;
+}
+.result a.fr{
+    padding-right: 10px;
+    font-size: 20px;
+    font-weight: bold;
+    color: #ef1d1d;
+}
+.result .operate-introduce {
+    font-size: 14px;
+    color: #5078cb;
+}

+ 6 - 0
src/main/webapp/resources/js/admin/controllers/LogUsageCtrl.js

@@ -18,6 +18,12 @@ define(['app/app'], function (app) {
           if($scope.search == 2){
             param.userName = $scope.searchContent;
           }
+          if($scope.search == 3){
+              param.userTel = $scope.searchContent;
+          }
+          if($scope.search == 4){
+              param.email = $scope.searchContent;
+          }
         }
         logUsage.getAllByPage(param, function (data) {
           params.total(data.totalElements);

+ 11 - 10
src/main/webapp/resources/js/common/controllers/commonCtrls.js

@@ -15,29 +15,30 @@ define([ 'app/app' ], function(app) {
 			if(--i < 1) Loading.hide();
 		};
 
+		var im_api_url = 'api/chat/message';
 		return {
 			request: function(cfg){
-				if(cfg.url) {
-					if(cfg.url.indexOf('api/chat/message') < 0) {
-						startLoading();
-					}
+				if(cfg.url && cfg.url.indexOf(im_api_url) < 0) {
+					startLoading();
 				}
 				return cfg;
 			},
 			requestError: function(rejection) {
-				endLoading();
+				if(rejection.config.url && rejection.config.url.indexOf(im_api_url) < 0) {
+					endLoading();
+				}
 				return $q.reject(rejection);
 			},
 			response: function(res) {
-				if(res.config.url) {
-					if(res.config.url.indexOf('api/chat/message') < 0) {
-						endLoading();
-					}
+				if(res.config.url && res.config.url.indexOf(im_api_url) < 0) {
+					endLoading();
 				}
 				return res;
 			},
 			responseError: function(rejection) {
-				endLoading();
+				if(rejection.config.url && rejection.config.url.indexOf(im_api_url) < 0) {
+					endLoading();
+				}
 				if(rejection.status == 401) {
 					window.location.href = rejection.data.loginUrl || 'index';
 				}

+ 6 - 0
src/main/webapp/resources/js/vendor/controllers/forstore/vendor_store_apply_ctrl.js

@@ -6,6 +6,12 @@ define(['app/app', 'jquery-uploadify'], function (app) {
 
 		document.title = "开店申请-优软商城";
 
+		$scope.resultTip = true;
+
+		$scope.closeTip = function () {
+			$scope.resultTip = false;
+		}
+
 		// 初始化店铺申请信息
 		$scope.storeApply = { type : $scope.tab };
 		// 初始化资质信息

+ 2 - 0
src/main/webapp/resources/view/admin/logUsage.html

@@ -20,6 +20,8 @@
 						<option value="">请选择查询条件</option>
 						<option value="1">UU号</option>
 						<option value="2">用户名</option>
+						<option value="3">手机号</option>
+						<option value="4">邮箱</option>
 					</select>
 				<input type="search" style="width:80%;" class="form-control" ng-model="searchContent"
 					ng-search="onSearch()" placeholder="请输入搜索内容">

+ 0 - 26
src/main/webapp/resources/view/vendor/forstore/erp/vendor_material_erp.html

@@ -727,32 +727,6 @@
 		background: #82d2fa;
 		border: none;
 	}
-	.result{
-		width: 100%;
-		height: 30px;
-		line-height: 30px;
-		text-align: center;
-		background: #fef6f2;
-		border: 1px solid #ec854d;
-		overflow: hidden ;
-	}
-	.result span{
-		margin-left: 330px;
-		height: 30px;
-		font-size: 14px;
-		color: #f15601;
-	}
-	.result span em{
-		font-size: 14px;
-		color: #f15601;
-	}
-	.result a{
-		padding-right: 10px;
-		float: right;
-		font-size: 20px;
-		font-weight: bold;
-		color: #ef1d1d;
-	}
 	.tab-head{
 		width: 100%;
 		height: 40px;

+ 0 - 29
src/main/webapp/resources/view/vendor/forstore/erp/vendor_material_person_erp.html

@@ -673,35 +673,6 @@
 		background: #82d2fa;
 		border: none;
 	}
-	.result{
-		width: 100%;
-		height: 30px;
-		line-height: 30px;
-		text-align: center;
-		background: #fef6f2;
-		border: 1px solid #ec854d;
-		overflow: hidden ;
-	}
-	.result span{
-		margin-left: 330px;
-		height: 30px;
-		font-size: 14px;
-		color: #f15601;
-	}
-	.result span em{
-		font-size: 14px;
-		color: #f15601;
-	}
-	.result a.fr{
-		padding-right: 10px;
-		font-size: 20px;
-		font-weight: bold;
-		color: #ef1d1d;
-	}
-	.result .operate-introduce {
-		font-size: 14px;
-		color: #5078cb;
-	}
 	.tab-head{
 		width: 100%;
 		height: 40px;

+ 0 - 26
src/main/webapp/resources/view/vendor/forstore/vendor_material.html

@@ -766,32 +766,6 @@
 		background: #82d2fa;
 		border: none;
 	}
-	.result{
-		width: 100%;
-		height: 30px;
-		line-height: 30px;
-		text-align: center;
-		background: #fef6f2;
-		border: 1px solid #ec854d;
-		overflow: hidden ;
-	}
-	.result span{
-		margin-left: 330px;
-		height: 30px;
-		font-size: 14px;
-		color: #f15601;
-	}
-	.result span em{
-		font-size: 14px;
-		color: #f15601;
-	}
-	.result a{
-		padding-right: 10px;
-		float: right;
-		font-size: 20px;
-		font-weight: bold;
-		color: #ef1d1d;
-	}
 	.tab-head{
 		width: 100%;
 		height: 40px;

+ 0 - 29
src/main/webapp/resources/view/vendor/forstore/vendor_material_person.html

@@ -673,35 +673,6 @@
 		background: #82d2fa;
 		border: none;
 	}
-	.result{
-		width: 100%;
-		height: 30px;
-		line-height: 30px;
-		text-align: center;
-		background: #fef6f2;
-		border: 1px solid #ec854d;
-		overflow: hidden ;
-	}
-	.result span{
-		margin-left: 330px;
-		height: 30px;
-		font-size: 14px;
-		color: #f15601;
-	}
-	.result span em{
-		font-size: 14px;
-		color: #f15601;
-	}
-	.result a.fr{
-		padding-right: 10px;
-		font-size: 20px;
-		font-weight: bold;
-		color: #ef1d1d;
-	}
-    .result .operate-introduce {
-        font-size: 14px;
-        color: #5078cb;
-    }
 	.tab-head{
 		width: 100%;
 		height: 40px;

+ 8 - 0
src/main/webapp/resources/view/vendor/forstore/vendor_store_apply.html

@@ -384,6 +384,13 @@
 		color: #fff;
 		text-decoration: none;
 	}
+	.result {
+		margin-bottom: 31px;
+		margin-top: -20px;
+	}
+	.result span {
+		margin-left: 160px;
+	}
 </style>
 <div class="container vendor_store_apply user_right">
 	<div style="margin-bottom: 30px;">
@@ -474,6 +481,7 @@
 	</div>-->
 </div>
 <div class="container vendor_store_apply user_right" style="margin-top: 15px;padding: 0;min-height: 330px; padding-top: 20px; padding-bottom: 20px;">
+	<div class="result" ng-if="resultTip"><span class="fl"><em>*</em>店铺开通后,可<a href="vendor#/vendor_upload">&nbsp;上传产品&nbsp;</a>至自己的店铺展示销售;如不想开店,可<a href="vendor#/vendor_upload">&nbsp;上传产品&nbsp;</a>在优软商城中寄售由商城代为售卖。</span><a ng-click="closeTip()" class="fr">&times;</a></div>
 	<div>
 		<!-- Nav tabs -->
 		<ul class="nav nav-tabs" role="tablist" style="height: 41px; background: none;padding: 0 40px;">