Ver Fonte

Merge branch 'master' into hotfix-yuj-0809

yujia há 7 anos atrás
pai
commit
49e568cb97
78 ficheiros alterados com 626 adições e 227 exclusões
  1. 9 0
      pom.xml
  2. 0 1
      src/main/java/com/uas/platform/b2c/common/account/controller/AuthenticationController.java
  3. 11 1
      src/main/java/com/uas/platform/b2c/common/weixin/service/impl/WeChatServiceImpl.java
  4. 8 2
      src/main/java/com/uas/platform/b2c/core/constant/Type.java
  5. 0 1
      src/main/java/com/uas/platform/b2c/core/filter/SSOInterceptor.java
  6. 15 7
      src/main/java/com/uas/platform/b2c/fa/payment/controller/BankTransferController.java
  7. 13 6
      src/main/java/com/uas/platform/b2c/fa/payment/dao/BankTransferDao.java
  8. 8 3
      src/main/java/com/uas/platform/b2c/fa/payment/service/BankTransferService.java
  9. 28 5
      src/main/java/com/uas/platform/b2c/fa/payment/service/impl/BankTransferServiceImpl.java
  10. 8 0
      src/main/java/com/uas/platform/b2c/fa/payment/utils/ApipaySubmit.java
  11. 1 1
      src/main/java/com/uas/platform/b2c/fa/payment/utils/DirectPayConfig.java
  12. 4 5
      src/main/java/com/uas/platform/b2c/fa/payment/utils/SignUtils.java
  13. 1 0
      src/main/java/com/uas/platform/b2c/fa/settlement/service/impl/SettlementServiceImpl.java
  14. 2 1
      src/main/java/com/uas/platform/b2c/prod/commodity/service/impl/GoodsServiceImpl.java
  15. 0 1
      src/main/java/com/uas/platform/b2c/prod/commodity/service/impl/ProductServiceImpl.java
  16. 10 1
      src/main/java/com/uas/platform/b2c/prod/commodity/service/impl/ReleaseProductByBatchServiceImpl.java
  17. 3 0
      src/main/java/com/uas/platform/b2c/prod/commodity/util/SheetUtil.java
  18. 6 1
      src/main/java/com/uas/platform/b2c/prod/product/common/CommonTask.java
  19. 3 2
      src/main/java/com/uas/platform/b2c/prod/product/component/dao/ComponentInfoDao.java
  20. 3 1
      src/main/java/com/uas/platform/b2c/trade/deprecated/controller/RecommendController.java
  21. 4 2
      src/main/java/com/uas/platform/b2c/trade/deprecated/service/RecommendService.java
  22. 10 4
      src/main/java/com/uas/platform/b2c/trade/deprecated/service/impl/RecommendServiceImpl.java
  23. 5 5
      src/main/java/com/uas/platform/b2c/trade/order/controller/OrderController.java
  24. 16 0
      src/main/java/com/uas/platform/b2c/trade/order/model/Order.java
  25. 15 0
      src/main/java/com/uas/platform/b2c/trade/order/model/OrderSimpleInfo.java
  26. 2 2
      src/main/java/com/uas/platform/b2c/trade/order/service/OrderService.java
  27. 12 6
      src/main/java/com/uas/platform/b2c/trade/order/service/impl/OrderServiceImpl.java
  28. 24 13
      src/main/java/com/uas/platform/b2c/trade/vendor/service/impl/VendorIntroductionServiceImpl.java
  29. 26 0
      src/main/resources/cloud/account.properties
  30. 5 0
      src/main/resources/cloud/email.properties
  31. 13 0
      src/main/resources/cloud/jdbc.properties
  32. 8 0
      src/main/resources/cloud/kafka.properties
  33. 11 0
      src/main/resources/cloud/message.properties
  34. 2 0
      src/main/resources/cloud/redis.properties
  35. 27 0
      src/main/resources/cloud/redisson.yaml
  36. 60 0
      src/main/resources/cloud/sys.properties
  37. 3 1
      src/main/webapp/WEB-INF/views/normal/activity.html
  38. 3 1
      src/main/webapp/WEB-INF/views/normal/admin.html
  39. 3 1
      src/main/webapp/WEB-INF/views/normal/adminWithNav.html
  40. 3 1
      src/main/webapp/WEB-INF/views/normal/commonSearch.html
  41. 3 1
      src/main/webapp/WEB-INF/views/normal/erp/user_center.html
  42. 3 1
      src/main/webapp/WEB-INF/views/normal/erp/vendor_center.html
  43. 3 1
      src/main/webapp/WEB-INF/views/normal/help.html
  44. 4 2
      src/main/webapp/WEB-INF/views/normal/index.html
  45. 3 1
      src/main/webapp/WEB-INF/views/normal/news.html
  46. 3 1
      src/main/webapp/WEB-INF/views/normal/product.html
  47. 3 1
      src/main/webapp/WEB-INF/views/normal/products.html
  48. 3 1
      src/main/webapp/WEB-INF/views/normal/provider_list.html
  49. 3 1
      src/main/webapp/WEB-INF/views/normal/sso.html
  50. 3 1
      src/main/webapp/WEB-INF/views/normal/store_close.html
  51. 3 1
      src/main/webapp/WEB-INF/views/normal/store_default.html
  52. 3 1
      src/main/webapp/WEB-INF/views/normal/store_none.html
  53. 3 1
      src/main/webapp/WEB-INF/views/normal/user_center.html
  54. 3 1
      src/main/webapp/WEB-INF/views/normal/vendor_center.html
  55. 14 0
      src/main/webapp/resources/css/common.css
  56. BIN
      src/main/webapp/resources/img/all/loading.png
  57. 7 0
      src/main/webapp/resources/js/common/query/bankTransfer.js
  58. 1 0
      src/main/webapp/resources/js/common/query/recommendation.js
  59. 21 16
      src/main/webapp/resources/js/sso/controllers/staffManagementCtrl.js
  60. 5 5
      src/main/webapp/resources/js/usercenter/controllers/forstore/buyer_home_ctrl.js
  61. 1 1
      src/main/webapp/resources/js/usercenter/controllers/forstore/buyer_transfer_ctrl.js
  62. 24 3
      src/main/webapp/resources/js/usercenter/controllers/forstore/seek_purchase_ctrl.js
  63. 14 1
      src/main/webapp/resources/js/vendor/controllers/forstore/pay_center_ctrl.js
  64. 1 1
      src/main/webapp/resources/view/activity/business.html
  65. 4 4
      src/main/webapp/resources/view/admin/store/fragments/enterprise_info.html
  66. 1 1
      src/main/webapp/resources/view/admin/store/store_company_list.html
  67. 1 1
      src/main/webapp/resources/view/admin/store_qualification_maintenance.html
  68. 1 1
      src/main/webapp/resources/view/admin/trade/trade_order.html
  69. 2 2
      src/main/webapp/resources/view/help/bankTransfer.html
  70. 1 1
      src/main/webapp/resources/view/help/coperation.html
  71. 1 1
      src/main/webapp/resources/view/help/faBill.html
  72. 1 1
      src/main/webapp/resources/view/prod/order_ensure.html
  73. 1 1
      src/main/webapp/resources/view/prod/order_ensure_with_multi_currency.html
  74. 1 1
      src/main/webapp/resources/view/sso/forstore/ssoCenter.html
  75. 7 7
      src/main/webapp/resources/view/usercenter/forstore/seekPurchase.html
  76. 1 1
      src/main/webapp/resources/view/vendor/forstore/purchase_detail.html
  77. 86 86
      src/main/webapp/resources/view/vendor/forstore/vendor_upload.html
  78. 2 2
      src/main/webapp/resources/view/vendor/modal/confirm_consignment_agreement.html

+ 9 - 0
pom.xml

@@ -42,6 +42,15 @@
 				<static-path>https://static.usoftmall.com</static-path>
 			</properties>
 		</profile>
+		<profile>
+			<!-- 生产环境 -->
+			<id>cloud</id>
+			<properties>
+				<profile>cloud</profile>
+				<!-- static plugin -->
+				<static-path>static</static-path>
+			</properties>
+		</profile>
 	</profiles>
 	<dependencies>
 		<dependency>

+ 0 - 1
src/main/java/com/uas/platform/b2c/common/account/controller/AuthenticationController.java

@@ -108,7 +108,6 @@ public class AuthenticationController {
 		request.getSession().setAttribute("user", user);
 
 		SSOToken token = (SSOToken)SSOHelper.getToken(request);
-		logger.info(String.format("切换账套,用户:%s,获取用户信息成功,手机号:%s", user.getUserName(), token.getUid()));
 		UserAccount tokenUser = FlexJsonUtils.fromJson(token.getData(), UserAccount.class);
 		if (enUU == 0L) {
 			tokenUser.setSpaceUU(null);

+ 11 - 1
src/main/java/com/uas/platform/b2c/common/weixin/service/impl/WeChatServiceImpl.java

@@ -58,6 +58,8 @@ public class WeChatServiceImpl implements WeChatService{
     @Override
     public ModelMap getWxUserInfo(String code, String state, String openId) {
         logger.info("得到用户信息 code: {}, state: {}, openId: {}", code, state, openId);
+
+        long start = System.currentTimeMillis();
         ModelMap result = new ModelMap();
         if (!StringUtils.isEmpty(code)) {
             AuthUserInfo userInfo = null;
@@ -87,6 +89,7 @@ public class WeChatServiceImpl implements WeChatService{
             result.put("userAccount", userAccount);
             result.put("enterprises", enterprises);
         }
+        logger.info("微信:得到用户信息总耗时: {}ms", System.currentTimeMillis() - start);
         return result;
     }
 
@@ -205,12 +208,15 @@ public class WeChatServiceImpl implements WeChatService{
      */
     private AuthUserInfo getAccessTokenByCode(String code) throws Exception {
         logger.info("通过code获取用户openId, code: {}", code);
+        long start = System.currentTimeMillis();
         AuthTokenParams authTokenParams = new AuthTokenParams(WeChatUtil.APPID, WeChatUtil.APPSECRET, code, "authorization_code");
         String json = HttpReqUtil.doGet(WeChatUtil.GET_OAUTH_TOKEN_URL, authTokenParams.getParams());
         AuthAccessToken authAccessToken = FlexJsonUtils.fromJson(json, AuthAccessToken.class);
         if (authAccessToken.getOpenid() == null) {
             throw new WeChatException(json);
         }
+
+        logger.info("请求微信接口,得到 AuthAccessToken: {}, 耗时: {}ms", json, System.currentTimeMillis() - start);
         String accessToken = authAccessToken.getAccess_token();
         String openId = authAccessToken.getOpenid();
         // 可能抛出异常,向上抛
@@ -228,11 +234,14 @@ public class WeChatServiceImpl implements WeChatService{
         logger.info("获取用户信息 accessToken: {}, openId: {}", accessToken, openId);
         // 返回国家地区语言版本,zh_CN 简体,zh_TW 繁体,en 英语
         AuthUserParams authUserParams = new AuthUserParams(accessToken, openId, "zh_CN");
+
+        long start = System.currentTimeMillis();
         String json = HttpReqUtil.doGet(WeChatUtil.SNS_USERINFO_URL, authUserParams.getParams());
         AuthUserInfo authUserInfo = FlexJsonUtils.fromJson(json, AuthUserInfo.class);
         if (authUserInfo.getOpenid() == null) {
             throw new WeChatException(json);
         }
+        logger.info("请求微信接口,得到用户信息: {}, 耗时: {}ms", json, System.currentTimeMillis() - start);
         return authUserInfo;
     }
 
@@ -246,11 +255,12 @@ public class WeChatServiceImpl implements WeChatService{
             logger.info("从缓存中得到 access_token: {}", access_token);
             return access_token;
         }
+        long start = System.currentTimeMillis();
         AuthTokenParams authTokenParams = new AuthTokenParams(WeChatUtil.APPID, WeChatUtil.APPSECRET,"client_credential");
         String json = HttpReqUtil.doGet(WeChatUtil.GET_ACCESS_TOKEN, authTokenParams.getParams());
         AccessToken accessToken = FlexJsonUtils.fromJson(json, AccessToken.class);
         access_token = accessToken.getAccess_token();
-        logger.info("请求微信接口,得到 access_token: {}", access_token);
+        logger.info("请求微信接口,得到 access_token: {}, 耗时: {}ms", access_token, System.currentTimeMillis() - start);
         redisTemplate.opsForValue().set("WX_ACCESS_TOKEN", access_token, ACCESS_TOKEN_EXPIRES_IN, TimeUnit.SECONDS);
         return access_token;
     }

+ 8 - 2
src/main/java/com/uas/platform/b2c/core/constant/Type.java

@@ -252,15 +252,21 @@ public enum Type {
 	ENTERPRISING(1602, "ENTERPRISING"),
 
 	/**
-	 * 付款给平台
+	 * 买家付款给平台
 	 */
 	PAIDTOPLATFORM(1603, "PAIDTOPLATFORM"),
 
 	/**
-	 * 付款给卖家
+	 * 买家付款给卖家
 	 */
 	PAIDTOVENDOR(1604, "PAIDTOVENDOR"),
 
+
+	/**
+	 * 平台付款给卖家
+	 */
+	PLATFORMPAIDTOVENDOR(1605, "PLATFORMPAIDTOVENDOR"),
+
 	/**
 	 * {@code 1666 企业入库 <b>企业入库</b>}
 	 */

+ 0 - 1
src/main/java/com/uas/platform/b2c/core/filter/SSOInterceptor.java

@@ -156,7 +156,6 @@ public class SSOInterceptor extends AbstractSSOInterceptor {
     protected void onAuthenticateSuccess(HttpServletRequest request, HttpServletResponse response) {
         User user = (User) request.getSession().getAttribute("user");
         SSOToken token = SSOHelper.attrToken(request);
-        logger.info(String.format("用户:%s,获取用户信息成功,手机号:%s", null == user ? "" : user.getUserName(), token.getUid()));
         // cookie变化的情况下,session可能还未变化
         if (user == null || (user.getUserTel() != null && !token.getUid().equals(user.getUserTel()))) {
             user = getUserByToken(token);

+ 15 - 7
src/main/java/com/uas/platform/b2c/fa/payment/controller/BankTransferController.java

@@ -2,13 +2,12 @@ package com.uas.platform.b2c.fa.payment.controller;
 
 
 import com.uas.platform.b2c.core.config.SysConf;
+import com.uas.platform.b2c.core.support.SystemSession;
+import com.uas.platform.b2c.core.support.log.UsageBufferedLogger;
 import com.uas.platform.b2c.core.support.view.JxlsExcelView;
 import com.uas.platform.b2c.fa.payment.model.BankInfo;
 import com.uas.platform.b2c.fa.payment.model.BankTransfer;
 import com.uas.platform.b2c.fa.payment.service.BankTransferService;
-import com.uas.platform.b2c.core.support.SystemSession;
-import com.uas.platform.b2c.core.support.log.UsageBufferedLogger;
-import com.uas.platform.b2c.trade.order.model.OrderSimpleInfo;
 import com.uas.platform.b2c.trade.support.ResultMap;
 import com.uas.platform.core.logging.BufferedLoggerManager;
 import com.uas.platform.core.model.PageInfo;
@@ -242,8 +241,17 @@ public class BankTransferController {
 	@RequestMapping(value = "/vendor/bankTransfer/page", method = RequestMethod.GET, params = "type=sup")
 	@ApiOperation(value = "获取供应商的的收款转账单", httpMethod = "GET")
 	public ResultMap getVendorBankTransferByMall(@ApiParam(required = true, value = "分页参数") PageParams params,
-												String keyword, Long fromDate, Long toDate) {
-		return bankTransferService.getVendorBankTransferByMall(params, Type.SUP.value(), keyword, fromDate, toDate);
+												String keyword, Long fromDate, Long toDate, String remitteeType) {
+		return bankTransferService.getVendorBankTransferByMall(params, Type.SUP.value(), keyword, fromDate, toDate, remitteeType);
+	}
+
+	/**
+	 * 获取供应商的的收款转账
+	 * @return ResultMap
+	 */
+	@RequestMapping(value = "/vendor/bankTransfer/ledger", method = RequestMethod.GET, params = "type=sup")
+	public ResultMap getVendorBankTransferLedger() {
+		return bankTransferService.getVendorBankTransferLedger();
 	}
 
 	/**
@@ -257,7 +265,7 @@ public class BankTransferController {
 	 */
 	@RequestMapping(value = "/export/bankTransfer", method = RequestMethod.POST)
 	public ModelAndView exportPayRecordToExcel(@RequestParam(required = false, value = "isAjax", defaultValue = "false")Boolean isAjax, HttpServletRequest request,
-											   String keyword, Long fromDate, Long toDate){
+											   String keyword, Long fromDate, Long toDate, String remitteeType){
 		HttpSession session = request.getSession();
 		ModelAndView modelAndView = new ModelAndView();
 		Object loading = session.getAttribute("loading");
@@ -271,7 +279,7 @@ public class BankTransferController {
 			return modelAndView;
 		}
 		session.setAttribute("loading", true);
-		List<BankTransfer> data = bankTransferService.getExportData(Type.SUP.value(), keyword, fromDate, toDate);
+		List<BankTransfer> data = bankTransferService.getExportData(Type.SUP.value(), keyword, fromDate, toDate, remitteeType);
 		modelAndView.addObject("data", data);
 		modelAndView.addObject("operator", "+");
 		modelAndView.setView(new JxlsExcelView("classpath:jxls-tpl/trade/bankTransfer", "优软商城-卖家交易记录"));

+ 13 - 6
src/main/java/com/uas/platform/b2c/fa/payment/dao/BankTransferDao.java

@@ -1,15 +1,13 @@
 package com.uas.platform.b2c.fa.payment.dao;
 
-import java.util.List;
-
+import com.uas.platform.b2c.fa.payment.model.BankTransfer;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
 import org.springframework.data.jpa.repository.Query;
 import org.springframework.data.repository.query.Param;
 import org.springframework.stereotype.Repository;
 
-import com.uas.platform.b2c.fa.payment.model.BankTransfer;
-
-import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import java.util.List;
 
 /** 
   * @author yujia 
@@ -28,6 +26,15 @@ public interface BankTransferDao extends JpaSpecificationExecutor<BankTransfer>,
 	 */
 	public List<BankTransfer> findByCollectenuu(Long collectenuu);
 
+	/**
+	 * 统计卖家的应收对账总金额
+	 * @param operateType
+	 * @param collectenuu
+	 * @return
+	 */
+	@Query(value = "select b.total from BankTransfer b where b.operateType = :operateType and b.collectenuu = :collectenuu")
+	List<Double> getLedgerByTypeAndEnuu(@Param("operateType") Integer operateType, @Param("collectenuu") Long collectenuu);
+
 	/**
 	 * 根据转账流水单id查找转账信息(客户)
 	 *

+ 8 - 3
src/main/java/com/uas/platform/b2c/fa/payment/service/BankTransferService.java

@@ -8,7 +8,6 @@ import com.uas.platform.core.model.PageParams;
 import org.springframework.data.domain.Page;
 
 import java.util.List;
-import java.util.Random;
 
 /**
  * The interface BankTransfer service.
@@ -150,7 +149,13 @@ public interface BankTransferService {
 	 * @param type   the type 指定类型
 	 * @return ResultMap
 	 */
-	ResultMap getVendorBankTransferByMall(PageParams params, Integer type, String keyword, Long fromDate, Long toDate);
+	ResultMap getVendorBankTransferByMall(PageParams params, Integer type, String keyword, Long fromDate, Long toDate, String remitteeType);
+
+	/**
+	 * 获取卖家的总账
+	 * @return
+	 */
+	ResultMap getVendorBankTransferLedger();
 
 	/**
 	 * 导出excel数据
@@ -160,5 +165,5 @@ public interface BankTransferService {
 	 * @param toDate
 	 * @return
 	 */
-	List<BankTransfer> getExportData(Integer type, String keyword, Long fromDate, Long toDate);
+	List<BankTransfer> getExportData(Integer type, String keyword, Long fromDate, Long toDate, String remitteeType);
 }

+ 28 - 5
src/main/java/com/uas/platform/b2c/fa/payment/service/impl/BankTransferServiceImpl.java

@@ -178,6 +178,7 @@ public class BankTransferServiceImpl implements BankTransferService {
 		bankTransfer.setBanktranssn(EncodingRulesConstant.BANKTRANSFER.replace("_TIMESTAP_NUMBER", createNumberService.getTimeNumber("trade$bank_transfer", 8)));
 		bankTransfer.setTranferCreateTime(date);
 		bankTransfer.setOperateType(Type.MALL.value());
+		bankTransfer.setType(com.uas.platform.b2c.core.constant.Type.PLATFORMPAIDTOVENDOR.getPhrase());
 		BankTransfer saveBankTransfer = bankTransferDao.save(bankTransfer);
 		// 保存银行转账关联信息
 		if (saveBankTransfer != null) {
@@ -322,6 +323,7 @@ public class BankTransferServiceImpl implements BankTransferService {
 			orderN.setBuyaccount(bankTransfer.getJsonPament());
 			orderN.setSelleraccount(bankTransfer.getJsonReceive());
 			orderN.setPaytime(new Date());
+			orderN.setRemitteeType(bankTransfer.getType());
 			orderN.setPaytype(Type.Payment_CompanyTransfer_Code.value());
 
 			//修改采购单的状态
@@ -384,6 +386,7 @@ public class BankTransferServiceImpl implements BankTransferService {
 					}
 
 				}
+				orderN.setRemitteeType(bankTransfer.getType());
 				orderN.setBuyaccount(bankTransfer.getJsonPament());
 				orderN.setSelleraccount(bankTransfer.getJsonReceive());
 				orderN.setPaytime(new Date());
@@ -541,7 +544,7 @@ public class BankTransferServiceImpl implements BankTransferService {
 	 * @return Page<BankTransfer>
 	 */
 	@Override
-	public ResultMap getVendorBankTransferByMall(PageParams params, Integer type, String keyword, Long fromDate, Long toDate) {
+	public ResultMap getVendorBankTransferByMall(PageParams params, Integer type, String keyword, Long fromDate, Long toDate, String remitteeType) {
 		if(type == null || (type != Type.SUP.value() && type != Type.MALL.value()) || params == null) {
 			return new ResultMap(CodeType.NO_INFO, "参数信息丢失");
 		}
@@ -551,7 +554,7 @@ public class BankTransferServiceImpl implements BankTransferService {
 			info.filter("collectenuu", SystemSession.getUser().getEnterprise().getUu());
 		}
 		info.expression(PredicateUtils.isNotNull("transferTime"));
-		filterPageInfo(info, keyword, fromDate, toDate);
+		filterPageInfo(info, keyword, fromDate, toDate, remitteeType);
 
 		Page<BankTransfer> pageBankTran = bankTransferDao.findAll(new Specification<BankTransfer>() {
 			@Override
@@ -575,8 +578,25 @@ public class BankTransferServiceImpl implements BankTransferService {
 		return ResultMap.success(resultMap);
 	}
 
+	/**
+	 * 获取卖家的总账
+	 *
+	 * @return
+	 */
+	@Override
+	public ResultMap getVendorBankTransferLedger() {
+		List<Double> totals = bankTransferDao.getLedgerByTypeAndEnuu(Type.SUP.value(), SystemSession.getUser().getEnterprise().getUu());
+		Double total = 0d;
+		if (org.apache.commons.collections.CollectionUtils.isNotEmpty(totals)) {
+			for (Double money : totals) {
+				total = NumberUtil.add(money, total);
+			}
+		}
+		return ResultMap.success(total);
+	}
+
 	@Override
-	public List<BankTransfer> getExportData(Integer type, String keyword, Long fromDate, Long toDate) {
+	public List<BankTransfer> getExportData(Integer type, String keyword, Long fromDate, Long toDate, String remitteeType) {
 		if(type == null || (type != Type.SUP.value() && type != Type.MALL.value())) {
 			throw new IllegalOperatorException("参数丢失,刷新后重试");
 		}
@@ -587,7 +607,7 @@ public class BankTransferServiceImpl implements BankTransferService {
 		}
 		info.expression(PredicateUtils.isNotNull("transferTime"));
 		info.sorting(Sort.Direction.DESC, "transferTime");
-		filterPageInfo(info, keyword, fromDate, toDate);
+		filterPageInfo(info, keyword, fromDate, toDate, remitteeType);
 		List<BankTransfer> list = bankTransferDao.findAll(new Specification<BankTransfer>() {
 			@Override
 			public Predicate toPredicate(Root<BankTransfer> root, CriteriaQuery<?> criteriaQuery, CriteriaBuilder criteriaBuilder) {
@@ -598,7 +618,7 @@ public class BankTransferServiceImpl implements BankTransferService {
 		return list;
 	}
 
-	private void filterPageInfo(PageInfo info, String keyword, Long fromDate, Long toDate){
+	private void filterPageInfo(PageInfo info, String keyword, Long fromDate, Long toDate, String remitteeType){
 		if (StringUtils.hasText(keyword)){
 			SimpleExpression[] simpArrs = new SimpleExpression[2];
 			simpArrs[0] = new SimpleExpression("orderid", keyword, CriterionExpression.Operator.LIKE, true);
@@ -612,5 +632,8 @@ public class BankTransferServiceImpl implements BankTransferService {
 		if (toDate != null) {
 			info.expression(PredicateUtils.lte("transferTime", new Date(toDate), false));
 		}
+		if (!StringUtils.isEmpty(remitteeType)) {
+			info.expression(PredicateUtils.eq("type", remitteeType, false));
+		}
 	}
 }

+ 8 - 0
src/main/java/com/uas/platform/b2c/fa/payment/utils/ApipaySubmit.java

@@ -5,9 +5,13 @@ import java.util.Map;
 
 import javax.servlet.http.HttpServletRequest;
 
+import org.apache.log4j.Logger;
 import org.springframework.core.io.FileSystemResource;
 
 public class ApipaySubmit {
+
+	private static Logger logger = Logger.getLogger(ApipaySubmit.class);
+
 	/**
 	 * api请求的签名工具方法,把请求参数按照字符排序拼接,然后进行RAS加密
 	 * 
@@ -25,6 +29,7 @@ public class ApipaySubmit {
 			pfxCertFileInputStream = new FileSystemResource(DirectPayConfig.PATH_PARTER_PKCS12).getInputStream();
 			signResult = SignUtils.rsaSign(sPara, sParaTemp.get("charset"), pfxCertFileInputStream);
 		} catch (Exception e) {
+			logger.error(e.getMessage());
 			throw new RuntimeException("签名失败,请检查证书文件是否存在,密码是否正确");
 		}
 
@@ -50,6 +55,7 @@ public class ApipaySubmit {
 					.getInputStream();
 			isSign = SignUtils.rsaCheckContent(publicCertFileInputStream, responseBody, sign, charset);
 		} catch (Exception e) {
+			logger.error(e.getMessage());
 			throw new RuntimeException("验证签名失败,请检查银盛公钥证书文件是否存在");
 		}
 
@@ -71,6 +77,7 @@ public class ApipaySubmit {
 			String mysign = SignUtils.rsaSign(sPara, sParaTemp.get("charset"), pfxCertFileInputStream);
 			sPara.put("sign", mysign);
 		} catch (Exception e) {
+			logger.error(e.getMessage());
 			throw new RuntimeException("签名失败,请检查证书文件是否存在,密码是否正确");
 		}
 
@@ -97,6 +104,7 @@ public class ApipaySubmit {
 			}
 			isSign = SignUtils.rsaCheckContent(publicCertFileInputStream, params, sign, DirectPayConfig.DEFAULT_CHARSET);
 		} catch (Exception e) {
+			logger.error(e.getMessage());
 			throw new RuntimeException("验证签名失败,请检查银盛公钥证书文件是否存在");
 		}
 

+ 1 - 1
src/main/java/com/uas/platform/b2c/fa/payment/utils/DirectPayConfig.java

@@ -41,7 +41,7 @@ public class DirectPayConfig {
 	/**
 	 * 收款方银盛支付客户名
 	 */
-	public static final String SELLER_NAME = "深圳优软商城科技有限公司";
+	public static final String SELLER_NAME = "深圳优软商城科技有限公司";
 
 	/**
 	 * 字符编码

+ 4 - 5
src/main/java/com/uas/platform/b2c/fa/payment/utils/SignUtils.java

@@ -14,12 +14,11 @@ import java.util.List;
 import java.util.Map;
 
 import org.apache.commons.codec.binary.Base64;
+import org.apache.log4j.Logger;
 
 public class SignUtils {
-	// static {
-	// Security.addProvider(
-	// new org.bouncycastle.jce.provider.BouncyCastleProvider());
-	// }
+
+	private static Logger logger = Logger.getLogger(SignUtils.class);
 
 	/**
 	 * 缓存公钥和私钥
@@ -98,7 +97,7 @@ public class SignUtils {
 			return sign;
 		} catch (Exception e) {
 			System.out.println("签名失败:content[" + content + "], charset[" + charset + "]");
-			throw new Exception("RSAcontent = " + content + "; charset = " + charset, e);
+			throw new Exception("签名失败:RSAcontent = " + content + "; charset = " + charset, e);
 		}
 	}
 

+ 1 - 0
src/main/java/com/uas/platform/b2c/fa/settlement/service/impl/SettlementServiceImpl.java

@@ -513,6 +513,7 @@ public class SettlementServiceImpl implements SettlementService {
 			doubles.toArray(prices);
 			BankTransfer transfer = new BankTransfer();
 			transfer.setOperateType(Type.SUP.value());
+			transfer.setType(com.uas.platform.b2c.core.constant.Type.PLATFORMPAIDTOVENDOR.getPhrase());
 			Double aDouble = NumberUtil.fractionNumCeil(NumberUtil.add(0.0, prices), 2);
 			transfer.setTotal(aDouble);
 			transfer.setCurrencyName(bankTransfer.getCurrencyName());

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

@@ -1841,7 +1841,7 @@ public class GoodsServiceImpl implements GoodsService {
         // 修改上下架状态并产生上下架历史
         GoodsHistory goodsHistory = null;
         if (!nowGoods.getStatus().equals(oldGoods.getStatus())) {
-            nowGoods.setStatus(oldGoods.getStatus());
+            //nowGoods.setStatus(oldGoods.getStatus());
             // 如果是下架
             if (oldGoods.getStatus().equals(Status.REMOVED.value())) {
                 goodsHistory = goodsHistoryService.converTGoodsHist(nowGoods, OperateType.Down.getPhrase(), false);
@@ -4243,6 +4243,7 @@ public class GoodsServiceImpl implements GoodsService {
                 goods.setKindUuid(product.getKindid());
                 goods.setKindNameCn(product.getKind());
                 goods.setImg(product.getCmpImg());
+                goods.setUuid(product.getCmpUuId());
                 goods.setCode(product.getPcmpcode());
                 GoodsHistory history = goodsHistoryService.converTGoodsHist(goods, GoodsHistory.OperateType.Update.getPhrase(), false);
                 list.add(history);

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

@@ -1238,7 +1238,6 @@ public class ProductServiceImpl implements ProductService {
             product.setEncapsulation(result.getEncapsulation());
         }
         product.setCmpImg(result.getImg());
-
         return product;
     }
 

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

@@ -194,6 +194,9 @@ public class ReleaseProductByBatchServiceImpl implements ReleaseProductByBatchSe
 		ModelMap modelMap = new ModelMap();
 		// 获取第一个工作表
 		Sheet sheet = workbook.getSheetAt(0);
+		if (sheet.getRow(0) == null) {
+			throw new IllegalOperatorException("表格模板不正确!请重新下载最新模板");
+		}
 		int colNum = sheet.getRow(0).getPhysicalNumberOfCells();
 		if (isAPerson) {
 			if (colNum != UploadConstant.TOTAL_COLUMN_PERSON && colNum != UploadConstant.MAX_TOTAL_COLUMN_PERSON) {
@@ -206,6 +209,9 @@ public class ReleaseProductByBatchServiceImpl implements ReleaseProductByBatchSe
 		if (rowNum > 2002) {
 			throw new IllegalOperatorException ("您上传的信息超过2000条,请拆分成2000以下再上传");
 		}
+		if (rowNum < 3) {
+			throw new IllegalOperatorException ("请填写上传信息");
+		}
 		List<ReleaseProductByBatch> releaseProductByBatchs = new ArrayList<>(rowNum);
 		String batch = createNumberService.getTimeNumber("product$goods", 8, rowNum);
 		StoreIn storeIn = getStoreInfo(selfSale);
@@ -330,7 +336,10 @@ public class ReleaseProductByBatchServiceImpl implements ReleaseProductByBatchSe
                 success = releaseProductByBatchDao.getCountPublisherUuAndBatchAndReleaseCode(userUU, batch, ReleaseStatus.success.value());
             }
 		}
-
+		if (!isAPerson && !isPcb) {
+			String publish = publishByBatch(batch, isPcb);
+			modelMap.put("publish", publish);
+		}
 		modelMap.put("total", total);
 		modelMap.put("success", success);
 		modelMap.put("failure", failure);

+ 3 - 0
src/main/java/com/uas/platform/b2c/prod/commodity/util/SheetUtil.java

@@ -37,6 +37,9 @@ public class SheetUtil {
                 if (flag) {
                     --lastRowNum;
                 }
+                if (lastRowNum < 1) {
+                    flag = false;
+                }
             }
             return lastRowNum;
         }

+ 6 - 1
src/main/java/com/uas/platform/b2c/prod/product/common/CommonTask.java

@@ -1,5 +1,6 @@
 package com.uas.platform.b2c.prod.product.common;
 
+import com.alibaba.fastjson.JSON;
 import com.uas.platform.b2c.prod.product.common.dao.CommonCountDao;
 import com.uas.platform.b2c.prod.product.common.model.CommonCount;
 import com.uas.platform.core.util.HttpUtil;
@@ -36,7 +37,11 @@ public class CommonTask {
                 try {
                     String responseText = HttpUtil.sendGetRequest(commonCount.getSql(), null).getResponseText();
                     if (!StringUtils.isEmpty(responseText)) {
-                        commonCount.setCount(Double.parseDouble(responseText));
+                        if (responseText.contains("{")) {
+                            commonCount.setCount(JSON.parseObject(responseText).getDouble("count"));
+                        } else {
+                            commonCount.setCount(Double.parseDouble(responseText));
+                        }
                     }
                 } catch (Exception e) {
                 }

+ 3 - 2
src/main/java/com/uas/platform/b2c/prod/product/component/dao/ComponentInfoDao.java

@@ -77,10 +77,11 @@ public interface ComponentInfoDao extends JpaSpecificationExecutor<ComponentInfo
 
 	/**
 	 * 获取一页有图片的器件
-	 * @param pageable 分页参数
+	 * @param count 分页参数
 	 * @return 库存数量大于指定值的一页器件
 	 */
-	Page<ComponentInfo> findByImgIsNotNull(Pageable pageable);
+	@Query(value = "select * from product$component c where c.cmp_img is not null limit 0,:count", nativeQuery = true)
+	List<ComponentInfo> findByImgIsNotNull(@Param("count") Integer count);
 
 	/**
 	 * 根据批次号获取器件信息

+ 3 - 1
src/main/java/com/uas/platform/b2c/trade/deprecated/controller/RecommendController.java

@@ -11,6 +11,8 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.List;
+
 /**
  * 推荐
  *
@@ -32,7 +34,7 @@ public class RecommendController {
     }
 
     @RequestMapping(value = "/comps", method = RequestMethod.GET)
-    public Page<ComponentInfo> getRecommendCompsForUser(Long userUU, String usedFor, Pageable pageable) {
+    public List<ComponentInfo> getRecommendCompsForUser(Long userUU, String usedFor, Pageable pageable) {
         logger.info(String.format("推荐服务:%s 在 %s 获取推荐器件,分页信息: %s", userUU, usedFor, pageable.toString()));
         return recommendService.getRecommendCompsForUser(userUU, usedFor, pageable);
     }

+ 4 - 2
src/main/java/com/uas/platform/b2c/trade/deprecated/service/RecommendService.java

@@ -1,10 +1,12 @@
 package com.uas.platform.b2c.trade.deprecated.service;
 
-import com.uas.platform.b2c.prod.product.component.modal.ComponentInfo;
 import com.uas.platform.b2c.prod.commodity.model.Goods;
+import com.uas.platform.b2c.prod.product.component.modal.ComponentInfo;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.Pageable;
 
+import java.util.List;
+
 /**
  * 推荐服务
  * @author yangck
@@ -27,5 +29,5 @@ public interface RecommendService {
      * @param pageable 分页信息
      * @return 一页ComponentInfo
      */
-    Page<ComponentInfo> getRecommendCompsForUser(Long userUU, String usedFor, Pageable pageable);
+    List<ComponentInfo> getRecommendCompsForUser(Long userUU, String usedFor, Pageable pageable);
 }

+ 10 - 4
src/main/java/com/uas/platform/b2c/trade/deprecated/service/impl/RecommendServiceImpl.java

@@ -1,15 +1,18 @@
 package com.uas.platform.b2c.trade.deprecated.service.impl;
 
-import com.uas.platform.b2c.prod.product.component.dao.ComponentInfoDao;
-import com.uas.platform.b2c.prod.product.component.modal.ComponentInfo;
 import com.uas.platform.b2c.prod.commodity.dao.GoodsDao;
 import com.uas.platform.b2c.prod.commodity.model.Goods;
+import com.uas.platform.b2c.prod.product.component.dao.ComponentInfoDao;
+import com.uas.platform.b2c.prod.product.component.modal.ComponentInfo;
 import com.uas.platform.b2c.trade.deprecated.service.RecommendService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.Pageable;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
+import java.util.List;
+
 /**
  * @author yangck
  */
@@ -38,8 +41,11 @@ public class RecommendServiceImpl implements RecommendService {
     }
 
     @Override
-    public Page<ComponentInfo> getRecommendCompsForUser(Long userUU, String usedFor, Pageable pageable) {
-        Page<ComponentInfo> page = componentInfoDao.findByImgIsNotNull(pageable);
+    public List<ComponentInfo> getRecommendCompsForUser(Long userUU, String usedFor, Pageable pageable) {
+        if (pageable == null) {
+            return new ArrayList<>();
+        }
+        List<ComponentInfo> page = componentInfoDao.findByImgIsNotNull(pageable.getPageSize());
         return page;
     }
 }

+ 5 - 5
src/main/java/com/uas/platform/b2c/trade/order/controller/OrderController.java

@@ -914,10 +914,10 @@ public class OrderController {
 	 * @param toDate
 	 * @return
 	 */
-	@RequestMapping(value = "buyer/payRecord")
+	@RequestMapping(value = "/buyer/payRecord")
 	public Page<OrderSimpleInfo> findBuyerPayRecord(PageParams params, String keyword, Long fromDate,
-													Long toDate, String currencyName, Integer method){
-		return orderService.getBuyerPayRecord(params, keyword, fromDate, toDate, currencyName, method);
+													Long toDate, String currencyName, Integer method, String remitteeType){
+		return orderService.getBuyerPayRecord(params, keyword, fromDate, toDate, currencyName, method, remitteeType);
 	}
 
 	/**
@@ -933,7 +933,7 @@ public class OrderController {
 	 */
 	@RequestMapping(value = "/export/payRecord", method = RequestMethod.POST)
 	public ModelAndView exportPayRecordToExcel(@RequestParam(required = false, value = "isAjax", defaultValue = "false")Boolean isAjax, HttpServletRequest request,
-											   String keyword, Long fromDate, Long toDate, String currencyName, Integer method){
+											   String keyword, Long fromDate, Long toDate, String currencyName, Integer method, String remitteeType){
 		HttpSession session = request.getSession();
 		ModelAndView modelAndView = new ModelAndView();
 		Object loading = session.getAttribute("loading");
@@ -947,7 +947,7 @@ public class OrderController {
 			return modelAndView;
 		}
 		session.setAttribute("loading", true);
-		List<OrderSimpleInfo> data = orderService.getExportData(keyword, fromDate, toDate, currencyName, method);
+		List<OrderSimpleInfo> data = orderService.getExportData(keyword, fromDate, toDate, currencyName, method, remitteeType);
 		modelAndView.addObject("data", data);
 		modelAndView.addObject("operator", "-");
 		modelAndView.setView(new JxlsExcelView("classpath:jxls-tpl/trade/payRecord", "优软商城-买家交易记录"));

+ 16 - 0
src/main/java/com/uas/platform/b2c/trade/order/model/Order.java

@@ -114,6 +114,12 @@ public class Order extends Document implements Serializable {
 	@Column(name = "or_paytype")
 	private Integer paytype;
 
+	/**
+	 * 收款方
+	 */
+	@Column(name = "or_remittee_type")
+	private String remitteeType;
+
 	/**
 	 * 配送方式
 	 */
@@ -2557,6 +2563,15 @@ public class Order extends Document implements Serializable {
 		return this;
 	}
 
+	public String getRemitteeType() {
+		return remitteeType;
+	}
+
+	public Order setRemitteeType(String remitteeType) {
+		this.remitteeType = remitteeType;
+		return this;
+	}
+
 	@Override
 	public String toString() {
 		return "Order{" +
@@ -2614,6 +2629,7 @@ public class Order extends Document implements Serializable {
 				", launchOrExApplyId='" + launchOrExApplyId + '\'' +
 				", jsonPuExInfo='" +  puExInfoJson + '\'' +
 				", exception='" + exception + '\'' +
+				", remitteeType='" + remitteeType + '\'' +
 				'}';
 	}
 

+ 15 - 0
src/main/java/com/uas/platform/b2c/trade/order/model/OrderSimpleInfo.java

@@ -97,6 +97,11 @@ public class OrderSimpleInfo extends Document implements Serializable {
 	 */
 	private Integer type;
 
+	/**
+	 * 收款方
+	 */
+	private String remitteeType;
+
 	/**
 	 * Gets id.
 	 *
@@ -363,6 +368,7 @@ public class OrderSimpleInfo extends Document implements Serializable {
 		this.ensurePrice = order.getEnsurePrice();
 		this.paytype = order.getPaytype();
 		this.sellername = order.getSellername();
+		this.remitteeType = order.getRemitteeType();
 	}
 
 	@Override
@@ -371,6 +377,15 @@ public class OrderSimpleInfo extends Document implements Serializable {
 				+ ", status=" + status + ", price=" + price + ", type=" + type + "]";
 	}
 
+	public String getRemitteeType() {
+		return remitteeType;
+	}
+
+	public OrderSimpleInfo setRemitteeType(String remitteeType) {
+		this.remitteeType = remitteeType;
+		return this;
+	}
+
 	/**
 	 * 格式化付款时间
 	 * @return

+ 2 - 2
src/main/java/com/uas/platform/b2c/trade/order/service/OrderService.java

@@ -623,7 +623,7 @@ public interface OrderService {
 	 * @return
 	 */
 	Page<OrderSimpleInfo> getBuyerPayRecord(PageParams params, String keyword, Long fromDate, Long toDate,
-											String currencyName, Integer method);
+											String currencyName, Integer method, String remitteeType);
 
 	/**
 	 * 获取导出的支付记录数据
@@ -635,7 +635,7 @@ public interface OrderService {
 	 * @return
 	 */
 	List<OrderSimpleInfo> getExportData(String keyword, Long fromDate, Long toDate,
-										String currencyName, Integer method);
+										String currencyName, Integer method, String remitteeType);
 
 	/**
 	 * 根据订单单号修改订单使用状态

+ 12 - 6
src/main/java/com/uas/platform/b2c/trade/order/service/impl/OrderServiceImpl.java

@@ -61,8 +61,8 @@ import com.uas.platform.b2c.trade.deprecated.model.OrderRelationInfo;
 import com.uas.platform.b2c.trade.deprecated.model.UserInfoForOrder;
 import com.uas.platform.b2c.trade.inquiry.dao.TradeChargeDao;
 import com.uas.platform.b2c.trade.inquiry.model.TradeCharge;
-import com.uas.platform.b2c.trade.order.StringConstant.*;
 import com.uas.platform.b2c.trade.order.StringConstant.Currency;
+import com.uas.platform.b2c.trade.order.StringConstant.StringFormat;
 import com.uas.platform.b2c.trade.order.dao.OrderDao;
 import com.uas.platform.b2c.trade.order.dao.OrderDetailDao;
 import com.uas.platform.b2c.trade.order.dao.OrderIndexDetailDao;
@@ -1424,6 +1424,9 @@ public class OrderServiceImpl implements OrderService {
 
         if (type != null) {
             order.setPaytype(type);
+            if (type.equals(Type.Payment_Online_Code.value())) {
+                order.setRemitteeType(com.uas.platform.b2c.core.constant.Type.PAIDTOPLATFORM.name());
+            }
         }
         Set<OrderDetail> orderDetails = order.getOrderDetails();
         for (OrderDetail orderDetail : orderDetails) {
@@ -3311,9 +3314,9 @@ public class OrderServiceImpl implements OrderService {
 
     @Override
     public Page<OrderSimpleInfo> getBuyerPayRecord(com.uas.platform.core.model.PageParams params, String keyword, Long fromDate, Long toDate,
-                                                   String currencyName, Integer method) {
+                                                   String currencyName, Integer method, String remitteeType) {
         final PageInfo info = new PageInfo(params);
-        filterPageInfo(info, keyword, fromDate, toDate, currencyName, method);
+        filterPageInfo(info, keyword, fromDate, toDate, currencyName, method, remitteeType);
 
         Page<Order> orderPage = orderDao.findAll(new Specification<Order>() {
             @Override
@@ -3332,9 +3335,9 @@ public class OrderServiceImpl implements OrderService {
     }
 
     @Override
-    public List<OrderSimpleInfo> getExportData(String keyword, Long fromDate, Long toDate, String currencyName, Integer method) {
+    public List<OrderSimpleInfo> getExportData(String keyword, Long fromDate, Long toDate, String currencyName, Integer method, String remitteeType) {
         final PageInfo info = new PageInfo();
-        filterPageInfo(info, keyword, fromDate, toDate, currencyName, method);
+        filterPageInfo(info, keyword, fromDate, toDate, currencyName, method, remitteeType);
         List<Order> orderList = orderDao.findAll(new Specification<Order>() {
             @Override
             public Predicate toPredicate(Root<Order> root, CriteriaQuery<?> criteriaQuery, CriteriaBuilder criteriaBuilder) {
@@ -3357,7 +3360,7 @@ public class OrderServiceImpl implements OrderService {
      * 设置分页过滤条件
      */
     private void filterPageInfo(PageInfo info, String keyword, Long fromDate, Long toDate,
-                               String currencyName, Integer method){
+                               String currencyName, Integer method, String remitteeType){
 
         info.filter("buyeruu", SystemSession.getUser().getUserUU());
         if (SystemSession.getUser().getEnterprise() != null) {
@@ -3385,6 +3388,9 @@ public class OrderServiceImpl implements OrderService {
         if (method != null){
             info.expression(PredicateUtils.eq("paytype", method, false));
         }
+        if (!StringUtils.isEmpty(remitteeType)) {
+            info.filter("remitteeType", remitteeType);
+        }
     }
 
     /**

+ 24 - 13
src/main/java/com/uas/platform/b2c/trade/vendor/service/impl/VendorIntroductionServiceImpl.java

@@ -22,6 +22,7 @@ import java.util.List;
 
 /**
  * The type VendorIntroductionService.
+ * @author dongbw
  * @version  2018年4月26日 17:25:03
  */
 @Service
@@ -85,7 +86,7 @@ public class VendorIntroductionServiceImpl implements VendorIntroductionService
 						productCondition = "pr_pbranden = '" + keyword + "'";
 						break;
                     default :
-                        enterpriseCondition = "(en_name like '%" + keyword + "%' or en_address like '%" + keyword + "%' or en_industry like '% "
+                        enterpriseCondition = "(en_name like '%" + keyword + "%' or en_address like '%" + keyword + "%' or en_industry like '%"
                                 + keyword + "%')";
                         break;
 				}
@@ -99,12 +100,16 @@ public class VendorIntroductionServiceImpl implements VendorIntroductionService
             enUU = SystemSession.getUser().getEnterprise().getUu();
         }
 		// 查询所有企业个数
-		Integer total = getTotalCount(enUU, enterpriseCondition, productCondition);
+		Integer total;
 		// 查询企业
 		List<VendorIntroduction> vendorIntroductions;
 		if (!StringUtils.isEmpty(productCondition)) {
+			enterpriseCondition = "(en_name like '%" + keyword + "%' or en_address like '%" + keyword + "%' or en_industry like '% "
+					+ keyword + "%')";
+			total = getTotalCount(enUU, enterpriseCondition, productCondition);
 			vendorIntroductions = getEnterpriseWithProductCondition(enUU, enterpriseCondition, productCondition,  page, size);
 		} else {
+			total = getTotalCount(enUU, enterpriseCondition, productCondition);
 			vendorIntroductions = getEnterpriseWithoutProductCondition(enUU, enterpriseCondition,  page, size);
 		}
 		return new Page<VendorIntroduction>(page, size, vendorIntroductions, total);
@@ -181,12 +186,14 @@ public class VendorIntroductionServiceImpl implements VendorIntroductionService
 	private List<VendorIntroduction> getEnterpriseWithProductCondition(Long enUU, String enterpriseCondition, String productCondition, int page, int size) {
 		StringBuilder enterpriseSql = new StringBuilder();
 		// 查询所有符合条件的enUU的语句,按待售物料数量排序
-		String enUUSql = getEnUUGroupByEnUUOrderByCount(enUU, enterpriseCondition, productCondition);
+		String enUUSql = getEnUUGroupByEnUUOrderByCount(enUU, " 1 = 1 ", productCondition);
+		String noProductenUUSql = getEnUUGroupByEnUUOrderByCount(enUU, enterpriseCondition, null);
 		// 获取企业sql
 		enterpriseSql.append("select en.en_uu enUU, en.en_name enName, en.en_shortname enShortname, st.st_logo_url storeLogoUrl, en.en_logurl enLogoUrl, en.en_address enAddress, en.en_tel enTel, " +
 				" en.en_email enEmail, en.en_corporation enCorporation, en.en_businesscode enBusinesscode, en.en_industry enIndustry, en.en_Businessscope enBusinessScope " +
-				",st.st_uuid,st.st_status from sec$enterprises en left join store$info st on st.st_enuu = en.en_uu right join (").append(enUUSql)
-				.append(" ) a on en.en_uu = a.en_uu order by en.en_weight desc, counts desc");
+				",st.st_uuid,st.st_status from sec$enterprises en left join store$info st on st.st_enuu = en.en_uu right join (")
+				.append(enUUSql).append(" union ").append(noProductenUUSql)
+				.append(" ) a on en.en_uu = a.en_uu order by en.en_weight desc");
 		// 查找非供应商的卖当前商品的企业UU
 		StringBuilder vendorIntroductionUusSql = new StringBuilder();
 		// 行数 控制
@@ -230,15 +237,20 @@ public class VendorIntroductionServiceImpl implements VendorIntroductionService
 	 */
 	private Integer getTotalCount(Long enUU, String enterpriseCondition, String productCondition) {
 		StringBuilder enCountSql = new StringBuilder();
-		enCountSql.append("select count(1) from (select en_uu,count(1) from (select en_uu from sec$enterprises where en_name not like '%测试%' " +
+		enCountSql.append("select count(1) from (select distinct(en_uu) from (select en_uu from sec$enterprises where en_name not like '%测试%' " +
 				" and en_name not like '%test%' and (length(en_businesscode) > 12 or en_name like '%香港%' or en_name like '%HONG KONG%' " +
 				" or en_area like '%香港%')and (en_name not REGEXP '^[0-9]*$' and (en_name like '%ltd%' or en_name like '%limited%' or " +
-				" en_name like '%tcl%' or en_name not regexp '[\\u4e00-\\u9fa5_a-zA-Z0-9]') and ").append(enterpriseCondition).append(") and en_uu <> ")
-				.append(enUU).append(") e ");
+				" en_name like '%tcl%' or en_name not regexp '[\\u4e00-\\u9fa5_a-zA-Z0-9]') ) and ");
+		if (StringUtils.isEmpty(productCondition)) {
+			enCountSql.append(enterpriseCondition).append(" and ");
+		}
+		enCountSql.append(" en_uu <> ").append(enUU).append(") e ");
 		if (!StringUtils.isEmpty(productCondition)) {
-			enCountSql.append("right join ( select pr_enuu from v$product$private where ").append(productCondition).append(") p on pr_enuu = en_uu");
+			enCountSql.append("right join ( select pr_enuu from products where ").append(productCondition).append(") p on pr_enuu = en_uu");
+			enCountSql.append(" union select en_uu from sec$enterprises where en_name not like '%测试%'  and en_name not like '%test%' and (length(en_businesscode) > 12 or en_name like '%香港%' or en_name like '%HONG KONG%'  or en_area like '%香港%')and (en_name not REGEXP '^[0-9]*$' and (en_name like '%ltd%' or en_name like '%limited%' or  en_name like '%tcl%' or en_name not regexp '[\\u4e00-\\u9fa5_a-zA-Z0-9]') and ")
+					.append(enterpriseCondition).append(" and en_uu <> ").append(enUU).append(")");
 		}
-		enCountSql.append(" group by en_uu )a");
+		enCountSql.append(")a");
 		return commonDao.queryForObject(enCountSql.toString(), Integer.class);
 	}
 
@@ -252,15 +264,14 @@ public class VendorIntroductionServiceImpl implements VendorIntroductionService
 	private String getEnUUGroupByEnUUOrderByCount(Long enUU, String enterpriseCondition, String productCondition) {
 		StringBuilder enUUSql = new StringBuilder();
 		// 含名称、企业执照号、地址、邮箱、电话、行业、经营范围搜索
-		enUUSql.append("select en_uu, count(1) as counts from (select en_uu from sec$enterprises where en_name not like '%测试%' " +
+		enUUSql.append("select distinct(en_uu) from (select en_uu from sec$enterprises where en_name not like '%测试%' " +
 				" and en_name not like '%test%' and (length(en_businesscode) > 12 or en_name like '%香港%' or en_name like '%HONG KONG%' " +
 				" or en_area like '%香港%')and (en_name not REGEXP '^[0-9]*$' and (en_name like '%ltd%' or en_name like '%limited%' or " +
 				" en_name like '%tcl%' or en_name not regexp '[\\u4e00-\\u9fa5_a-zA-Z0-9]')) and ").append(enterpriseCondition).append(" and en_uu <> ").append(enUU)
 				.append(") e");
 		if (!StringUtils.isEmpty(productCondition)) {
-			enUUSql.append(" right join ( select pr_enuu from v$product$private where ").append(productCondition).append(") p on pr_enuu = en_uu where en_uu is not null ");
+			enUUSql.append(" right join ( select pr_enuu from products where ").append(productCondition).append(") p on pr_enuu = en_uu ");
 		}
-		enUUSql.append(" group by en_uu order by count(1) desc ");
 		return enUUSql.toString();
 	}
 }

+ 26 - 0
src/main/resources/cloud/account.properties

@@ -0,0 +1,26 @@
+### account center config, 
+account.us.save.url=https://sso.ubtob.com/api/userspace
+account.user.save.url=https://sso.ubtob.com/api/user
+account.user.getPartners.url=https://sso.ubtob.com/api/partners
+### sso config
+sso.app=mall
+# token secretkey
+sso.secretkey=0taQcW073Z7G628g5H
+sso.cookie.secure=false
+sso.cookie.browser=false
+sso.login.url=https://sso.ubtob.com
+sso.logout.url=https://sso.ubtob.com/logquit
+sso.register.url=https://sso.ubtob.com/register/enterpriseRegistration
+sso.updatePassword.url=https://sso.ubtob.com/reset/forgetPasswordValidationAccount
+sso.updateMobile.url=https://sso.ubtob.com/validation/phoneValidation
+sso.updateEmail.url=https://sso.ubtob.com/validation/emailValidation
+sso.updateQuestion.url=https://sso.ubtob.com/encrypted-setting/EncryptedSetting
+sso.realNameAuth.url=https://sso.ubtob.com/certification/realNameCertification
+#cross domain
+sso.ask.url=https://sso.ubtob.com/sso/login/ask
+sso.askout.url=https://sso.ubtob.com/sso/logout/ask
+
+sso.authcookie.secretkey=Z318866alN6gA0piuO
+sso.client.private_key=MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAIquTH9rOygR1iyMzU1CSQDXG+lJpMQgWkRWMwO3lzS+UJ3GRq1yxxD8mPFZCuItMRxP4Mvu3nvxDvsJx8lfRXk4MGswROIBPcdBAnasphN7wS5mDvDe/VBIKv+fg4j4VEnak9VUAQhS1gDtp+ZmQpCc9/gz8vueF1ueIXspAoUhAgMBAAECgYBfMP8PY1KK0Zt6nvd5NauYqQ7elg9EFJUBXU3NGmLu8Eez1NrEygk8braoy57921lffrDmKsOKvc+zn2YEoqGzbHCOuYsTDBXFCGLkj8oPeHyrs02+XuJe9j2ejhq2N04oP/TMxerFeyWnHdRCNXECrthqhwTRmGitnj2/+FLVAQJBAM93HY/5HoFlfRv9zjFy72ft/ZC60jHERXwyumbFs8z/x8sHCY1GWfgGhm1ShE1bDWAPY3W9WCFsx6nOETsHajECQQCrH8Dl7IIIHJ5D0TDisFkePnYELxpmOGlPwPOQ7hyLAdW4aB1fVIpjsWmgGOyPvmhK+b99XeLUbwpxVU7AAB3xAkAJNxJCFd+sAbUH7EMfYSqPJDwSFKpHeZ9Yf+xVqkxtO6NFOl/LPae7Y5bO/k5QHU4/yQ8y6KEkgu9vdG7Bf3fRAkEAiDlX6vDytphpmN0PyHXQC9Z3Rm9k2ZjwpM+aVXZn/HSyeQFQ2JHJNQGHby5IK0nNZloYiSlTJ/9ZVc0uSoQNUQJBAJFix2tD7b0Zq82xpeGt81rhXsofuerq1x9WM5UyYILCKJMHZw5lt58snINVzA7JxV+l60dbIgJjmRYm0yxQIAY=
+sso.client.public_key=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCKrkx/azsoEdYsjM1NQkkA1xvpSaTEIFpEVjMDt5c0vlCdxkatcscQ/JjxWQriLTEcT+DL7t578Q77CcfJX0V5ODBrMETiAT3HQQJ2rKYTe8EuZg7w3v1QSCr/n4OI+FRJ2pPVVAEIUtYA7afmZkKQnPf4M/L7nhdbniF7KQKFIQIDAQAB
+sso.center.public_key=MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAL2g7CEfuPZtEDy7Iz5AL6iwbHZewWGUBYUWxKnFAwAW4lY8mMavn5Ke5mB25eKj5bvUsB48r8gWTvJNsKRGEw8CAwEAAQ==

+ 5 - 0
src/main/resources/cloud/email.properties

@@ -0,0 +1,5 @@
+email.host=smtp.mxhichina.com
+email.port=25
+email.username=admin@usoftchina.com
+email.password=Youruan888
+email.from=admin@usoftchina.com

+ 13 - 0
src/main/resources/cloud/jdbc.properties

@@ -0,0 +1,13 @@
+jdbc.driverClassName=com.mysql.jdbc.Driver
+jdbc.url=7e5ef205e2ff4ca46e29823f9c378880524d69d6c11d8c1c3688f4f0b3712ba1385b2cecff54843db21897fe0c75f0a36c7921cab8fadf398fa33412ca529b7f04233bf4ae6fd3870626fa79ef7f87cb7a8905195ea37bd042b530659d0e82dda7359ee0139e0d6fb23654ba47f5f4b8c682a3c72b9d81e7
+jdbc.username=73f3cd5578b9e08b
+jdbc.password=ee922d9f0e792f87e6dff054a282692d
+jdbc.initialSize=1
+jdbc.maxActive=100
+jdbc.maxIdle=50
+jdbc.minIdle=50
+jdbc.suspectTimeout=60
+jdbc.timeBetweenEvictionRunsMillis=30000
+jdbc.minEvictableIdleTimeMillis=60000
+jdbc.validationQuery=SELECT 1
+jdbc.testWhileIdle=true

+ 8 - 0
src/main/resources/cloud/kafka.properties

@@ -0,0 +1,8 @@
+kafka.bootstrap.servers=10.10.100.11:9092
+kafka.acks=all
+kafka.retries=0
+kafka.batch.size=16384
+kafka.linger.ms=1
+kafka.buffer.memory=33554432
+
+mq.topic.prefix=/uas/b2c/

+ 11 - 0
src/main/resources/cloud/message.properties

@@ -0,0 +1,11 @@
+tplNotifySupplierAfterCommit=3c70dd8f-0e1e-4aec-bd7f-c360a506f35e
+plaformB2cAuditRemindTemplateId=774296f3-a260-4bb5-b4eb-6f01090dadf3
+plaformB2cBrandApprovedTemplateId=5b5effdf-5562-45f7-9021-18f21e29bec6
+plaformB2cBrandUnproveTemplateId=03b3d658-cd92-43a0-a53f-103492cfc595
+plaformB2cComponentApprovedTemplateId=36812a85-d0f9-4d2a-a7aa-62319f092b6f
+plaformB2cComponentUnproveTemplateId=6228240a-93ba-405f-851c-f874a6c99864
+plaformB2cSupplyChainTemplateId=b28337ba-f115-4f11-b457-15d558443160
+inviteVendorMailTemplateId=9028790a-9fc0-4759-a2df-8c26a7f3aa9a
+tplAfterBeAddedtoB2C=b9dee589-9fd8-45d3-9b2a-64b56d65e7e2
+
+messagePublicServiceDevUrl=https://api-message.ubtob.com/

+ 2 - 0
src/main/resources/cloud/redis.properties

@@ -0,0 +1,2 @@
+redis.host=10.10.0.200
+redis.port=6379

+ 27 - 0
src/main/resources/cloud/redisson.yaml

@@ -0,0 +1,27 @@
+# redisson configuration for redis servers
+# see : https://github.com/mrniko/redisson/wiki/2.-Configuration
+
+singleServerConfig:
+  idleConnectionTimeout: 10000
+  pingTimeout: 1000
+  connectTimeout: 1000
+  timeout: 1000
+  retryAttempts: 3
+  retryInterval: 1000
+  reconnectionTimeout: 3000
+  failedAttempts: 3
+  password: null
+  subscriptionsPerConnection: 5
+  clientName: null
+  address: ["redis://10.10.0.200:6379"]
+  subscriptionConnectionMinimumIdleSize: 1
+  subscriptionConnectionPoolSize: 25
+  connectionMinimumIdleSize: 5
+  connectionPoolSize: 100
+  database: 0
+  dnsMonitoring: false
+  dnsMonitoringInterval: 5000
+threads: 0
+codec: !<org.redisson.codec.SnappyCodec> {}
+useLinuxNativeEpoll: false
+eventLoopGroup: null

+ 60 - 0
src/main/resources/cloud/sys.properties

@@ -0,0 +1,60 @@
+profile=prod
+rebuildIndexesOnRefresh=false
+listenOnIndexChange=false
+#path
+#for mongodb+gridFS+nginx
+imageUri=http://113.105.74.140/images/
+manageInner=http://10.10.100.81:8080
+im=http://113.105.74.131:8092
+b2c=http://www.ubtoc.com
+#file path
+outputFile=/var/log/b2c_sys_out.log
+#enUU and adminUU for the System Mall
+enUU=10042875
+adminUU=1000002821
+adminName=\u5218\u840C\u51B0
+storeid = 33069557578d44e69bd91ad12d28a8d4
+enName=\u6DF1\u5733\u5E02\u4F18\u8F6F\u5546\u57CE\u79D1\u6280\u6709\u9650\u516C\u53F8
+
+# YesPay config
+yes_gateway=https://openapi.ysepay.com/gateway.do
+notifyURL=https://www.usoftmall.com/api/payment/ysepayNotify
+returnUrl=https://www.usoftmall.com/api/yesreturn
+paymentPrice=prod
+orderProxyUrl=https://www.usoftmall.com/order/proxy
+#report url
+reportPrintUrl=https://print.usoftmall.com/print?userName=B2C&profile=${profile}&reportName=%s&whereCondition=%s
+reportUploadUrl=http://print.ubtob.com/report/fileUpload?userName=B2C
+# micro service IP(Swarm Manager IP)
+microServiceIp=10.10.100.23
+newsMicroServiceIp=news.usoftchina.com
+newsRedisRefresh=300
+floorMicroServiceIp=10.10.0.30
+carouselMicroServiceIp=10.10.0.188
+storecmsMicroServiceIp=10.10.0.30
+endpointUri=10.10.100.23
+recommendPort=20100
+# upload file
+uploadFileUrl=http://dfs-api.ubtob.com
+# search file
+searchUrl=http://10.10.0.76:8081
+
+# message ip
+messageServiceIp=http://message.ubtob.com/
+# product public ip
+productServiceIp=http://10.10.0.197:8080
+
+# 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
+
+#inquiry service url
+inquiryServiceUrl=https://api-inquiry.usoftmall.com
+inquiryServiceInnerUrl=http://10.10.0.254:8080
+
+#public message  service url
+messageServiceUrl=http://api-message.ubtob.com/
+
+#b2b
+b2b=http://uas.ubtob.com
+b2bDomain=uas.ubtob.com
+b2bInner=http://10.10.100.103:8080

+ 3 - 1
src/main/webapp/WEB-INF/views/normal/activity.html

@@ -33,7 +33,9 @@
 <!-- 消息提示框 End -->
 <!-- Loading Start -->
 <div id="loading" class="loading">
-    <i></i>
+    <div class="wrap">
+        <div class="outer"></div>
+    </div>
 </div>
 <!-- Loading End -->
 <!-- 最顶部站点导航 -->

+ 3 - 1
src/main/webapp/WEB-INF/views/normal/admin.html

@@ -64,7 +64,9 @@
 	<!-- 消息提示框 End -->
 	<!-- Loading Start -->
 	<div id="loading" class="loading">
-		<i></i>
+		<div class="wrap">
+			<div class="outer"></div>
+		</div>
 	</div>
 	<!-- Loading End -->
 </body>

+ 3 - 1
src/main/webapp/WEB-INF/views/normal/adminWithNav.html

@@ -287,7 +287,9 @@
 	<!-- 消息提示框 End -->
 	<!-- Loading Start -->
 	<div id="loading" class="loading">
-		<i></i>
+		<div class="wrap">
+			<div class="outer"></div>
+		</div>
 	</div>
 	<!-- Loading End -->
 

+ 3 - 1
src/main/webapp/WEB-INF/views/normal/commonSearch.html

@@ -22,7 +22,9 @@
 	<!-- 消息提示框 End -->
 	<!-- Loading Start -->
 	<div id="loading" class="loading">
-		<i></i>
+		<div class="wrap">
+			<div class="outer"></div>
+		</div>
 	</div>
 	<!-- Loading End -->
 

+ 3 - 1
src/main/webapp/WEB-INF/views/normal/erp/user_center.html

@@ -31,7 +31,9 @@
 	<!-- 消息提示框 End -->
 	<!-- Loading Start -->
 	<div id="loading" class="loading">
-		<i></i>
+		<div class="wrap">
+			<div class="outer"></div>
+		</div>
 	</div>
 	<!-- Loading End -->
 

+ 3 - 1
src/main/webapp/WEB-INF/views/normal/erp/vendor_center.html

@@ -28,7 +28,9 @@
 	<!-- 消息提示框 End -->
 	<!-- Loading Start -->
 	<div id="loading" class="loading">
-		<i></i>
+		<div class="wrap">
+			<div class="outer"></div>
+		</div>
 	</div>
 	<!-- Loading End -->
 

+ 3 - 1
src/main/webapp/WEB-INF/views/normal/help.html

@@ -57,7 +57,9 @@
 	
 	<!-- Loading Start -->
 	<div id="loading" class="loading">
-		<i></i>
+		<div class="wrap">
+			<div class="outer"></div>
+		</div>
 	</div>
 	<!-- Loading End -->
 	

+ 4 - 2
src/main/webapp/WEB-INF/views/normal/index.html

@@ -8,7 +8,7 @@
 <title>【优软商城】IC电子元器件现货采购交易平台商城</title>
 <meta name="description" content="优软商城(usoftmall.com)是中国领先的IC电子元器件现货采购交易网上商城,提供上千万种电子元器件现货采购交易。优软商城的主要服务有:标准器件库、器件选型、样品申请、现货交易、库存寄售,采购电子元器件就上优软商城!" />
 <meta name="keywords" content="优软商城,IC,元器件,网上商城" />
-<meta name="author" content="深圳优软商城科技有限公司">
+<meta name="author" content="深圳优软商城科技有限公司">
 <link href="static/img/all/u.png" rel="icon" type="image/x-icon" />
 <link rel="stylesheet" href="static/lib/bootstrap/css/bootstrap.min.css" />
 <link rel="stylesheet" href="static/lib/fontawesome/css/font-awesome.min.css" />
@@ -23,7 +23,9 @@
 	<!-- 消息提示框 End -->
 	<!-- Loading Start -->
 	<div id="loading" class="loading">
-		<i></i>
+		<div class="wrap">
+			<div class="outer"></div>
+		</div>
 	</div>
 	<!-- Loading End -->
 

+ 3 - 1
src/main/webapp/WEB-INF/views/normal/news.html

@@ -32,7 +32,9 @@
 <!-- 消息提示框 End -->
 <!-- Loading Start -->
 <div id="loading" class="loading">
-	<i></i>
+	<div class="wrap">
+		<div class="outer"></div>
+	</div>
 </div>
 <!-- Loading End -->
 <!-- 最顶部站点导航 -->

+ 3 - 1
src/main/webapp/WEB-INF/views/normal/product.html

@@ -33,7 +33,9 @@
 	<!-- 消息提示框 End -->
 	<!-- Loading Start -->
 	<div id="loading" class="loading">
-		<i></i>
+		<div class="wrap">
+			<div class="outer"></div>
+		</div>
 	</div>
 	<!-- Loading End -->
 	<!-- 最顶部站点导航 -->

+ 3 - 1
src/main/webapp/WEB-INF/views/normal/products.html

@@ -24,7 +24,9 @@
 	<!-- 消息提示框 End -->
 	<!-- Loading Start -->
 	<div id="loading" class="loading">
-		<i></i>
+		<div class="wrap">
+			<div class="outer"></div>
+		</div>
 	</div>
 	<!-- Loading End -->
 	

+ 3 - 1
src/main/webapp/WEB-INF/views/normal/provider_list.html

@@ -24,7 +24,9 @@
 	<!-- 消息提示框 End -->
 	<!-- Loading Start -->
 	<div id="loading" class="loading">
-		<i></i>
+		<div class="wrap">
+			<div class="outer"></div>
+		</div>
 	</div>
 	<!-- Loading End -->
 

+ 3 - 1
src/main/webapp/WEB-INF/views/normal/sso.html

@@ -35,7 +35,9 @@
 	<!-- 消息提示框 End -->
 	<!-- Loading Start -->
 	<div id="loading" class="loading">
-		<i></i>
+		<div class="wrap">
+			<div class="outer"></div>
+		</div>
 	</div>
 	<!-- Loading End -->
 	<header>

+ 3 - 1
src/main/webapp/WEB-INF/views/normal/store_close.html

@@ -24,7 +24,9 @@
 	<!-- 消息提示框 End -->
 	<!-- Loading Start -->
 	<div id="loading" class="loading">
-		<i></i>
+		<div class="wrap">
+			<div class="outer"></div>
+		</div>
 	</div>
 	<!-- Loading End -->
 

+ 3 - 1
src/main/webapp/WEB-INF/views/normal/store_default.html

@@ -24,7 +24,9 @@
 	<!-- 消息提示框 End -->
 	<!-- Loading Start -->
 	<div id="loading" class="loading">
-		<i></i>
+		<div class="wrap">
+			<div class="outer"></div>
+		</div>
 	</div>
 	<!-- Loading End -->
 

+ 3 - 1
src/main/webapp/WEB-INF/views/normal/store_none.html

@@ -24,7 +24,9 @@
 	<!-- 消息提示框 End -->
 	<!-- Loading Start -->
 	<div id="loading" class="loading">
-		<i></i>
+		<div class="wrap">
+			<div class="outer"></div>
+		</div>
 	</div>
 	<!-- Loading End -->
 

+ 3 - 1
src/main/webapp/WEB-INF/views/normal/user_center.html

@@ -34,7 +34,9 @@
 	<!-- 消息提示框 End -->
 	<!-- Loading Start -->
 	<div id="loading" class="loading">
-		<i></i>
+		<div class="wrap">
+			<div class="outer"></div>
+		</div>
 	</div>
 	<!-- Loading End -->
 	<header>

+ 3 - 1
src/main/webapp/WEB-INF/views/normal/vendor_center.html

@@ -29,7 +29,9 @@
 	<!-- 消息提示框 End -->
 	<!-- Loading Start -->
 	<div id="loading" class="loading">
-		<i></i>
+		<div class="wrap">
+			<div class="outer"></div>
+		</div>
 	</div>
 	<!-- Loading End -->
 

+ 14 - 0
src/main/webapp/resources/css/common.css

@@ -425,6 +425,14 @@ input.ng-invalid.ng-dirty,textarea.ng-invalid.ng-dirty {
     opacity: .3;
 }
 
+@keyframes spin {
+	0%   { transform: rotate(360deg); }
+	100% { transform: rotate(0deg); }
+}
+@-webkit-keyframes spin {
+	0%   { transform: rotate(360deg); }
+	100% { transform: rotate(0deg); }
+}
 /*loading new by suntg*/
 .loading {
 	display: none;
@@ -434,6 +442,12 @@ input.ng-invalid.ng-dirty,textarea.ng-invalid.ng-dirty {
 	top: 0;
 	left: 0;
 }
+.loading .wrap {
+	width: 64px; height: 64px; position: absolute;left: 50%;top:50%;margin-left:-32px;margin-top: -32px;
+}
+.loading .wrap .outer {
+	background-repeat: no-repeat;
+	background-size:100%; position: absolute; width: 100%; height: 100%; background-image: url('../img/all/loading.png'); animation: spin 800ms infinite linear;}
 
 .loading.in {
 	display: block;

BIN
src/main/webapp/resources/img/all/loading.png


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

@@ -51,6 +51,13 @@ define(['ngResource'], function(ngResource) {
 				params : {
 					type : 'sup'
 				}
+			},
+			getTotalTransferMoney: {
+				url: '/trade/transfer/vendor/bankTransfer/ledger',
+				method: 'GET',
+				params: {
+					type: 'sup'
+				}
 			}
 		});
 	}]);

+ 1 - 0
src/main/webapp/resources/js/common/query/recommendation.js

@@ -18,6 +18,7 @@ define(['ngResource'], function () {
          getRecommendComps: {
              url: 'recommendation/comps',
              method: 'GET',
+             isArray: true
          }
 
       })

+ 21 - 16
src/main/webapp/resources/js/sso/controllers/staffManagementCtrl.js

@@ -23,6 +23,15 @@ define(['app/app'], function (app) {
             keyword: ''
         };
 
+        if ($scope.isAdmin) {
+            User.isDevOrProd(null, function (data) {
+                // $scope.isProd = data.data;
+                $scope.urlPrex = data.data == 'success' ? 'https://sso.ubtob.com' : 'http://192.168.253.6:32323';
+                applyToEnterpriseTableParams();
+            }, function (response) {
+                toaster.pop('error', '获取运行环境失败');
+            });
+        }
         //table设置
         var applyToEnterpriseTableParams = function () {
             $scope.applyToEnterpriseTableParams = new ngTableParams({
@@ -38,6 +47,7 @@ define(['app/app'], function (app) {
                             return;
                         }
                     }
+                    console.log('12', param)
                     //param.page = param.page;
                     param.size = param.count;
                     param.speaceUU = $scope.userInfo.enterprise.uu;
@@ -57,12 +67,13 @@ define(['app/app'], function (app) {
                             status: param.status,
                             keyword: param.keyword
                         }
-                    }).success(function (page) {
-                        params.total(page.content.totalElements);
-                        $scope.page = page.content;
-                        $scope.totalPages = page.content.totalPages;
-                        $scope.content = page.content.content;
-                        $scope.totalElements = page.content.totalElements;
+                    }).success(function (data) {
+                        params.total(data.content.totalElements);
+                        $defer.resolve(data.content.content);
+                        $scope.page = data.content
+                        $scope.totalPages = data.content.totalPages;
+                        $scope.content = data.content.content;
+                        $scope.totalElements = data.content.totalElements;
                     }).error(function (response) {
                         toaster.pop('error', '获取未处理审批数据失败');
                     });
@@ -82,16 +93,6 @@ define(['app/app'], function (app) {
                 }
             });
         };
-
-        if ($scope.isAdmin) {
-            User.isDevOrProd(null, function (data) {
-                // $scope.isProd = data.data;
-                $scope.urlPrex = data.data == 'success' ? 'https://sso.ubtob.com' : 'http://192.168.253.6:32323';
-                applyToEnterpriseTableParams();
-            }, function (response) {
-                toaster.pop('error', '获取运行环境失败');
-            });
-        }
         // 申请
         $scope.auditApply = function (status, id, UU) {
             var param = {
@@ -218,6 +219,10 @@ define(['app/app'], function (app) {
          * 添加未注册用户
          */
         $scope.addUser = function () {
+            if (!$scope.newUser.userName) {
+                toaster.pop('error', '请输入用户名信息');
+                return;
+            }
             if (!$scope.userEmailSuccess || !$scope.userTelSuccess) {
                 toaster.pop('error', '请输入正确的信息后提交');
                 return;

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

@@ -7,14 +7,14 @@ define(['app/app', 'calendar'], function(app) {
         $rootScope.active = 'home';
         document.title='买家中心-优软商城';
         $scope.userInfo = $rootScope.userInfo;
-        var getRecommendComps = function (userUU, usedFor, pageable) {
-            Recommendation.getRecommendComps({page: pageable.page, size: pageable.size}, function (data) {
-                $scope.recommendComps = data.content;
+        var getRecommendComps = function () {
+            Recommendation.getRecommendComps([], function (data) {
+                $scope.recommendComps = data;
             }, function (error) {
                 toaster.pop('error', '获取推荐器件失败', error);
-            })
+            });
         };
-        getRecommendComps(null, null, {page: 0, size: 12});
+        getRecommendComps();
 
         //安全设置提醒框
       // $scope.openHomeCenterModel = function() {

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

@@ -645,7 +645,7 @@ define([ 'app/app' ], function(app) {
 							return;
 						}
 						imageArray.push($scope.imagesList[i].imageUrl);
-					} else if ($scope.type == "PAIDTOVENDOR" && $scope.imagesList[i].imageUrl == '') {
+					} else if ($scope.type == "PAIDTOVENDOR" && !$scope.imagesList[i].imageUrl) {
 						if ($scope.diliverPrice[i] != '') {
 							toaster.pop('info','提示','请输入付款金额对应的付款截图');
 							return;

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

@@ -270,7 +270,7 @@ define(['app/app', 'clipboard', 'QRCode'], function (app, clipboard, QRCode) {
           $scope.checkProdTitle = function () {
               $scope.validObj.prodTitle = $scope.applyObj.prodTitle && $scope.applyObj.prodTitle !== '';
               if (!$scope.validObj.prodTitle) {
-                  toaster.pop('error', '类目不能为空');
+                  toaster.pop('error', '物料名称不能为空');
               }
               return $scope.validObj.prodTitle;
           }
@@ -1026,8 +1026,29 @@ define(['app/app', 'clipboard', 'QRCode'], function (app, clipboard, QRCode) {
           }
           
           $scope.setCode = function (code) {
-            $scope.applyObj.code = code;
-            $scope.setShowSimilarCodeList(false);
+              $http.get('search/201819', {
+                  params : {
+                      page: 1,
+                      count: 1,
+                      type: 'component',
+                      keyword: code
+                  }
+              }).success(function(res){
+                  if (res && res.futures && res.futures.content) {
+                      var obj = res.futures.content[0]
+                      if (obj) {
+                          $scope.applyObj.brand = obj.pbrand || obj.pbranden || ''
+                          $scope.applyObj.prodTitle = obj.kind || obj.kinden || ''
+                          $scope.applyObj.spec = obj.spec || ''
+                      }
+                  }
+                  $scope.applyObj.code = code;
+                  $scope.setShowSimilarCodeList(false);
+              }).error(function(response) {
+                  toaster.pop('info', response.data || '自动填充物料信息失败');
+                  $scope.applyObj.code = code;
+                  $scope.setShowSimilarCodeList(false);
+              });
           }
 
           $scope.setShowSimilarCodeList = function (flag) {

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

@@ -22,6 +22,19 @@ define(['app/app'], function(app) {
         $scope.paytype = 'ALL';
         $scope.$$transfer = {};
 
+        var getTransferMoney = function () {
+            bankTransferService.getTotalTransferMoney({}, function (data) {
+                if (data.code == 1) {
+                    $scope.totalPrice = data.data;
+                } else {
+                    toaster.pop('error', data.message || '获取收入总额失败');
+                }
+            }, function (error) {
+                toaster.pop('error', error.data || '获取收入总额失败');
+            })
+        }
+        getTransferMoney();
+
         var getTradeRecordInfo = function () {
             $scope.tradeRecordTableParams = new ngTableParams({
                 page : 1,
@@ -49,7 +62,7 @@ define(['app/app'], function(app) {
                                 $scope.currencySymbol = $scope.bankTransRecore[0].currencyName;
                             }
                             var pageObject = page.data.data;
-                            $scope.totalPrice = page.data.total;
+                            // $scope.totalPrice = page.data.total;
                             angular.forEach($scope.bankTransRecode, function (bankT) {
                                 bankT.jsonReceive = angular.fromJson(bankT.jsonReceive);
                             });

+ 1 - 1
src/main/webapp/resources/view/activity/business.html

@@ -6,7 +6,7 @@
         <div class="content">
             <h3>优软商城</h3>
             <div class="text">
-                优软商城是由深圳优软商城科技有限公司,为真正地解决电子信息行业的众多难题,秉持回归互联网精神的“分享与链接”,<br/>
+                优软商城是由深圳优软商城科技有限公司,为真正地解决电子信息行业的众多难题,秉持回归互联网精神的“分享与链接”,<br/>
                 基于垂直细分理念打造的一个独立的第三方电子交易商城。目前优软商城已经收录了3000家的原厂品牌,700多万现货型号.<br/>
                 针对电子信息行业的难题,优软商城将为客户提供更简单,更放心的解决方案。<br/>
                 我们严格把关供应商资质,从源头上杜绝虚假信息,做到付款交期如实,借助物流仓储的一站式服务帮您实现交易高效、库存无忧。<br/>

+ 4 - 4
src/main/webapp/resources/view/admin/store/fragments/enterprise_info.html

@@ -201,7 +201,7 @@
 	}
 </style>
 <div class="enterprise-info" ng-controller="EnterpriseInfoCtrl">
-	<h2 ng-bind="store.enterprise.enName">深圳优软商城科技有限公司</h2>
+	<h2 ng-bind="store.enterprise.enName">深圳优软商城科技有限公司</h2>
 	<div class="enterprise-lnfo-list">
 		<div class="row">
 			<div class="col-md-2">电话</div>
@@ -218,7 +218,7 @@
 		<div class="hr1"></div>
 		<div class="row">
 			<div class="col-md-2">企业全称</div>
-			<div class="col-md-4" ng-bind="store.enterprise.enName">深圳优软商城科技有限公司</div>
+			<div class="col-md-4" ng-bind="store.enterprise.enName">深圳优软商城科技有限公司</div>
 			<div class="col-md-2">法定代表人</div>
 			<div class="col-md-4" ng-bind="store.auditInfo.representative"></div>
 		</div>
@@ -239,13 +239,13 @@
 		</div>
 		<div class="row">
 			<div class="col-md-2">名称</div>
-			<div class="col-md-4" ng-bind="store.auditInfo.name">深圳优软商城科技有限公司</div>
+			<div class="col-md-4" ng-bind="store.auditInfo.name">深圳优软商城科技有限公司</div>
 			<div class="col-md-2">成立时间</div>
 			<div class="col-md-4" ng-bind="store.auditInfo.setUpDate">2017年8月10日</div>
 		</div>
 		<div class="row">
 			<div class="col-md-2">类型</div>
-			<div class="col-md-4" ng-bind="store.auditInfo.type">深圳优软商城科技有限公司</div>
+			<div class="col-md-4" ng-bind="store.auditInfo.type">深圳优软商城科技有限公司</div>
 			<div class="col-md-2">经营范围</div>
 			<div class="col-md-4" ng-bind="store.auditInfo.businessScope">电子零配件</div>
 		</div>

+ 1 - 1
src/main/webapp/resources/view/admin/store/store_company_list.html

@@ -164,7 +164,7 @@
                 <tr ng-repeat="enterprise in $data">
                     <td ng-bind="((recordsTableParams.page() - 1) * 10 + $index + 1) | indexId">001</td>
                     <td ng-bind="enterprise.uu">001001001001</td>
-                    <td class="text-left padding-left-30" ng-bind="enterprise.enName">深圳优软商城科技有限公司商城科技有限公司</td>
+                    <td class="text-left padding-left-30" ng-bind="enterprise.enName">深圳优软商城科技有限公司商城科技有限公司</td>
                     <td ng-bind="enterprise.enDate | date:'yyyy-MM-dd HH:mm:ss'">2017-05-09 10:28:30</td>
                     <td><a ng-click="goDetailPage(enterprise)" class="detail-bg btn">查看详情</a></td>
                 </tr>

+ 1 - 1
src/main/webapp/resources/view/admin/store_qualification_maintenance.html

@@ -360,7 +360,7 @@
 		<div class="qualification-list01">
 			<div class="row">
 				<div class="col-sm-2">企业全称</div>
-				<div class="col-sm-10" ng-bind="application.storeName">深圳优软商城科技有限公司</div>
+				<div class="col-sm-10" ng-bind="application.storeName">深圳优软商城科技有限公司</div>
 			</div>
 			<div class="row">
 				<div class="col-sm-2">企业简称</div>

+ 1 - 1
src/main/webapp/resources/view/admin/trade/trade_order.html

@@ -203,7 +203,7 @@
 							<td class="text-center"><span ng-bind="order.selfSell ? '自营' : '代售'"></span></td>
 							<td class="text-center">{{order.buyername}}</td>
 							<td class="text-center">{{order.sellername}}</td>
-							<td class="text-center text-inverse">{{order.currency}} &nbsp;{{order.price | number : 3}}</td>
+							<td class="text-center text-inverse">{{order.currency}} &nbsp;{{order.ensurePrice | number : 3}}</td>
 							<td class="text-center">{{order.qty}}</td>
 							<td class="text-center">{{order.creattime | date: "yyyy-MM-dd HH:mm"}}</td>
 							<td class="text-center">{{order.status | statusAndTypeFilter}}</td>

+ 2 - 2
src/main/webapp/resources/view/help/bankTransfer.html

@@ -33,7 +33,7 @@
 				<div class="col-xs-2">付款账号1:</div>	
 				<div class="col-xs-10">
 					<div>
-					<div>企业名称:深圳优软商城科技有限公司</div>
+					<div>企业名称:深圳优软商城科技有限公司</div>
 					<div>开户银行:中国工商银行深圳侨香支行</div>
 					<div>账号:4000051309100150003</div>
 					</div>
@@ -43,7 +43,7 @@
 				<div class="col-xs-2">付款账号2:</div>	
 				<div class="col-xs-10">
 					<div>
-						<div>企业名称:深圳优软商城科技有限公司</div>
+						<div>企业名称:深圳优软商城科技有限公司</div>
 						<div>开户银行:平安银行深圳高新区支行</div>
 						<div>账号:11017374946005</div>
 					</div>

+ 1 - 1
src/main/webapp/resources/view/help/coperation.html

@@ -34,7 +34,7 @@
 
 <div class="item1">
 	<div><img alt="" src="static/img/logo/uas_mall_hor.png"></div>
-	<h3>深圳优软商城科技有限公司</h3>
+	<h3>深圳优软商城科技有限公司</h3>
 </div>
 <div class="item2">
 	<h4>公司地址:深圳市南山区高新技术园科技南五路英唐大厦六楼</h4>

+ 1 - 1
src/main/webapp/resources/view/help/faBill.html

@@ -155,7 +155,7 @@
 					</li>
 				</ol>
 				<p class="mt10">
-					© 2016 深圳优软商城科技有限公司 所有权利予以保留。
+					© 2016 深圳优软商城科技有限公司 所有权利予以保留。
 				</p>
 				<p class="mt10">
 					谢谢您的配合,祝您购物愉快!

+ 1 - 1
src/main/webapp/resources/view/prod/order_ensure.html

@@ -886,7 +886,7 @@ table .before-blank, .table-bordered>tbody>tr>td.before-blank, .table-bordered>t
                                 <!-- <span ng-cloak>银行:{{saleUSDAccount.bankname}}</span><br>
                                 <span ng-cloak>账户名称:{{saleUSDAccount.accountname}}</span><br>
                                 <span ng-cloak>账号:{{saleUSDAccount.number}}<span> -->
-                                企业名称:深圳优软商城科技有限公司<br>
+                                企业名称:深圳优软商城科技有限公司<br>
                                 联系方式:0755-86564892<br>
                             </div>
                         </td>

+ 1 - 1
src/main/webapp/resources/view/prod/order_ensure_with_multi_currency.html

@@ -1125,7 +1125,7 @@
 						   		<!-- <span ng-cloak>银行:{{saleUSDAccount.bankname}}</span><br>
 						   		<span ng-cloak>账户名称:{{saleUSDAccount.accountname}}</span><br>
 						   		<span ng-cloak>账号:{{saleUSDAccount.number}}<span> -->
-						   		企业名称:深圳优软商城科技有限公司<br>
+						   		企业名称:深圳优软商城科技有限公司<br>
 						   		联系方式:0755-86564892<br>
 						   	</div>
 						</div>

+ 1 - 1
src/main/webapp/resources/view/sso/forstore/ssoCenter.html

@@ -181,7 +181,7 @@
         <div class="data_analyze bind-enter" ng-if="isAdmin">
             <div class="com_menu01">
                 <span>企业绑定申请</span>
-                <a class="pull-right" ng-show="totalElements > 5" ng-href="sso#/apply">查看更多</a>
+                <a class="pull-right" ng-show="totalElements > 5" ng-href="sso#/management">查看更多</a>
             </div>
             <table class="bind-enter-tab">
                 <thead>

+ 7 - 7
src/main/webapp/resources/view/usercenter/forstore/seekPurchase.html

@@ -936,6 +936,13 @@
         <div class="publish-purchase">
             <div class="fl">
                 <p>单个发布</p>
+                <div class="form-block">
+                    <span><i>*</i>型号</span>
+                    <input type="text" class="form-group" ng-model="applyObj.code" ng-class="{'error': !validObj.code}" ng-blur="checkCode()" ng-change="onCodeChange()" >
+                    <ul class="similar-list" ng-show="showSimilarCodeList" ng-mouseenter="isInCodeList = true;" ng-mouseleave="isInCodeList = false;">
+                        <li ng-repeat="sCode in similarCode" ng-bind="sCode.code" title="{{sCode.code}}" ng-click="setCode(sCode.code)"></li>
+                    </ul>
+                </div>
                 <div class="form-block">
                     <span><i>*</i>品牌</span>
                     <input type="text" class="form-group" ng-class="{'error': !validObj.brand}" maxlength="20" ng-model="applyObj.brand" ng-blur="checkBrand()" ng-change="onBrandChange()">
@@ -947,13 +954,6 @@
                     <span><i>*</i>物料名称</span>
                     <input type="text" class="form-group" ng-model="applyObj.prodTitle" ng-class="{'error': !validObj.prodTitle}" ng-change="onProdTitleInput()" ng-blur="checkProdTitle()">
                 </div>
-                <div class="form-block">
-                    <span><i>*</i>型号</span>
-                    <input type="text" class="form-group" ng-model="applyObj.code" ng-class="{'error': !validObj.code}" ng-blur="checkCode()" ng-change="onCodeChange()" >
-                    <ul class="similar-list" ng-show="showSimilarCodeList" ng-mouseenter="isInCodeList = true;" ng-mouseleave="isInCodeList = false;">
-                        <li ng-repeat="sCode in similarCode" ng-bind="sCode.code" title="{{sCode.code}}" ng-click="setCode(sCode.code)"></li>
-                    </ul>
-                </div>
 
                <!-- <div class="form-block single-price">
                     <span>单价预算</span>

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

@@ -906,7 +906,7 @@
 				</p>
 				<p>
 					<b>发票抬头:</b>
-					<span ng-bind="purchase.invoicetitle  || '空'">深圳优软商城科技有限公司</span>
+					<span ng-bind="purchase.invoicetitle  || '空'">深圳优软商城科技有限公司</span>
 				</p>
 				<p ng-if="purchase.invoicetype == 1205">
 					<b>单位地址:</b>

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

@@ -626,93 +626,93 @@
                             </div>-->
                         </div>
                         <div class="txt-info" ng-if="result && result.total != 0 && !hadImport && $$productOn.tab != 'bathOnPerson'">成功导入 <span ng-bind="result.success + result.failure">600</span> 个产品(其中标准产品 <span ng-bind="result.success">200</span> 个,非标产品 <span ng-bind="result.failure">400</span> 个)<b class="success-hidden" ng-if="result.filter != 0">,下载 <a ng-click="downloadExcel()">导入失败产品</a></b></div>
-                        <div ng-show="$$productOn.tab == 'bathOn'">
-                            <table ng-table="relTableParams" class="public-tab table">
-                                <thead>
-                                <tr>
-                                    <th width="60">序号</th>
-                                    <th width="150" style="padding-left: 10px;">器件属性</th>
-                                    <th width="180">产品固有属性</th>
-                                    <th width="200">产品自定义属性</th>
-                                    <th width="100">梯度/pcs</th>
-                                    <th width="100">单价(<em ng-bind="batch.currency == 'RMB' ? '¥' : '$'"></em>)</th>
-                                    <th width="70">操作</th>
-                                </tr>
-                                </thead>
-                                <tbody>
-                                <tr ng-repeat="batchCommodity in pageParams.content">
-                                    <td class="check-input">
-                                        <!--<span><input type="checkbox" id="{{$index+1}}"/><label for="{{$index+1}}"></label><br/></span>-->
-                                        <span ng-bind="$index+1"></span>
-                                    </td>
-                                    <td style="padding-left: 10px;">
-                                        <div class="text-more">品牌:&nbsp;<em title="{{batchCommodity.b2cBranden || '空'}}" ng-bind="batchCommodity.b2cBranden || '空'"></em></div>
-                                        <div class="text-more">物料名称:&nbsp;<em title="{{batchCommodity.kindName || '空'}}" ng-bind="batchCommodity.kindName || '空'"></em></div>
-                                        <div class="text-more">型号:&nbsp;<em title="{{batchCommodity.b2cCode || '空'}}" ng-bind="batchCommodity.b2cCode || '空'"></em></div>
-                                        <div class="text-more">规格:&nbsp;<em title="{{batchCommodity.spec || '空'}}" ng-bind="batchCommodity.spec || '空'"></em></div>
-                                    </td>
-                                    <td>
-                                        <!--<div>类型:&nbsp;<span ng-bind="batchCommodity.original == 1311 ? '现货' : '呆滞库存' "></span></div>-->
-                                        <div>生产日期:&nbsp;<span ng-bind="batchCommodity.productDate"></span></div>
-                                        <!--<div>封装:&nbsp;<span ng-bind="batchCommodity.encapsulation || '无封装信息'"></span></div>-->
-                                        <div>包装:&nbsp;<span ng-bind="batchCommodity.packaging || '无包装信息'"></span></div>
-                                        <div>
-                                            <span class="label-commodity">交期:</span>
-                                            <span>
-                                                 <span ng-if="batchCommodity.selfMinDelivery == batchCommodity.selfMaxDelivery" ng-bind="batchCommodity.selfMaxDelivery"></span>
-                                                 <span ng-if="batchCommodity.selfMinDelivery != batchCommodity.selfMaxDelivery" ng-bind="batchCommodity.selfMinDelivery + '-' + batchCommodity.selfMaxDelivery"></span>
-                                            </span>
-                                        </div>
-                                    </td>
-                                    <td>
-                                        <div>库存:&nbsp;<span ng-bind="batchCommodity.reserve | number"></span></div>
-                                        <div>最小起订量:&nbsp;<span ng-bind="batchCommodity.minBuyQty | number"></span></div>
-                                        <div>最小包装数:&nbsp;<span ng-bind="batchCommodity.minPackage | number"></span></div>
-                                        <!--<div>倍数/价格:&nbsp;-->
-                                        <!--<span ng-bind="batchCommodity.minBuyQty | number"></span>-->
-                                        <!--<span ng-if="batchCommodity.usdMinPackPrice">-->
-                                        <!--/<span ng-bind="batchCommodity.usdMinPackPrice | formateNumber : 6 | currencySysmbol : 'USD'"></span>-->
-                                        <!--</span>-->
-                                        <!--<span ng-if="batchCommodity.rmbMinPackPrice">-->
-                                        <!--/<span ng-bind="batchCommodity.rmbMinPackPrice | formateNumber : 6 | currencySysmbol : 'RMB'"></span>-->
-                                        <!--</span>-->
+                        <!--<div ng-show="$$productOn.tab == 'bathOn'">-->
+                            <!--<table ng-table="relTableParams" class="public-tab table">-->
+                                <!--<thead>-->
+                                <!--<tr>-->
+                                    <!--<th width="60">序号</th>-->
+                                    <!--<th width="150" style="padding-left: 10px;">器件属性</th>-->
+                                    <!--<th width="180">产品固有属性</th>-->
+                                    <!--<th width="200">产品自定义属性</th>-->
+                                    <!--<th width="100">梯度/pcs</th>-->
+                                    <!--<th width="100">单价(<em ng-bind="batch.currency == 'RMB' ? '¥' : '$'"></em>)</th>-->
+                                    <!--<th width="70">操作</th>-->
+                                <!--</tr>-->
+                                <!--</thead>-->
+                                <!--<tbody>-->
+                                <!--<tr ng-repeat="batchCommodity in pageParams.content">-->
+                                    <!--<td class="check-input">-->
+                                        <!--&lt;!&ndash;<span><input type="checkbox" id="{{$index+1}}"/><label for="{{$index+1}}"></label><br/></span>&ndash;&gt;-->
+                                        <!--<span ng-bind="$index+1"></span>-->
+                                    <!--</td>-->
+                                    <!--<td style="padding-left: 10px;">-->
+                                        <!--<div class="text-more">品牌:&nbsp;<em title="{{batchCommodity.b2cBranden || '空'}}" ng-bind="batchCommodity.b2cBranden || '空'"></em></div>-->
+                                        <!--<div class="text-more">物料名称:&nbsp;<em title="{{batchCommodity.kindName || '空'}}" ng-bind="batchCommodity.kindName || '空'"></em></div>-->
+                                        <!--<div class="text-more">型号:&nbsp;<em title="{{batchCommodity.b2cCode || '空'}}" ng-bind="batchCommodity.b2cCode || '空'"></em></div>-->
+                                        <!--<div class="text-more">规格:&nbsp;<em title="{{batchCommodity.spec || '空'}}" ng-bind="batchCommodity.spec || '空'"></em></div>-->
+                                    <!--</td>-->
+                                    <!--<td>-->
+                                        <!--&lt;!&ndash;<div>类型:&nbsp;<span ng-bind="batchCommodity.original == 1311 ? '现货' : '呆滞库存' "></span></div>&ndash;&gt;-->
+                                        <!--<div>生产日期:&nbsp;<span ng-bind="batchCommodity.productDate"></span></div>-->
+                                        <!--&lt;!&ndash;<div>封装:&nbsp;<span ng-bind="batchCommodity.encapsulation || '无封装信息'"></span></div>&ndash;&gt;-->
+                                        <!--<div>包装:&nbsp;<span ng-bind="batchCommodity.packaging || '无包装信息'"></span></div>-->
+                                        <!--<div>-->
+                                            <!--<span class="label-commodity">交期:</span>-->
+                                            <!--<span>-->
+                                                 <!--<span ng-if="batchCommodity.selfMinDelivery == batchCommodity.selfMaxDelivery" ng-bind="batchCommodity.selfMaxDelivery"></span>-->
+                                                 <!--<span ng-if="batchCommodity.selfMinDelivery != batchCommodity.selfMaxDelivery" ng-bind="batchCommodity.selfMinDelivery + '-' + batchCommodity.selfMaxDelivery"></span>-->
+                                            <!--</span>-->
                                         <!--</div>-->
-                                        <!--<div>样品:&nbsp;<span ng-bind="batchCommodity.sampleqty | number"></span></div>-->
-                                        <div>
-                                            <span ng-bind="batchCommodity.breakUp ? '可拆卖' : '不可拆卖'"></span>
-                                            <!--<span class="switch"><button ng-class="{'active' : commodity.editBreakUp}" ng-click="toggleIsBreadUp(commodity)"></button></span>-->
-                                        </div>
-                                    </td>
-                                    <td style="vertical-align: top !important;">
-                                        <div ng-repeat="price in batchCommodity.prices">{{price.start + '+'}}</div>
-                                    </td>
-                                    <td style="vertical-align: top !important;">
-                                        <div ng-repeat="price in batchCommodity.prices">{{batchCommodity.currency=='RMB' ? price.rMBPrice : price.uSDPrice}}</div>
-                                    </td>
-                                    <td>
-                                        <!--<a ng-click="editBatch(batchCommodity)">编辑</a><br/>-->
-                                        <!--<a ng-click="deleteBatch(batchCommodity.id)">删除</a>-->
-                                        <a name = 'delete-material' ng-click="showDelete(batchCommodity)">删除</a>
-                                    </td>
-                                </tr>
-                                <tr class="record-number" ng-if="pageParams.content.length > 0">
-                                    <td colspan="7">
-                                        <div>显示 <i ng-bind="pageParams.start"></i>- <i ng-bind="pageParams.end">10</i> 个,共:<i style="color: #5078cb;" ng-bind="pageParams.totalElements"></i> 个</div>
-                                    </td>
-                                </tr>
-                                </tbody>
-                                <tbody class="no-record-list" ng-if="!pageParams || !pageParams.content || pageParams.content.length == 0">
-                                <tr class="height200">
-                                    <td colspan="7" style="background: #fff;"><img src="static/img/all/empty-cart.png"><span class="f14">暂无产品信息,赶快上传让更多人看到你的产品吧</span></td>
-                                </tr>
-                                </tbody>
-                            </table>
-                        </div>
-                        <div style="margin-top: -40px;" ng-if="$$productOn.tab == 'bathOn'">3、如核对信息无误之后,点击确认发布</div>
-                        <div>
-                            <span class="blue-bg publish" href="javascript:void(0)" ng-click="publish($event)" ng-disabled="!pageParams.totalElements" ng-show="$$productOn.tab == 'bathOn'"><span>确认上架</span></span>
-                            <b class="tip" ng-show="$$productOn.tab == 'bathOn'">* 上架成功30分钟后,方可被客户搜索到,并在公司产品库展示。</b>
-                        </div>
+                                    <!--</td>-->
+                                    <!--<td>-->
+                                        <!--<div>库存:&nbsp;<span ng-bind="batchCommodity.reserve | number"></span></div>-->
+                                        <!--<div>最小起订量:&nbsp;<span ng-bind="batchCommodity.minBuyQty | number"></span></div>-->
+                                        <!--<div>最小包装数:&nbsp;<span ng-bind="batchCommodity.minPackage | number"></span></div>-->
+                                        <!--&lt;!&ndash;<div>倍数/价格:&nbsp;&ndash;&gt;-->
+                                        <!--&lt;!&ndash;<span ng-bind="batchCommodity.minBuyQty | number"></span>&ndash;&gt;-->
+                                        <!--&lt;!&ndash;<span ng-if="batchCommodity.usdMinPackPrice">&ndash;&gt;-->
+                                        <!--&lt;!&ndash;/<span ng-bind="batchCommodity.usdMinPackPrice | formateNumber : 6 | currencySysmbol : 'USD'"></span>&ndash;&gt;-->
+                                        <!--&lt;!&ndash;</span>&ndash;&gt;-->
+                                        <!--&lt;!&ndash;<span ng-if="batchCommodity.rmbMinPackPrice">&ndash;&gt;-->
+                                        <!--&lt;!&ndash;/<span ng-bind="batchCommodity.rmbMinPackPrice | formateNumber : 6 | currencySysmbol : 'RMB'"></span>&ndash;&gt;-->
+                                        <!--&lt;!&ndash;</span>&ndash;&gt;-->
+                                        <!--&lt;!&ndash;</div>&ndash;&gt;-->
+                                        <!--&lt;!&ndash;<div>样品:&nbsp;<span ng-bind="batchCommodity.sampleqty | number"></span></div>&ndash;&gt;-->
+                                        <!--<div>-->
+                                            <!--<span ng-bind="batchCommodity.breakUp ? '可拆卖' : '不可拆卖'"></span>-->
+                                            <!--&lt;!&ndash;<span class="switch"><button ng-class="{'active' : commodity.editBreakUp}" ng-click="toggleIsBreadUp(commodity)"></button></span>&ndash;&gt;-->
+                                        <!--</div>-->
+                                    <!--</td>-->
+                                    <!--<td style="vertical-align: top !important;">-->
+                                        <!--<div ng-repeat="price in batchCommodity.prices">{{price.start + '+'}}</div>-->
+                                    <!--</td>-->
+                                    <!--<td style="vertical-align: top !important;">-->
+                                        <!--<div ng-repeat="price in batchCommodity.prices">{{batchCommodity.currency=='RMB' ? price.rMBPrice : price.uSDPrice}}</div>-->
+                                    <!--</td>-->
+                                    <!--<td>-->
+                                        <!--&lt;!&ndash;<a ng-click="editBatch(batchCommodity)">编辑</a><br/>&ndash;&gt;-->
+                                        <!--&lt;!&ndash;<a ng-click="deleteBatch(batchCommodity.id)">删除</a>&ndash;&gt;-->
+                                        <!--<a name = 'delete-material' ng-click="showDelete(batchCommodity)">删除</a>-->
+                                    <!--</td>-->
+                                <!--</tr>-->
+                                <!--<tr class="record-number" ng-if="pageParams.content.length > 0">-->
+                                    <!--<td colspan="7">-->
+                                        <!--<div>显示 <i ng-bind="pageParams.start"></i>- <i ng-bind="pageParams.end">10</i> 个,共:<i style="color: #5078cb;" ng-bind="pageParams.totalElements"></i> 个</div>-->
+                                    <!--</td>-->
+                                <!--</tr>-->
+                                <!--</tbody>-->
+                                <!--<tbody class="no-record-list" ng-if="!pageParams || !pageParams.content || pageParams.content.length == 0">-->
+                                <!--<tr class="height200">-->
+                                    <!--<td colspan="7" style="background: #fff;"><img src="static/img/all/empty-cart.png"><span class="f14">暂无产品信息,赶快上传让更多人看到你的产品吧</span></td>-->
+                                <!--</tr>-->
+                                <!--</tbody>-->
+                            <!--</table>-->
+                        <!--</div>-->
+                        <!--<div style="margin-top: -40px;" ng-if="$$productOn.tab == 'bathOn'">3、如核对信息无误之后,点击确认发布</div>-->
+                        <!--<div>-->
+                            <!--<span class="blue-bg publish" href="javascript:void(0)" ng-click="publish($event)" ng-disabled="!pageParams.totalElements" ng-show="$$productOn.tab == 'bathOn'"><span>确认上架</span></span>-->
+                            <!--<b class="tip" ng-show="$$productOn.tab == 'bathOn'">* 上架成功30分钟后,方可被客户搜索到,并在公司产品库展示。</b>-->
+                        <!--</div>-->
                     </div>
                 </div>
                 <!--<div class="load_next">-->

+ 2 - 2
src/main/webapp/resources/view/vendor/modal/confirm_consignment_agreement.html

@@ -223,10 +223,10 @@
 		<p style="font-weight: bold">2.  转账</p>
 		<p>您购买库存寄售的产产品时,优软商城为您提供的汇款账户如下:<br/>
 			2.1. 人民币汇款:<br/>
-			2.1.1.1. 公司名称:深圳优软商城科技有限公司<br/>
+			2.1.1.1. 公司名称:深圳优软商城科技有限公司<br/>
 			2.1.1.2. 开户银行:中国工商银行深圳侨香支行<br/>
 			2.1.1.3. 账   号:4000051309100150003<br/>
-			2.1.2.1. 公司名称:深圳优软商城科技有限公司<br/>
+			2.1.2.1. 公司名称:深圳优软商城科技有限公司<br/>
 			2.1.2.2. 开户银行:平安银行深圳高新区支行<br/>
 			2.1.2.3. 账   号:11017374946005<br/>
 			2.2. 美金汇款:<br/>