Browse Source

Merge remote-tracking branch 'origin/release-201813-yc' into release-201813-yc

yangc 7 năm trước cách đây
mục cha
commit
42b67d4887

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

@@ -380,14 +380,36 @@ public class SecurityController {
 			// 企业判断
 			Enterprise enterprise = new Enterprise();
 			if (userAccount.getSpaceUU() != null) {
-				enterprise = enterpriseDao.findByUu(userAccount.getSpaceUU());
+				Enterprise oldEnterprise = enterpriseDao.findByUu(userAccount.getSpaceUU());
 				// 判断商城是否存在当前企业,若存在则设置当前企业即可,若不存在则需新建一个企业后进行设置
-				if (enterprise == null) {
+				if (oldEnterprise == null) {
 					// 从账户中心获取当前企业信息尽心保存
 					UserSpaceView userSpaceView = AccountUtils.findBySpaceUU(userAccount.getSpaceUU());
 					if (userSpaceView != null) {
-						enterprise = enterpriseService.update(userSpaceView);
+						if (!StringUtils.isEmpty(userSpaceView.getAccessSecret())) {
+							enterprise.setAccessSecret(userSpaceView.getAccessSecret());
+						}
+						enterprise.setEnAddress(userSpaceView.getRegAddress());
+						enterprise.setEnCorporation(userSpaceView.getCorporation());
+						enterprise.setEnBussinessCode(userSpaceView.getBusinessCode());
+						String enTel = enterprise.getEnTel();
+						if (enTel == null) {
+							enterprise.setEnTel(userSpaceView.getTelephone());
+							if (userSpaceView.getTelephone() == null) {
+								enterprise.setEnTel(userSpaceView.getAdmin().getMobile());
+							}
+						}
+						enterprise.setEnName(userSpaceView.getSpaceName());
+						enterprise.setEnLogoUrl(userSpaceView.getBusinessCodeImage());
+						enterprise.setUu(Long.valueOf(userSpaceView.getSpaceUU()));
+						if (userSpaceView.getAdminUU() != null) {
+							enterprise.setEnAdminuu(userSpaceView.getAdminUU());
+						}
+						enterprise.setEnValidCode(userSpaceView.getValidCode());
+						enterprise = enterpriseDao.save(enterprise);
 					}
+				} else {
+					enterprise = oldEnterprise;
 				}
 			}
 			// 没用用户

+ 9 - 0
src/main/java/com/uas/platform/b2c/prod/commodity/dao/GoodsDao.java

@@ -514,6 +514,15 @@ public interface GoodsDao extends JpaSpecificationExecutor<Goods>, JpaRepository
 	@Query(value = "select g from Goods g where g.productid =:productId order by g.id desc")
 	List<Goods> findByProductId(@Param("productId") Long id);
 
+    /**
+     * 根据productId 获取goods
+     *
+     * @param ids the id 来源id 的信息
+     * @return list
+     */
+    @Query(value = "select g from Goods g where g.productid in (:ids)")
+    List<Goods> findByProductIds(@Param("ids") List<Long> ids);
+
     /**
      * 根据productId 获取goods,按照时间降序排列
      *

+ 8 - 0
src/main/java/com/uas/platform/b2c/prod/commodity/dao/V_ProductPrivateDao.java

@@ -43,4 +43,12 @@ public interface V_ProductPrivateDao extends JpaRepository<V_ProductPrivate, Lon
             "pp.pr_enuu=:enuu and pp.pr_pcmpcode is not null and pp.pr_pbranden is not null and pp.pr_b2cenabled = :enabled", nativeQuery = true)
     Integer getCountByEnuuAndEnabled(@Param("enuu") Long enuu, @Param("enabled") Integer enabled);
 
+
+    /**
+     * 获取指定id列表并且规格信息不为空的产品
+     * @param idList
+     * @return
+     */
+    @Query(value = "select p from V_ProductPrivate p where id in :idList and p.spec is not null")
+    List<V_ProductPrivate> findProductInIdAndSpecIsNotNull(@Param("idList") List<Long> idList);
 }

+ 11 - 0
src/main/java/com/uas/platform/b2c/prod/commodity/service/GoodsService.java

@@ -45,6 +45,8 @@ public interface GoodsService {
      */
     Goods updateAvailableDays(Goods goods, GoodsHistory.OperateType operateType, Long... param);
 
+
+
     /**
      * 根据uuid查找货物信息
      *
@@ -736,4 +738,13 @@ public interface GoodsService {
      * @return
      */
     Page<Goods> findGoods(PageParams params, String branduuid, String kindid, String keyword);
+
+
+    /**
+     * 更新货物的有效期
+     *
+     * @param privateList the operate type 操作的记录
+     * @param goodses       the param
+     */
+    void updateSpecByProducts(List<V_ProductPrivate> privateList, List<Goods> goodses);
 }

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

@@ -141,9 +141,9 @@ public class GoodsHistoryServiceImpl implements GoodsHistoryService {
 			goodsHistory.setOperateUU(SystemSession.getUser().getUserUU());
 		}
 		goodsHistory.setOperateType(type);
-		if(GoodsHistory.OperateType.Update.getPhrase().equals(type)) {
-			goodsHistory.setMessage(compareGoodsHistory(goodsHistory));
-		}
+//		if(GoodsHistory.OperateType.Update.getPhrase().equals(type)) {
+//			goodsHistory.setMessage(compareGoodsHistory(goodsHistory));
+//		}
 		return goodsHistory;
 	}
 

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

@@ -35,8 +35,7 @@ import com.uas.platform.b2c.prod.commodity.dao.ProductDao;
 import com.uas.platform.b2c.prod.commodity.dao.ProductDetailDao;
 import com.uas.platform.b2c.prod.commodity.dao.ProductPrivateDao;
 import com.uas.platform.b2c.prod.commodity.dao.ProductStandardPutOnInfoDao;
-import com.uas.platform.b2c.prod.commodity.model.Goods;
-import com.uas.platform.b2c.prod.commodity.model.GoodsHistory;
+import com.uas.platform.b2c.prod.commodity.model.*;
 import com.uas.platform.b2c.prod.commodity.constant.UploadConstant;
 import com.uas.platform.b2c.prod.commodity.dao.GoodsDao;
 import com.uas.platform.b2c.prod.commodity.dao.GoodsHistoryDao;
@@ -47,17 +46,8 @@ import com.uas.platform.b2c.prod.commodity.dao.ProductDetailDao;
 import com.uas.platform.b2c.prod.commodity.dao.ProductPrivateDao;
 import com.uas.platform.b2c.prod.commodity.dao.ProductStandardPutOnInfoDao;
 import com.uas.platform.b2c.prod.commodity.model.Goods;
-import com.uas.platform.b2c.prod.commodity.model.GoodsFilter;
 import com.uas.platform.b2c.prod.commodity.model.GoodsHistory;
 import com.uas.platform.b2c.prod.commodity.model.GoodsHistory.OperateType;
-import com.uas.platform.b2c.prod.commodity.model.GoodsInfo;
-import com.uas.platform.b2c.prod.commodity.model.GoodsPriceInfo;
-import com.uas.platform.b2c.prod.commodity.model.GoodsQtyPrice;
-import com.uas.platform.b2c.prod.commodity.model.GoodsSimple;
-import com.uas.platform.b2c.prod.commodity.model.Product;
-import com.uas.platform.b2c.prod.commodity.model.ProductDetail;
-import com.uas.platform.b2c.prod.commodity.model.ProductPrivate;
-import com.uas.platform.b2c.prod.commodity.model.ProductStandardPutOnInfo;
 import com.uas.platform.b2c.prod.commodity.service.GoodsHistoryService;
 import com.uas.platform.b2c.prod.commodity.service.GoodsPriceInfoService;
 import com.uas.platform.b2c.prod.commodity.service.GoodsService;
@@ -65,11 +55,9 @@ import com.uas.platform.b2c.prod.commodity.service.ProductService;
 import com.uas.platform.b2c.prod.commodity.service.ProductStandardPutOnInfoService;
 import com.uas.platform.b2c.prod.commodity.service.ReleaseProductByBatchService;
 import com.uas.platform.b2c.prod.commodity.model.GoodsInfo;
-import com.uas.platform.b2c.prod.commodity.model.GoodsModifyInfo;
 import com.uas.platform.b2c.prod.commodity.model.GoodsPriceInfo;
 import com.uas.platform.b2c.prod.commodity.model.GoodsQtyPrice;
 import com.uas.platform.b2c.prod.commodity.model.GoodsSimple;
-import com.uas.platform.b2c.prod.commodity.model.ModifyInfo;
 import com.uas.platform.b2c.prod.commodity.model.Product;
 import com.uas.platform.b2c.prod.commodity.model.ProductDetail;
 import com.uas.platform.b2c.prod.commodity.model.ProductPrivate;
@@ -201,6 +189,7 @@ import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
 import static com.uas.platform.core.persistence.criteria.PredicateUtils.like;
+import static org.apache.commons.jexl2.parser.ParserConstants.and;
 
 
 /**
@@ -4149,4 +4138,34 @@ public class GoodsServiceImpl implements GoodsService {
             info.expression(PredicateUtils.eq("reserve", 0, true));
         }
 	}
+
+    /**
+     * 更新货物的有效期
+     *
+     * @param privateList the operate type 操作的记录
+     * @param goodses     the param
+     */
+    @Override
+    public void updateSpecByProducts(List<V_ProductPrivate> privateList, List<Goods> goodses) {
+        List<Goods> goods = new ArrayList<>();
+        List<GoodsHistory> goodsHistories = new ArrayList<>();
+        if (CollectionUtils.isNotEmpty(privateList) && CollectionUtils.isNotEmpty(goodses)) {
+            for (V_ProductPrivate v_productPrivate : privateList) {
+                for (Goods goodse : goodses) {
+                    if (goodse.getProductid() != null && (goodse.getProductid().longValue() ==  v_productPrivate.getId().longValue()) && (!StringUtils.isEmpty(v_productPrivate.getSpec())) && (!v_productPrivate.getSpec().equals(goodse.getSpec()))) {
+                        goodse.setSpec(v_productPrivate.getSpec());
+                        goods.add(goodse);
+                        GoodsHistory history = goodsHistoryService.converTGoodsHist(goodse, OperateType.Update.getPhrase(), false);
+                        goodsHistories.add(history);
+                    }
+                }
+            }
+        }
+        if (CollectionUtils.isNotEmpty(goods)) {
+            goodsDao.save(goods);
+        }
+        if (CollectionUtils.isNotEmpty(goodsHistories)) {
+            goodsHistoryService.save(goodsHistories);
+        }
+    }
 }

+ 30 - 53
src/main/java/com/uas/platform/b2c/prod/commodity/service/impl/ReleaseProductByBatchServiceImpl.java

@@ -1,7 +1,5 @@
 package com.uas.platform.b2c.prod.commodity.service.impl;
 
-import static com.uas.platform.b2c.core.utils.NumberUtil.fractionNumCeil;
-
 import com.alibaba.fastjson.JSON;
 import com.uas.platform.b2c.common.account.model.Enterprise;
 import com.uas.platform.b2c.common.account.service.EnterpriseService;
@@ -14,26 +12,9 @@ import com.uas.platform.b2c.core.support.SystemSession;
 import com.uas.platform.b2c.core.utils.NumberUtil;
 import com.uas.platform.b2c.core.utils.RegexConstant;
 import com.uas.platform.b2c.core.utils.StringUtilB2C;
-import com.uas.platform.b2c.prod.commodity.constant.DoubleConstant;
-import com.uas.platform.b2c.prod.commodity.constant.ErrorInfoConstant;
-import com.uas.platform.b2c.prod.commodity.constant.ModifyConstant;
-import com.uas.platform.b2c.prod.commodity.constant.ShortConstant;
-import com.uas.platform.b2c.prod.commodity.constant.UploadConstant;
-import com.uas.platform.b2c.prod.commodity.dao.GoodsDao;
-import com.uas.platform.b2c.prod.commodity.dao.PCBDao;
-import com.uas.platform.b2c.prod.commodity.dao.PcbPropertyvalueDao;
-import com.uas.platform.b2c.prod.commodity.dao.ProductDao;
-import com.uas.platform.b2c.prod.commodity.dao.ProductPersonDao;
-import com.uas.platform.b2c.prod.commodity.dao.ProductPrivateDao;
-import com.uas.platform.b2c.prod.commodity.dao.ReleaseProductByBatchDao;
-import com.uas.platform.b2c.prod.commodity.model.Goods;
-import com.uas.platform.b2c.prod.commodity.model.GoodsQtyPrice;
-import com.uas.platform.b2c.prod.commodity.model.PCB;
-import com.uas.platform.b2c.prod.commodity.model.PCBPropertyValue;
-import com.uas.platform.b2c.prod.commodity.model.Product;
-import com.uas.platform.b2c.prod.commodity.model.ProductPerson;
-import com.uas.platform.b2c.prod.commodity.model.ProductPrivate;
-import com.uas.platform.b2c.prod.commodity.model.ReleaseProductByBatch;
+import com.uas.platform.b2c.prod.commodity.constant.*;
+import com.uas.platform.b2c.prod.commodity.dao.*;
+import com.uas.platform.b2c.prod.commodity.model.*;
 import com.uas.platform.b2c.prod.commodity.service.GoodsService;
 import com.uas.platform.b2c.prod.commodity.service.ReleaseProductByBatchService;
 import com.uas.platform.b2c.prod.commodity.util.GoodsUtil;
@@ -52,37 +33,11 @@ import com.uas.platform.core.model.PageInfo;
 import com.uas.platform.core.persistence.criteria.CriterionExpression;
 import com.uas.platform.core.persistence.criteria.PredicateUtils;
 import com.uas.platform.core.persistence.criteria.SimpleExpression;
-import java.math.BigDecimal;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.sql.Statement;
-import java.text.DateFormat;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-import javax.persistence.criteria.CriteriaBuilder;
-import javax.persistence.criteria.CriteriaQuery;
-import javax.persistence.criteria.Predicate;
-import javax.persistence.criteria.Root;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.collections.map.HashedMap;
 import org.apache.poi.hssf.usermodel.HSSFCell;
 import org.apache.poi.hssf.usermodel.HSSFDateUtil;
-import org.apache.poi.ss.usermodel.Cell;
-import org.apache.poi.ss.usermodel.DateUtil;
-import org.apache.poi.ss.usermodel.Row;
-import org.apache.poi.ss.usermodel.Sheet;
-import org.apache.poi.ss.usermodel.Workbook;
+import org.apache.poi.ss.usermodel.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.dao.DataAccessException;
@@ -95,6 +50,22 @@ import org.springframework.ui.ModelMap;
 import org.springframework.util.StringUtils;
 import org.springframework.web.client.RestTemplate;
 
+import javax.persistence.criteria.CriteriaBuilder;
+import javax.persistence.criteria.CriteriaQuery;
+import javax.persistence.criteria.Predicate;
+import javax.persistence.criteria.Root;
+import java.math.BigDecimal;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.util.*;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import static com.uas.platform.b2c.core.utils.NumberUtil.fractionNumCeil;
+
 @Service
 public class ReleaseProductByBatchServiceImpl implements ReleaseProductByBatchService {
 
@@ -149,6 +120,9 @@ public class ReleaseProductByBatchServiceImpl implements ReleaseProductByBatchSe
 	@Autowired
 	private PcbPropertyvalueDao pcbPropertyvalueDao;
 
+	@Autowired
+	private V_ProductPrivateDao v_productPrivateDao;
+
 	private static final String SIZE = "尺寸";
 	private static final String COLOR = "颜色";
 	private static final String THICKCOPPER = "铜厚";
@@ -1616,7 +1590,7 @@ public class ReleaseProductByBatchServiceImpl implements ReleaseProductByBatchSe
 		List<Long> productIds = null;
 		List<ProductPrivate> productPrivateList = null;
 		if (!CollectionUtils.isEmpty(releaseProductByBatchList)) {
-			Map<String, Object> map = convertProduct(releaseProductByBatchList,false, isPcb);
+			Map<String, Object> map = convertProduct(releaseProductByBatchList, false, isPcb);
 			List<com.uas.ps.entity.Product> products = (List<com.uas.ps.entity.Product>) map.get("products");
 			// TODO 什么接口
 			String result = restTemplate.postForEntity(productServiceIp + "/product/update", products, String.class).getBody();
@@ -1634,6 +1608,11 @@ public class ReleaseProductByBatchServiceImpl implements ReleaseProductByBatchSe
 			}
 			productPrivateList = productPrivateDao.save(productPrivates);
 
+			//根据更新的规格信息,更新在售产品的信息
+			List<V_ProductPrivate> v_productPrivates = v_productPrivateDao.findProductInIdAndSpecIsNotNull(productIds);
+			List<Goods> goodses = goodsDao.findByProductIds(productIds);
+			goodsService.updateSpecByProducts(v_productPrivates, goodses);
+
 			if (isPcb) {
 				List<PCB> pcbList = new ArrayList<>();
 				List<PCBPropertyValue> propertyValueList = new ArrayList<>();
@@ -1770,11 +1749,9 @@ public class ReleaseProductByBatchServiceImpl implements ReleaseProductByBatchSe
                 product.setStandard(releaseProductByBatch.getComponentUuId() == null ? (short)0 : (short)1);
                 product.setCmpUuid(releaseProductByBatch.getComponentUuId());
                 product.setCreateTime(new Date(System.currentTimeMillis()));
+				product.setSpec(releaseProductByBatch.getSpec());
                 // 产品导入默认可销售
                 product.setIsSale((short) 1);
-                if (isAPerson) {
-                    product.setSpec(releaseProductByBatch.getPackaging());
-                }
                 String batchCode = "PNUM" + createNumberService.getTimeNumber("trade$product_import_num", 8);
                 product.setCode(batchCode);
 

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

@@ -379,7 +379,7 @@ define(['app/app'], function(app) {
                             if(message.type =="MALL跳转卖家待报价页面"){
                                 message.url='/vendor#/seekPurchase?type=1';
                             }else if (message.type =="MALL公共询价"){
-                                message.url='/user#/seekPurchase';
+                                message.url='/user#/seekPurchase?seekType=1';
                             }else if (message.type =="商城公共询价采纳结果"){
                                 message.url='/vendor#/vendorPurchaseOffer';
                             }

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

@@ -5,9 +5,9 @@
 define(['app/app', 'clipboard', 'QRCode'], function (app, clipboard, QRCode) {
   'use strict';
   app.register.controller('seekPurchaseCtrl',
-      ['$scope', '$rootScope', 'seekPurchase', 'toaster', 'BaseService',
+      ['$scope', '$location', '$rootScope', 'seekPurchase', 'toaster', 'BaseService',
         'ngTableParams', 'Order', 'SessionService', '$filter', '$upload', '$stateParams', 'Search', '$http',
-        function ($scope, $rootScope, seekPurchase, toaster, BaseService,
+        function ($scope, $location, $rootScope, seekPurchase, toaster, BaseService,
             ngTableParams, Order, SessionService, $filter, $upload, $stateParams, Search, $http) {
           $rootScope.active = 'seek_purchase';
           document.title = '我的求购-优软商城';
@@ -24,9 +24,14 @@ define(['app/app', 'clipboard', 'QRCode'], function (app, clipboard, QRCode) {
             })
           }
           var enIdFilter = $filter('EncryptionFilter');
+            if ($location.search().seekType === '1') {
+                $scope.tab = 'offered'
+            } else {
+                $scope.tab = 'waitOffer';
+            }
           seekPurchase.getSeekUrl({}, function(data) {
             var seekUrl = data.url;
-            $scope.tab = 'waitOffer';
+            /*$scope.tab = 'waitOffer';*/
             $scope.toogleTab = function (tab) {
                 $scope.tab = tab;
               $scope.seekPurchaseTableParams = new ngTableParams({
@@ -96,8 +101,13 @@ define(['app/app', 'clipboard', 'QRCode'], function (app, clipboard, QRCode) {
                 }
               });
             }
-          $scope.toogleTab('waitOffer');
-          $scope.applyObj = {
+              if ($location.search().seekType === '1') {
+                  $scope.toogleTab('offered');
+              } else {
+                  $scope.toogleTab('waitOffer')
+              }
+
+              $scope.applyObj = {
               code: '',
               brand: '',
               unitPrice: '',

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

@@ -339,7 +339,7 @@ define(['app/app'], function(app) {
                             if(message.type =="MALL跳转卖家待报价页面"){
                                 message.url='/vendor#/seekPurchase?type=1';
                             }else if (message.type =="MALL公共询价"){
-                                message.url='/user#/seekPurchase';
+                                message.url='/user#/seekPurchase?seekType=1';
                             }else if (message.type =="商城公共询价采纳结果"){
                                 message.url='/vendor#/vendorPurchaseOffer';
                             }