Explorar el Código

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

suntg hace 8 años
padre
commit
ccc1498e1a

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

@@ -72,7 +72,7 @@ public class SecurityController {
 		if (cross) {
 			request.getSession().setAttribute(SSOConfig.SSOReferer, returnUrl);
 			// 跨域情况,需要再次询问账户中心
-			returnUrl = "/logout/proxy";
+			returnUrl = request.getContextPath() + "/logout/proxy";
 		}
 		return new ModelMap("content", returnUrl);
 	}
@@ -167,7 +167,7 @@ public class SecurityController {
 	public ModelMap afterCrossLogin(HttpServletRequest request, HttpServletResponse response, String replyTxt) {
 		if (!StringUtils.isEmpty(replyTxt)) {
 			Object returnUrl = request.getSession().getAttribute(SSOConfig.SSOReferer);
-			returnUrl = returnUrl.toString().replaceAll("login/proxy","auth/login");
+//			returnUrl = returnUrl.toString().replaceAll("platform-b2c/","").replaceAll("login/proxy","SSRProxy/loginProxy");
 			SSOConfig config = SSOHelper.getSSOService().getConfig();
 			AuthToken token = SSOHelper.ok(request, response, replyTxt, config.getClientPublicKey(), config.getCenterPublicKey());
 			if (token != null) {
@@ -183,6 +183,7 @@ public class SecurityController {
 					SystemSession.setUser(user);
 					log(request, user);
 				}
+				returnUrl = returnUrl.toString().contains("10.10.0.10") ? "/" : returnUrl;
 				return new ModelMap("returnUrl", returnUrl);
 			}
 		}

+ 15 - 0
src/main/java/com/uas/platform/b2c/common/search/controller/SearcherController.java

@@ -1,6 +1,8 @@
 package com.uas.platform.b2c.common.search.controller;
 
 import com.uas.platform.b2c.common.account.model.User;
+import com.uas.platform.b2c.common.search.dao.SearchHistoryDao;
+import com.uas.platform.b2c.common.search.model.SearchHistory;
 import com.uas.platform.b2c.common.search.service.SearcherService;
 import com.uas.platform.b2c.core.support.SystemSession;
 import com.uas.platform.b2c.prod.commodity.service.GoodsService;
@@ -61,6 +63,9 @@ public class SearcherController {
 	@Autowired
 	private StockInOutHistService stockInOutHistService;
 
+	@Autowired
+	private SearchHistoryDao searchHistoryDao;
+
 	/**
 	 * 作搜索展示跳转
 	 * 
@@ -343,4 +348,14 @@ public class SearcherController {
 		return result;
 	}
 
+	@RequestMapping(value = "/searchHistory", method = RequestMethod.GET)
+	@ResponseBody
+	public List<SearchHistory> getSearchHistory(HttpServletRequest request){
+		SystemSession.setUser((User)request.getSession().getAttribute("user"));
+		if (null == SystemSession.getUser()){
+			return null;
+		}else{
+			return searchHistoryDao.findByUserUUAndUserEnuuOrderBySearchTimeDesc(SystemSession.getUser().getUserUU(),SystemSession.getUser().getEnterprise() != null ?SystemSession.getUser().getEnterprise().getUu():null);
+		}
+	}
 }

+ 19 - 0
src/main/java/com/uas/platform/b2c/common/search/dao/SearchHistoryDao.java

@@ -0,0 +1,19 @@
+package com.uas.platform.b2c.common.search.dao;
+
+import com.uas.platform.b2c.common.search.model.SearchHistory;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+@Repository
+public interface SearchHistoryDao extends JpaSpecificationExecutor<SearchHistory>,JpaRepository<SearchHistory,Long>{
+    /**
+     * 通过uuid和enuu查找记录
+     * @return
+     */
+    List<SearchHistory> findByUserUUAndUserEnuuOrderBySearchTimeDesc(Long userUU,Long userEnuu);
+
+    List<SearchHistory> findByKeywordAndUserUUAndUserEnuu(String keyword,Long userUU,Long userEnuu);
+}

+ 86 - 0
src/main/java/com/uas/platform/b2c/common/search/model/SearchHistory.java

@@ -0,0 +1,86 @@
+package com.uas.platform.b2c.common.search.model;
+
+
+import javax.persistence.*;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 搜索记录
+ */
+@Entity
+@Table(name = "sec$searchHis")
+public class SearchHistory implements Serializable{
+
+    /**
+     * ID
+     */
+    @Id
+    @GeneratedValue
+    @Column(name = "id")
+    private Long id;
+
+    /**
+     * 个人uu
+     */
+    @Column(name = "user_uu")
+    private Long userUU;
+
+    /**
+     * 企业uu
+     */
+    @Column(name = "user_enuu")
+    private Long userEnuu;
+
+    /**
+     * 关键词
+     */
+    @Column(name = "keyword")
+    private String keyword;
+
+    /**
+     * 搜索时间
+     */
+    @Column(name = "searchtime")
+    private Date searchTime;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Long getUserUU() {
+        return userUU;
+    }
+
+    public void setUserUU(Long userUU) {
+        this.userUU = userUU;
+    }
+
+    public Long getUserEnuu() {
+        return userEnuu;
+    }
+
+    public void setUserEnuu(Long userEnuu) {
+        this.userEnuu = userEnuu;
+    }
+
+    public String getKeyword() {
+        return keyword;
+    }
+
+    public void setKeyword(String keyword) {
+        this.keyword = keyword;
+    }
+
+    public Date getSearchTime() {
+        return searchTime;
+    }
+
+    public void setSearchTime(Date searchTime) {
+        this.searchTime = searchTime;
+    }
+}

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

@@ -206,7 +206,7 @@ public class SearchServiceImpl implements SearchService{
     public Map<String,Object> getSimilarKeywords(String keyword) throws SearchException {
         Map<String, Object> map = new HashedMap();
         map.put("keyword", keyword);
-        //String str = restTemplate.getForObject(sysConf.getSearchUrl() + SearchUrl.SIMILAR_KEYWORD_URL, String.class, map);
+        String strA = restTemplate.getForObject(sysConf.getSearchUrl() + SearchUrl.SIMILAR_KEYWORD_URL, String.class, map);
         String strC = restTemplate.getForObject(sysConf.getSearchUrl() + SearchUrl.SIMILAR_COMPONENT_URL, String.class, map);
         String strB = restTemplate.getForObject(sysConf.getSearchUrl() + SearchUrl.SIMILAR_BRAND_URL, String.class, map);
         String strK = restTemplate.getForObject(sysConf.getSearchUrl() + SearchUrl.SIMILAR_KIND_URL, String.class, map);
@@ -214,10 +214,12 @@ public class SearchServiceImpl implements SearchService{
             return null;
         }else {
             try {
+                List<String> reMapA = FastjsonUtils.fromJson(strC, List.class);
                 List<String> reMapC = FastjsonUtils.fromJson(strC, List.class);
                 List<String> reMapB = FastjsonUtils.fromJson(strB, List.class);
                 List<String> reMapK = FastjsonUtils.fromJson(strK, List.class);
                 map.clear();
+                map.put("all",reMapA);
                 map.put("kind",reMapK);
                 map.put("componet",reMapC);
                 map.put("brand",reMapB);

+ 1 - 1
src/main/java/com/uas/platform/b2c/common/search/service/SearcherService.java

@@ -58,7 +58,7 @@ public interface SearcherService {
 	 * @throws InterruptedException
 	 * @throws IOException
 	 */
-	public ModelMap searchComponentGoods(String keyword, PageParams page);
+	public ModelMap searchComponentGoods(String keyword, PageParams page , HttpServletRequest request);
     /**
      * 批次搜索数量统计
      *

+ 29 - 1
src/main/java/com/uas/platform/b2c/common/search/service/impl/SearcherServiceImpl.java

@@ -1,8 +1,12 @@
 package com.uas.platform.b2c.common.search.service.impl;
 
 import com.alibaba.fastjson.JSONObject;
+import com.uas.platform.b2c.common.account.model.User;
+import com.uas.platform.b2c.common.search.dao.SearchHistoryDao;
+import com.uas.platform.b2c.common.search.model.SearchHistory;
 import com.uas.platform.b2c.common.search.rpc.service.SearchService;
 import com.uas.platform.b2c.common.search.service.SearcherService;
+import com.uas.platform.b2c.core.support.SystemSession;
 import com.uas.platform.b2c.core.utils.FastjsonUtils;
 import com.uas.platform.b2c.prod.product.brand.dao.BrandDao;
 import com.uas.platform.b2c.prod.product.component.dao.ComponentGoodsDao;
@@ -53,6 +57,9 @@ public class SearcherServiceImpl implements SearcherService {
 	@Autowired
 	private BrandDao brandDao;
 
+	@Autowired
+	private SearchHistoryDao searchHistoryDao;
+
 	private Logger logger = LoggerFactory.getLogger(getClass());
 	private final DeviceResolver deviceResolver = new LiteDeviceResolver();
 
@@ -142,7 +149,28 @@ public class SearcherServiceImpl implements SearcherService {
 	 */
 	@SuppressWarnings("unchecked")
 	@Override
-	public ModelMap searchComponentGoods(String keyword, PageParams page) {
+	public ModelMap searchComponentGoods(String keyword, PageParams page , HttpServletRequest request) {
+		if (this.deviceResolver.resolveDevice(request).isMobile()) {
+			SystemSession.setUser((User)request.getSession().getAttribute("user"));
+			if (null != SystemSession.getUser() && null!= SystemSession.getUser().getUserUU()){
+				SearchHistory searchHistory = null;
+				List<SearchHistory> searchHistories = searchHistoryDao.findByKeywordAndUserUUAndUserEnuu(keyword,SystemSession.getUser().getUserUU(),SystemSession.getUser().getEnterprise() != null ?SystemSession.getUser().getEnterprise().getUu():null);
+				if (searchHistories.size()>0){
+					searchHistory = searchHistories.get(0);
+				}else {
+					searchHistory = new SearchHistory();
+				}
+				searchHistory.setKeyword(keyword);
+				searchHistory.setSearchTime(new Date(System.currentTimeMillis()));
+				searchHistory.setUserUU(SystemSession.getUser().getUserUU());
+				searchHistory.setUserEnuu(SystemSession.getUser().getEnterprise() != null ?SystemSession.getUser().getEnterprise().getUu():null);
+				searchHistoryDao.save(searchHistory);
+				searchHistories = searchHistoryDao.findByUserUUAndUserEnuuOrderBySearchTimeDesc(SystemSession.getUser().getUserUU(),SystemSession.getUser().getEnterprise() != null ?SystemSession.getUser().getEnterprise().getUu():null);
+				if (searchHistories.size()>10){
+					searchHistoryDao.delete(searchHistories.subList(10,searchHistories.size()));
+				}
+			}
+		}
 		ModelMap map = new ModelMap();
 		Map<String,Object> results = null;
 		//Map<String, Object> results = new HashMap<>();

+ 16 - 1
src/main/java/com/uas/platform/b2c/prod/commodity/service/impl/GoodsServiceImpl.java

@@ -57,6 +57,7 @@ import com.uas.platform.core.persistence.criteria.SimpleExpression;
 import com.uas.platform.core.util.StringUtil;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.collections.MapUtils;
+import org.apache.log4j.Logger;
 import org.apache.poi.ss.usermodel.Cell;
 import org.apache.poi.ss.usermodel.Row;
 import org.apache.poi.ss.usermodel.Sheet;
@@ -179,6 +180,8 @@ public class GoodsServiceImpl implements GoodsService {
 	@Autowired
 	private OrderDetailService detailService;
 
+	private final Logger logger = Logger.getLogger(getClass());
+
 	@Autowired
 	public GoodsServiceImpl(KindService kindService, StoreInDao storeInDao, StoreInService storeInService, ProductStandardPutOnInfoDao productStandardPutOnInfoDao, ProductDao productDao, BrowsingHistoryService browsingHistoryService, RecommendProductService recommendProductService) {
 		this.kindService = kindService;
@@ -1846,6 +1849,8 @@ public class GoodsServiceImpl implements GoodsService {
 
 	@Override
 	public ResultMap offShelfGoodsByProvider(String batchCodes) {
+		SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+		logger.info(String.format("%s 商城测试下架时间记录1", dateFormat.format(new Date())));
 		if (StringUtils.isEmpty(batchCodes)) {
 			return new ResultMap(CodeType.NO_INFO.code(), "待下架批次号字符串不能为空");
 		}
@@ -1857,9 +1862,11 @@ public class GoodsServiceImpl implements GoodsService {
 		List<String> batchCodeList = new ArrayList<>();
 
 		String storeUuid = "";
-
+		logger.info(String.format("%s 商城测试下架时间记录2", dateFormat.format(new Date())));
 		for (String batchCode : batchCodeArr) {
+			logger.info(String.format("%s 商城测试下架时间记录 调用下架方法开始", dateFormat.format(new Date())));
 			ResultMap resultMap = offShelfOneGoodsByProvider(batchCode);
+			logger.info(String.format("%s 商城测试下架时间记录  调用下架方法结束", dateFormat.format(new Date())));
 			if (resultMap.isSuccess()) {
 				Goods goods = (Goods) resultMap.getData();
 				uuids.add(goods.getUuid());
@@ -1869,13 +1876,17 @@ public class GoodsServiceImpl implements GoodsService {
 			}
 		}
 		for (String uuid : uuids) {
+			logger.info(String.format("%s 商城测试下架时间记录 更新器件库存信息 开始", dateFormat.format(new Date())));
 			updateComponentTradeInfos(uuid);
+			logger.info(String.format("%s 商城测试下架时间记录 更新器件库存信息 结束", dateFormat.format(new Date())));
 		}
 
 		if (!StringUtils.isEmpty(storeUuid)) {
+			logger.info(String.format("%s 商城测试下架时间记录 更新推荐库存信息开始", dateFormat.format(new Date())));
 			List<String> list = Arrays.asList(batchCodeArr);
 			Set<String> batchCodeSet = new HashSet<>(list);
 			recommendProductService.deleteProductsWhenSellerUpdateReserve(storeUuid, batchCodeSet);
+			logger.info(String.format("%s 商城测试下架时间记录 更新推荐库存信息结束", dateFormat.format(new Date())));
 		}
 
 		if (batchCodeList.size() == 0) {
@@ -1892,6 +1903,8 @@ public class GoodsServiceImpl implements GoodsService {
 	 */
 	@Transactional
 	public ResultMap offShelfOneGoodsByProvider(String batchCode) {
+		SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+		logger.info(String.format("%s 商城测试下架时间记录 进入下架方法", dateFormat.format(new Date())));
 		if (StringUtils.isEmpty(batchCode)) {
 			return new ResultMap(CodeType.NO_INFO.code(), "待下架批次号不能为空");
 		}
@@ -1910,8 +1923,10 @@ public class GoodsServiceImpl implements GoodsService {
 		}
 		goods.setStatus(Status.REMOVED.value());
 
+		logger.info(String.format("%s 商城测试下架时间记录 转历史库存 开始", dateFormat.format(new Date())));
 		GoodsHistory goodsHist = goodsHistoryService.converTGoodsHist(goods,
 				GoodsHistory.OperateType.Down.getPhrase());
+		logger.info(String.format("%s 商城测试下架时间记录 转历史库存 结束", dateFormat.format(new Date())));
 		goodsHist.setMessage(goodsHist.getMessage() + "该批次下架");
 		goodsHistoryService.save(goodsHist);
 

+ 2 - 2
src/main/java/com/uas/platform/b2c/prod/product/component/api/ComponentController.java

@@ -247,8 +247,8 @@ public class ComponentController {
 	 * 搜索关键字的型号,插入库存
 	 */
 	@RequestMapping(value = "/search/compGoods", method = RequestMethod.GET)
-	public ModelMap getCompGoodsBySearch(PageParams params, String keyword) {
-		return componentService.getCompGoodsBySearch(params, keyword);
+	public ModelMap getCompGoodsBySearch(PageParams params, String keyword, HttpServletRequest request) {
+		return componentService.getCompGoodsBySearch(params, keyword, request);
 	}
 
 	/**

+ 14 - 0
src/main/java/com/uas/platform/b2c/prod/product/component/modal/ComponentCrawl.java

@@ -59,6 +59,12 @@ public class ComponentCrawl implements Serializable {
 	@Column(name = "cc_uuid")
 	private String uuid;
 
+	/**
+	 * 器件描述
+	 */
+	@Column(name = "cc_description", length = 4000)
+	private String description;
+
 	/**
 	 * 正式入库后版本号
 	 */
@@ -182,6 +188,14 @@ public class ComponentCrawl implements Serializable {
 		this.uuid = uuid;
 	}
 
+	public String getDescription() {
+		return description;
+	}
+
+	public void setDescription(String description) {
+		this.description = description;
+	}
+
 	public Short getVersion() {
 		return version;
 	}

+ 2 - 1
src/main/java/com/uas/platform/b2c/prod/product/component/service/ComponentService.java

@@ -10,6 +10,7 @@ import com.uas.platform.core.model.PageParams;
 import org.springframework.data.domain.Page;
 import org.springframework.ui.ModelMap;
 
+import javax.servlet.http.HttpServletRequest;
 import java.util.List;
 import java.util.Map;
 
@@ -186,7 +187,7 @@ public interface ComponentService {
 	 * @param keyword 关键词
 	 * @return 器件信息
 	 */
-	public ModelMap getCompGoodsBySearch(PageParams params, String keyword);
+	public ModelMap getCompGoodsBySearch(PageParams params, String keyword, HttpServletRequest request);
 
 	/**
 	 * 批量修改器件类目

+ 3 - 2
src/main/java/com/uas/platform/b2c/prod/product/component/service/impl/ComponentServiceImpl.java

@@ -48,6 +48,7 @@ import javax.persistence.criteria.CriteriaBuilder;
 import javax.persistence.criteria.CriteriaQuery;
 import javax.persistence.criteria.Predicate;
 import javax.persistence.criteria.Root;
+import javax.servlet.http.HttpServletRequest;
 import java.util.*;
 
 @Service
@@ -447,14 +448,14 @@ public class ComponentServiceImpl implements ComponentService {
 	}
 
 	@Override
-	public ModelMap getCompGoodsBySearch(com.uas.platform.core.model.PageParams params, String keyword) {
+	public ModelMap getCompGoodsBySearch(com.uas.platform.core.model.PageParams params, String keyword , HttpServletRequest request) {
 		int page = params.getPage();
 		if (page > 100) {
 			page = 100;
 		}
 		params.setPage(page);
 
-		ModelMap map = searchServiceMap.searchComponentGoods(keyword, params);//.searchComponent(keyword, params);
+		ModelMap map = searchServiceMap.searchComponentGoods(keyword, params, request);//.searchComponent(keyword, params);
 		// 能让用户查看的只能是Constant.PAGEMAX * params.getCount(),防止爬虫
 		int total = ((Integer)map.get("total")).intValue();
 		int expose = total;

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

@@ -21,4 +21,5 @@ log4j.logger.com.uas = info, stdout, logfile
 #=========================================
 #=   spring framework log configuration  =
 #=========================================
-log4j.logger.org.springframework = error
+log4j.logger.org.springframework = error
+log4j.additivity.com.uas = false

+ 2 - 1
src/main/webapp/resources/js/common/services.js

@@ -203,7 +203,8 @@ define([ 'angular', 'common/utils', 'big'], function(angular, utils, Big) {
 				return logout;
 			},
             redirectSignin: function() {
-            	// 获取跳转登录的url
+				// window.location.href = '/SSRProxy/loginProxy';
+                // 获取跳转登录的url
             	$http.get(rootPath + '/login/page', {
             		params: {
             			returnUrl: window.location.href