浏览代码

Merge branch 'wangdy/auth-v1.0' into feature/authority-0918

wangdy 8 年之前
父节点
当前提交
eb8930db5e
共有 20 个文件被更改,包括 473 次插入20 次删除
  1. 10 0
      src/main/java/com/uas/platform/b2c/advertise/ad/api/StoreRecommendController.java
  2. 8 0
      src/main/java/com/uas/platform/b2c/advertise/ad/service/RecommendProductService.java
  3. 48 3
      src/main/java/com/uas/platform/b2c/advertise/ad/service/impl/RecommendProductServiceImpl.java
  4. 85 0
      src/main/java/com/uas/platform/b2c/common/account/controller/RoleController.java
  5. 69 0
      src/main/java/com/uas/platform/b2c/common/account/dao/RoleDao.java
  6. 68 0
      src/main/java/com/uas/platform/b2c/common/account/service/RoleService.java
  7. 101 0
      src/main/java/com/uas/platform/b2c/common/account/service/impl/RoleServiceImpl.java
  8. 41 0
      src/main/java/com/uas/platform/b2c/core/config/MicroServicesConfMulti.java
  9. 13 1
      src/main/java/com/uas/platform/b2c/prod/commodity/service/impl/GoodsServiceImpl.java
  10. 0 1
      src/main/java/com/uas/platform/b2c/prod/product/brand/service/impl/BrandServiceImpl.java
  11. 2 0
      src/main/resources/dev/sys.properties
  12. 2 0
      src/main/resources/prod/sys.properties
  13. 2 0
      src/main/resources/test/sys.properties
  14. 1 1
      src/main/webapp/resources/js/common/module/store_recommend_product.js
  15. 2 2
      src/main/webapp/resources/view/common/site-nav.html
  16. 4 3
      src/main/webapp/resources/view/usercenter/forstore/buyer_order.html
  17. 4 1
      src/main/webapp/resources/view/usercenter/forstore/buyer_transfer.html
  18. 1 0
      src/main/webapp/resources/view/usercenter/forstore/order_pay.html
  19. 8 7
      src/main/webapp/resources/view/usercenter/modal/cancelOrder_modal.html
  20. 4 1
      src/main/webapp/resources/view/vendor/forstore/vendor_order.html

+ 10 - 0
src/main/java/com/uas/platform/b2c/advertise/ad/api/StoreRecommendController.java

@@ -5,6 +5,7 @@ import com.uas.platform.b2c.advertise.ad.service.RecommendProductService;
 import com.uas.platform.b2c.core.utils.JacksonUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RestController;
@@ -43,6 +44,15 @@ public class StoreRecommendController {
 		return recommendProductService.findProductsWhenUserVisitStore(uuid);
 	}
 
+	/**
+	 * 当卖家新增或修改产品推荐时,创建或更新产品推荐信息
+	 */
+	@RequestMapping(method = RequestMethod.POST, value = "/products//update_batch")
+	public List<RecommendProduct> saveProductsWhenSellerUpdate(String uuid,
+   			@RequestBody List<RecommendProduct> productList) {
+		return recommendProductService.saveProductsWhenSellerUpdate(uuid, productList);
+	}
+
 	@RequestMapping(value = "/products/{uuid}", method = RequestMethod.DELETE)
 	public String deleteProductsWhenUserVisitStore(@PathVariable("uuid") String uuid, String batchCode) {
 		Map<String, String> map = new HashMap<>();

+ 8 - 0
src/main/java/com/uas/platform/b2c/advertise/ad/service/RecommendProductService.java

@@ -29,4 +29,12 @@ public interface RecommendProductService {
 	 * @return the string
 	 */
 	List<RecommendProduct> findProductsWhenUserVisitStore(String uuid);
+
+	/**
+	 * 当卖家新增或修改产品推荐时,创建或更新产品推荐信息
+	 *
+	 * @param uuid			店铺UUID
+	 * @param productList	推荐产品列表
+	 */
+	List<RecommendProduct> saveProductsWhenSellerUpdate(String uuid, List<RecommendProduct> productList);
 }

+ 48 - 3
src/main/java/com/uas/platform/b2c/advertise/ad/service/impl/RecommendProductServiceImpl.java

@@ -4,10 +4,12 @@ import com.uas.platform.b2c.advertise.ad.model.Message;
 import com.uas.platform.b2c.advertise.ad.model.RecommendProduct;
 import com.uas.platform.b2c.advertise.ad.service.RecommendProductService;
 import com.uas.platform.b2c.advertise.ad.utils.RecommendProductsUtils;
+import com.uas.platform.b2c.core.config.MicroServicesConfMulti;
 import com.uas.platform.b2c.core.utils.JacksonUtils;
 import com.uas.platform.b2c.prod.commodity.dao.GoodsDao;
 import com.uas.platform.b2c.prod.commodity.model.Goods;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.kafka.core.KafkaTemplate;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
@@ -30,17 +32,23 @@ import java.util.Set;
 @Service
 public class RecommendProductServiceImpl implements RecommendProductService {
 
+	@Value("#{sys.profile}")
+	private String profile;
+
 	private final RestTemplate restTemplate;
 
 	private final GoodsDao goodsDao;
 
 	private final KafkaTemplate<String, String> kafkaTemplate;
 
+	private final MicroServicesConfMulti conf;
+
 	@Autowired
-	public RecommendProductServiceImpl(RestTemplate restTemplate, GoodsDao goodsDao, KafkaTemplate<String, String> kafkaTemplate) {
+	public RecommendProductServiceImpl(RestTemplate restTemplate, GoodsDao goodsDao, KafkaTemplate<String, String> kafkaTemplate, MicroServicesConfMulti conf) {
 		this.restTemplate = restTemplate;
 		this.goodsDao = goodsDao;
 		this.kafkaTemplate = kafkaTemplate;
+		this.conf = conf;
 	}
 
 	@Override
@@ -49,6 +57,10 @@ public class RecommendProductServiceImpl implements RecommendProductService {
 			return;
 		}
 
+		if (StringUtils.isEmpty(profile)) {
+			throw new IllegalStateException("无法获取配置文件属性值");
+		}
+
 		Date date = new Date();
 
 		Message message = new Message();
@@ -58,14 +70,17 @@ public class RecommendProductServiceImpl implements RecommendProductService {
 		message.setBatchCodes(batchCodes);
 		System.out.println(JacksonUtils.toJson(message));
 
-		kafkaTemplate.send("recommend-products-delete", "batchCode", JacksonUtils.toJson(message));
+		String topic = "recommend-products-delete" + "-" + ("prod".equals(profile) ? "prod" : "test");
+
+		kafkaTemplate.send(topic, "batchCode", JacksonUtils.toJson(message));
 	}
 
 	@Override
 	public List<RecommendProduct> findProductsWhenUserVisitStore(String uuid) {
 		Map<String, String> map = new HashMap<>();
 		map.put("uuid", uuid);
-		String content = restTemplate.getForObject("http://api.ubtob.com/api/recommend/products?condition=store_uuid&uuid={uuid}", String.class, map);
+		String url = conf.getRecommendUrl("/api/recommend/products?condition=store_uuid&uuid={uuid}");
+		String content = restTemplate.getForObject(url, String.class, map);
 		if (StringUtils.isEmpty(content)) {
 			return Collections.emptyList();
 		}
@@ -80,4 +95,34 @@ public class RecommendProductServiceImpl implements RecommendProductService {
 		}
 		return recommendProducts;
 	}
+
+	@Override
+	public List<RecommendProduct> saveProductsWhenSellerUpdate(String uuid, List<RecommendProduct> productList) {
+		if (StringUtils.isEmpty(uuid)) {
+			return Collections.emptyList();
+		}
+
+		if (CollectionUtils.isEmpty(productList)) {
+			productList = Collections.emptyList();
+		}
+
+		String url = conf.getRecommendUrl("/api/recommend/products?uuid=" + uuid);
+
+		String content;
+		try {
+			content = restTemplate.postForObject(url, productList, String.class);
+		} catch (Exception e) {
+			content = "[]";
+		}
+
+		List<RecommendProduct> recommendProducts = JacksonUtils.fromJsonArray(content, RecommendProduct.class);
+
+		for (RecommendProduct product : recommendProducts) {
+			Goods commodity = goodsDao.findByBatchCode(product.getBatchCode());
+			if (commodity != null) {
+				RecommendProductsUtils.fillCommodityInfo(product, commodity);
+			}
+		}
+		return recommendProducts;
+	}
 }

+ 85 - 0
src/main/java/com/uas/platform/b2c/common/account/controller/RoleController.java

@@ -0,0 +1,85 @@
+package com.uas.platform.b2c.common.account.controller;
+
+import com.uas.platform.b2c.common.account.model.Role;
+import com.uas.platform.b2c.common.account.service.RoleService;
+import com.uas.platform.b2c.core.support.log.UsageBufferedLogger;
+import com.uas.platform.core.logging.BufferedLoggerManager;
+import com.uas.platform.core.util.serializer.FlexJsonUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.ModelMap;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 账户管理--角色
+ *
+ * @author yingp
+ *
+ */
+@Controller
+@RequestMapping(value = "/account/role")
+public class RoleController {
+
+    @Autowired
+    private RoleService roleService;
+
+    private final static UsageBufferedLogger logger = BufferedLoggerManager.getLogger(UsageBufferedLogger.class);
+
+    /**
+     * 取系统资源
+     *
+     * @return
+     */
+    @RequestMapping(method = RequestMethod.GET)
+    @ResponseBody
+    public List<Role> getRoles() {
+        return roleService.findAll();
+    }
+
+    /**
+     * 添加自定义角色
+     *
+     * @param json
+     * @return
+     */
+    @RequestMapping(method = RequestMethod.POST)
+    public ResponseEntity<String> save(@RequestBody String json) {
+        Role role = FlexJsonUtils.fromJson(json, Role.class);
+        role = roleService.save(role);
+        logger.log("角色", "添加角色", role.getDuty(), role.getDesc(), role.getId());
+        return new ResponseEntity<String>(HttpStatus.OK);
+    }
+
+    /**
+     * 删除角色
+     *
+     * @param roleId ID
+     * @return
+     */
+    @RequestMapping(value = "/{roleId}", method = RequestMethod.DELETE)
+    public ResponseEntity<String> delete(@PathVariable("roleId") Long roleId) {
+        Role role = roleService.findById(roleId);
+        roleService.delete(role);
+        logger.log("角色", "删除角色", role.getDuty(), role.getDesc(), role.getId());
+        return new ResponseEntity<String>(HttpStatus.OK);
+    }
+
+    /**
+     * 查询当前用户在当前企业的角色是否是管理员或者销售经理
+     *
+     * @return
+     */
+    @RequestMapping(value = "/currentRole", method =  RequestMethod.GET)
+    @ResponseBody
+    public ModelMap getCurrentRoles(){
+        return roleService.getCurrentRoles();
+    }
+
+    @RequestMapping(value = "/isManager", method =  RequestMethod.GET)
+    @ResponseBody
+    public ModelMap isManager(){return  roleService.isManager(); }
+}

+ 69 - 0
src/main/java/com/uas/platform/b2c/common/account/dao/RoleDao.java

@@ -0,0 +1,69 @@
+package com.uas.platform.b2c.common.account.dao;
+
+import com.uas.platform.b2c.common.account.model.Role;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.repository.query.Param;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+
+@Repository
+public interface RoleDao extends JpaRepository<Role, Long> {
+
+    @Query("from Role r where r.enUU = :enUU order by id")
+    public List<Role> findByEnUU(@Param("enUU") long enUU);
+
+    /**
+     * 按角色描述查找角色
+     *
+     * @param enUU
+     * @param desc
+     * @return
+     */
+    public List<Role> findByEnUUAndDesc(long enUU, String desc);
+
+    /**
+     * 角色个数
+     *
+     * @param enUU
+     * @return
+     */
+    @Query("select count(r) from Role r where r.enUU = :enUU")
+    public int getCountByEnUU(@Param("enUU") long enUU);
+
+    /**
+     * 按角色描述查找角色个数
+     *
+     * @param enUU
+     * @param desc
+     * @return
+     */
+    @Query("select count(r) from Role r where r.enUU = :enUU and r.desc = :desc")
+    public int getCountByEnUUAndDesc(@Param("enUU") long enUU, @Param("desc") String desc);
+
+    List<Role> findByEnUUAndIssys(Long vendUU, short yes);
+
+    /**
+     * 查询当前用户在当前企业的角色是否是管理员或者销售经理<br>
+     *
+     * 分配客户需要
+     *
+     * @param enuu
+     * @param useruu
+     * @return
+     */
+    @Query(value = "select count(1) from sec$roles r left join sec$userrole u on r.role_id = u.role_id where r.role_enuu = :enuu and u.user_uu = :useruu and (r.role_name = 'ROLE_ADMIN' or r.role_name = 'ROLE_SALEMANAGER')",nativeQuery = true)
+    Double findByEnuuAndUseruu(@Param("enuu") Long enuu, @Param("useruu") Long useruu);
+
+    /**
+     * 是否是当前企业的管理员(只有管理员才能设置权限)
+     *
+     * @param enuu
+     * @param useruu
+     * @return
+     */
+    @Query(value = "select count(1) from sec$roles r left join sec$userrole u on r.role_id = u.role_id where r.role_enuu = :enuu and u.user_uu = :useruu and r.role_name = 'ROLE_ADMIN'",nativeQuery = true)
+    Double findByEnuuAndUserUU(@Param("enuu") Long enuu, @Param("useruu") Long useruu);
+}

+ 68 - 0
src/main/java/com/uas/platform/b2c/common/account/service/RoleService.java

@@ -0,0 +1,68 @@
+package com.uas.platform.b2c.common.account.service;
+
+import com.uas.platform.b2c.common.account.model.Role;
+import org.springframework.ui.ModelMap;
+
+import java.util.List;
+
+
+public interface RoleService {
+
+    /**
+     * 查找当前企业下所有角色
+     *
+     * @return
+     */
+    public List<Role> findAll();
+
+    /**
+     * 查找指定企业下所有角色
+     *
+     * @return
+     */
+    public List<Role> findByEnterprise(long enUU);
+
+    /**
+     * 保存角色信息
+     *
+     * @param role
+     * @return
+     */
+    public Role save(Role role);
+
+    /**
+     * 查找角色
+     *
+     * @param id
+     * @return
+     */
+    public Role findById(long id);
+
+    /**
+     * 删除角色
+     *
+     * @param role
+     */
+    public void delete(Role role);
+
+    /**
+     * 删除角色
+     *
+     * @param id
+     */
+    public void delete(long id);
+
+    /**
+     * 查询当前用户在当前企业的角色是否是管理员或者销售经理
+     *
+     * @return
+     */
+    public ModelMap getCurrentRoles();
+
+    /**
+     * 判断是否是当前企业的管理员
+     *
+     * @return
+     */
+    ModelMap isManager();
+}

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

@@ -0,0 +1,101 @@
+package com.uas.platform.b2c.common.account.service.impl;
+
+import com.uas.platform.b2c.common.account.dao.EnterpriseDao;
+import com.uas.platform.b2c.common.account.dao.RoleDao;
+import com.uas.platform.b2c.common.account.dao.UserDao;
+import com.uas.platform.b2c.common.account.model.Role;
+import com.uas.platform.b2c.common.account.model.User;
+import com.uas.platform.b2c.common.account.service.RoleService;
+import com.uas.platform.b2c.core.support.SystemSession;
+import com.uas.platform.core.exception.IllegalOperatorException;
+import com.uas.platform.core.model.Constant;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.ui.ModelMap;
+import org.springframework.util.Assert;
+import org.springframework.util.CollectionUtils;
+
+import java.util.List;
+
+
+@Service
+public class RoleServiceImpl implements RoleService {
+
+    @Autowired
+    private RoleDao roleDao;
+
+    @Autowired
+    private EnterpriseDao enterpriseDao;
+
+    @Autowired
+    private UserDao userDao;
+
+    @Override
+    public List<Role> findAll() {
+        return findByEnterprise(SystemSession.getUser().getEnterprise().getUu());
+    }
+
+    @Override
+    public List<Role> findByEnterprise(long enUU) {
+        List<Role> roles = roleDao.findByEnUU(enUU);
+        if (CollectionUtils.isEmpty(roles)) {
+            // 角色为空,说明资料未初始化或初始化失败,需重新init
+            //enterpriseDao.callInitProcedure(enUU);
+            roles = roleDao.findByEnUU(enUU);
+        }
+        return roles;
+    }
+
+    @Override
+    public Role save(Role role) {
+        Assert.notNull(role.getDesc());
+        long enUU = SystemSession.getUser().getEnterprise().getUu();
+        // 角色描述不能重复
+        List<Role> roles = roleDao.findByEnUUAndDesc(enUU, role.getDesc());
+        if (roles.size() > 0 && !roles.get(0).equals(role))
+            throw new IllegalOperatorException("角色描述不能重复");
+        if (role.getName() == null) {
+            // 自定义角色
+            role.setName("ROLE_" + System.currentTimeMillis());
+            role.setEnUU(enUU);
+            role.setIsdefault(Constant.NO);
+            role.setIssys(Constant.NO);
+        }
+        return roleDao.save(role);
+    }
+
+    @Override
+    public Role findById(long id) {
+        return roleDao.findOne(id);
+    }
+
+    @Override
+    public void delete(Role role) {
+        if (role != null && role.getId() != null) {
+            List<User> users = userDao.findByRole(role.getId());
+            if (!CollectionUtils.isEmpty(users)) {
+                for (User user : users) {
+                    user.getRoles().remove(role);
+                }
+                userDao.save(users);
+            }
+            roleDao.delete(role);
+        }
+    }
+
+    @Override
+    public void delete(long id) {
+        delete(findById(id));
+    }
+
+    @Override
+    public ModelMap getCurrentRoles() {
+        return new ModelMap("count", roleDao.findByEnuuAndUseruu(SystemSession.getUser().getEnterprise().getUu(),SystemSession.getUser().getUserUU()));
+    }
+
+    @Override
+    public ModelMap isManager() {
+        return new ModelMap("isManager", roleDao.findByEnuuAndUserUU(SystemSession.getUser().getEnterprise().getUu(),SystemSession.getUser().getUserUU()) > 0 ? true : false);
+    }
+
+}

+ 41 - 0
src/main/java/com/uas/platform/b2c/core/config/MicroServicesConfMulti.java

@@ -0,0 +1,41 @@
+package com.uas.platform.b2c.core.config;
+
+import com.uas.platform.core.model.PageParams;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Component;
+
+/**
+ * 微服务相关配置
+ */
+@Component
+public class MicroServicesConfMulti {
+
+	/**
+	 * 微服务Docker swarm的主机地址
+	 */
+	@Value("#{sys.endpointUri ?: '10.10.101.23'}")
+	private String microServiceIp;
+
+	@Value("#{sys.recommendPort ?: '20102'}")
+	private String recommendPort;
+
+	public String getMicroServiceIp() {
+		return microServiceIp;
+	}
+
+	public void setMicroServiceIp(String microServiceIp) {
+		this.microServiceIp = microServiceIp;
+	}
+
+	public String getRequestUrl(int port, String requestUrl) {
+		return String.format("http://%s:%d%s", this.microServiceIp, port, requestUrl);
+	}
+
+	public String getRequestUrl(int port, String requestUrl, PageParams pageable) {
+		return String.format("http://%s:%d%s%s", this.microServiceIp, port, requestUrl, "&count=" + pageable.getCount() + "&page=" + pageable.getPage() + "&filter=" + pageable.getFilter());
+	}
+
+	public String getRecommendUrl(String requestUrl) {
+		return String.format("http://%s:%s%s", this.microServiceIp, this.recommendPort, requestUrl);
+	}
+}

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

@@ -1873,17 +1873,29 @@ public class GoodsServiceImpl implements GoodsService {
 		}
 		Set<String> uuids = new HashSet<>();
 		List<String> batchCodeList = new ArrayList<>();
+
+		String storeUuid = "";
+
 		for (String batchCode : batchCodeArr) {
 			ResultMap resultMap = offShelfOneGoodsByProvider(batchCode);
 			if (resultMap.isSuccess()) {
 				Goods goods = (Goods) resultMap.getData();
 				uuids.add(goods.getUuid());
 				batchCodeList.add(goods.getBatchCode());
+
+				storeUuid = goods.getStoreid();
 			}
 		}
 		for (String uuid : uuids) {
 			updateComponentTradeInfos(uuid);
 		}
+
+		if (!StringUtils.isEmpty(storeUuid)) {
+			List<String> list = Arrays.asList(batchCodeArr);
+			Set<String> batchCodeSet = new HashSet<>(list);
+			recommendProductService.deleteProductsWhenSellerUpdateReserve(storeUuid, batchCodeSet);
+		}
+
 		if (batchCodeList.size() == 0) {
 			return new ResultMap(CodeType.ERROR_STATE.code(), "下架商品失败");
 		} else {
@@ -1897,7 +1909,7 @@ public class GoodsServiceImpl implements GoodsService {
 	 * @param batchCode		商品批次号
 	 */
 	@Transactional
-	private ResultMap offShelfOneGoodsByProvider(String batchCode) {
+	public ResultMap offShelfOneGoodsByProvider(String batchCode) {
 		if (StringUtils.isEmpty(batchCode)) {
 			return new ResultMap(CodeType.NO_INFO.code(), "待下架批次号不能为空");
 		}

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

@@ -101,7 +101,6 @@ public class BrandServiceImpl implements BrandService {
 			String[] initals = new String[]{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9"};
 			List<BrandInfo> brandInfos = brandInfoDao.findInInitals(initals);
 			map.put(keyword, brandInfos);
-			return map;
 		} else {
 			char[] initals = keyword.toCharArray();
 			for (char inital : initals) {

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

@@ -23,6 +23,8 @@ reportPrintUrl=http://print.ubtob.com/report/print?userName=B2C&profile=${profil
 reportUploadUrl=http://print.ubtob.com/report/fileUpload?userName=B2C
 # micro service IP(Swarm Manager IP)
 microServiceIp=10.10.101.23
+endpointUri=10.10.101.23
+recommendPort=20102
 
 # 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

+ 2 - 0
src/main/resources/prod/sys.properties

@@ -24,6 +24,8 @@ reportPrintUrl=http://print.ubtob.com/report/print?userName=B2C&profile=${profil
 reportUploadUrl=http://print.ubtob.com/report/fileUpload?userName=B2C
 # micro service IP(Swarm Manager IP)
 microServiceIp=10.10.100.23
+endpointUri=10.10.100.23
+recommendPort=20100
 
 # 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

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

@@ -23,6 +23,8 @@ reportPrintUrl=http://print.ubtob.com/report/print?userName=B2C&profile=${profil
 reportUploadUrl=http://print.ubtob.com/report/fileUpload?userName=B2C
 # micro service IP(Swarm Manager IP)
 microServiceIp=10.10.101.23
+endpointUri=10.10.101.23
+recommendPort=20102
 
 # Kafka
 kafka-bootstrap-servers=10.10.100.11:9292,10.10.100.12:9292,10.10.100.13:9292,10.10.100.14:9292,10.10.100.15:9292,10.10.100.16:9292

+ 1 - 1
src/main/webapp/resources/js/common/module/store_recommend_product.js

@@ -39,7 +39,7 @@ define([ 'ngResource', 'common/query/commodity' ], function() {
 			 * @param uuid
 			 */
 			saveProductsWhenSellerUpdate: {
-				url: address + 'api/recommend/products',
+				url: 'api/store/recommend/products//update_batch',
 				method: 'POST',
 				isArray: true
 			},

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

@@ -169,8 +169,8 @@
             </div>
         </li>
         <li><a href=".">商城首页</a></li>
-        <li ng-if="userInfo"><a href="user">买家中心</a></li>
-        <li ng-if="userInfo.enterprises"><a href="vendor">卖家中心</a></li>
+        <li ng-if="userInfo"><a href="user#/home">买家中心</a></li>
+        <li ng-if="userInfo.enterprises"><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>-->

+ 4 - 3
src/main/webapp/resources/view/usercenter/forstore/buyer_order.html

@@ -310,12 +310,13 @@
 
 	.notice-ship-tip {
 		position: fixed;
-		width: 340px;
+		width: 300px;
 		height: 145px;
 		background-color: white;
 		font-size: 14px;
-		top: 300px;
-		left: 500px;
+		top: 50%;
+		left: 50%;
+		margin: -78px 0 0 -150px;
 		box-shadow: 1px 6px 5px #C0BCBA
 	}
 

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

@@ -44,7 +44,10 @@
 	margin-left: 0px;
 	margin-right: 0px;
 }
-
+.marginleftrightzero:hover{
+	background: none !important;
+	cursor: default !important;
+}
 .marginbot30 {
 	margin-bottom: 30px;
 }

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

@@ -331,6 +331,7 @@
 	}
 	.sure_oder .btn-wrap .number input{
 		height: 29px;
+		line-height: 29px;
 	}
 	.sure_oder .btn-wrap .number{
 		width: 124px;

+ 8 - 7
src/main/webapp/resources/view/usercenter/modal/cancelOrder_modal.html

@@ -12,15 +12,16 @@
 	}
 
 	#choice {
-		width: 290px;
+		width: 250px;
 		margin-left: 100px;
 	}
 
 	div.modal-dialog.modal-md {
-		width: 500px !important;
+		width: 440px !important;
 		position: fixed !important;
 		top: 150px !important;
-		left: 400px !important;
+		left: 50% !important;
+		margin-left: -200px;
 	}
 
 	a.cancle-close {
@@ -37,7 +38,7 @@
 	}
 
 	.modal-header {
-		background-color: #3A76E4;
+		background-color: #5078cb;
 		line-height: 31px;
 		padding: 0px !important;
 		height: 31px;
@@ -51,16 +52,16 @@
 	}
 
 	.modal-footer .confirm {
-		width: 90px;
+		width: 70px;
 		padding: 5px 10px;
-		background-color: #3A76E4;
+		background-color: #5078cb;
 		border: none;
 		color: white;
 		font-size: 14px;
 	}
 
 	.modal-footer .cancle-button {
-		width: 90px;
+		width: 70px;
 		padding: 5px 10px;
 		background-color: #D9D5CE;
 		border: none;

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

@@ -608,6 +608,9 @@
 	.border-bt-16:nth-of-type(1){
 		border-top: none;
 	}
+	.conuter-box .content p{
+		line-height: 20px;
+	}
 </style>
 <div class="user_right fr">
 	<!--订单中心-->
@@ -826,7 +829,7 @@
 						<b style="float: none;">总共<em ng-bind="purchase.batchQty"></em>件商品</b>
 						<b style="float: none;">总金额:<em ng-bind="purchase.ensurePrice | formateNumber : 2 | currencySysmbol : purchase.currency"></em></b>
 					</dd>
-					<div class="com-del-box" ng-if="purchase.showGotoSettle && purchase.showTip == 1" style="display: block;">
+					<div class="com-del-box conuter-box" ng-if="purchase.showGotoSettle && purchase.showTip == 1" style="display: block;">
 						<div class="title">
 							<a ng-click="changeShow(purchase)"><i class="fa fa-close fa-lg"></i></a>
 						</div>