Browse Source

Merge branch 'dev-mysql' into feature_release-tomysql

suntg 8 years ago
parent
commit
e239fd03be
31 changed files with 471 additions and 95 deletions
  1. 1 1
      src/main/java/com/uas/platform/b2c/advertise/ad/service/impl/CarouselsServiceImpl.java
  2. 1 1
      src/main/java/com/uas/platform/b2c/advertise/ad/service/impl/FloorsServiceImpl.java
  3. 9 0
      src/main/java/com/uas/platform/b2c/common/account/service/EnterpriseService.java
  4. 11 0
      src/main/java/com/uas/platform/b2c/common/account/service/impl/EnterpriseServiceImpl.java
  5. 5 5
      src/main/java/com/uas/platform/b2c/common/base/constant/FileClientConstant.java
  6. 8 4
      src/main/java/com/uas/platform/b2c/common/base/service/impl/FileClientImpl.java
  7. 19 19
      src/main/java/com/uas/platform/b2c/common/search/constant/SearchUrl.java
  8. 23 19
      src/main/java/com/uas/platform/b2c/common/search/rpc/service/Impl/SearchServiceImpl.java
  9. 36 0
      src/main/java/com/uas/platform/b2c/core/config/MicroServicesConf.java
  10. 30 0
      src/main/java/com/uas/platform/b2c/core/config/SysConf.java
  11. 17 0
      src/main/java/com/uas/platform/b2c/prod/commodity/controller/ProductController.java
  12. 10 0
      src/main/java/com/uas/platform/b2c/prod/commodity/dao/ProductDao.java
  13. 7 0
      src/main/java/com/uas/platform/b2c/prod/commodity/service/ProductService.java
  14. 45 0
      src/main/java/com/uas/platform/b2c/prod/commodity/service/impl/ProductServiceImpl.java
  15. 19 0
      src/main/java/com/uas/platform/b2c/prod/commodity/type/ProductConstant.java
  16. 18 6
      src/main/java/com/uas/platform/b2c/prod/store/controller/StoreInController.java
  17. 8 0
      src/main/java/com/uas/platform/b2c/prod/store/dao/StoreInDao.java
  18. 10 0
      src/main/java/com/uas/platform/b2c/prod/store/service/StoreInService.java
  19. 38 1
      src/main/java/com/uas/platform/b2c/prod/store/service/impl/StoreInServiceImpl.java
  20. 6 0
      src/main/resources/dev/sys.properties
  21. 1 1
      src/main/resources/log4j.properties
  22. 1 1
      src/main/resources/prod/jdbc.properties
  23. 6 1
      src/main/resources/prod/sys.properties
  24. 6 0
      src/main/resources/test/sys.properties
  25. 10 0
      src/main/webapp/resources/js/common/query/material.js
  26. 7 0
      src/main/webapp/resources/js/common/query/storeInfo.js
  27. 1 0
      src/main/webapp/resources/js/usercenter/controllers/forstore/buyer_cart_ctrl.js
  28. 49 7
      src/main/webapp/resources/js/usercenter/controllers/forstore/order_pay_ctrl.js
  29. 50 13
      src/main/webapp/resources/js/vendor/controllers/forstore/vendor_materialCtrl.js
  30. 17 14
      src/main/webapp/resources/view/usercenter/forstore/order_pay.html
  31. 2 2
      src/main/webapp/resources/view/vendor/forstore/vendor_upload.html

+ 1 - 1
src/main/java/com/uas/platform/b2c/advertise/ad/service/impl/CarouselsServiceImpl.java

@@ -31,7 +31,7 @@ public class CarouselsServiceImpl implements CarouselService{
 
 	@Override
 	public List<JSONObject> getCarousels(String usedFor) {
-		String url = conf.getRequestUrl(20030, "/carousels?usedFor=" + usedFor);
+		String url = conf.getRequestUrlForCarousel(20030, "/carousels?usedFor=" + usedFor);
 		String result = restTemplate.getForEntity(url, String.class).getBody();
 		List<JSONObject> r = JsonUtil.parseJsonToObject(result);
 		return r;

+ 1 - 1
src/main/java/com/uas/platform/b2c/advertise/ad/service/impl/FloorsServiceImpl.java

@@ -31,7 +31,7 @@ public class FloorsServiceImpl implements FloorsService {
 
 	@Override
 	public List<JSONObject> getFloorsByModule(String module) {
-		String url = conf.getRequestUrl(20040, "/floors?usedFor=" + module);
+		String url = conf.getRequestUrlForFloor(20040, "/floors?usedFor=" + module);
 		String result = restTemplate.getForEntity(url, String.class).getBody();
 		return JacksonUtils.fromJsonArray(result, JSONObject.class);
 	}

+ 9 - 0
src/main/java/com/uas/platform/b2c/common/account/service/EnterpriseService.java

@@ -4,10 +4,19 @@ import com.uas.platform.b2c.common.account.model.Enterprise;
 import com.uas.platform.b2c.common.account.model.User;
 import com.uas.platform.b2c.trade.support.ResultMap;
 
+import java.util.List;
+
 public interface EnterpriseService {
 
 	// 根据企业uu获取企业信息
 	public Enterprise getEnterpriseInfo(Long uu);
+
+	/**
+	 * 批量获取企业的信息
+	 * @param enuus uu号
+	 * @return List<Enterprise>
+	 */
+	List<Enterprise> getEnterpriseInfos(List<Long> enuus);
 	
 	// 得到企业是否有需要结算单据状态
 	public Enterprise getReceiptStatus(Enterprise enter);

+ 11 - 0
src/main/java/com/uas/platform/b2c/common/account/service/impl/EnterpriseServiceImpl.java

@@ -42,6 +42,17 @@ public class EnterpriseServiceImpl implements EnterpriseService{
 		return enterpriseDao.findByUu(uu);
 	}
 
+	/**
+	 * 批量获取企业的信息
+	 *
+	 * @param enuus uu号
+	 * @return List<Enterprise>
+	 */
+	@Override
+	public List<Enterprise> getEnterpriseInfos(List<Long> enuus) {
+		return enterpriseDao.findByUus(enuus);
+	}
+
 	@Override
 	public Enterprise getReceiptStatus(Enterprise enter) {
 		List<Receipt> receipts = receiptDao.findBySellerenuu(enter.getUu());

+ 5 - 5
src/main/java/com/uas/platform/b2c/common/base/constant/FileClientConstant.java

@@ -5,26 +5,26 @@ public class FileClientConstant {
     /**
      * 文件上传
      */
-    public final static String FILE_UPLOAD = "http://10.10.100.200:9999/file/upload";
+    public final static String FILE_UPLOAD = "/file/upload";
 
 
     /**
      * 文件下载
      */
-    public final static String FILE_DOWNLOAD = "http://10.10.100.200:9999/file/download";
+    public final static String FILE_DOWNLOAD = "/file/download";
 
     /**
      * 文件删除
      */
-    public final static String FILE_DELETE = "http://10.10.100.200:9999/file/delete";
+    public final static String FILE_DELETE = "/file/delete";
 
     /**
      * 文件信息
      */
-    public final static String FILE_INFO = "http://10.10.100.200:9999/file/info";
+    public final static String FILE_INFO = "/file/info";
 
     /**
      * 文件额外属性
      */
-    public final static String FILE_METADATA = "http://10.10.100.200:9999/file/metadata";
+    public final static String FILE_METADATA = "/file/metadata";
 }

+ 8 - 4
src/main/java/com/uas/platform/b2c/common/base/service/impl/FileClientImpl.java

@@ -5,6 +5,7 @@ import com.uas.dfs.domain.FileInfo;
 import com.uas.dfs.domain.MetaData;
 import com.uas.dfs.service.FileClient;
 import com.uas.platform.b2c.common.base.constant.FileClientConstant;
+import com.uas.platform.b2c.core.config.SysConf;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.core.io.ByteArrayResource;
 import org.springframework.http.*;
@@ -23,9 +24,12 @@ public class FileClientImpl implements FileClient {
 
     private final RestTemplate restTemplate;
 
+    private final SysConf sysConf;
+
     @Autowired
-    public FileClientImpl(RestTemplate restTemplate) {
+    public FileClientImpl(RestTemplate restTemplate, SysConf sysConf) {
         this.restTemplate = restTemplate;
+        this.sysConf = sysConf;
     }
 
     @Override
@@ -54,7 +58,7 @@ public class FileClientImpl implements FileClient {
         form.add("file", arrayResource);
 
         HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<MultiValueMap<String, Object>>(form, headers);
-        ResponseEntity<JSONObject> responseEntity = restTemplate.postForEntity(FileClientConstant.FILE_UPLOAD, requestEntity, JSONObject.class);
+        ResponseEntity<JSONObject> responseEntity = restTemplate.postForEntity(sysConf.getUploadFileUrl() + FileClientConstant.FILE_UPLOAD, requestEntity, JSONObject.class);
         return responseEntity.getBody().getString("path");
     }
 
@@ -63,7 +67,7 @@ public class FileClientImpl implements FileClient {
         Map<String, Object> params = new HashMap<String, Object>();
         params.put("path", s);
         HttpHeaders headers = new HttpHeaders();
-        ResponseEntity<byte[]> response = restTemplate.exchange(FileClientConstant.FILE_DOWNLOAD, HttpMethod.GET,
+        ResponseEntity<byte[]> response = restTemplate.exchange(sysConf.getUploadFileUrl() + FileClientConstant.FILE_DOWNLOAD, HttpMethod.GET,
                 new HttpEntity<byte[]>(headers), byte[].class, params);
         return response.getBody();
     }
@@ -72,7 +76,7 @@ public class FileClientImpl implements FileClient {
     public void delete(String s) {
         Map<String, Object> params = new HashMap<String, Object>();
         params.put("path", s);
-        restTemplate.delete(FileClientConstant.FILE_DELETE, params);
+        restTemplate.delete(sysConf.getUploadFileUrl() + FileClientConstant.FILE_DELETE, params);
     }
 
     @Override

+ 19 - 19
src/main/java/com/uas/platform/b2c/common/search/constant/SearchUrl.java

@@ -10,109 +10,109 @@ public class SearchUrl {
     /**
      * 获取类目id
      */
-    public static final String KIND_ID_URL = "http://10.10.100.191:8092/search/kindIds/{keyword}";
+    public static final String KIND_ID_URL = "/search/kindIds/{keyword}";
 
     /**
      * 获取类目的数据
      *
      */
-    public static final String KIND_INFO_URL = "http://10.10.100.191:8092/search/kinds/{keyword}?page={page}&size={size}";
+    public static final String KIND_INFO_URL = "/search/kinds/{keyword}?page={page}&size={size}";
 
     /**
      * 搜索品牌的id
      */
-    public static final String BRAND_ID_URL = "http://10.10.100.191:8092/search/brandIds/{keyword}?page={page}&size={size}";
+    public static final String BRAND_ID_URL = "/search/brandIds/{keyword}?page={page}&size={size}";
 
     /**
      * 搜索品牌的具体信息
      */
-    public static final String BRAND_INFO_URL = "http://10.10.100.191:8092/search/brands/{keyword}?page={page}&size={size}";
+    public static final String BRAND_INFO_URL = "/search/brands/{keyword}?page={page}&size={size}";
 
 
     /**
      * 搜索器件的id
      */
-    public static final String COMPONENT_ID_URL = "http://10.10.100.191:8092/search/componentIds?keyword={keyword}&params={params}";
+    public static final String COMPONENT_ID_URL = "/search/componentIds?keyword={keyword}&params={params}";
 
     /**
      * 根据品牌id后去类目的id
      */
-    public static final String KIND_ID_COMPONENT_URL = "http://10.10.100.191:8092/search/kindIdsByComponent?keyword={keyword}&brandId={brandId}";
+    public static final String KIND_ID_COMPONENT_URL = "/search/kindIdsByComponent?keyword={keyword}&brandId={brandId}";
 
     /**
      * 根据品牌id后去类目信息
      */
-    public static final String KIND_COMPONENT_URL = "http://10.10.100.191:8092/search/kindsByComponent?keyword={keyword}&brandId={brandId}";
+    public static final String KIND_COMPONENT_URL = "/search/kindsByComponent?keyword={keyword}&brandId={brandId}";
 
     /**
      * 根据类目的id,获取品牌id信息
      */
-    public static final String BREAND_ID_COMPONENT_URL = "http://10.10.100.191:8092/search/brandIdsByComponent?keyword={keyword}&kindId={kindId}";
+    public static final String BREAND_ID_COMPONENT_URL = "/search/brandIdsByComponent?keyword={keyword}&kindId={kindId}";
 
 
     /**
      * 根据类目的id,获取品牌信息
      */
-    public static final String BREAND_COMPONENT_URL = "http://10.10.100.191:8092/search/brandsByComponent?keyword={keyword}&kindId={kindId}";
+    public static final String BREAND_COMPONENT_URL = "/search/brandsByComponent?keyword={keyword}&kindId={kindId}";
 
 
     /**
      * 根据关键字联想
      */
-    public static final String SIMILAR_KEYWORD_URL = "http://10.10.100.191:8092/search/similarKeywords/{keyword}";
+    public static final String SIMILAR_KEYWORD_URL = "/search/similarKeywords/{keyword}";
 
 
     /**
      * 根据关键字联想器件
      */
-    public static final String SIMILAR_COMPONENT_URL = "http://10.10.100.191:8092/search/similarComponents/{keyword}";
+    public static final String SIMILAR_COMPONENT_URL = "/search/similarComponents/{keyword}";
 
 
     /**
      * 根据关键字联想品牌
      */
-    public static final String SIMILAR_BRAND_URL = "http://10.10.100.191:8092/search/similarBrands/{keyword}";
+    public static final String SIMILAR_BRAND_URL = "/search/similarBrands/{keyword}";
 
 
     /**
      * 根据关键字联想类目
      */
-    public static final String SIMILAR_KIND_URL = "http://10.10.100.191:8092/search/similarKinds/{keyword}";
+    public static final String SIMILAR_KIND_URL = "/search/similarKinds/{keyword}";
 
 
 
     /**
      * 获取某个信息的叶子节点
      */
-    public static final String SIMILAR_LEAF_KIND_URL = "http://10.10.100.191:8092/search/similarLeafKinds/{keyword}";
+    public static final String SIMILAR_LEAF_KIND_URL = "/search/similarLeafKinds/{keyword}";
 
 
     /**
      * 获取类目的层级
      */
-    public static final String SIMILAR__KIND_LEVEL_URL = "http://10.10.100.191:8092/search/similarKindsByLevel?kindName={kindName}&level={level}";
+    public static final String SIMILAR__KIND_LEVEL_URL = "/search/similarKindsByLevel?kindName={kindName}&level={level}";
 
 
     /**
      * 属性值搜索
      */
-    public static final String PROPERTYVALUES_URL = "http://10.10.100.191:8092/search/similarPropertyValues?kindId={kindId}&propertyId={propertyId}&keyword={keyword}&topNum={topNum}";
+    public static final String PROPERTYVALUES_URL = "/search/similarPropertyValues?kindId={kindId}&propertyId={propertyId}&keyword={keyword}&topNum={topNum}";
 
 
     /**
      * 搜索库存信息
      */
-    public static final String GOODIS_URL= "http://10.10.100.191:8092/search/goodsIds?keyword={keyword}&params={params}";
+    public static final String GOODIS_URL= "/search/goodsIds?keyword={keyword}&params={params}";
 
 
     /**
      * 搜索库存
      */
-    public static final String GOODS_COLLECT_URL= "http://10.10.100.191:8092/search/collectBySearchGoods?keyword={keyword}&collectedField={collectedField}&filters={filters}";
+    public static final String GOODS_COLLECT_URL= "/search/collectBySearchGoods?keyword={keyword}&collectedField={collectedField}&filters={filters}";
 
     /**
      * 搜索订单
      */
-    public static final String ORDER_SEARCH_URL = "http://10.10.100.191:8092/search/orderIds?tableName={tableName}&keyword={keyword}&page={page}&size={size}&status={status}&buyeruu={buyeruu}&buyerenuu={buyerenuu}&sellerenuu={sellerenuu}&mintime={mintime}&maxtime={maxtime}";
+    public static final String ORDER_SEARCH_URL = "/search/orderIds?tableName={tableName}&keyword={keyword}&page={page}&size={size}&status={status}&buyeruu={buyeruu}&buyerenuu={buyerenuu}&sellerenuu={sellerenuu}&mintime={mintime}&maxtime={maxtime}";
 
 }

+ 23 - 19
src/main/java/com/uas/platform/b2c/common/search/rpc/service/Impl/SearchServiceImpl.java

@@ -3,6 +3,7 @@ package com.uas.platform.b2c.common.search.rpc.service.Impl;
 
 import com.uas.platform.b2c.common.search.constant.SearchUrl;
 import com.uas.platform.b2c.common.search.rpc.service.SearchService;
+import com.uas.platform.b2c.core.config.SysConf;
 import com.uas.platform.b2c.core.utils.FastjsonUtils;
 import com.uas.platform.core.util.serializer.FlexJsonUtils;
 import com.uas.search.exception.SearchException;
@@ -29,15 +30,18 @@ public class SearchServiceImpl implements SearchService{
 
     private final RestTemplate restTemplate;
 
+    private final SysConf sysConf;
+
     @Autowired
-    public SearchServiceImpl(RestTemplate restTemplate) {
+    public SearchServiceImpl(RestTemplate restTemplate, SysConf sysConf) {
         this.restTemplate = restTemplate;
+        this.sysConf = sysConf;
     }
 
     @Override
     public SPage<Long> getKindIds(String keyword, Integer page, Integer size) throws SearchException {
         Map<String, Object> map = initSearchMap(keyword, page, size);
-        String str = restTemplate.getForObject(SearchUrl.KIND_ID_URL, String.class, map);
+        String str = restTemplate.getForObject(sysConf.getSearchUrl() + SearchUrl.KIND_ID_URL, String.class, map);
         if(StringUtils.isEmpty(str)) {
             return null;
         }else {
@@ -54,7 +58,7 @@ public class SearchServiceImpl implements SearchService{
     @Override
     public SPage<Map<String, Object>> getKinds(String keyword, Integer page, Integer size) throws SearchException {
         Map<String, Object> map = initSearchMap(keyword, page, size);
-        String str = restTemplate.getForObject(SearchUrl.KIND_INFO_URL, String.class, map);
+        String str = restTemplate.getForObject(sysConf.getSearchUrl() + SearchUrl.KIND_INFO_URL, String.class, map);
         if(StringUtils.isEmpty(str)) {
             return null;
         }else {
@@ -71,7 +75,7 @@ public class SearchServiceImpl implements SearchService{
     @Override
     public SPage<Long> getBrandIds(String keyword, Integer page, Integer size) throws SearchException {
         Map<String, Object> map = initSearchMap(keyword, page, size);
-        String str = restTemplate.getForObject(SearchUrl.BRAND_ID_URL, String.class, map);
+        String str = restTemplate.getForObject(sysConf.getSearchUrl() + SearchUrl.BRAND_ID_URL, String.class, map);
         if(StringUtils.isEmpty(str)) {
             return null;
         }else {
@@ -89,7 +93,7 @@ public class SearchServiceImpl implements SearchService{
     @Override
     public SPage<Map<String, List<Integer>>> getBrands(String keyword, Integer page, Integer size) throws SearchException {
         Map<String, Object> map = initSearchMap(keyword, page, size);
-        String str = restTemplate.getForObject(SearchUrl.BRAND_INFO_URL, String.class, map);
+        String str = restTemplate.getForObject(sysConf.getSearchUrl() + SearchUrl.BRAND_INFO_URL, String.class, map);
         if(StringUtils.isEmpty(str)) {
             return null;
         }else {
@@ -108,7 +112,7 @@ public class SearchServiceImpl implements SearchService{
         Map<String, Object> map = new HashedMap();
         map.put("keyword", keyword);
         map.put("params", FlexJsonUtils.toJsonDeep(var2));
-        String str = restTemplate.getForObject(SearchUrl.COMPONENT_ID_URL, String.class, map);
+        String str = restTemplate.getForObject(sysConf.getSearchUrl() + SearchUrl.COMPONENT_ID_URL, String.class, map);
         if(StringUtils.isEmpty(str)) {
             return null;
         }else {
@@ -127,7 +131,7 @@ public class SearchServiceImpl implements SearchService{
         Map<String, Object> map = new HashedMap();
         map.put("keyword", keyword);
         map.put("brandId", brandId);
-        String str = restTemplate.getForObject(SearchUrl.KIND_ID_COMPONENT_URL, String.class, map);
+        String str = restTemplate.getForObject(sysConf.getSearchUrl() + SearchUrl.KIND_ID_COMPONENT_URL, String.class, map);
         if(StringUtils.isEmpty(str)) {
             return null;
         }else {
@@ -146,7 +150,7 @@ public class SearchServiceImpl implements SearchService{
         Map<String, Object> map = new HashedMap();
         map.put("keyword", keyword);
         map.put("brandId", brandId);
-        String str = restTemplate.getForObject(SearchUrl.KIND_COMPONENT_URL, String.class, map);
+        String str = restTemplate.getForObject(sysConf.getSearchUrl() + SearchUrl.KIND_COMPONENT_URL, String.class, map);
         if(StringUtils.isEmpty(str)) {
             return null;
         }else {
@@ -165,7 +169,7 @@ public class SearchServiceImpl implements SearchService{
         Map<String, Object> map = new HashedMap();
         map.put("keyword", keyword);
         map.put("kindId", kindId);
-        String str = restTemplate.getForObject(SearchUrl.BREAND_ID_COMPONENT_URL, String.class, map);
+        String str = restTemplate.getForObject(sysConf.getSearchUrl() + SearchUrl.BREAND_ID_COMPONENT_URL, String.class, map);
         if(StringUtils.isEmpty(str)) {
             return null;
         }else {
@@ -184,7 +188,7 @@ public class SearchServiceImpl implements SearchService{
         Map<String, Object> map = new HashedMap();
         map.put("keyword", keyword);
         map.put("kindId", kindId);
-        String str = restTemplate.getForObject(SearchUrl.BREAND_COMPONENT_URL, String.class, map);
+        String str = restTemplate.getForObject(sysConf.getSearchUrl() + SearchUrl.BREAND_COMPONENT_URL, String.class, map);
         if(StringUtils.isEmpty(str)) {
             return null;
         }else {
@@ -202,7 +206,7 @@ public class SearchServiceImpl implements SearchService{
     public List<String> getSimilarKeywords(String keyword) throws SearchException {
         Map<String, Object> map = new HashedMap();
         map.put("keyword", keyword);
-        String str = restTemplate.getForObject(SearchUrl.SIMILAR_KEYWORD_URL, String.class, map);
+        String str = restTemplate.getForObject(sysConf.getSearchUrl() + SearchUrl.SIMILAR_KEYWORD_URL, String.class, map);
         if(StringUtils.isEmpty(str)) {
             return null;
         }else {
@@ -220,7 +224,7 @@ public class SearchServiceImpl implements SearchService{
     public List<Map<String, Object>> getSimilarComponents(String keyword) throws SearchException {
         Map<String, Object> map = new HashedMap();
         map.put("keyword", keyword);
-        String str = restTemplate.getForObject(SearchUrl.SIMILAR_COMPONENT_URL, String.class, map);
+        String str = restTemplate.getForObject(sysConf.getSearchUrl() + SearchUrl.SIMILAR_COMPONENT_URL, String.class, map);
         if(StringUtils.isEmpty(str)) {
             return null;
         }else {
@@ -238,7 +242,7 @@ public class SearchServiceImpl implements SearchService{
     public List<Map<String, Object>> getSimilarBrands(String keyword) throws SearchException {
         Map<String, Object> map = new HashedMap();
         map.put("keyword", keyword);
-        String str = restTemplate.getForObject(SearchUrl.SIMILAR_BRAND_URL, String.class, map);
+        String str = restTemplate.getForObject(sysConf.getSearchUrl() + SearchUrl.SIMILAR_BRAND_URL, String.class, map);
         if(StringUtils.isEmpty(str)) {
             return null;
         }else {
@@ -256,7 +260,7 @@ public class SearchServiceImpl implements SearchService{
     public List<Map<String, Object>> getSimilarKinds(String keyword) throws SearchException {
         Map<String, Object> map = new HashedMap();
         map.put("keyword", keyword);
-        String str = restTemplate.getForObject(SearchUrl.SIMILAR_KIND_URL, String.class, map);
+        String str = restTemplate.getForObject(sysConf.getSearchUrl() + SearchUrl.SIMILAR_KIND_URL, String.class, map);
         if(StringUtils.isEmpty(str)) {
             return null;
         }else {
@@ -274,7 +278,7 @@ public class SearchServiceImpl implements SearchService{
     public List<Map<String, Object>> getSimilarLeafKinds(String keyword) throws SearchException {
         Map<String, Object> map = new HashedMap();
         map.put("keyword", keyword);
-        String str = restTemplate.getForObject(SearchUrl.SIMILAR_LEAF_KIND_URL, String.class, map);
+        String str = restTemplate.getForObject(sysConf.getSearchUrl() + SearchUrl.SIMILAR_LEAF_KIND_URL, String.class, map);
         if(StringUtils.isEmpty(str)) {
             return null;
         }else {
@@ -293,7 +297,7 @@ public class SearchServiceImpl implements SearchService{
         Map<String, Object> map = new HashedMap();
         map.put("kindName", kindName);
         map.put("level", level);
-        String str = restTemplate.getForObject(SearchUrl.SIMILAR__KIND_LEVEL_URL, String.class, map);
+        String str = restTemplate.getForObject(sysConf.getSearchUrl() + SearchUrl.SIMILAR__KIND_LEVEL_URL, String.class, map);
         if(StringUtils.isEmpty(str)) {
             return null;
         }else {
@@ -314,7 +318,7 @@ public class SearchServiceImpl implements SearchService{
         map.put("propertyId", propertyId);
         map.put("keyword", keyword);
         map.put("topNum", topNum);
-        String str = restTemplate.getForObject(SearchUrl.PROPERTYVALUES_URL, String.class, map);
+        String str = restTemplate.getForObject(sysConf.getSearchUrl() + SearchUrl.PROPERTYVALUES_URL, String.class, map);
         if(StringUtils.isEmpty(str)) {
             return null;
         }else {
@@ -333,7 +337,7 @@ public class SearchServiceImpl implements SearchService{
         Map<String, Object> map = new HashedMap();
         map.put("keyword", keyword);
         map.put("params", FlexJsonUtils.toJsonDeep(var2));
-        String str = restTemplate.getForObject(SearchUrl.GOODIS_URL, String.class, map);
+        String str = restTemplate.getForObject(sysConf.getSearchUrl() + SearchUrl.GOODIS_URL, String.class, map);
         if(StringUtils.isEmpty(str)) {
             return null;
         }else {
@@ -353,7 +357,7 @@ public class SearchServiceImpl implements SearchService{
         map.put("keyword", keyword);
         map.put("collectedField", collectField);
         map.put("filters", FastjsonUtils.toJson(filters));
-        String str = restTemplate.getForObject(SearchUrl.GOODS_COLLECT_URL, String.class, map);
+        String str = restTemplate.getForObject(sysConf.getSearchUrl() + SearchUrl.GOODS_COLLECT_URL, String.class, map);
         if(StringUtils.isEmpty(str)) {
             return null;
         }else {

+ 36 - 0
src/main/java/com/uas/platform/b2c/core/config/MicroServicesConf.java

@@ -22,6 +22,18 @@ public class MicroServicesConf {
 	@Value("#{sys.newsMicroServiceIp ?: 'news.usoftchina.com'}")
 	private String newsMicroServiceIp;
 
+	/**
+	 * floor
+	 */
+	@Value("#{sys.floorMicroServiceIp ?: '10.10.0.30'}")
+	private String floorMicroServiceIp;
+
+	/**
+	 * 轮播
+	 */
+	@Value("#{sys.carouselMicroServiceIp ?: '10.10.0.188'}")
+	private String carouselMicroServiceIp;
+
 	public String getMicroServiceIp() {
 		return microServiceIp;
 	}
@@ -38,6 +50,22 @@ public class MicroServicesConf {
 		this.newsMicroServiceIp = newsMicroServiceIp;
 	}
 
+	public String getFloorMicroServiceIp() {
+		return floorMicroServiceIp;
+	}
+
+	public void setFloorMicroServiceIp(String floorMicroServiceIp) {
+		this.floorMicroServiceIp = floorMicroServiceIp;
+	}
+
+	public String getCarouselMicroServiceIp() {
+		return carouselMicroServiceIp;
+	}
+
+	public void setCarouselMicroServiceIp(String carouselMicroServiceIp) {
+		this.carouselMicroServiceIp = carouselMicroServiceIp;
+	}
+
 	public String getRequestUrl(int port, String requestUrl) {
 		return String.format("http://%s:%d%s", this.microServiceIp, port, requestUrl);
 	}
@@ -46,6 +74,14 @@ public class MicroServicesConf {
 		return String.format("http://%s%s", this.newsMicroServiceIp, requestUrl);
 	}
 
+	public String getRequestUrlForFloor(int port, String requestUrl) {
+		return String.format("http://%s:%d%s", this.floorMicroServiceIp,port, requestUrl);
+	}
+
+	public String getRequestUrlForCarousel(int port, String requestUrl) {
+		return String.format("http://%s:%d%s", this.carouselMicroServiceIp,port, requestUrl);
+	}
+
 	public String getRequestUrl(int port, String requestUrl, PageParams pageable) {
 		return String.format("http://%s:%d%s%s", this.microServiceIp, port, requestUrl, "&count=" + pageable.getCount() + "&page=" + pageable.getPage() + "&filter=" + pageable.getFilter());
 	}

+ 30 - 0
src/main/java/com/uas/platform/b2c/core/config/SysConf.java

@@ -130,6 +130,18 @@ public class SysConf {
 	@Value("#{sys.reportUploadUrl}")
 	private String reportUploadUrl;
 
+	/**
+	 * 文件上传的地址
+	 */
+	@Value("#{sys.uploadFileUrl}")
+	private String uploadFileUrl;
+
+	/**
+	 * 搜索的地址
+	 */
+	@Value("#{sys.searchUrl}")
+	private String searchUrl;
+
 	public Boolean getRebuildIndexesOnRefresh() {
 		return rebuildIndexesOnRefresh;
 	}
@@ -275,4 +287,22 @@ public class SysConf {
 		this.adminName = adminName;
 		return this;
 	}
+
+	public String getUploadFileUrl() {
+		return uploadFileUrl;
+	}
+
+	public SysConf setUploadFileUrl(String uploadFileUrl) {
+		this.uploadFileUrl = uploadFileUrl;
+		return this;
+	}
+
+	public String getSearchUrl() {
+		return searchUrl;
+	}
+
+	public SysConf setSearchUrl(String searchUrl) {
+		this.searchUrl = searchUrl;
+		return this;
+	}
 }

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

@@ -6,6 +6,7 @@ import com.uas.platform.b2c.prod.commodity.model.Product;
 import com.uas.platform.b2c.prod.commodity.service.ProductService;
 import com.uas.platform.b2c.core.constant.SplitChar;
 import com.uas.platform.b2c.core.support.view.JxlsExcelView;
+import com.uas.platform.b2c.prod.commodity.type.ProductConstant;
 import com.uas.platform.b2c.trade.support.ResultMap;
 import com.uas.platform.core.model.PageInfo;
 import com.uas.platform.core.model.PageParams;
@@ -195,4 +196,20 @@ public class ProductController {
 	private ResultMap updateMatch(@RequestBody String json) {
 		return productService.updateMatch(json);
 	}
+
+	/**
+	 * 批量删除所有的非标的产品
+	 */
+	@RequestMapping(value = "/unstandard", method = RequestMethod.DELETE)
+	private ResultMap deleteUnstandardByBatch() {
+		 return productService.deleteBatch(ProductConstant.NSTANDARD);
+	}
+
+	/**
+	 * 批量删除所有的标准的产品
+	 */
+	@RequestMapping(value = "/standard", method = RequestMethod.DELETE)
+	private ResultMap deleteStandardByBatch() {
+		return productService.deleteBatch(ProductConstant.STANDARD);
+	}
 }

+ 10 - 0
src/main/java/com/uas/platform/b2c/prod/commodity/dao/ProductDao.java

@@ -70,4 +70,14 @@ public interface ProductDao extends JpaSpecificationExecutor<Product>, JpaReposi
      */
     @Query(value = "select p from Product p where p.pcmpcode=:pcmpcode and p.pbranden=:pbranden and p.enUU=:enUU and p.standard=:standard")
     List<Product> findProductByPcmpcodeAndPbrandenAndEnUUAndStandard(@Param("pcmpcode") String pcmpcode, @Param("pbranden") String pbranden, @Param("enUU") Long enUU, @Param("standard") Integer standard);
+
+    /**
+     * 获取该企业的产品信息
+     * @param enuu 企业的uu号
+     * @param standard 是否是标准的信息
+     * @return 返回所属该公司的产品信息
+     */
+    @Query(value = "select p from Product p where p.enUU = :enuu and p.standard = :standard")
+    List<Product> findProductByEnuuAndStandard(@Param("enuu") Long enuu, @Param("standard") Integer standard);
+
 }

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

@@ -41,6 +41,13 @@ public interface ProductService {
      */
     void deleteBatch(List<Long> ids);
 
+    /**
+     * 批量删除产品
+     *
+     * @param type 批量删除的类型
+     */
+    ResultMap deleteBatch(String type);
+
     /**
      * 单个匹配
      *

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

@@ -11,6 +11,7 @@ import com.uas.platform.b2c.prod.commodity.dao.*;
 import com.uas.platform.b2c.prod.commodity.model.*;
 import com.uas.platform.b2c.prod.commodity.service.GoodsHistoryService;
 import com.uas.platform.b2c.prod.commodity.service.ProductService;
+import com.uas.platform.b2c.prod.commodity.type.ProductConstant;
 import com.uas.platform.b2c.prod.product.brand.dao.BrandDao;
 import com.uas.platform.b2c.prod.product.brand.modal.Brand;
 import com.uas.platform.b2c.prod.product.component.dao.ComponentDao;
@@ -206,6 +207,50 @@ public class ProductServiceImpl implements ProductService {
         }
     }
 
+    /**
+     * 批量删除产品
+     *
+     * @param type 批量删除的类型
+     */
+    @Override
+    public ResultMap deleteBatch(String type) {
+        Integer standard = null;
+        Integer fail = 0;
+        Integer success = 0;
+        Long uu = SystemSession.getUser().getEnterprise().getUu();
+        if(ProductConstant.STANDARD.equals(type)) {
+            standard = IntegerConstant.YES_SHORT;
+        }else {
+            standard = IntegerConstant.NO_SHORT;
+        }
+        List<Product> products = productDao.findProductByEnuuAndStandard(uu, standard);
+        for (Product product : products) {
+            try {
+                productDao.delete(product);
+                success++;
+            } catch (Exception e) {
+                fail++;
+            }
+        }
+
+        Integer status = CodeType.OK.code();
+        String message = "";
+        if(success != 0) {
+            message += "成功删除" + success + "条";
+        }
+        if(fail != 0) {
+            if(success != 0) {
+                message += ",";
+            }
+            message += "删除失败" + fail + "条,原因:该产品可能已经被其他单据引用,无法删除";
+        }
+        //如果是全部都不能删除,才能设置失败的状态码
+        if((products.size() != 0) && (products.size() ==  fail.intValue())) {
+            status = CodeType.ERROR_STATE.code();
+        }
+        return new ResultMap(status, message);
+    }
+
     @Override
     public Product match(Long id) {
         Product product = productDao.findOne(id);

+ 19 - 0
src/main/java/com/uas/platform/b2c/prod/commodity/type/ProductConstant.java

@@ -0,0 +1,19 @@
+package com.uas.platform.b2c.prod.commodity.type;
+
+/**
+ * 产品库的常量
+ *
+ * @author yuj 2017-10-27 19:22
+ */
+public class ProductConstant {
+
+    /**
+     * 标准的产品信息
+     */
+    public final static String STANDARD = "standard";
+
+    /**
+     * 非标的标志
+     */
+    public final static String NSTANDARD = "nStandard";
+}

+ 18 - 6
src/main/java/com/uas/platform/b2c/prod/store/controller/StoreInController.java

@@ -1,7 +1,9 @@
 package com.uas.platform.b2c.prod.store.controller;
 
+import com.alibaba.fastjson.JSONObject;
 import com.uas.platform.b2c.core.config.SysConf;
 import com.uas.platform.b2c.core.support.SystemSession;
+import com.uas.platform.b2c.core.utils.FastjsonUtils;
 import com.uas.platform.b2c.prod.store.facade.StoreInFacade;
 import com.uas.platform.b2c.prod.store.model.StoreIn;
 import com.uas.platform.b2c.prod.store.model.StoreStatus;
@@ -17,12 +19,10 @@ import org.springframework.data.domain.Page;
 import org.springframework.data.domain.Pageable;
 import org.springframework.data.domain.Sort;
 import org.springframework.data.web.PageableDefault;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestBody;
-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 org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+import java.util.Map;
 
 /**
  * 受限店铺操作接口类
@@ -156,4 +156,16 @@ public class StoreInController {
 		PageInfo pageInfo = new PageInfo(params);
 		return	storeService.pageStoreInfoWhenAdminQuery(pageInfo, type, status, keyword);
 	}
+
+
+	/**
+	 * 获取店铺的联系信息(电话,邮箱,地址信息)
+	 * @param storeids 店铺的数组
+	 * @return
+	 */
+	@RequestMapping(value = "/storeids", method = RequestMethod.GET)
+	public Map<String, JSONObject> getEnterpriseInfo(String storeids) {
+		List<String> storeidArray = FastjsonUtils.fromJsonArray(storeids, String.class);
+		return storeService.getContactInfo(storeidArray);
+	}
 }

+ 8 - 0
src/main/java/com/uas/platform/b2c/prod/store/dao/StoreInDao.java

@@ -34,6 +34,14 @@ public interface StoreInDao extends JpaSpecificationExecutor<StoreIn>, JpaReposi
 	 */
 	StoreIn findByUuid(String uuid);
 
+	/**
+	 * 获取店铺的信息
+	 * @param storeids 店铺的uuids
+	 * @return 店铺的信息
+	 */
+	@Query(value = "select s from StoreIn s where s.uuid in (:storeids)")
+	List<StoreIn> findByUuids(@Param("storeids") List<String> storeids);
+
 	/**
 	 * 根据店铺名称获取店铺信息
 	 *

+ 10 - 0
src/main/java/com/uas/platform/b2c/prod/store/service/StoreInService.java

@@ -1,5 +1,6 @@
 package com.uas.platform.b2c.prod.store.service;
 
+import com.alibaba.fastjson.JSONObject;
 import com.uas.platform.b2c.advertise.ad.model.StoreAdsType;
 import com.uas.platform.b2c.prod.store.model.StoreApply;
 import com.uas.platform.b2c.prod.store.model.StoreIn;
@@ -11,6 +12,7 @@ import org.springframework.data.domain.Page;
 import org.springframework.data.domain.Pageable;
 
 import java.util.List;
+import java.util.Map;
 
 public interface StoreInService {
 
@@ -163,4 +165,12 @@ public interface StoreInService {
 
 	@Deprecated
     void syncStoreEnterpriseInfo();
+
+
+	/**
+	 * 获取店铺的联系信息
+	 * @param storeids 店铺信息
+	 * @return
+	 */
+	Map<String, JSONObject> getContactInfo(List<String> storeids);
 }

+ 38 - 1
src/main/java/com/uas/platform/b2c/prod/store/service/impl/StoreInServiceImpl.java

@@ -1,10 +1,12 @@
 package com.uas.platform.b2c.prod.store.service.impl;
 
+import com.alibaba.fastjson.JSONObject;
 import com.uas.platform.b2c.advertise.ad.model.StoreAds;
 import com.uas.platform.b2c.advertise.ad.model.StoreAdsType;
 import com.uas.platform.b2c.advertise.ad.service.StoreAdsService;
 import com.uas.platform.b2c.common.account.dao.EnterpriseDao;
 import com.uas.platform.b2c.common.account.model.Enterprise;
+import com.uas.platform.b2c.common.account.service.EnterpriseService;
 import com.uas.platform.b2c.core.config.SysConf;
 import com.uas.platform.b2c.core.support.SystemSession;
 import com.uas.platform.b2c.core.utils.JacksonUtils;
@@ -72,8 +74,10 @@ public class StoreInServiceImpl implements StoreInService {
 
 	private final SysConf sysConf;
 
+	private final EnterpriseService enterpriseService;
+
 	@Autowired
-	public StoreInServiceImpl(StoreInDao storeDao, QualificationDao qualificationDao, GoodsDao goodsDao, ComponentDao componentDao, PurchaseDao purchaseDao, StoreBrandInfoDao brandInfoDao, StoreAdsService adsService, SysConf sysConf) {
+	public StoreInServiceImpl(StoreInDao storeDao, QualificationDao qualificationDao, GoodsDao goodsDao, ComponentDao componentDao, PurchaseDao purchaseDao, StoreBrandInfoDao brandInfoDao, StoreAdsService adsService, SysConf sysConf, EnterpriseService enterpriseService) {
 		this.storeDao = storeDao;
 		this.qualificationDao = qualificationDao;
 		this.goodsDao = goodsDao;
@@ -82,6 +86,7 @@ public class StoreInServiceImpl implements StoreInService {
 		this.brandInfoDao = brandInfoDao;
 		this.adsService = adsService;
 		this.sysConf = sysConf;
+		this.enterpriseService = enterpriseService;
 	}
 
 	@Override
@@ -525,4 +530,36 @@ public class StoreInServiceImpl implements StoreInService {
 		List<String> typeList = Arrays.asList(typeArray);
 		return storeDao.findFiveStoresByType(num, typeList);
 	}
+
+	/**
+	 * 获取店铺的联系信息
+	 *
+	 * @param storeids 店铺信息
+	 * @return
+	 */
+	@Override
+	public Map<String, JSONObject> getContactInfo(List<String> storeids) {
+		Map<String ,JSONObject> map = new HashMap<>();
+		List<StoreIn> storeIns = storeDao.findByUuids(storeids);
+		List<Long> uus = new ArrayList<>();
+		for (StoreIn storeIn : storeIns) {
+			uus.add(storeIn.getEnUU());
+		}
+		List<Enterprise> enterpriseInfos = enterpriseService.getEnterpriseInfos(uus);
+		for (StoreIn storeIn : storeIns) {
+			for (Enterprise enterpriseInfo : enterpriseInfos) {
+				if(storeIn.getEnUU().longValue() == enterpriseInfo.getUu().longValue()) {
+					JSONObject object = new JSONObject();
+					object.put("sellername", enterpriseInfo.getEnName());
+					object.put("sellPhone", enterpriseInfo.getEnTel());
+					object.put("sellEmail", enterpriseInfo.getEnEmail());
+					object.put("sellCompanyAddress", enterpriseInfo.getEnAddress());
+					object.put("sellCompanyArea", enterpriseInfo.getEnArea());
+					map.put(storeIn.getStoreName(), object);
+				}
+			}
+
+		}
+		return map;
+	}
 }

+ 6 - 0
src/main/resources/dev/sys.properties

@@ -25,8 +25,14 @@ reportUploadUrl=http://print.ubtob.com/report/fileUpload?userName=B2C
 microServiceIp=10.10.101.23
 newsMicroServiceIp=news.usoftchina.com
 newsRedisRefresh=3600
+floorMicroServiceIp=10.10.101.23
+carouselMicroServiceIp=10.10.101.23
 endpointUri=10.10.101.23
 recommendPort=20102
+# upload file
+uploadFileUrl = http://10.10.100.200:9999
+# search file
+searchUrl = http://10.10.100.191:8092
 
 # Kafka
 kafka-bootstrap-servers=10.10.100.11:9292,10.10.100.12:9292,10.10.100.13:9292,10.10.100.14:9292,10.10.100.15:9292,10.10.100.16:9292

+ 1 - 1
src/main/resources/log4j.properties

@@ -9,7 +9,7 @@ log4j.appender.stdout.layout.ConversionPattern=%d %p [%c]:%m%n
 log4j.appender.logfile=org.apache.log4j.RollingFileAppender
 log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
 #log4j.appender.logfile.File=../log4j.log
-log4j.appender.logfile.File=$CATALINA_BASE/logs/b2c_log4j.log
+#log4j.appender.logfile.File=$CATALINA_BASE/logs/b2c_log4j.log
 # Keep three backup files.
 log4j.appender.logfile.MaxBackupIndex=3
 log4j.appender.logfile.MaxFileSize=5120KB

+ 1 - 1
src/main/resources/prod/jdbc.properties

@@ -3,7 +3,7 @@
 #jdbc.username=platform$b2b
 #jdbc.password=select*fromuu
 jdbc.driverClassName=com.mysql.jdbc.Driver
-jdbc.url=jdbc:mysql://10.10.0.208:3306/mall_prod?characterEncoding=UTF-8
+jdbc.url=jdbc:mysql://10.10.0.208:8066/mall_prod?characterEncoding=UTF-8
 jdbc.username=sa
 jdbc.password=Select123!#%*(
 jdbc.initialSize=1

+ 6 - 1
src/main/resources/prod/sys.properties

@@ -26,8 +26,13 @@ reportUploadUrl=http://print.ubtob.com/report/fileUpload?userName=B2C
 microServiceIp=10.10.100.23
 newsMicroServiceIp=news.usoftchina.com
 newsRedisRefresh=3600
+floorMicroServiceIp=10.10.0.30
+carouselMicroServiceIp=10.10.0.188
 endpointUri=10.10.100.23
 recommendPort=20100
-
+# upload file
+uploadFileUrl = http://10.10.0.254:8080
+# search file
+searchUrl = http://10.10.0.76:8081
 # Kafka
 kafka-bootstrap-servers=10.10.100.11:9292,10.10.100.12:9292,10.10.100.13:9292,10.10.100.14:9292,10.10.100.15:9292,10.10.100.16:9292

+ 6 - 0
src/main/resources/test/sys.properties

@@ -25,8 +25,14 @@ reportUploadUrl=http://print.ubtob.com/report/fileUpload?userName=B2C
 microServiceIp=10.10.101.23
 newsMicroServiceIp=news.usoftchina.com
 newsRedisRefresh=3600
+floorMicroServiceIp=10.10.101.23
+carouselMicroServiceIp=10.10.101.23
 endpointUri=10.10.101.23
 recommendPort=20102
+# upload file
+uploadFileUrl = http://10.10.100.200:9999
+# search file
+searchUrl = http://10.10.100.191:8092
 
 # Kafka
 kafka-bootstrap-servers=10.10.100.11:9292,10.10.100.12:9292,10.10.100.13:9292,10.10.100.14:9292,10.10.100.15:9292,10.10.100.16:9292

+ 10 - 0
src/main/webapp/resources/js/common/query/material.js

@@ -14,6 +14,16 @@ define([ 'ngResource' ], function() {
                 url: 'trade/products/:ids',
                 method: 'DELETE'
             },
+            // 删除所有非标的信息
+            deleteUnstandardAll: {
+                url: 'trade/products/unstandard',
+                method: 'DELETE'
+            },
+            // 删除所有非标的信息
+            deleteStandardAll: {
+                url: 'trade/products/standard',
+                method: 'DELETE'
+            },
             // 单个匹配
             match: {
                 url: 'trade/products/match/:id',

+ 7 - 0
src/main/webapp/resources/js/common/query/storeInfo.js

@@ -186,6 +186,13 @@ define([ 'ngResource' ], function() {
 				params: {
 					op: 'admin_page_query'
 				}
+			},
+			/**
+			 * 批量获取店铺的信息
+			 */
+			getContactInfo: {
+				url: 'store-service/storeids',
+				method: 'GET',
 			}
         });
     }]).factory('ConsignmentAgreementRecord', ['$resource', 'BaseService', function ($resource, BaseService) {

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

@@ -526,6 +526,7 @@ define(["app/app", 'jquery-summernote'], function(app) {
 			}
 		};
 
+
 		/**
 		 * 控制联系卖家的模态框
 		 * @param value

+ 49 - 7
src/main/webapp/resources/js/usercenter/controllers/forstore/order_pay_ctrl.js

@@ -3,7 +3,7 @@
  *  订单付款的界面
  */
 define(['app/app'], function(app) {
-	app.register.controller('orderPayCtrl', ['$scope', '$rootScope', '$stateParams', '$modal', '$state', 'Bill', 'toaster', 'Order', '$filter', 'ShippingAddress', 'Ysepay', '$q', 'NumberService', 'Cart', '$timeout', 'DistributionRule', 'TakeSelf', function($scope, $rootScope, $stateParams, $modal, $state, Bill, toaster, Order, $filter, ShippingAddress, Ysepay, $q, NumberService, Cart, $timeout, DistributionRule, TakeSelf) {
+	app.register.controller('orderPayCtrl', ['$scope', '$rootScope', '$stateParams', '$modal', '$state', 'Bill', 'toaster', 'Order', '$filter', 'ShippingAddress', 'Ysepay', '$q', 'NumberService', 'Cart', '$timeout', 'DistributionRule', 'TakeSelf', 'StoreInfo', function($scope, $rootScope, $stateParams, $modal, $state, Bill, toaster, Order, $filter, ShippingAddress, Ysepay, $q, NumberService, Cart, $timeout, DistributionRule, TakeSelf, StoreInfo) {
 
 		$rootScope.active = 'buyer_cart';
 
@@ -20,6 +20,11 @@ define(['app/app'], function(app) {
 
 		$scope.bills = [];
 
+		//店铺的uuid
+		$scope.storeUuids = [];
+
+		$scope.storeContactInfos = {};
+
 		//获取个人的发票信息
 		var getBillInfo = function() {
 			Bill.getListPersonal(null, function(data) {
@@ -108,9 +113,15 @@ define(['app/app'], function(app) {
 								$scope.takeSelfList[detail.storeid] = null;
 								$scope.fareList[detail.storeid] = 0;
 								$scope.$$orderDetailsMap[detail.storeName].push(detail);
+								$scope.storeUuids.push(detail.storeid);
 							}
 							$scope.disabledAddAndSub(detail);
 						});
+						StoreInfo.getContactInfo({storeids : angular.toJson($scope.storeUuids)}, function (data) {
+							$scope.storeContactInfos = data;
+						}, function (response) {
+							toaster.pop('error', '获取店铺的联系信息失败');
+						});
 						if($scope.order.status == 501) { //如果不是待确认状态,则不需要计算
 							//计算总价格
 							$scope.calculateTotal();
@@ -168,14 +179,45 @@ define(['app/app'], function(app) {
 		getOrderData();
 		// 联系卖家弹框
 		$scope.contactBNox = false;
-		$scope.contactSeller = function (details) {
-			details.contactSeller = !details.contactSeller;
-			angular.forEach($scope.order.orderDetails, function (order) {
-				if(order.id != details.id) {
-					order.contactSeller = false;
-				}
+		$scope.contactSeller = function (key) {
+			$scope.storeContactInfos[key].contactSeller = !$scope.storeContactInfos[key].contactSeller;
+		};
+
+		/**
+		 * 监听点击的位置,隐藏相应的状态框
+		 * @param event
+		 */
+		document.onclick = function (event) {
+			var element = event.srcElement;
+			if(!element) {
+				return ;
+			}
+			var elementName =  element.getAttribute("name");
+			$scope.$apply(function () {
+				angular.forEach($scope.storeContactInfos, function (store, key) {
+					if(typeof store == 'object') {
+						var isThisTag = false;
+						if(elementName && key == elementName) {
+							isThisTag = true;
+						}
+						var parentEle = element.parentElement;
+						if(!isThisTag) {
+							while (parentEle && parentEle.tagName && parentEle.tagName != 'BODY') {
+								var parentElementName =  parentEle.getAttribute("name");
+								if(parentElementName && key == parentElementName) {
+									isThisTag = true;
+								}
+								parentEle = parentEle.parentElement;
+							}
+						}
+						if(!isThisTag) {
+							store.contactSeller = false;
+						}
+					}
+				});
 			});
 		};
+
 		$scope.closeBox = function () {
 			$scope.contactBNox = false;
 		};

+ 50 - 13
src/main/webapp/resources/js/vendor/controllers/forstore/vendor_materialCtrl.js

@@ -148,27 +148,64 @@ define([ 'app/app' ], function(app) {
 		$scope.chooseOne = function (material) {
 			if (typeof material.isChoosed == 'undefined' || !material.isChoosed) {
 				material.isChoosed = true;
-				$scope.choosedIds.push(material.id);
 			} else {
 				material.isChoosed = false;
-				$scope.choosedIds.splice($scope.choosedIds.indexOf(material.id),1);
 			}
 			checkChoosedAll();
 		};
 
+		//获取选中之后的信息
+		$scope.getChoosedInfo = function () {
+			angular.forEach($scope.currenctMaterial, function (material) {
+				if (material.isChoosed) {
+					$scope.choosedIds.push(material.id);
+				}
+			});
+		};
+
 		// 确认删除
 		$scope.confirmDelete = function (ids) {
-			var ids = $scope.choosedIds.join(',');
-			Material.deleteBatch({ids : ids}, function (data) {
-				toaster.pop('success', '删除成功');
-				$scope.choosedIds = [];
-				$scope.deleteDiv = false;
-				loadDataReload();
-			}, function (response) {
-				toaster.pop('error', response.data);
-				$scope.choosedIds = [];
-				$scope.deleteDiv = false;
-			});
+			if($scope.isChoosedAll) {
+				if($scope.standard_tab == 'standard') {
+					Material.deleteStandardAll(null, null, function (data) {
+						$scope.deleteDiv = false;
+						loadDataReload();
+						if(data.code != 1) {
+							toaster.pop('error', data.message);
+						}else {
+							toaster.pop('success', data.message);
+						}
+					}, function (response) {
+						toaster.pop('error', '批量删除信息失败');
+					});
+				}else {
+					Material.deleteUnstandardAll(null, null, function (data) {
+						$scope.deleteDiv = false;
+						loadDataReload();
+						if(data.code != 1) {
+							toaster.pop('error', data.message);
+						}else {
+							toaster.pop('success', data.message);
+						}
+					}, function (response) {
+						toaster.pop('error', '批量删除信息失败');
+					});
+				}
+			}else {
+				$scope.getChoosedInfo();
+				var ids = $scope.choosedIds.join(',');
+				Material.deleteBatch({ids : ids}, function (data) {
+					toaster.pop('success', '删除成功');
+					$scope.choosedIds = [];
+					$scope.deleteDiv = false;
+					loadDataReload();
+				}, function (response) {
+					toaster.pop('error', response.data);
+					$scope.choosedIds = [];
+					$scope.deleteDiv = false;
+				});
+			}
+
 		};
 
 		// 取消删除

+ 17 - 14
src/main/webapp/resources/view/usercenter/forstore/order_pay.html

@@ -545,6 +545,9 @@
 		line-height: 26px;
 		color: #fff;
 	}
+	.contact-box .title:hover {
+		cursor: pointer;
+	}
 	.contact-box .title i{
 		float: right;
 		margin: 7px 10px 0 0;
@@ -669,21 +672,21 @@
 							店铺:<a ng-href="store/{{details[0].storeid}}" ng-bind="::key" class="hover-color" target="_blank"></a>
 							<img src="static/img/common/songguo.png" style="margin-left: 110px; margin-right:0; ">
 							<!--<a href="javascript:void(0)" class="contact_btn" title="联系卖家" ng-controller="ChatContactCtrl as chat" ng-click="chat.contactWithOther(order.buyerTel, order.buyerenuu, chat.UserType.STORE)">联系卖家</a>-->
-							<a class="contact_btn" title="联系卖家">联系卖家</a>
+							<a class="contact_btn" title="联系卖家" name="{{key}}" ng-click="contactSeller(key)">联系卖家</a>
 							<!--<a class="contact_btn" title="联系卖家" ng-click="contactSeller(details[0])">联系卖家</a>-->
-							<!--<div class="contact-box" ng-if="details[0].contactSeller">-->
-								<!--<div class="title"><i class="fa fa-close fa-lg" ng-click="details[0].contactSeller = false"></i></div>-->
-								<!--<div class="content">-->
-									<!--<div class="company-title" ng-bind="order.sellername">深圳市优软科技</div>-->
-									<!--<div class="list">-->
-										<!--<em>手机:<em ng-bind="order.sellPhone || '暂无联系电话'">45413413131313</em></em>-->
-										<!--<em style="margin-left: 60px;">邮箱:<em ng-bind="::order.sellEmail || '暂无电子邮箱'">45413413131313</em></em>-->
-									<!--</div>-->
-									<!--<div class="list">地址:-->
-										<!--<em ng-bind="order.sellCompanyAddress || order.sellCompanyArea || '暂无地址信息'">1212314531455</em>-->
-									<!--</div>-->
-								<!--</div>-->
-							<!--</div>-->
+							<div class="contact-box" ng-if="storeContactInfos[key].contactSeller" name="{{key}}">
+								<div class="title"><i class="fa fa-close fa-lg" ng-click="storeContactInfos[key].contactSeller = false"></i></div>
+								<div class="content" name="{{key}}">
+									<div class="company-title" ng-bind="storeContactInfos[key].sellername">深圳市优软科技</div>
+									<div class="list">
+										<em>手机:<em ng-bind="storeContactInfos[key].sellPhone || '暂无联系电话'">45413413131313</em></em>
+										<em style="margin-left: 60px;">邮箱:<em ng-bind="::storeContactInfos[key].sellEmail || '暂无电子邮箱'">45413413131313</em></em>
+									</div>
+									<div class="list">地址:
+										<em ng-bind="storeContactInfos[key].sellCompanyAddress || storeContactInfos[key].sellCompanyArea || '暂无地址信息'">1212314531455</em>
+									</div>
+								</div>
+							</div>
 						</span>
 						</dd>
 						<dd class="oder_l" ng-repeat="detail in details">

+ 2 - 2
src/main/webapp/resources/view/vendor/forstore/vendor_upload.html

@@ -327,8 +327,8 @@
                             </label>
                             <label class="sellType" ng-disabled="!batch.selfSellEabled">
                                 <input ng-click="sellType('self')" type="radio" name="487" id="sellbyself" ng-model="batch.sellType" ng-checked="batch.sellType == 'self'">
-                                <label for="sellbyself"></label>
-                                <span>店铺自营</span>
+                                <label for="sellbyself" ng-disabled="!batch.selfSellEabled"></label>
+                                <span ng-disabled="!batch.selfSellEabled">店铺自营</span>
                             </label>
                         </div>
                         <div>2、请上传已经编辑好的库存表格,选择好上传的文件之后,点击确认上传</div>