ソースを参照

Merge branch 'dev-mysql' into yc-payCenter

hulh 8 年 前
コミット
6d83d650e3
52 ファイル変更391 行追加127 行削除
  1. 1 1
      pom.xml
  2. 16 0
      src/main/java/com/uas/platform/b2c/advertise/ad/service/FloorsService.java
  3. 34 0
      src/main/java/com/uas/platform/b2c/advertise/ad/service/impl/FloorsServiceImpl.java
  4. 1 1
      src/main/java/com/uas/platform/b2c/common/account/controller/SecurityController.java
  5. 4 1
      src/main/java/com/uas/platform/b2c/common/account/v2/service/impl/UserServiceImpl.java
  6. 1 1
      src/main/java/com/uas/platform/b2c/logistics/model/DistributionRule.java
  7. 13 0
      src/main/java/com/uas/platform/b2c/logistics/model/UsableRuleInfo.java
  8. 14 1
      src/main/java/com/uas/platform/b2c/logistics/service/impl/DistributionRuleServiceImpl.java
  9. 0 28
      src/main/java/com/uas/platform/b2c/prod/commodity/controller/GoodsController.java
  10. 26 1
      src/main/java/com/uas/platform/b2c/prod/commodity/service/impl/ReleaseProductByBatchServiceImpl.java
  11. 11 0
      src/main/java/com/uas/platform/b2c/prod/product/brand/api/BrandController.java
  12. 10 0
      src/main/java/com/uas/platform/b2c/prod/product/brand/dao/BrandMostSimpleInfoDao.java
  13. 8 0
      src/main/java/com/uas/platform/b2c/prod/product/brand/service/BrandService.java
  14. 8 0
      src/main/java/com/uas/platform/b2c/prod/product/brand/service/impl/BrandServiceImpl.java
  15. 36 0
      src/main/java/com/uas/platform/b2c/prod/product/common/CommonTask.java
  16. 1 1
      src/main/java/com/uas/platform/b2c/prod/product/common/api/CommonCountController.java
  17. 9 2
      src/main/java/com/uas/platform/b2c/prod/product/common/dao/CommonCountDao.java
  18. 14 0
      src/main/java/com/uas/platform/b2c/prod/product/common/model/CommonCount.java
  19. 2 2
      src/main/java/com/uas/platform/b2c/prod/product/common/service/CommonCountService.java
  20. 2 6
      src/main/java/com/uas/platform/b2c/prod/product/common/service/impl/CommonCountServiceImpl.java
  21. 1 1
      src/main/java/com/uas/platform/b2c/prod/product/component/dao/ComponentGoodsDao.java
  22. 7 3
      src/main/java/com/uas/platform/b2c/prod/product/component/service/impl/ComponentGoodsServiceImpl.java
  23. 3 22
      src/main/java/com/uas/platform/b2c/trade/order/model/Order.java
  24. 0 1
      src/main/java/com/uas/platform/b2c/trade/order/service/impl/OrderServiceImpl.java
  25. 13 0
      src/main/java/com/uas/platform/b2c/trade/presale/controller/CollectionController.java
  26. 12 0
      src/main/java/com/uas/platform/b2c/trade/presale/controller/StoreFocusController.java
  27. 7 0
      src/main/java/com/uas/platform/b2c/trade/presale/service/CollectionService.java
  28. 8 0
      src/main/java/com/uas/platform/b2c/trade/presale/service/StoreFocusService.java
  29. 17 0
      src/main/java/com/uas/platform/b2c/trade/presale/service/impl/CollectionServiceImpl.java
  30. 17 0
      src/main/java/com/uas/platform/b2c/trade/presale/service/impl/StoreFocusServiceImpl.java
  31. 1 3
      src/main/java/com/uas/platform/b2c/trade/rate/controller/RateController.java
  32. 1 4
      src/main/java/com/uas/platform/b2c/trade/rate/service/impl/RateServiceImpl.java
  33. 1 1
      src/main/resources/dev/jdbc.properties
  34. 1 1
      src/main/resources/prod/jdbc.properties
  35. 3 0
      src/main/resources/spring/task.xml
  36. 1 1
      src/main/resources/test/jdbc.properties
  37. 7 3
      src/main/webapp/WEB-INF/views/normal/proxyLogout.html
  38. 1 1
      src/main/webapp/resources/js/admin/controllers/customService/ReviewerEmailInfo.js
  39. 9 6
      src/main/webapp/resources/js/usercenter/controllers/forstore/buyer_order_ctrl.js
  40. 0 3
      src/main/webapp/resources/js/vendor/controllers/forstore/vendor_deliveryRule_ctrl.js
  41. 24 17
      src/main/webapp/resources/js/vendor/controllers/forstore/vendor_order_ctrl.js
  42. 5 1
      src/main/webapp/resources/view/admin/trade/trade_invoicefromorder_detail.html
  43. 7 2
      src/main/webapp/resources/view/admin/trade/trade_invoicefrompurc_detail.html
  44. 5 1
      src/main/webapp/resources/view/admin/trade/trade_order_detail.html
  45. 7 2
      src/main/webapp/resources/view/admin/trade/trade_purchase_detail.html
  46. 1 1
      src/main/webapp/resources/view/common/site-nav.html
  47. 0 1
      src/main/webapp/resources/view/usercenter/forstore/buyer_order.html
  48. 4 1
      src/main/webapp/resources/view/usercenter/forstore/order_detail.html
  49. 7 4
      src/main/webapp/resources/view/usercenter/forstore/order_pay.html
  50. 4 1
      src/main/webapp/resources/view/vendor/forstore/purchase_detail.html
  51. 5 0
      src/main/webapp/resources/view/vendor/forstore/vendor_delivery_rule.html
  52. 1 1
      src/main/webapp/resources/view/vendor/forstore/vendor_order.html

+ 1 - 1
pom.xml

@@ -39,7 +39,7 @@
 			<properties>
 				<profile>prod</profile>
 				<!-- static plugin -->
-				<static-path>http://static.usoftmall.com</static-path>
+				<static-path>https://static.usoftmall.com</static-path>
 			</properties>
 		</profile>
 	</profiles>

+ 16 - 0
src/main/java/com/uas/platform/b2c/advertise/ad/service/FloorsService.java

@@ -19,4 +19,20 @@ public interface FloorsService {
 	 * @return the floors by module
 	 */
 	List<JSONObject> getFloorsByModule(String module);
+
+	/**
+	 * Gets floors by module.
+	 *
+	 * @param item the body
+	 * @return the floors by module
+	 */
+	Boolean setFloorsItem(JSONObject item);
+
+	/**
+	 * Gets floors by module.
+	 *
+	 * @param batchCode the body
+	 * @return the floors by module
+	 */
+	JSONObject isInHome(String batchCode);
 }

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

@@ -5,6 +5,7 @@ import com.uas.platform.b2c.advertise.ad.service.FloorsService;
 import com.uas.platform.b2c.core.config.MicroServicesConf;
 import com.uas.platform.b2c.core.utils.JacksonUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
 import org.springframework.stereotype.Service;
 import org.springframework.web.client.RestTemplate;
 
@@ -35,4 +36,37 @@ public class FloorsServiceImpl implements FloorsService {
 		String result = restTemplate.getForEntity(url, String.class).getBody();
 		return JacksonUtils.fromJsonArray(result, JSONObject.class);
 	}
+
+	@Override
+	public Boolean setFloorsItem(JSONObject item){       //(String name, String brandEn ,String kind, String pictureUrl, String hrefUrl) {
+
+		String url = conf.getRequestUrlForFloor(20040, "/floors/"+item.get("floorId").toString()+"/item");
+		item.remove("floorId");
+		HttpStatus status = restTemplate.postForEntity(url,item,String.class).getStatusCode();
+		if (status.equals(HttpStatus.OK)){
+			return true;
+		}else{
+			return false;
+		}
+	}
+
+	@Override
+	public JSONObject isInHome(String batchCode) {
+		String url = conf.getRequestUrlForFloor(20040, "/floors?usedFor=home-v3");
+		String result = restTemplate.getForEntity(url, String.class).getBody();
+		List<JSONObject> floors = JacksonUtils.fromJsonArray(result,JSONObject.class);
+		List<JSONObject> items;
+		for (JSONObject floor : floors){
+			if (floor.get("name").equals("器件楼层")){
+				String floorId = floor.get("id").toString();
+				items = JacksonUtils.fromJsonArray(floor.get("items").toString(),JSONObject.class);
+				for (JSONObject item : items){
+					if (item.get("hrefUrl").toString().indexOf(batchCode) != -1){
+						return item.fluentPut("floorId",floorId);
+					}
+				}
+			}
+		}
+		return null;
+	}
 }

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

@@ -72,7 +72,7 @@ public class SecurityController {
 		if (cross) {
 			request.getSession().setAttribute(SSOConfig.SSOReferer, returnUrl);
 			// 跨域情况,需要再次询问账户中心
-			returnUrl = request.getContextPath() + "/logout/proxy";
+			returnUrl = "/logout/proxy";
 		}
 		return new ModelMap("content", returnUrl);
 	}

+ 4 - 1
src/main/java/com/uas/platform/b2c/common/account/v2/service/impl/UserServiceImpl.java

@@ -32,7 +32,10 @@ public class UserServiceImpl implements UserService {
 
     @Override
     public void save(User user) {
-        com.uas.platform.b2c.common.account.model.User u =  new com.uas.platform.b2c.common.account.model.User();
+        com.uas.platform.b2c.common.account.model.User u = userDao.findOne(Long.parseLong(user.getDialectUID()));
+        if (null == u){
+            u =  new com.uas.platform.b2c.common.account.model.User();
+        }
         u.setUserPwd(user.getPassword());
         u.setUserName(user.getName());
         u.setEnable((short) 1);

+ 1 - 1
src/main/java/com/uas/platform/b2c/logistics/model/DistributionRule.java

@@ -89,7 +89,7 @@ public class DistributionRule {
 
 	/**
 	 * 计费方式
-	 * 1-统一规定运费,2-按总金额计算
+	 * 1-统一规定运费,2-按总金额计算, 3-到付,到付设置为统一运费0
 	 */
 	@Column(name = "rule_fare_type")
 	private Short fareType;

+ 13 - 0
src/main/java/com/uas/platform/b2c/logistics/model/UsableRuleInfo.java

@@ -33,6 +33,10 @@ public class UsableRuleInfo {
 	 * 配送规则币别
 	 */
 	private String currencyName;
+	/**
+	 * 支付类型
+	 */
+	private Short fareType;
 
 	public UsableRuleInfo(){
 
@@ -44,6 +48,7 @@ public class UsableRuleInfo {
 		this.method = rule.getShippingMethod();
 		this.currencyName = rule.getCurrencyName();
 		this.enuu = rule.getEnuu();
+		this.fareType = rule.getFareType();
 	}
 
 	public Long getId() {
@@ -101,4 +106,12 @@ public class UsableRuleInfo {
 	public void setUuid(String uuid) {
 		this.uuid = uuid;
 	}
+
+	public Short getFareType() {
+		return fareType;
+	}
+
+	public void setFareType(Short fareType) {
+		this.fareType = fareType;
+	}
 }

+ 14 - 1
src/main/java/com/uas/platform/b2c/logistics/service/impl/DistributionRuleServiceImpl.java

@@ -84,6 +84,13 @@ public class DistributionRuleServiceImpl implements DistributionRuleService{
 		if (rule.getFareType() == 2 && CollectionUtils.isEmpty(rule.getFares())){
 			return new ResultMap(CodeType.NO_INFO, "请完善计费方式");
 		}
+		if (rule.getFareType() == 2){
+			rule.setUniformPrice(null);
+		}else {
+			if (CollectionUtils.isEmpty(rule.getFares())){
+				rule.setQtyFare(null);
+			}
+		}
 		if (rule.getId() == null){ //新增配送规则,初始化数据
 			Long uu = SystemSession.getUser().getUserUU();
 			Long enuu = SystemSession.getUser().getEnterprise().getUu();
@@ -101,6 +108,9 @@ public class DistributionRuleServiceImpl implements DistributionRuleService{
 		}else {
 			rule.setActive(ShortConstant.NO_SHORT);
 		}
+		if (rule.getFareType() == 3){ //到付类型
+			rule.setUniformPrice(0d);
+		}
 		if (!isAdd){ //若为另存为,则将主键id设为空
 			if (rule.getId() != null){
 				rule.setId(null);
@@ -397,9 +407,12 @@ public class DistributionRuleServiceImpl implements DistributionRuleService{
 	 */
 	public Double getFareOfRule(DistributionRule rule, Double price){
 		Double needFare = null;
-		if (rule.getFareType() == 1){
+		if (rule.getFareType() == 1 || rule.getFareType() == 3){
 			needFare = rule.getUniformPrice();
 		}else {
+			if (CollectionUtils.isEmpty(rule.getFares())){
+				throw new  IllegalOperatorException("配送规则信息丢失,刷新后重试");
+			}
 			for (RuleQtyFare fare : rule.getFares()){
 				if (fare.getStart() <= price){
 					if (fare.getEnd() != null){

+ 0 - 28
src/main/java/com/uas/platform/b2c/prod/commodity/controller/GoodsController.java

@@ -22,7 +22,6 @@ import com.uas.platform.core.logging.BufferedLoggerManager;
 import com.uas.platform.core.model.PageInfo;
 import com.uas.platform.core.model.PageParams;
 import com.uas.platform.core.model.Status;
-import org.apache.commons.collections.map.HashedMap;
 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
 import org.apache.poi.ss.usermodel.Workbook;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
@@ -649,31 +648,4 @@ public class GoodsController {
 		logger.log("商品管理", "下架该公司所有商品");
 		return goodsService.downAllGoodsByEnterprise(eName);
 	}
-
-	@RequestMapping(value = "/test/str", method = RequestMethod.GET)
-	public void getTest() {
-		searchService.getKindIds("电阻", 1, 10);
-
-		searchService.getKinds("电阻", 1, 10);
-
-		searchService.getBrandIds("Panasonic", 1, 10);
-
-		searchService.getBrands("Panasonic", 1, 10);
-
-		com.uas.search.model.PageParams page = new com.uas.search.model.PageParams();
-		page.setPage(1);
-		page.setSize(10);
-		searchService.getComponentIds("ac", page);
-
-		Map<com.uas.search.model.PageParams.FilterField, Object> filters = new HashedMap();
-		filters.put(com.uas.search.model.PageParams.FilterField.GOODS_KINDID, "401,23");
-		filters.put(com.uas.search.model.PageParams.FilterField.GOODS_BRANDID, "45");
-		filters.put(com.uas.search.model.PageParams.FilterField.GOODS_STORE_TYPE, "DISTRIBUTION");
-		filters.put(com.uas.search.model.PageParams.FilterField.GOODS_CRNAME, "RMB-USD");
-		filters.put(com.uas.search.model.PageParams.FilterField.GOODS_MINPRICERMB, "0");
-		filters.put(com.uas.search.model.PageParams.FilterField.GOODS_MAXPRICERMB, "10");
-		filters.put(com.uas.search.model.PageParams.FilterField.GOODS_MINPRICEUSD, "0");
-		filters.put(com.uas.search.model.PageParams.FilterField.GOODS_MAXPRICEUSD, "10");
-		page.setFilters(filters);
-	}
 }

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

@@ -30,8 +30,11 @@ import org.apache.commons.collections.CollectionUtils;
 import org.apache.poi.hssf.usermodel.HSSFDateUtil;
 import org.apache.poi.ss.usermodel.*;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.dao.DataAccessException;
 import org.springframework.data.domain.Page;
 import org.springframework.data.jpa.domain.Specification;
+import org.springframework.jdbc.core.JdbcTemplate;
+import org.springframework.jdbc.core.StatementCallback;
 import org.springframework.stereotype.Service;
 import org.springframework.ui.ModelMap;
 import org.springframework.util.StringUtils;
@@ -41,6 +44,9 @@ import javax.persistence.criteria.CriteriaQuery;
 import javax.persistence.criteria.Predicate;
 import javax.persistence.criteria.Root;
 import java.math.BigDecimal;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
 import java.text.DateFormat;
 import java.text.SimpleDateFormat;
 import java.util.*;
@@ -76,6 +82,9 @@ public class ReleaseProductByBatchServiceImpl implements ReleaseProductByBatchSe
 	@Autowired
 	private EnterpriseService enterpriseService;
 
+	@Autowired
+	private JdbcTemplate jdbcTemplate;
+
 	@Override
 	public ReleaseProductByBatch save(ReleaseProductByBatch releaseProductByBatch) {
 		return releaseProductByBatch;
@@ -802,7 +811,23 @@ public class ReleaseProductByBatchServiceImpl implements ReleaseProductByBatchSe
 	@Override
 	public String publishByBatch(String batch) {
 		Enterprise enterprise = SystemSession.getUser().getEnterprise();
-		String num = releaseProductByBatchDao.callPublishByBatch(enterprise.getUu(), enterprise.getEnName(), batch);
+		final Object [] obj = new Object[]{enterprise.getUu(), enterprise.getEnName(), batch};
+		String sql = "/*#mycat:db_type=master*/ set @enuu = %s; set @enName = '%s'; set @batch = '%s'; call product_release_batch_publish(@enuu, @enName, @batch, @out)";
+		final String updateSql = String.format(sql, obj);
+		String num = jdbcTemplate.execute(new StatementCallback<String>() {
+
+			@Override
+			public String doInStatement(Statement stmt) throws SQLException, DataAccessException {
+				stmt.executeUpdate(updateSql);
+				stmt.execute("select @out");
+				ResultSet rs = stmt.getResultSet();
+				if (null != rs) {
+					rs.next();
+					return rs.getString(1);
+				}
+				return null;
+			}
+		});
 		if(!"0".equals(num)) {
 			List<Goods> goodsList = goodsDao.findByBatchid(batch);
 			Set<String> uuids = new HashSet<String>();

+ 11 - 0
src/main/java/com/uas/platform/b2c/prod/product/brand/api/BrandController.java

@@ -65,6 +65,17 @@ public class BrandController {
 		return brandService.getInitialSimpleInfo(keyword);
 	}
 
+	/**
+	 * 分页获取按字符串获取以此字符为首字母的品牌信息
+	 * @return map(首字母,超简易品牌信息)
+	 */
+	@RequestMapping(value = "/initial/first/{keyword}", method = RequestMethod.GET)
+	public Page<BrandMostSimpleInfo> getInitialSimpleInfoByFirst(@PathVariable String keyword ,PageParams page) {
+		if (StringUtils.isEmpty(keyword))
+			keyword = "A";
+		return brandService.getInitialSimpleInfoByFirst(keyword,page);
+	}
+
 	/**
 	 * 查找所有简单有效品牌信息
 	 * @param keyword 关键词

+ 10 - 0
src/main/java/com/uas/platform/b2c/prod/product/brand/dao/BrandMostSimpleInfoDao.java

@@ -1,6 +1,8 @@
 package com.uas.platform.b2c.prod.product.brand.dao;
 
 import com.uas.platform.b2c.prod.product.brand.modal.BrandMostSimpleInfo;
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.Pageable;
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
 import org.springframework.data.jpa.repository.Query;
@@ -25,6 +27,14 @@ public interface BrandMostSimpleInfoDao extends JpaSpecificationExecutor<BrandMo
     @Query(nativeQuery = true, value = "select * from product$brand where br_inital in :initals")
     public List<BrandMostSimpleInfo> findInInitals(@Param("initals") String[] initals);
 
+    /**
+     * 分页根据首字母获取品牌信息
+     * @param initals
+     * @return
+     */
+    @Query(value = "select b from BrandMostSimpleInfo b  where b.inital in :initals")
+    public Page<BrandMostSimpleInfo> findInInitalsPage(@Param("initals") String[] initals , Pageable pageable);
+
     /**
      * 根据批次号获取品牌信息
      * @param batchIds id批次号

+ 8 - 0
src/main/java/com/uas/platform/b2c/prod/product/brand/service/BrandService.java

@@ -5,6 +5,7 @@ import com.uas.platform.b2c.prod.product.brand.modal.BrandInfo;
 import com.uas.platform.b2c.prod.product.brand.modal.BrandMostSimpleInfo;
 import com.uas.platform.b2c.prod.product.brand.modal.BrandVersion;
 import com.uas.platform.core.model.PageInfo;
+import com.uas.platform.core.model.PageParams;
 import org.springframework.data.domain.Page;
 
 import java.util.List;
@@ -54,6 +55,13 @@ public interface BrandService {
 	 */
 	public Map<String, List<BrandMostSimpleInfo>> getInitialSimpleInfo(String keyword);
 
+	/**
+	 * 获取按字符串获取以此字符串为首字母的品牌信息
+	 * @param keyword 关键词
+	 * @return 品牌简易信息
+	 */
+	public Page<BrandMostSimpleInfo> getInitialSimpleInfoByFirst(String keyword , PageParams params);
+
 	/**
 	 * 获取BrandInfo分页数据
 	 * @param keyword 关键词

+ 8 - 0
src/main/java/com/uas/platform/b2c/prod/product/brand/service/impl/BrandServiceImpl.java

@@ -12,6 +12,7 @@ import com.uas.platform.b2c.prod.product.brand.service.BrandService;
 import com.uas.platform.b2c.prod.product.component.dao.ComponentDao;
 import com.uas.platform.core.exception.IllegalOperatorException;
 import com.uas.platform.core.model.PageInfo;
+import com.uas.platform.core.model.PageParams;
 import com.uas.platform.core.persistence.criteria.CriterionExpression;
 import com.uas.platform.core.persistence.criteria.CriterionExpression.Operator;
 import com.uas.platform.core.persistence.criteria.LogicalExpression;
@@ -20,6 +21,7 @@ import org.apache.commons.collections.CollectionUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
+import org.springframework.data.domain.Pageable;
 import org.springframework.data.jpa.domain.Specification;
 import org.springframework.jdbc.core.JdbcTemplate;
 import org.springframework.stereotype.Service;
@@ -117,6 +119,12 @@ public class BrandServiceImpl implements BrandService {
 		return map;
 	}
 
+	@Override
+	public Page<BrandMostSimpleInfo> getInitialSimpleInfoByFirst(String keyword , PageParams params) {
+		Pageable pageable = new PageInfo(params);
+		return brandMostSimpleInfoDao.findInInitalsPage(new String[]{keyword},pageable);
+	}
+
 	// 判断一个字符串是否含有中文
 	public static boolean isChinese(String str) {
 		if (str == null) return false;

+ 36 - 0
src/main/java/com/uas/platform/b2c/prod/product/common/CommonTask.java

@@ -0,0 +1,36 @@
+package com.uas.platform.b2c.prod.product.common;
+
+import com.uas.platform.b2c.prod.product.common.dao.CommonCountDao;
+import com.uas.platform.b2c.prod.product.common.model.CommonCount;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.jdbc.core.JdbcTemplate;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+/**
+ * 通用模块任务
+ *
+ * @version 2017/10/21 18:03 wangyc
+ */
+@Component("CommonTask")
+public class CommonTask {
+
+    private final CommonCountDao commonCountDao;
+
+    private final JdbcTemplate jdbcTemplate;
+
+    @Autowired
+    public CommonTask(CommonCountDao commonCountDao, JdbcTemplate jdbcTemplate) {
+        this.commonCountDao = commonCountDao;
+        this.jdbcTemplate = jdbcTemplate;
+    }
+
+    public void updateCount() {
+        List<CommonCount> commonCounts = commonCountDao.findByStatus((short) 1);
+        for (CommonCount commonCount : commonCounts) {
+            commonCount.setCount(jdbcTemplate.queryForLong(commonCount.getSql()));
+        }
+        commonCountDao.save(commonCounts);
+    }
+}

+ 1 - 1
src/main/java/com/uas/platform/b2c/prod/product/common/api/CommonCountController.java

@@ -27,6 +27,6 @@ public class CommonCountController {
      */
     @RequestMapping(method = RequestMethod.GET, params = "_status=actived")
     public List<CommonCount> findActived() {
-        return commonCountService.findByStatus((short) 1);
+        return commonCountService.findByStatus((short) 1, "b2c_index");
     }
 }

+ 9 - 2
src/main/java/com/uas/platform/b2c/prod/product/common/dao/CommonCountDao.java

@@ -14,9 +14,16 @@ import java.util.List;
 public interface CommonCountDao extends JpaSpecificationExecutor<CommonCount>,JpaRepository<CommonCount, Long>{
 
     /**
-     * 通过状态获取计数器
+     * 通过状态和应用获取计数器
      * @param status 状态
      * @return 计数器
      */
-    public List<CommonCount> findByStatusOrderByDetno(Short status);
+    public List<CommonCount> findByStatusAndUsedForOrderByDetno(Short status, String usedFor);
+
+    /**
+     * 通过状态获取计数器
+     * @param status
+     * @return
+     */
+    public List<CommonCount> findByStatus(Short status);
 }

+ 14 - 0
src/main/java/com/uas/platform/b2c/prod/product/common/model/CommonCount.java

@@ -48,6 +48,12 @@ public class CommonCount implements Serializable{
     @Column(name = "cc_count")
     private Long count;
 
+    /**
+     * 应用
+     */
+    @Column(name = "cc_usedfor")
+    private String usedFor;
+
     /**
      * 状态,是否激活(1:是;0:否)
      */
@@ -94,6 +100,14 @@ public class CommonCount implements Serializable{
         this.count = count;
     }
 
+    public String getUsedFor() {
+        return usedFor;
+    }
+
+    public void setUsedFor(String usedFor) {
+        this.usedFor = usedFor;
+    }
+
     public Short getStatus() {
         return status;
     }

+ 2 - 2
src/main/java/com/uas/platform/b2c/prod/product/common/service/CommonCountService.java

@@ -10,9 +10,9 @@ import java.util.List;
 public interface CommonCountService {
 
     /**
-     * 根据状态获取计数器
+     * 根据状态和用途获取计数器
      * @param status 状态
      * @return
      */
-    List<CommonCount> findByStatus(Short status);
+    List<CommonCount> findByStatus(Short status, String usedFor);
 }

+ 2 - 6
src/main/java/com/uas/platform/b2c/prod/product/common/service/impl/CommonCountServiceImpl.java

@@ -4,7 +4,6 @@ import com.uas.platform.b2c.prod.product.common.dao.CommonCountDao;
 import com.uas.platform.b2c.prod.product.common.model.CommonCount;
 import com.uas.platform.b2c.prod.product.common.service.CommonCountService;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.jdbc.core.JdbcTemplate;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
@@ -18,12 +17,9 @@ public class CommonCountServiceImpl implements CommonCountService{
     @Autowired
     private CommonCountDao commonCountDao;
 
-    @Autowired
-    private JdbcTemplate jdbcTemplate;
-
     @Override
-    public List<CommonCount> findByStatus(Short status) {
-        List<CommonCount> commonCounts = commonCountDao.findByStatusOrderByDetno(status);
+    public List<CommonCount> findByStatus(Short status, String usedFor) {
+        List<CommonCount> commonCounts = commonCountDao.findByStatusAndUsedForOrderByDetno(status, usedFor);
         for (CommonCount commonCount : commonCounts) {
             commonCount.setSql(null);
         }

+ 1 - 1
src/main/java/com/uas/platform/b2c/prod/product/component/dao/ComponentGoodsDao.java

@@ -21,7 +21,7 @@ public interface ComponentGoodsDao extends JpaSpecificationExecutor<ComponentGoo
 	 * @param ids
 	 * @return 产品列表信息
 	 */
-	@Query("select cg from ComponentGoods cg where cg.cmpId in (:ids) order by instr(':ids', cg.id) , cg.reserve")
+	@Query("select cg from ComponentGoods cg where cg.cmpId in (:ids) order by instr(':ids', cg.cmpId) , cg.reserve")
 	public List<ComponentGoods> findByIdsInOrder(@Param("ids") Long[] ids);
 
 	/**

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

@@ -66,11 +66,15 @@ public class ComponentGoodsServiceImpl implements ComponentGoodsService {
 				}
 				searchResult = searchService.getComponentIds(code, pageParams);
 				@SuppressWarnings("unchecked")
-				List<Long> componentIds = (List<Long>) searchResult.get("componentIds");
+				List<Integer> componentIds = (List<Integer>) searchResult.get("componentIds");
+				List<Long> componentIdsLong = new ArrayList<>();
+				for (Integer cid:componentIds) {
+					componentIdsLong.add(cid.longValue());
+				}
 				List<ComponentGoods> componentGoods = new ArrayList<>();
 				if (componentIds.size() > 0) {
-					Long[] idArr = new Long[componentIds.size()];
-					componentGoods = componentGoodsDao.findByIdsInOrder(componentIds.toArray(idArr));
+					Long[] idArr = new Long[componentIdsLong.size()];
+					componentGoods = componentGoodsDao.findByIdsInOrder(componentIdsLong.toArray(idArr));
 				}
 				int length = (int)searchResult.get("total");
 				if(length < componentGoods.size()) {

+ 3 - 22
src/main/java/com/uas/platform/b2c/trade/order/model/Order.java

@@ -5,6 +5,7 @@ import com.fasterxml.jackson.annotation.JsonIgnore;
 import com.uas.api.b2c_erp.buyer.model.B2cOrder;
 import com.uas.api.b2c_erp.buyer.model.B2cOrderDetail;
 import com.uas.platform.b2c.common.account.model.User;
+import com.uas.platform.b2c.core.constant.Status;
 import com.uas.platform.b2c.core.support.SystemSession;
 import com.uas.platform.b2c.core.utils.StringUtilB2C;
 import com.uas.platform.b2c.logistics.model.InvoiceFOrder;
@@ -13,33 +14,13 @@ import com.uas.platform.b2c.trade.aftersale.model.AfterSaleStatus;
 import com.uas.platform.b2c.trade.aftersale.util.ExceptionUtil;
 import com.uas.platform.core.exception.IllegalOperatorException;
 import com.uas.platform.core.model.EncodingRulesConstant;
-import com.uas.platform.core.model.Status;
 import com.uas.platform.core.persistence.StatusColumn;
 import org.springframework.util.CollectionUtils;
 import org.springframework.util.StringUtils;
 
-import javax.persistence.CascadeType;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.EnumType;
-import javax.persistence.Enumerated;
-import javax.persistence.FetchType;
-import javax.persistence.GeneratedValue;
-import javax.persistence.Id;
-import javax.persistence.JoinColumn;
-import javax.persistence.OneToMany;
-import javax.persistence.OneToOne;
-import javax.persistence.OrderBy;
-import javax.persistence.Table;
-import javax.persistence.Transient;
+import javax.persistence.*;
 import java.io.Serializable;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Objects;
-import java.util.Set;
+import java.util.*;
 
 /**
  * 订单

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

@@ -649,7 +649,6 @@ public class OrderServiceImpl implements OrderService {
         JSONObject orderInfo  = ordersInfos[0];
 
         JSONObject splitObject = orderInfo.getJSONObject("splitInfo");
-        System.out.println(splitObject);
 
         if(resultMap1.getCode() != ResultMapType.OK.getCode()) {
             return resultMap1;

+ 13 - 0
src/main/java/com/uas/platform/b2c/trade/presale/controller/CollectionController.java

@@ -109,6 +109,19 @@ public class CollectionController {
 		return "success";
 	}
 
+	/**
+	 * 批量删除指定的收藏信息 通过器件id
+	 *
+	 * @param ids 删除的ids
+	 * @return String
+	 */
+	@RequestMapping(value = "/delete/cmpId", method = RequestMethod.POST)
+	@ApiOperation(value = "批量删除指定的收藏信息", httpMethod = "POST")
+	public String deleteByCmpIds(@ApiParam(required = true, value = "id集合") @RequestBody List<Long> ids) {
+		collectionService.deleteByCmpIds(ids);
+		return "success";
+	}
+
 	/**
 	 * 清空收藏的信息
 	 *

+ 12 - 0
src/main/java/com/uas/platform/b2c/trade/presale/controller/StoreFocusController.java

@@ -62,6 +62,18 @@ public class StoreFocusController {
 		return storeFocusService.deleteByIds(ids);
 	}
 
+	/**
+	 * 单个/批量删除店铺关注记录 通过店铺id
+	 *
+	 * @param ids
+	 * @return String
+	 */
+	@RequestMapping(value = "/delete/storeId", method = RequestMethod.POST)
+	@ApiOperation(value = "单个/批量删除店铺关注记录", httpMethod = "POST")
+	public String deleteByStoreIds(@ApiParam(required = true, value = "id集合") @RequestBody List<Long> ids) {
+		return storeFocusService.deleteByStoreIds(ids);
+	}
+
 	/**
 	 * 分页获取指定uu号下的店铺关注信息
 	 *

+ 7 - 0
src/main/java/com/uas/platform/b2c/trade/presale/service/CollectionService.java

@@ -29,6 +29,13 @@ public interface CollectionService {
 	 */
 	String deleteByIds(List<Long> ids);
 
+	/**
+	 * 批量删除收藏信息 通过器件id
+	 * @param ids 删除的收藏ids
+	 * @return String 返回success
+	 */
+	String deleteByCmpIds(List<Long> ids);
+
 	/**
 	 * 2016年3月23日 下午3:29:14
 	 * 清空类型 清空收藏夹

+ 8 - 0
src/main/java/com/uas/platform/b2c/trade/presale/service/StoreFocusService.java

@@ -35,6 +35,14 @@ public interface StoreFocusService {
 	 */
 	String deleteByIds(List<Long> ids);
 
+	/**
+	 * 单个/批量删除店铺关注记录
+	 *
+	 * @param ids 要删除的ids
+	 * @return String 返回success
+	 */
+	String deleteByStoreIds(List<Long> ids);
+
 	/**
 	 * 分页获取指定uu号下的店铺关注信息
 	 * 

+ 17 - 0
src/main/java/com/uas/platform/b2c/trade/presale/service/impl/CollectionServiceImpl.java

@@ -54,6 +54,23 @@ public class CollectionServiceImpl implements CollectionService {
 		return "success";
 	}
 
+	@Override
+	public String deleteByCmpIds(List<Long> ids) {
+		Iterator<Long> it = ids.iterator();
+		int count = 0;
+		while (it.hasNext()) {
+			Long id = (Long) it.next();
+			List<Collection> c = collectionDao.findStoreByUseruuAndEnuuAndKindAndComponentid(SystemSession.getUser().getUserUU(),
+					SystemSession.getUser().getEnterprise().getUu(),2,id);
+			if (c.size()>0){
+				collectionDao.delete(c.get(0).getId());
+				count++;
+			}
+		}
+		System.out.println("删除的条数" + count);
+		return "success";
+	}
+
 	@Override
 	public String clear(int kind) {
 		int count = collectionDao.deleteByuseruuAndKindAndEnuu(SystemSession.getUser().getUserUU(), kind,

+ 17 - 0
src/main/java/com/uas/platform/b2c/trade/presale/service/impl/StoreFocusServiceImpl.java

@@ -65,6 +65,23 @@ public class StoreFocusServiceImpl implements StoreFocusService {
 		return "success";
 	}
 
+	@Override
+	public String deleteByStoreIds(List<Long> ids) {
+		Iterator<Long> it = ids.iterator();
+		int count = 0;
+		while (it.hasNext()) {
+			Long id = (Long) it.next();
+			List<StoreFocus> list = storeFocusDao.findStoreFocusByUseruuAndEnuuAndStoreid(
+					SystemSession.getUser().getUserUU(), SystemSession.getUser().getEnterprise().getUu(), id);
+			if (list.size()>0){
+				storeFocusDao.delete(list.get(0).getId());
+				count++;
+			}
+		}
+		System.out.println("删除的条数" + count);
+		return "success";
+	}
+
 	@Override
 	public Page<StoreFocus> getPageStoreFocus(final PageInfo info) {
 		if (SystemSession.getUser().getEnterprise() != null) {

+ 1 - 3
src/main/java/com/uas/platform/b2c/trade/rate/controller/RateController.java

@@ -1,13 +1,13 @@
 package com.uas.platform.b2c.trade.rate.controller;
 
 
+import com.uas.platform.b2c.core.constant.Status;
 import com.uas.platform.b2c.core.support.SystemSession;
 import com.uas.platform.b2c.core.utils.FastjsonUtils;
 import com.uas.platform.b2c.fa.payment.utils.StringUtils;
 import com.uas.platform.b2c.trade.order.dao.OrderDao;
 import com.uas.platform.b2c.trade.order.dao.PurchaseDao;
 import com.uas.platform.b2c.trade.order.model.Order;
-import com.uas.platform.b2c.trade.order.model.OrderDetail;
 import com.uas.platform.b2c.trade.order.model.Purchase;
 import com.uas.platform.b2c.trade.rate.model.RateBuyer;
 import com.uas.platform.b2c.trade.rate.model.RateGoods;
@@ -19,8 +19,6 @@ import com.uas.platform.b2c.trade.support.ResultMap;
 import com.uas.platform.core.exception.IllegalOperatorException;
 import com.uas.platform.core.model.PageInfo;
 import com.uas.platform.core.model.PageParams;
-import com.uas.platform.core.model.Status;
-import com.uas.platform.core.util.StringUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
 import org.springframework.web.bind.annotation.*;

+ 1 - 4
src/main/java/com/uas/platform/b2c/trade/rate/service/impl/RateServiceImpl.java

@@ -1,6 +1,7 @@
 package com.uas.platform.b2c.trade.rate.service.impl;
 
 import com.uas.platform.b2c.core.constant.SplitChar;
+import com.uas.platform.b2c.core.constant.Status;
 import com.uas.platform.b2c.core.support.SystemSession;
 import com.uas.platform.b2c.trade.order.dao.OrderDao;
 import com.uas.platform.b2c.trade.order.dao.PurchaseDao;
@@ -18,10 +19,7 @@ import com.uas.platform.b2c.trade.rate.model.RateVendor;
 import com.uas.platform.b2c.trade.rate.service.RateService;
 import com.uas.platform.core.exception.IllegalOperatorException;
 import com.uas.platform.core.model.PageInfo;
-import com.uas.platform.core.model.Status;
 import com.uas.platform.core.persistence.criteria.PredicateUtils;
-import org.apache.kafka.common.metrics.stats.Rate;
-import org.hibernate.criterion.LogicalExpression;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
 import org.springframework.data.jpa.domain.Specification;
@@ -32,7 +30,6 @@ import javax.persistence.criteria.CriteriaBuilder;
 import javax.persistence.criteria.CriteriaQuery;
 import javax.persistence.criteria.Predicate;
 import javax.persistence.criteria.Root;
-import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 

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

@@ -1,6 +1,6 @@
 jdbc.driverClassName=com.mysql.jdbc.Driver
 #jdbc.url=jdbc:oracle:thin:@192.168.253.6:1521:orcl
-jdbc.url=jdbc:mysql://192.168.253.12:3306/mall_test_dev?characterEncoding=UTF-8
+jdbc.url=jdbc:mysql://192.168.253.12:3306/mall_test_dev?characterEncoding=UTF-8&allowMultiQueries=true&rewriteBatchedStatements=true
 jdbc.username=root
 jdbc.password=select111***
 jdbc.initialSize=1

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

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

+ 3 - 0
src/main/resources/spring/task.xml

@@ -19,5 +19,8 @@
         <task:scheduled ref="RateTask" method="autoAfterRate" cron="0 0 1 * * ?"/>
        <!-- <task:scheduled ref="RateTask" method="autoAfterRate" cron="* */10 * * * ?"/>-->
     </task:scheduled-tasks>
+    <task:scheduled-tasks>
+        <task:scheduled ref="CommonTask" method="updateCount" cron="0 0 1 * * ?"/>
+    </task:scheduled-tasks>
     <context:annotation-config />
 </beans>

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

@@ -1,6 +1,6 @@
 jdbc.driverClassName=com.mysql.jdbc.Driver
 #jdbc.url=jdbc:oracle:thin:@192.168.253.6:1521:orcl
-jdbc.url=jdbc:mysql://192.168.253.12:3306/mall_test_dev?characterEncoding=UTF-8
+jdbc.url=jdbc:mysql://192.168.253.12:3306/mall_test_dev?characterEncoding=UTF-8&allowMultiQueries=true&rewriteBatchedStatements=true
 jdbc.username=root
 jdbc.password=select111***
 jdbc.initialSize=1

+ 7 - 3
src/main/webapp/WEB-INF/views/normal/proxyLogout.html

@@ -11,13 +11,17 @@
 </head>
 <body>
 <script type="text/javascript">
-	function proxyLogout(askUrl, retUrl) {
+	function proxyLogout(askUrl, retUrl, logoutUrl) {
 	    $.getJSON(askUrl + "?callback=?", function(d){
-	    	window.location.href = retUrl;
+            if (d.error) {
+                window.location.href = logoutUrl
+            } else {
+                window.location.href = retUrl && retUrl !== 'null' ? retUrl : '/'
+            }
 	    });
 	}
 	$.getJSON('logout/crossBefore', function(data){
-		proxyLogout(data.askUrl, data.returnUrl);
+		proxyLogout(data.askUrl, data.returnUrl ,data.logoutUrl);
 	});
 </script>
 <div align="center" style="margin-top: 180px;">

+ 1 - 1
src/main/webapp/resources/js/admin/controllers/customService/ReviewerEmailInfo.js

@@ -20,7 +20,7 @@ define(['app/app'], function(app) {
 				templateUrl : 'static/view/admin/customService/modal/addMailInfo.html',
 				controller : 'addMailInfoCtrl',
 				resolve : {
-					
+
 				}
 			});
 			

+ 9 - 6
src/main/webapp/resources/js/usercenter/controllers/forstore/buyer_order_ctrl.js

@@ -158,10 +158,13 @@ define(['app/app'], function (app) {
 
 		var loadData = function() {
 			Order.getIndividualOrder($scope.param, function(data) {
-				$scope.AllOrderInfo = data;
-                if($scope.childStatus ==''){
-                    $scope.AllOrderInfo[$scope.status] = data.totalElements;
-                }
+                if (!$scope.startDate && !$scope.endDate && !$scope.keyword){
+                    $scope.AllOrderInfo = data;
+                    if($scope.childStatus ==''){
+                        $scope.AllOrderInfo[$scope.status] = data.totalElements;
+                    }
+				}
+                $scope.isSearch = false;
 				$scope.currenctOrders = data.content;
 				angular.forEach($scope.currenctOrders, function(data){
                     data.ensurePrice = Number(NumberService.toCeil(data.ensurePrice, 2));
@@ -414,9 +417,9 @@ define(['app/app'], function (app) {
 			$scope.param.page = 1;
 			$scope.param.status = getState();
 			$scope.param.keyword = $scope.keyword;
-
+            $scope.setChildStatus('','订单状态')
 			loadData();
-			getCounts();
+			//getCounts();
 		};
 
 		$scope.noticeShipConfirm = function () {

+ 0 - 3
src/main/webapp/resources/js/vendor/controllers/forstore/vendor_deliveryRule_ctrl.js

@@ -174,9 +174,6 @@ define([ 'app/app' ], function(app) {
                 console.log(res);
             });
 
-            DistributionRule.findAllRuleName({},{},function (data) {
-                $scope.nameArray = data;
-            })
         };
         $scope.loadCityData();
 

+ 24 - 17
src/main/webapp/resources/js/vendor/controllers/forstore/vendor_order_ctrl.js

@@ -401,10 +401,12 @@ define(['app/app'], function (app) {
 
         // 获取各种状态订单的数量信息
         var getCounts = function () {
-            Purchase.getAllStatusCounts({storeType: $scope.storeType}, function (data) {
-                $scope.counts = angular.copy(data);
-                $scope.counts[$scope.status] = $scope.pageParams.totalElements;
-            });
+            if (!$scope.startDate && !$scope.endDate && !$scope.keyword){
+                Purchase.getAllStatusCounts({storeType: $scope.storeType}, function (data) {
+                    $scope.counts = angular.copy(data);
+                    $scope.counts[$scope.status] = $scope.pageParams.totalElements;
+                });
+            }
         };
         getCounts();
 
@@ -494,6 +496,7 @@ define(['app/app'], function (app) {
             $scope.orderTableParams.reload();
         };
 
+
         $scope.orderTableParams = new ngTableParams($scope.tableParams, {
             total: 0,
             getData: function ($defer, params) {
@@ -523,22 +526,25 @@ define(['app/app'], function (app) {
 
                 Purchase.getByStatusAndInternal(param, function (page) {
                     if (page) {
-                        if ($scope.childStatus ==''){
-                            if (page.content) {
-                                angular.forEach(page, function (value, key) {
-                                    if (key == 'all' || key == 'tobeconfirmed' || key == 'comfirmed' || key == 'inbound'
-                                        || key == 'tobepaid' || key == 'completed' || key == 'unavailable' || key == 'toBeReviewed') {
-                                        if(!$scope.counts) {
-                                            $scope.counts = {};
+                        if (!$scope.startDate && !$scope.endDate && !$scope.keyword) {
+                            if ($scope.childStatus == '') {
+                                if (page.content) {
+                                    angular.forEach(page, function (value, key) {
+                                        if (key == 'all' || key == 'tobeconfirmed' || key == 'comfirmed' || key == 'inbound'
+                                            || key == 'tobepaid' || key == 'completed' || key == 'unavailable' || key == 'toBeReviewed') {
+                                            if (!$scope.counts) {
+                                                $scope.counts = {};
+                                            }
+                                            $scope.counts[key] = value;
                                         }
-                                        $scope.counts[key] = value;
-                                    }
-                                    $scope.counts[$scope.status] = page.totalElements;
-                                });
-                            } else {
-                                $scope.counts = {};
+                                        $scope.counts[$scope.status] = page.totalElements;
+                                    });
+                                } else {
+                                    $scope.counts = {};
+                                }
                             }
                         }
+
                         $scope.purchases = page.content;
                         $scope.requestOver = 0;
                         angular.forEach($scope.purchases, function (order) {
@@ -801,6 +807,7 @@ define(['app/app'], function (app) {
                 $scope.endDate = null;
                 return;
             }
+            $scope.setChildStatus('','订单状态');
             $scope.orderTableParams.page(1);
             $scope.orderTableParams.reload();
         };

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

@@ -165,7 +165,11 @@
 		</div>
 		<div class="row-fluid">
 			<div class="span3">
-				<span>金额:</span>
+				<span>运费:</span>
+				<span class="text-inverse" ng-bind="invoiceFOrder.currencyName"></span>
+				<span class="text-inverse" ng-bind="invoiceFOrder.fare | formateNumber : 2 | currencySysmbol : invoiceFOrder.currency"></span>
+
+				<span style="margin-left: 20px;">合计:</span>
 				<span class="text-inverse" ng-bind="invoiceFOrder.currencyName"></span>
 				<span class="text-inverse" ng-bind="invoiceFOrder.ensurePrice | formateNumber : 2 | currencySysmbol : invoiceFOrder.currency"></span>
 			</div>

+ 7 - 2
src/main/webapp/resources/view/admin/trade/trade_invoicefrompurc_detail.html

@@ -174,9 +174,14 @@
 		</div>
 		<div class="row">
 			<div class="col-xs-3">
-				<span>金额:</span>
+				<span>运费:</span>
 				<span class="text-inverse" ng-bind="invoiceFPur.currencyName"></span>
-				<span class="text-inverse" ng-bind="invoiceFPur.price | formateNumber : 2"></span>
+				<span class="text-inverse" ng-bind="invoiceFPur.fare || 0 | formateNumber : 2"></span>
+			</div>
+			<div class="col-xs-3">
+				<span>合计:</span>
+				<span class="text-inverse" ng-bind="invoiceFPur.currencyName"></span>
+				<span class="text-inverse" ng-bind="invoiceFPur.ensurePrice | formateNumber : 2"></span>
 			</div>
 		</div>
 	</div>

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

@@ -351,7 +351,11 @@
 		</div>
 		<div class="row-fluid">
 			<div class="col-md-3">
-				<span>金额:</span> <a class="text-inverse"><span ng-bind="orderDetailInfo.currency"></span>&nbsp;<span ng-bind="orderDetailInfo.price | number:2"></span>
+				<span>运费:</span> <a class="text-inverse"><span ng-bind="orderDetailInfo.currency"></span>&nbsp;<span ng-bind="orderDetailInfo.fare || 0 | number:2"></span>
+			</a>
+			</div>
+			<div class="col-md-3">
+				<span>总计:</span> <a class="text-inverse"><span ng-bind="orderDetailInfo.currency"></span>&nbsp;<span ng-bind="orderDetailInfo.ensurePrice | number:2"></span>
 				</a>
 			</div>
 		</div>

+ 7 - 2
src/main/webapp/resources/view/admin/trade/trade_purchase_detail.html

@@ -211,9 +211,14 @@
 		</div>
 		<div class="row-fluid col-md-9">
 			<div class="col-md-4">
-				<span>金额:</span>
+				<span>运费:</span>
 				<span ng-bind="purchaseDetailInfo.currency" class="text-inverse"></span>
-				<span ng-bind="purchaseDetailInfo.price | number:2" class="text-inverse"></span>
+				<span ng-bind="purchaseDetailInfo.fare || 0 | number:2" class="text-inverse"></span>
+			</div>
+			<div class="col-md-4">
+				<span>总计:</span>
+				<span ng-bind="purchaseDetailInfo.currency" class="text-inverse"></span>
+				<span ng-bind="purchaseDetailInfo.ensurePrice | number:2" class="text-inverse"></span>
 			</div>
 		</div>
 	</div>		

+ 1 - 1
src/main/webapp/resources/view/common/site-nav.html

@@ -170,7 +170,7 @@
         </li>
         <li><a href=".">商城首页</a></li>
         <li ng-if="userInfo"><a href="user#/home">买家中心</a></li>
-        <li ng-if="userInfo.enterprises"><a href="vendor#/index">卖家中心</a></li>
+        <li ng-if="userInfo.enterprise.uu"><a href="vendor#/index">卖家中心</a></li>
         <li><a href="help/home" target="_blank">帮助中心</a></li>
         <!-- <li><a href="http://wpa.qq.com/msgrd?v=3&uin=3432892085&site=www.ubtoc.com&menu=yes" target="_blank">在线客服</a></li> -->
        <!-- <li><a href="javascript:void(0)">服务电话:400-830-1818</a></li>-->

+ 0 - 1
src/main/webapp/resources/view/usercenter/forstore/buyer_order.html

@@ -740,7 +740,6 @@
 								<a href="user#/order/detail/{{order.orderid | EncryptionFilter}}" class="oder_d action-link" style="display: block;" target="_blank">订单详情</a>
 								<a class="action-link" href="user#/buyerQueryLogistics/{{order.orderid | EncryptionFilter}}" ng-if="order.status == 404 || order.status == 520 || order.status == 405 || order.status == 521" style="display: block;" target="_blank">查看物流</a>
 
-								<a class="action-link" href="user#/buyerQueryLogistics/{{order.orderid | EncryptionFilter}}" ng-if="order.status == 404" style="display: block;" target="_blank">查看物流</a>
 								<a ng-if="order.isEachRate && (order.rateStatus == 523 || order.rateStatus == 522)" class="oder_d action-link" target="_blank" href="user#/rate/showRate/{{order.orderid | EncryptionFilter}}" style="display: block;">
                                   双方已评
                               	</a>

+ 4 - 1
src/main/webapp/resources/view/usercenter/forstore/order_detail.html

@@ -487,7 +487,10 @@
 							<i style="color: #999;" ng-if="rule" ng-bind="'(' + rule.ruleName + ')'">(满1000元包邮,未满足的订单收取运费20元)</i>
 						</span>
 						<span class="total-price">
-								<p><strong>运费:</strong><em ng-bind="order.fare | formateNumber : 2 | currencySysmbol : order.currency.substring(0,3)" style="font-weight: bold"></em></p>
+								<p><strong>运费:</strong>
+									<em ng-if="rule && rule.fareType != 3" ng-bind="order.fare | formateNumber : 2 | currencySysmbol : order.currency.substring(0,3)" style="font-weight: bold"></em>
+									<em ng-if="rule && rule.fareType == 3"  style="font-weight: bold;color:#e64040">到付</em>
+								</p>
 								<p><strong>店铺合计:</strong>
 									<em ng-bind="order.ensurePrice | formateNumber : 2 | currencySysmbol : order.currency" style="font-weight: bold"></em>
 								</p>

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

@@ -796,10 +796,13 @@
 							</span>
 							<span class="total-price">
 								<p><strong>运费:</strong>
-									<em ng-if="order.status==501" ng-bind="fareList[details[0].storeid] | formateNumber : 2 | currencySysmbol : order.currency.substring(0,3)" style="font-weight: bold"></em>
-									<em ng-if="order.status!=501" style="font-weight: bold">
-										<em ng-if="!deliveryList" ng-bind="order.fare | formateNumber : 2 | currencySysmbol : order.currency.substring(0,3)"></em>
-										<em ng-if="deliveryList" ng-bind="deliveryList[details[0].storeid].fare | formateNumber : 2 | currencySysmbol : order.currency.substring(0,3)"></em>
+									<em ng-if="order.status==501 && deliveryList[details[0].storeid].fareType == 3" style="font-weight: bold;color:#e64040">到付</em>
+									<em ng-if="order.status==501 && deliveryList[details[0].storeid].fareType != 3" ng-bind="fareList[details[0].storeid] | formateNumber : 2 | currencySysmbol : order.currency.substring(0,3)" style="font-weight: bold"></em>
+									<em ng-if="order.status!=501">
+										<em ng-if="!deliveryList && rule.fareType != 3" ng-bind="order.fare | formateNumber : 2 | currencySysmbol : order.currency.substring(0,3)" style="font-weight: bold"></em>
+										<em ng-if="!deliveryList && rule.fareType == 3" style="font-weight: bold;color:#e64040">到付</em>
+										<em ng-if="deliveryList && deliveryList[details[0].storeid].fareType != 3" ng-bind="deliveryList[details[0].storeid].fare | formateNumber : 2 | currencySysmbol : order.currency.substring(0,3)" style="font-weight: bold"></em>
+										<em ng-if="deliveryList && deliveryList[details[0].storeid].fareType == 3" style="font-weight: bold;color:#e64040">到付</em>
 									</em>
 								</p>
 								<p><strong>店铺合计:</strong>

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

@@ -540,7 +540,10 @@
 							<i style="color: #999;" ng-if="rule" ng-bind="'(' + rule.ruleName + ')'">(满1000元包邮,未满足的订单收取运费20元)</i>
 						</span>
 						<span class="total-price">
-								<p><strong>运费:</strong><em ng-bind="purchase.fare | formateNumber : 2 | currencySysmbol : purchase.currency.substring(0,3)" style="font-weight: bold"></em></p>
+								<p><strong>运费:</strong>
+									<em ng-if="!rule || rule.fareType != 3" ng-bind="purchase.fare | formateNumber : 2 | currencySysmbol : purchase.currency.substring(0,3)" style="font-weight: bold"></em>
+									<em ng-if="rule && rule.fareType == 3" style="font-weight: bold;color:#e64040">到付</em>
+								</p>
 								<p><strong>店铺合计:</strong>
 									<em ng-if="!isChange" ng-bind="purchase.ensurePrice | formateNumber : 2 | currencySysmbol : purchase.currency" style="font-weight: bold"></em>
 									<em ng-if="isChange" ng-bind="purchase.currentTotal | formateNumber : 2 | currencySysmbol : purchase.currency" style="font-weight: bold"></em>

+ 5 - 0
src/main/webapp/resources/view/vendor/forstore/vendor_delivery_rule.html

@@ -438,6 +438,11 @@
 						<label for="style02"></label>
 						按总金额计算
 					</label>
+					<label class="check-act" ng-click="checkTab(3)">
+						<input type="radio" id="style03" name="radio2" ng-checked="modifyRule.fareType==3"/>
+						<label for="style03"></label>
+						到付
+					</label>
 				</div>
 				<!--统一规定运费-->
 				<div class="style-regulations common-style" ng-if="modifyRule.fareType==1">

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

@@ -1169,7 +1169,7 @@
                                 <a class="order-operation" href="javascript:void(0)" ng-if="(purchase.status == 502 || purchase.status == 406)&&(purchase.uasPurcid == null)" ng-click="toBeShiped(purchase)">点击发货</a>
 								<a ng-if="purchase.uasPurcid" style="text-decoration: none;color: #323232;">来源UAS</a>
                                 <!--<a class="order-operation" href="javascript:void(0)" ng-if="purchase.status == 404 && purchase.lgtId&&!purchase.uasPurcid" ng-click="toBeShiped(purchase)" style="position: relative;">修改物流</a>-->
-                                <a class="order-operation" href="javascript:void(0)" ng-if="purchase.status == 404 && purchase.lgtId&&!purchase.uasPurcid" ng-click="toBeShiped(purchase)" style="position: relative;">修改物流</a>
+                                <a class="order-operation" href="javascript:void(0)" ng-if="purchase.status == 404 &&!purchase.uasPurcid" ng-click="modifyLogistic(purchase)" style="position: relative;">修改物流</a>
 								<a class="order-operation" href="javascript:void(0)" ng-click="getModal(purchase,'addRate')" style="position: relative;" ng-if="[405,503,514,506,511,520].indexOf(purchase.status) != -1 && !purchase.isAfterRate && purchase.isFirstRate && requestOver==purchases.length">追加评价</a>
 								<a class="order-operation" href="javascript:void(0)" style="position: relative;" ng-click="getModal(purchase,'firstRate')" ng-if="[405,503,514,506,511,520].indexOf(purchase.status) != -1 && !purchase.isFirstRate && requestOver==purchases.length">评价</a>
 								<!--<div ng-if="purchase.status == 520" class="clock-mind">