Просмотр исходного кода

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

wangcz 8 лет назад
Родитель
Сommit
2d05fab19c
30 измененных файлов с 671 добавлено и 47 удалено
  1. 51 1
      src/main/java/com/uas/platform/b2c/common/account/controller/EnterpriseController.java
  2. 41 0
      src/main/java/com/uas/platform/b2c/common/account/controller/UserController.java
  3. 13 0
      src/main/java/com/uas/platform/b2c/common/account/dao/UserCacheEnterpriseDao.java
  4. 38 0
      src/main/java/com/uas/platform/b2c/common/account/model/Enterprise.java
  5. 125 0
      src/main/java/com/uas/platform/b2c/common/account/model/FormEnterprise.java
  6. 186 0
      src/main/java/com/uas/platform/b2c/common/account/model/UserCacheEnterprise.java
  7. 3 1
      src/main/java/com/uas/platform/b2c/common/account/model/UserInfo.java
  8. 9 1
      src/main/java/com/uas/platform/b2c/common/account/service/EnterpriseService.java
  9. 23 6
      src/main/java/com/uas/platform/b2c/common/account/service/UserService.java
  10. 50 10
      src/main/java/com/uas/platform/b2c/common/account/service/impl/EnterpriseServiceImpl.java
  11. 26 4
      src/main/java/com/uas/platform/b2c/common/account/service/impl/UserServiceImpl.java
  12. 1 1
      src/main/java/com/uas/platform/b2c/prod/product/common/CommonTask.java
  13. 15 3
      src/main/java/com/uas/platform/b2c/prod/product/common/api/CommonCountController.java
  14. 3 3
      src/main/java/com/uas/platform/b2c/prod/product/common/model/CommonCount.java
  15. 8 1
      src/main/java/com/uas/platform/b2c/trade/order/service/impl/PurchaseServiceImpl.java
  16. 6 1
      src/main/java/com/uas/platform/b2c/trade/support/CodeType.java
  17. 1 1
      src/main/resources/dev/account.properties
  18. 1 1
      src/main/resources/prod/account.properties
  19. 1 1
      src/main/webapp/resources/js/common/controllers/commonCtrls.js
  20. 4 0
      src/main/webapp/resources/js/common/query/enterprise.js
  21. 12 2
      src/main/webapp/resources/js/vendor/app.js
  22. 4 0
      src/main/webapp/resources/js/vendor/controllers/forstore/vendor_index_ctrl.js
  23. 12 2
      src/main/webapp/resources/js/vendor/controllers/forstore/vendor_logistics_ctrl.js
  24. 12 1
      src/main/webapp/resources/js/vendor/controllers/forstore/vendor_order_ctrl.js
  25. 5 0
      src/main/webapp/resources/js/vendor/controllers/forstore/vendor_store_apply_ctrl.js
  26. 3 2
      src/main/webapp/resources/view/common/site-nav.html
  27. 10 0
      src/main/webapp/resources/view/usercenter/forstore/buyer_cart.html
  28. 3 3
      src/main/webapp/resources/view/vendor/forstore/vendor_logistics.html
  29. 1 1
      src/main/webapp/resources/view/vendor/forstore/vendor_order.html
  30. 4 1
      src/main/webapp/resources/view/vendor/left_nav.html

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

@@ -1,6 +1,11 @@
 package com.uas.platform.b2c.common.account.controller;
 
+import com.uas.account.entity.UserSpaceDetail;
+import com.uas.account.util.AccountUtils;
 import com.uas.platform.b2c.common.account.model.Enterprise;
+import com.uas.platform.b2c.common.account.model.FormEnterprise;
+import com.uas.platform.b2c.common.account.model.User;
+import com.uas.platform.b2c.common.account.model.UserBaseInfo;
 import com.uas.platform.b2c.common.account.service.EnterpriseService;
 import com.uas.platform.b2c.core.support.SystemSession;
 import com.uas.platform.b2c.prod.store.service.StoreInService;
@@ -33,6 +38,20 @@ public class EnterpriseController {
 		return enterpriseService.getEnterpriseInfo(enuu);
 	}
 
+	/**
+	 * 根据UU获取完整企业信息
+	 * @param enuu 企业uu号
+	 * @return 完整的企业信息
+	 */
+	@RequestMapping(value = "/{enuu}/detailInfo", method = RequestMethod.GET)
+	public UserSpaceDetail getUserSpaceDetailByEnuu(@PathVariable Long enuu){
+		try {
+			return AccountUtils.findByBusinessCode(enterpriseService.getEnterpriseInfo(enuu).getEnBussinessCode()) ;
+		}catch (Exception e){
+			return null;
+		}
+	}
+
 	/**
 	 * 修改企业基本资料
 	 *
@@ -68,7 +87,7 @@ public class EnterpriseController {
 	 * @return
 	 */
 	@RequestMapping(value = "/register", method = RequestMethod.POST)
-	public ResultMap registerEnterprise(@RequestBody Enterprise enterprise, String filePath) {
+	public ResultMap registerEnterprise(@RequestBody FormEnterprise enterprise, String filePath) {
 		return enterpriseService.registerEnterprise(enterprise,filePath,SystemSession.getUser());
 	}
 
@@ -90,4 +109,35 @@ public class EnterpriseController {
 		return enterpriseService.validBusinessCode(businessCode);
 	}
 
+
+	/**
+	 * 开通企业卖家功能
+	 *
+	 * @param enUU
+	 */
+	@RequestMapping(value = "/openVendor/{enUU}", method = RequestMethod.POST)
+	public void openVendor(@PathVariable("enUU") long enUU) {
+		enterpriseService.openVendor(enUU,true, true);
+	}
+
+	/**
+	 * 设置卖家中心预开通状态
+	 *
+	 * @param enUU
+	 */
+	@RequestMapping(value = "/openVendorSetRead/{enUU}", method = RequestMethod.POST)
+	public void setOpenVendor(@PathVariable("enUU") long enUU) {
+		enterpriseService.openVendor(enUU,true,false);
+	}
+
+	/**
+	 * 设置卖家中心非预开通状态
+	 *
+	 * @param enUU
+	 */
+	@RequestMapping(value = "/openVendorSetNotRead/{enUU}", method = RequestMethod.POST)
+	public void setOpenNotVendor(@PathVariable("enUU") long enUU) {
+		enterpriseService.openVendor(enUU,false,false);
+	}
+
 }

+ 41 - 0
src/main/java/com/uas/platform/b2c/common/account/controller/UserController.java

@@ -2,6 +2,7 @@ package com.uas.platform.b2c.common.account.controller;
 
 import com.uas.platform.b2c.common.account.model.Enterprise;
 import com.uas.platform.b2c.common.account.model.User;
+import com.uas.platform.b2c.common.account.model.UserCacheEnterprise;
 import com.uas.platform.b2c.common.account.model.UserInfo;
 import com.uas.platform.b2c.common.account.service.UserService;
 import com.uas.platform.b2c.core.support.SystemSession;
@@ -242,4 +243,44 @@ public class UserController {
 					HttpStatus.OK);
 		}
 	}
+
+	/**
+	 * 设置注册企业的缓存信息
+	 *
+	 * @return
+	 */
+	@RequestMapping(value = "/userCacheEnterprise", method = RequestMethod.POST)
+	public ResponseEntity<Boolean> newUserCacheEnterprise(@RequestBody UserCacheEnterprise userCacheEnterprise) {
+		UserCacheEnterprise userCacheEnterprise1 = userService.saveUserCacheEnterprise(SystemSession.getUser(),userCacheEnterprise);
+		if (userCacheEnterprise1 == null) {
+			throw new IllegalOperatorException("保存失败");
+		} else {
+			HttpHeaders headers = new HttpHeaders();
+			headers.add("Content-Type", "application/text; charset=utf-8");
+			return new ResponseEntity<Boolean>(true, headers,
+					HttpStatus.OK);
+		}
+	}
+
+	/**
+	 * 获取注册企业的缓存信息
+	 *
+	 * @return
+	 */
+	@RequestMapping(value = "/userCacheEnterprise", method = RequestMethod.GET)
+	@ResponseBody
+	public UserCacheEnterprise getUserCacheEnterprise() {
+		return userService.getUserCacheEnterprise(SystemSession.getUser());
+	}
+
+	/**
+	 * 删除注册企业的缓存信息
+	 *
+	 * @return
+	 */
+	@RequestMapping(value = "/userCacheEnterprise", method = RequestMethod.DELETE)
+	@ResponseBody
+	public void deleteUserCacheEnterprise() {
+		userService.deleteUserCacheEnterprise(SystemSession.getUser());
+	}
 }

+ 13 - 0
src/main/java/com/uas/platform/b2c/common/account/dao/UserCacheEnterpriseDao.java

@@ -0,0 +1,13 @@
+package com.uas.platform.b2c.common.account.dao;
+
+import com.uas.platform.b2c.common.account.model.UserCacheEnterprise;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.stereotype.Repository;
+
+/**
+ * Created by wangdy on 2017-08-25.
+ */
+@Repository
+public interface UserCacheEnterpriseDao extends JpaSpecificationExecutor<UserCacheEnterprise>, JpaRepository<UserCacheEnterprise, Long> {
+}

+ 38 - 0
src/main/java/com/uas/platform/b2c/common/account/model/Enterprise.java

@@ -90,6 +90,13 @@ public class Enterprise implements Serializable {
 	 */
 	@Column(name = "en_businesscode")
 	private String enBussinessCode;
+
+	/**
+	 * 商业登记证图片
+	 */
+	@Column(name = "en_businesscodeimg")
+	private String enBussinessCodeImage;
+
 	/**
 	 * 公司主页地址
 	 */
@@ -131,6 +138,12 @@ public class Enterprise implements Serializable {
 	@Column(name = "en_saasstatus")
 	private Short enSaasStatus;
 
+	/**
+	 * 是否开通卖家中心状态
+	 */
+	@Column(name = "en_mallvendorstatus")
+	private Short enMallVendorStatus;
+
 	/**
 	 * enIsErp
 	 */
@@ -316,6 +329,14 @@ public class Enterprise implements Serializable {
 		this.enSaasStatus = enSaasStatus;
 	}
 
+	public Short getEnMallVendorStatus() {
+		return enMallVendorStatus;
+	}
+
+	public void setEnMallVendorStatus(Short enMallVendorStatus) {
+		this.enMallVendorStatus = enMallVendorStatus;
+	}
+
 	public Integer getReceiptStatus() {
 		return receiptStatus;
 	}
@@ -369,6 +390,14 @@ public class Enterprise implements Serializable {
 		this.enLogoUrl = enLogoUrl;
 	}
 
+	public String getEnBussinessCodeImage() {
+		return enBussinessCodeImage;
+	}
+
+	public void setEnBussinessCodeImage(String enBussinessCodeImage) {
+		this.enBussinessCodeImage = enBussinessCodeImage;
+	}
+
 	/**
 	 * saas用户
 	 * 
@@ -378,4 +407,13 @@ public class Enterprise implements Serializable {
 		return this.enSaasStatus != null && Status.ENABLED.value() == this.enSaasStatus;
 	}
 
+	/**
+	 * 是否开通卖家中心
+	 *
+	 * @return
+	 */
+	public boolean isMallVendor() {
+		return this.enMallVendorStatus != null && Status.ENABLED.value() == this.enMallVendorStatus;
+	}
+
 }

+ 125 - 0
src/main/java/com/uas/platform/b2c/common/account/model/FormEnterprise.java

@@ -0,0 +1,125 @@
+package com.uas.platform.b2c.common.account.model;
+
+/**
+ * Created by wangdy on 2017-09-13.
+ */
+public class FormEnterprise {
+
+    private String name;
+    private String lawPerson;
+    private String url;
+    private String licenceId;
+    private String address;
+    private String linkman;
+    private String phone;
+    private String email;
+    private String fax;
+    private String website;
+    private String profession;
+    private String logoUrl;
+    private String[] tagsData;
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getLawPerson() {
+        return lawPerson;
+    }
+
+    public void setLawPerson(String lawPerson) {
+        this.lawPerson = lawPerson;
+    }
+
+    public String getUrl() {
+        return url;
+    }
+
+    public void setUrl(String url) {
+        this.url = url;
+    }
+
+    public String getLicenceId() {
+        return licenceId;
+    }
+
+    public void setLicenceId(String licenceId) {
+        this.licenceId = licenceId;
+    }
+
+    public String getAddress() {
+        return address;
+    }
+
+    public void setAddress(String address) {
+        this.address = address;
+    }
+
+    public String getLinkman() {
+        return linkman;
+    }
+
+    public void setLinkman(String linkman) {
+        this.linkman = linkman;
+    }
+
+    public String getPhone() {
+        return phone;
+    }
+
+    public void setPhone(String phone) {
+        this.phone = phone;
+    }
+
+    public String getEmail() {
+        return email;
+    }
+
+    public void setEmail(String email) {
+        this.email = email;
+    }
+
+    public String getFax() {
+        return fax;
+    }
+
+    public void setFax(String fax) {
+        this.fax = fax;
+    }
+
+    public String getWebsite() {
+        return website;
+    }
+
+    public void setWebsite(String website) {
+        this.website = website;
+    }
+
+    public String getProfession() {
+        return profession;
+    }
+
+    public void setProfession(String profession) {
+        this.profession = profession;
+    }
+
+    public String getLogoUrl() {
+        return logoUrl;
+    }
+
+    public void setLogoUrl(String logoUrl) {
+        this.logoUrl = logoUrl;
+    }
+
+    public String[] getTagsData() {
+        return tagsData;
+    }
+
+    public void setTagsData(String[] tagsData) {
+        this.tagsData = tagsData;
+    }
+}

+ 186 - 0
src/main/java/com/uas/platform/b2c/common/account/model/UserCacheEnterprise.java

@@ -0,0 +1,186 @@
+package com.uas.platform.b2c.common.account.model;
+
+import javax.persistence.*;
+
+/**
+ * Created by wangdy on 2017-08-25.
+ */
+@Entity
+@Table(name = "sec$user_cache_enterprise")
+public class UserCacheEnterprise {
+    /**
+     * uu号,ID
+     */
+    @Id
+    @Column(name = "user_uu")
+    private Long userUU;
+
+
+
+    @Column(name = "name")
+    private String name;
+
+    @Column(name = "lawPerson")
+    private String lawPerson;
+
+    @Column(name = "url")
+    private String url;
+
+    @Column(name = "licenceId")
+    private String licenceId;
+
+    @Column(name = "address")
+    private String address;
+
+    @Column(name = "linkman")
+    private String linkman;
+
+    @Column(name = "phone")
+    private String phone;
+
+    @Column(name = "email")
+    private String email;
+
+    @Column(name = "fax")
+    private String fax;
+
+    @Column(name = "website")
+    private String website;
+
+    @Column(name = "profession")
+    private String profession;
+
+    @Column(name = "logoUrl")
+    private String logoUrl;
+
+    @Column(name = "tagsData")
+    private String[] tagsData;
+
+
+    /**
+     * 是否阅读开店协议
+     */
+    @Column(name = "en_isread")
+    private boolean enIsRead;
+
+
+    public Long getUserUU() {
+        return userUU;
+    }
+
+    public void setUserUU(Long userUU) {
+        this.userUU = userUU;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getLawPerson() {
+        return lawPerson;
+    }
+
+    public void setLawPerson(String lawPerson) {
+        this.lawPerson = lawPerson;
+    }
+
+    public String getUrl() {
+        return url;
+    }
+
+    public void setUrl(String url) {
+        this.url = url;
+    }
+
+    public String getLicenceId() {
+        return licenceId;
+    }
+
+    public void setLicenceId(String licenceId) {
+        this.licenceId = licenceId;
+    }
+
+    public String getAddress() {
+        return address;
+    }
+
+    public void setAddress(String address) {
+        this.address = address;
+    }
+
+    public String getLinkman() {
+        return linkman;
+    }
+
+    public void setLinkman(String linkman) {
+        this.linkman = linkman;
+    }
+
+    public String getPhone() {
+        return phone;
+    }
+
+    public void setPhone(String phone) {
+        this.phone = phone;
+    }
+
+    public String getEmail() {
+        return email;
+    }
+
+    public void setEmail(String email) {
+        this.email = email;
+    }
+
+    public String getFax() {
+        return fax;
+    }
+
+    public void setFax(String fax) {
+        this.fax = fax;
+    }
+
+    public String getWebsite() {
+        return website;
+    }
+
+    public void setWebsite(String website) {
+        this.website = website;
+    }
+
+    public String getProfession() {
+        return profession;
+    }
+
+    public void setProfession(String profession) {
+        this.profession = profession;
+    }
+
+    public String getLogoUrl() {
+        return logoUrl;
+    }
+
+    public void setLogoUrl(String logoUrl) {
+        this.logoUrl = logoUrl;
+    }
+
+    public String[] getTagsData() {
+        return tagsData;
+    }
+
+    public void setTagsData(String[] tagsData) {
+        this.tagsData = tagsData;
+    }
+
+    public boolean isEnIsRead() {
+        return enIsRead;
+    }
+
+    public void setEnIsRead(boolean enIsRead) {
+        this.enIsRead = enIsRead;
+    }
+}

+ 3 - 1
src/main/java/com/uas/platform/b2c/common/account/model/UserInfo.java

@@ -41,11 +41,13 @@ public class UserInfo {
 				Map<String, Object> map = new HashMap<String, Object>();
 				map.put("enName", enterprise.getEnName());
 				map.put("uu", enterprise.getUu());
+				map.put("isVendor",enterprise.getEnMallVendorStatus());
 				if(enterprise.getEnSaasStatus() != null && enterprise.getEnSaasStatus() == Status.ENABLED.value()) {
 					map.put("enSaasUrl", enterprise.getEnSaasUrl());
 				}
-				if (enterprise.equals(current))
+				if (enterprise.equals(current)){
 					map.put("current", true);
+				}
 				list.add(map);
 			}
 			this.enterprises = list;

+ 9 - 1
src/main/java/com/uas/platform/b2c/common/account/service/EnterpriseService.java

@@ -1,6 +1,8 @@
 package com.uas.platform.b2c.common.account.service;
 
+import com.uas.platform.b2c.common.account.controller.EnterpriseController;
 import com.uas.platform.b2c.common.account.model.Enterprise;
+import com.uas.platform.b2c.common.account.model.FormEnterprise;
 import com.uas.platform.b2c.common.account.model.User;
 import com.uas.platform.b2c.trade.support.ResultMap;
 
@@ -38,7 +40,7 @@ public interface EnterpriseService {
 	 * 个人用户注册企业信息
 	 * @return 店铺信息
 	 */
-	ResultMap registerEnterprise(Enterprise enterprise, String filePath,User user);
+	ResultMap registerEnterprise(FormEnterprise enterprise, String filepath, User user);
 
 	/**
 	 * 个人用户注册企业信息(验证名称)
@@ -51,4 +53,10 @@ public interface EnterpriseService {
 	 * @return 店铺信息
 	 */
 	ResultMap validBusinessCode(String businessCode);
+
+	/**
+	 * 开启企业卖家功能
+	 * @return 企业
+	 */
+	Enterprise openVendor(Long enUU , boolean isRead , boolean isOpen);
 }

+ 23 - 6
src/main/java/com/uas/platform/b2c/common/account/service/UserService.java

@@ -2,6 +2,7 @@ package com.uas.platform.b2c.common.account.service;
 
 
 import com.uas.platform.b2c.common.account.model.User;
+import com.uas.platform.b2c.common.account.model.UserCacheEnterprise;
 import com.uas.platform.b2c.common.account.model.UserInfo;
 import com.uas.platform.core.model.PageInfo;
 import org.springframework.data.domain.Page;
@@ -94,13 +95,29 @@ public interface UserService {
 	 * @param user 用户
 	 * @param request 请求
 	 */
-	public User addUser(User user, HttpServletRequest request) ;
+	User addUser(User user, HttpServletRequest request) ;
 
-	public UserInfo findUserByKeyWord(String keyWord);
+	UserInfo findUserByKeyWord(String keyWord);
 
-	public void bindUserToMyEnterprise(Long userUU);
+	void bindUserToMyEnterprise(Long userUU);
 
-	public void removeUser(Long uu);
-	public boolean isEmailUseable(String email);
-	public boolean isTelUseable(String tel);
+	void removeUser(Long uu);
+
+	boolean isEmailUseable(String email);
+
+	boolean isTelUseable(String tel);
+	/**
+	 * 新增用户注册企业时的缓存数据
+	 */
+	UserCacheEnterprise saveUserCacheEnterprise(User user , UserCacheEnterprise userCacheEnterprise);
+
+	/**
+	 * 查询用户注册企业时的缓存数据
+	 */
+	UserCacheEnterprise getUserCacheEnterprise(User user);
+
+	/**
+	 * 删除用户注册企业时的缓存数据
+	 */
+	void deleteUserCacheEnterprise(User user);
 }

+ 50 - 10
src/main/java/com/uas/platform/b2c/common/account/service/impl/EnterpriseServiceImpl.java

@@ -6,6 +6,7 @@ import com.uas.account.util.AccountUtils;
 import com.uas.platform.b2c.common.account.dao.EnterpriseDao;
 import com.uas.platform.b2c.common.account.dao.UserBaseInfoDao;
 import com.uas.platform.b2c.common.account.model.Enterprise;
+import com.uas.platform.b2c.common.account.model.FormEnterprise;
 import com.uas.platform.b2c.common.account.model.User;
 import com.uas.platform.b2c.common.account.model.UserBaseInfo;
 import com.uas.platform.b2c.common.account.service.EnterpriseService;
@@ -21,6 +22,8 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.StringUtils;
 
+import java.lang.reflect.Array;
+import java.util.Arrays;
 import java.util.List;
 
 @Service
@@ -129,18 +132,32 @@ public class EnterpriseServiceImpl implements EnterpriseService{
 	}
 
 	@Override
-	public ResultMap registerEnterprise(Enterprise enterprise, String filePath, User user) {
+	public ResultMap registerEnterprise(FormEnterprise enterprise, String filePath,  User user) {
 		UserSpaceDetail detail = new UserSpaceDetail();
-		detail.setName(enterprise.getEnName());
-		detail.setShortName(enterprise.getEnShortname());
-		detail.setBusinessCode(enterprise.getEnBussinessCode());
-		detail.setBusinessCodeImage(filePath);
-		if (null == detail.getName()|| null == detail.getShortName() || null==detail.getBusinessCode() || null==detail.getBusinessCodeImage()){
+		detail.setName(enterprise.getName());
+		detail.setShortName(null);
+		detail.setBusinessCode(enterprise.getLicenceId());
+		detail.setBusinessCodeImage(enterprise.getUrl());
+		if (null == detail.getName()|| null==detail.getBusinessCode() || null==detail.getBusinessCodeImage()){
 			return new ResultMap(CodeType.SYSTEM_NOT_EXIST, "参数不能为空");
 		}
 		detail.setArea("中国大陆");
-		detail.setAddress(enterprise.getEnAddress());
-		detail.setUrl(enterprise.getEnUrl());
+		detail.setCorporation(enterprise.getLawPerson());
+		detail.setAddress(enterprise.getAddress());
+		detail.setUrl(enterprise.getWebsite());
+		detail.setContactMan(enterprise.getLinkman());
+		detail.setContactTel(enterprise.getPhone());
+		detail.setContactEmail(enterprise.getEmail());
+		detail.setFax(enterprise.getFax());
+        detail.setLogoImage(enterprise.getLogoUrl());
+		detail.setProfession(enterprise.getProfession());
+		if (null != enterprise.getTagsData() || enterprise.getTagsData().length>0){
+			String str = Arrays.toString(enterprise.getTagsData());
+			str = str.substring(1, str.length()-1);
+			detail.setTags(str);
+		} else {
+			detail.setTags(null);
+		}
 		detail.setAdminName(user.getUserName());
 		detail.setAdminEmail(user.getUserEmail());
 		detail.setAdminTel(user.getUserTel());
@@ -161,6 +178,9 @@ public class EnterpriseServiceImpl implements EnterpriseService{
 	public ResultMap validName(String name) {
 		try {
 			String result = AccountUtils.validName(name);
+			if ("connect timed out".equals(result) || "Read timed out".equals(result)){
+				return new ResultMap(CodeType.TIME_OUT, "请求超时");
+			}
 			JSONObject resultJSON = JSONObject.parseObject(result);
 			if (true == (boolean)resultJSON.get("inCloud") || true == (boolean)resultJSON.get("hasCreate")){
 				return new ResultMap(CodeType.SYSTEM_ERROR, "校验失败");
@@ -168,7 +188,7 @@ public class EnterpriseServiceImpl implements EnterpriseService{
 				return ResultMap.success("校验成功");
 			}
 		}catch (Exception e){
-			return new ResultMap(CodeType.SYSTEM_ERROR, "校验失败");
+			return new ResultMap(CodeType.TIME_OUT, "请求超时");
 		}
 	}
 
@@ -176,6 +196,9 @@ public class EnterpriseServiceImpl implements EnterpriseService{
 	public ResultMap validBusinessCode(String businessCode) {
 		try {
 			String result = AccountUtils.validBusinessCode(businessCode);
+			if ("connect timed out".equals(result) || "Read timed out".equals(result)){
+				return new ResultMap(CodeType.TIME_OUT, "请求超时");
+			}
 			JSONObject resultJSON = JSONObject.parseObject(result);
 			if (true == (boolean)resultJSON.get("inCloud") || true == (boolean)resultJSON.get("hasCreate")){
 				return new ResultMap(CodeType.SYSTEM_ERROR, "校验失败");
@@ -183,7 +206,24 @@ public class EnterpriseServiceImpl implements EnterpriseService{
 				return ResultMap.success("校验成功");
 			}
 		}catch (Exception e){
-			return new ResultMap(CodeType.SYSTEM_ERROR, "校验失败");
+			return new ResultMap(CodeType.TIME_OUT, "请求超时");
+		}
+	}
+
+	@Override
+	public Enterprise openVendor(Long enUU , boolean isRead , boolean isOpen) {
+		Enterprise existEnterprise = enterpriseDao.findOne(enUU);
+		if (isOpen){
+			existEnterprise.setEnMallVendorStatus((short) Status.ENABLED.value());
+			Enterprise enterprise = enterpriseDao.save(existEnterprise);
+			return null;
+		}
+		if (isRead) {
+			existEnterprise.setEnMallVendorStatus((short) Status.ISREAD.value());
+		}else{
+			existEnterprise.setEnMallVendorStatus(null);
 		}
+		Enterprise enterprise = enterpriseDao.save(existEnterprise);
+		return null;
 	}
 }

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

@@ -3,11 +3,9 @@ package com.uas.platform.b2c.common.account.service.impl;
 import com.uas.account.entity.UserDetail;
 import com.uas.account.util.AccountUtils;
 import com.uas.message.mail.service.MailService;
+import com.uas.platform.b2c.common.account.dao.UserCacheEnterpriseDao;
 import com.uas.platform.b2c.common.account.dao.UserDao;
-import com.uas.platform.b2c.common.account.model.Enterprise;
-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.model.UserInfo;
+import com.uas.platform.b2c.common.account.model.*;
 import com.uas.platform.b2c.common.account.service.UserService;
 import com.uas.platform.b2c.common.base.dao.CommonDao;
 import com.uas.platform.b2c.core.config.MessageConf;
@@ -57,6 +55,9 @@ public class UserServiceImpl implements UserService {
 	@Autowired
 	private CommonDao commonDao;
 
+	@Autowired
+	private UserCacheEnterpriseDao userCacheEnterpriseDao;
+
 	@Autowired
 	private MailService mailService;
 	@Autowired
@@ -373,4 +374,25 @@ public class UserServiceImpl implements UserService {
 		}
 	}
 
+	@Override
+	public UserCacheEnterprise saveUserCacheEnterprise(User user, UserCacheEnterprise userCacheEnterprise) {
+		userCacheEnterprise.setUserUU(user.getUserUU());
+		if (null != userCacheEnterpriseDao.findOne(user.getUserUU())){
+			userCacheEnterpriseDao.delete(user.getUserUU());
+			return userCacheEnterpriseDao.save(userCacheEnterprise);
+		}else{
+			return userCacheEnterpriseDao.save(userCacheEnterprise);
+		}
+	}
+
+	@Override
+	public UserCacheEnterprise getUserCacheEnterprise(User user) {
+		return userCacheEnterpriseDao.findOne(user.getUserUU());
+	}
+
+	@Override
+	public void deleteUserCacheEnterprise(User user) {
+		userCacheEnterpriseDao.delete(userCacheEnterpriseDao.findOne(user.getUserUU()));
+        userCacheEnterpriseDao.flush();
+	}
 }

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

@@ -29,7 +29,7 @@ public class CommonTask {
     public void updateCount() {
         List<CommonCount> commonCounts = commonCountDao.findByStatus((short) 1);
         for (CommonCount commonCount : commonCounts) {
-            commonCount.setCount(jdbcTemplate.queryForLong(commonCount.getSql()));
+            commonCount.setCount(jdbcTemplate.queryForObject(commonCount.getSql(), Double.class));
         }
         commonCountDao.save(commonCounts);
     }

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

@@ -10,6 +10,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.math.BigDecimal;
 import java.util.List;
 
 /**
@@ -55,11 +56,22 @@ public class CommonCountController {
      * @return
      */
     @RequestMapping(value ="/{id}/count", method = RequestMethod.GET)
-    public Long findCountById(@PathVariable("id") Long id) {
+    public String findCountById(@PathVariable("id") Long id) {
         CommonCount commonCount = commonCountService.findById(id);
-        if(commonCount == null)
+        if(commonCount == null && commonCount.getCount() != null)
             throw new IllegalArgumentException("参数ID错误,数据不存在");
-        return commonCount.getCount();
+
+        String result = "";
+        Double countdb = commonCount.getCount();
+        if (countdb % 1.0 == 0) {
+            result = String.valueOf(countdb.longValue());
+        } else {
+            BigDecimal count = new BigDecimal(countdb);
+            BigDecimal dividenum = new BigDecimal(1);
+            result = count.divide(dividenum, 3, BigDecimal.ROUND_HALF_UP).toString();
+        }
+
+        return result;
     }
 
 }

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

@@ -46,7 +46,7 @@ public class CommonCount implements Serializable{
      * 数量
      */
     @Column(name = "cc_count")
-    private Long count;
+    private Double count;
 
     /**
      * 应用
@@ -92,11 +92,11 @@ public class CommonCount implements Serializable{
         this.sql = sql;
     }
 
-    public Long getCount() {
+    public Double getCount() {
         return count;
     }
 
-    public void setCount(Long count) {
+    public void setCount(Double count) {
         this.count = count;
     }
 

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

@@ -34,7 +34,9 @@ import com.uas.platform.b2c.prod.commodity.model.Goods;
 import com.uas.platform.b2c.prod.commodity.model.GoodsHistory;
 import com.uas.platform.b2c.prod.commodity.service.GoodsService;
 import com.uas.platform.b2c.prod.product.common.service.CreateNumberService;
+import com.uas.platform.b2c.prod.store.dao.StoreApplyDao;
 import com.uas.platform.b2c.prod.store.dao.StoreInDao;
+import com.uas.platform.b2c.prod.store.model.StoreApply;
 import com.uas.platform.b2c.prod.store.model.StoreIn;
 import com.uas.platform.b2c.trade.aftersale.model.AfterSaleStatus;
 import com.uas.platform.b2c.trade.order.dao.*;
@@ -137,6 +139,8 @@ public class PurchaseServiceImpl implements PurchaseService {
 	@Autowired
 	private StoreInDao storeInDao;
 	@Autowired
+	private StoreApplyDao storeApplyDao;
+	@Autowired
 	private UserDao userDao;
 	@Autowired
     private PurchaseModifyingHistoryDao purchaseModifyingHistoryDao;
@@ -1163,7 +1167,10 @@ public class PurchaseServiceImpl implements PurchaseService {
 		} else {
 			List<StoreIn> storeInfos = storeInDao.findByEnUU(uu);
 			if (CollectionUtils.isEmpty(storeInfos)) {
-				throw new IllegalOperatorException("您还没有开店铺,请先前往开店.");
+				if (CollectionUtils.isEmpty(storeApplyDao.findByEnUUAndStatusOrderByAuthTimeDesc(uu, StoreApply.ApplyStatus.PASS))){
+					throw new IllegalOperatorException("您还没有开店铺,请先前往开店.");
+				}
+				throw new IllegalOperatorException("请前往我的店铺,完善店铺信息。");
 			} else {
 				storeid = storeInfos.get(0).getUuid();
 			}

+ 6 - 1
src/main/java/com/uas/platform/b2c/trade/support/CodeType.java

@@ -53,7 +53,12 @@ public enum CodeType {
 	/**
 	 * 信息不一致
 	 */
-	INFO_UPDATE(11, "信息不一致");
+	INFO_UPDATE(11, "信息不一致"),
+
+	/**
+	 * 超时请求
+	 */
+	TIME_OUT(12, "TIME_OUT");
 
 	private int code;
 

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

@@ -9,7 +9,7 @@ sso.secretkey=0taQcW073Z7G628g5H
 sso.cookie.secure=false
 sso.login.url=http://113.105.74.135:8001/sso/login
 sso.logout.url=http://113.105.74.135:8001/sso/logout
-sso.register.url=http://113.105.74.135:8001/sso/register
+sso.register.url=http://113.105.74.135:8001/sso/register_p
 
 #cross domain
 sso.ask.url=http://113.105.74.135:8001/sso/login/ask

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

@@ -11,7 +11,7 @@ sso.cookie.secure=true
 sso.cookie.httponly=true
 sso.login.url=https://account.ubtob.com/sso/login
 sso.logout.url=https://account.ubtob.com/sso/logout
-sso.register.url=http://account.ubtob.com/sso/register
+sso.register.url=http://account.ubtob.com/sso/register_p
 
 #cross domain
 sso.ask.url=https://account.ubtob.com/sso/login/ask

+ 1 - 1
src/main/webapp/resources/js/common/controllers/commonCtrls.js

@@ -105,7 +105,7 @@ define([ 'app/app' ], function(app) {
 				return AuthenticationService.getAuthentication().success(function(data) {
 					if(data && data.enterprises) {
 						//data.enterprise = data.enterprises[data.enterprises.length - 1];
-						if(data.enterprises.length > 1) {
+						if(data.enterprises.length > 0) {
 							var enSelect = [];
 							angular.forEach(data.enterprises, function(e){
 								if(e.current)

+ 4 - 0
src/main/webapp/resources/js/common/query/enterprise.js

@@ -149,6 +149,10 @@ define([ 'angular', 'ui-bootstrap', 'ngResource' ], function(angular) {
 				url : 'basic/enterprise/:enuu/info',
 				method : 'GET'
 			},
+            getEnterpriseDetailInfo : {
+                url : 'basic/enterprise/:enuu/detailInfo',
+                method : 'GET'
+            },
 			getAllUsersByEnuu : {
 				url : 'basic/user/enterprise/info',
 				method : 'GET'

+ 12 - 2
src/main/webapp/resources/js/vendor/app.js

@@ -886,8 +886,18 @@ define([ 'angularAMD', 'ngLocal', 'common/services', 'common/directives', 'commo
 	/**
 	 * 卖家中心菜单控制器
 	 */
-	app.controller('VendorMenuCtrl', ['$scope', 'StoreInfo', function ($scope, StoreInfo) {
-
+	app.controller('VendorMenuCtrl', ['$scope', 'StoreInfo','$rootScope', function ($scope, StoreInfo,$rootScope) {
+        //是寄售店铺
+        $scope.isCONSIGNMENT = false;
+
+        StoreInfo.findShopOwnerApplyByNormalStatus({}, {}, function (result) {
+            if (!result.data) {
+                $scope.isCONSIGNMENT = true;
+            }else if (result.data.type == 'CONSIGNMENT' || result.data.status == 'PREPARE'){
+            $scope.isCONSIGNMENT = true;
+       		 }}, function (error) {
+
+        });
 	}]);
 
 

+ 4 - 0
src/main/webapp/resources/js/vendor/controllers/forstore/vendor_index_ctrl.js

@@ -7,6 +7,10 @@ define(['app/app', 'calendar'], function(app) {
     app.register.controller('vendorIndexCtrl', ['$scope', 'toaster', 'VendorService', '$rootScope', 'News', '$filter', function($scope, toaster, VendorService, $rootScope, News, $filter) {
         document.title = '卖家中心-优软商城';
         $rootScope.active = 'index';
+        //个人账户
+        if (!$rootScope.userInfo.enterprise){
+            window.location.href = './register-saler';
+        }
         VendorService.getVendorInfo(null, function(data){
             $scope.vendor = data;
         }, function(response) {

+ 12 - 2
src/main/webapp/resources/js/vendor/controllers/forstore/vendor_logistics_ctrl.js

@@ -3,14 +3,24 @@
  */
 define(['app/app', 'calendar'], function (app) {
 	"use strict";
-	app.register.controller('vendorLogisticsCtrl', ['$scope', '$rootScope', '$http', 'ngTableParams', 'BaseService', 'ShippingAddress', 'toaster', 'SmoothScroll', '$modal','$stateParams','Purchase','Logistics','KdnLogistics','$filter', function($scope, $rootScope, $http, ngTableParams, BaseService, ShippingAddress, toaster, SmoothScroll, $modal, $stateParams, Purchase, Logistics, KdnLogistics, $filter) {
+	app.register.controller('vendorLogisticsCtrl', ['$scope', '$rootScope', '$http', 'ngTableParams', 'BaseService', 'ShippingAddress', 'toaster', 'SmoothScroll', '$modal','$stateParams','Purchase','Logistics','KdnLogistics','$filter','StoreInfo', function($scope, $rootScope, $http, ngTableParams, BaseService, ShippingAddress, toaster, SmoothScroll, $modal, $stateParams, Purchase, Logistics, KdnLogistics, $filter, StoreInfo) {
 		// 加密过滤器
 		var enIdFilter = $filter('EncryptionFilter');
 		document.title = '发货地址-优软商城';
 		$rootScope.active = 'vendor_logistics';
 		$scope.tab = 'logistic';
 		$scope.canAddTotal = 20;
-
+        //是寄售店铺
+        $scope.isCONSIGNMENT = false;
+        StoreInfo.findShopOwnerApplyByNormalStatus({}, {}, function (result) {
+            if (!result.data) {
+                $scope.isCONSIGNMENT = true;
+                $scope.storeType = 'mall';
+            }else if (result.data.type == 'CONSIGNMENT' || result.data.status == 'PREPARE'){
+                $scope.isCONSIGNMENT = true;
+            }}, function (error) {
+
+        });
 		$scope.addressEx = {};
 
 		//地址的条数是否超过5条

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

@@ -4,7 +4,7 @@
  */
 define(['app/app'], function (app) {
     "use strict";
-    app.register.controller('vendorOrderCtrl', ['$scope', '$rootScope', 'Purchase', 'ngTableParams', 'BaseService', 'toaster', '$state', '$filter', 'Return', 'Change', '$modal', 'PuExProcess', 'Recommendation', 'DateUtil', 'Loading', 'bankInfoService', 'Logistics', 'Distributor', 'SessionService','Rate', function ($scope, $rootScope, Purchase, ngTableParams, BaseService, toaster, $state, $filter, Return, Change, $modal, PuExProcess, Recommendation, DateUtil, Loading, bankInfoService, Logistics, Distributor, SessionService, Rate) {
+    app.register.controller('vendorOrderCtrl', ['$scope', '$rootScope', 'Purchase', 'ngTableParams', 'BaseService', 'toaster', '$state', '$filter', 'Return', 'Change', '$modal', 'PuExProcess', 'Recommendation', 'DateUtil', 'Loading', 'bankInfoService', 'Logistics', 'Distributor', 'SessionService','Rate','StoreInfo', function ($scope, $rootScope, Purchase, ngTableParams, BaseService, toaster, $state, $filter, Return, Change, $modal, PuExProcess, Recommendation, DateUtil, Loading, bankInfoService, Logistics, Distributor, SessionService, Rate, StoreInfo) {
         $rootScope.active = 'vendor_order';
         document.title = '已卖出的产品-优软商城';
         // 加密过滤器
@@ -30,6 +30,8 @@ define(['app/app'], function (app) {
         $scope.canEnsureRec = false;
         //是商城管理员的公司
         $scope.isYrscStore = false;
+        //是寄售店铺
+        $scope.isCONSIGNMENT = false;
         //分页参数
         $scope.tableParams = {
             page: 1,
@@ -52,6 +54,15 @@ define(['app/app'], function (app) {
         if ($rootScope.store && ($scope.yrscStore == $rootScope.store.uuid)) {
             $scope.isYrscStore = true;
         }
+        StoreInfo.findShopOwnerApplyByNormalStatus({}, {}, function (result) {
+            if (!result.data) {
+                $scope.isCONSIGNMENT = true;
+                $scope.storeType = 'mall';
+            }else if (result.data.type == 'CONSIGNMENT' || result.data.status == 'PREPARE'){
+                $scope.isCONSIGNMENT = true;
+                $scope.storeType = 'mall';
+            }}, function (error) {
+        });
 
         var unavailableReasons = {
             315: '已注销',

+ 5 - 0
src/main/webapp/resources/js/vendor/controllers/forstore/vendor_store_apply_ctrl.js

@@ -57,6 +57,11 @@ define(['app/app', 'jquery-uploadify'], function (app) {
 							angular.forEach(result.qualifications, function (qualification) {
 								$scope.qualifications[qualification.type] = qualification;
 							});
+						}else {
+							Enterprise.getEnterpriseDetailInfo({ enuu : enterprise.uu},{},function (enterpriseDetail) {
+								$scope.enBuinesssCode = enterpriseDetail.businessCodeImage;
+                                $scope.qualifications[$scope.qType.businessLicense] = generateQualification($scope.enBuinesssCode, $scope.qType.businessLicense);;
+                            });
 						}
 						if (result.brands) {
 							$scope.brands = [];

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

@@ -163,14 +163,15 @@
                         <a href="javascript:void(0)"><span ng-bind="userInfo.userName"></span><span>(个人账户)</span></a>
                     </li>-->
                     <li style="line-height: 30px;">
-                        <a href="javascript:void(0)" ng-click="switchto('0')"><span ng-bind="userInfo.userName"></span><span>(个人账户)</span></a>
+                        <a href="javascript:void(0)" ng-click="switchto('0')" ng-if="userInfo.enterprise"><span ng-bind="userInfo.userName"></span><span>(个人账户)</span></a>
                     </li>
                 </ul>
             </div>
         </li>
         <li><a href=".">商城首页</a></li>
         <li ng-if="userInfo"><a href="user#/home">买家中心</a></li>
-        <li ng-if="userInfo.enterprise.uu"><a href="vendor#/index">卖家中心</a></li>
+        <li ng-if="userInfo.enterprise && userInfo.enterprise.isVendor == 313"><a href="vendor">卖家中心</a></li>
+        <li ng-if="!userInfo.enterprise || userInfo.enterprise.isVendor != 313"><a href="./register-saler">卖家中心</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>-->

+ 10 - 0
src/main/webapp/resources/view/usercenter/forstore/buyer_cart.html

@@ -498,6 +498,16 @@
 	.sure_oder select:disabled.select:hover{
 		cursor: not-allowed;
 	}
+	.com-del-box {
+		top: 101%!important ;
+		left: 24%!important ;
+	}
+	.com-del-box .title{
+		width: 100%!important ;
+	}
+	.com-del-box .title i{
+		background: none;
+	}
 </style>
 <div class="user_right fr" id="buyer_cart">
 	<!--订单中心-->

+ 3 - 3
src/main/webapp/resources/view/vendor/forstore/vendor_logistics.html

@@ -44,9 +44,9 @@
 	<div class="count_center">
 		<div class="com_tab">
 			<ul class="fl">
-				<li ng-class="{'active': tab=='deliverRule'}"><a ui-sref="vendor_deliveryRule">配送规则</a></li>
-				<li ng-class="{'active': tab=='distributor'}"><a ui-sref="vendor_distributor">配送商</a></li>
-				<li ng-class="{'active': tab=='takeSelf'}"><a ui-sref="vendor_takeSelf">自提点</a></li>
+				<li ng-class="{'active': tab=='deliverRule'}" ng-if="!isCONSIGNMENT"><a ui-sref="vendor_deliveryRule">配送规则</a></li>
+				<li ng-class="{'active': tab=='distributor'}" ng-if="!isCONSIGNMENT"><a ui-sref="vendor_distributor">配送商</a></li>
+				<li ng-class="{'active': tab=='takeSelf'}" ng-if="!isCONSIGNMENT"><a ui-sref="vendor_takeSelf">自提点</a></li>
 				<li ng-class="{'active': tab=='logistic'}"><a ui-sref="vendor_logistics">发货地址</a></li>
 			</ul>
 		</div>

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

@@ -1095,7 +1095,7 @@
 	<div class="sellOder oder" id="sellOder">
 		<div class="com_tab">
 			<ul class="fl" style="width: 100%">
-				<li ng-class="{'active': storeType=='other'}" ng-if="!isYrscStore"><a ng-click="setStoreType('other')">自营店铺</a></li>
+				<li ng-class="{'active': storeType=='other'}" ng-if="!isYrscStore && !isCONSIGNMENT"><a ng-click="setStoreType('other')">自营店铺</a></li>
 				<li ng-class="{'active': storeType=='mall'}"><a ng-click="setStoreType('mall')">库存寄售</a></li>
 				<li class="down-purchase">
                     <span ng-click="downPurchase()">

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

@@ -22,7 +22,10 @@
 	<a href="javascript:void(0)" ui-sref="vendor_index"><p ng-class="{'active' : active == 'index'}"><span>卖家中心</span></p></a>
 	<ul>
 		<li ng-class="{'active' : active == 'vendor_order'}"><a href="javascript:void(0)" ui-sref="vendor_order">订单中心</a></li>
-		<li ng-class="{'active' : active == 'vendor_logistics'}"><a href="javascript:void(0)" ui-sref="vendor_deliveryRule">物流管理</a></li>
+		<li ng-class="{'active' : active == 'vendor_logistics'}">
+			<a href="javascript:void(0)" ui-sref="vendor_logistics" ng-hide="store && (!store.status || store.status === 'OPENED')">物流管理</a>
+			<a href="javascript:void(0)" ui-sref="vendor_deliveryRule" ng-if="store && (!store.status || store.status === 'OPENED')">物流管理</a>
+		</li>
 		<li ng-class="{'active' : active == 'vendor_invoice'}"><a href="javascript:void(0)" ui-sref="vendorInvoice">发票管理</a></li>
 	<!--	<li ng-class="{'active' : active == 'vendor_logistics'}"><a href="javascript:void(0)" ui-sref="vendor_logistics">物流管理</a></li>-->
 		<li ng-class="{'active' : active == 'pay_center'}"><a href="javascript:void(0)" ui-sref="pay_center">结算中心</a></li>