Browse Source

添加同步企业信息到店铺信息的接口,发布到正式版之后删除

huxz 8 years ago
parent
commit
695ad6b9c1

+ 17 - 0
src/main/java/com/uas/platform/b2c/prod/store/controller/StoreInformationController.java

@@ -4,6 +4,8 @@ import com.uas.platform.b2c.advertise.ad.model.StoreAdsType;
 import com.uas.platform.b2c.prod.store.model.StoreIn;
 import com.uas.platform.b2c.prod.store.model.StoreStatus;
 import com.uas.platform.b2c.prod.store.service.StoreInService;
+import com.uas.platform.b2c.trade.support.CodeType;
+import com.uas.platform.b2c.trade.support.ResultMap;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -79,4 +81,19 @@ public class StoreInformationController {
 		return storeService.cancelStoreTagsWhenAdminCancel(type, store);
 	}
 
+	/**
+	 * TODO 正式系统店铺企业信息同步之后,弃用
+	 */
+	@Deprecated
+	@ResponseBody
+	@RequestMapping(method = RequestMethod.GET, value = "/auth/api/store//syncEnterprise")
+	public ResultMap syncStoreEnterpriseInfo() {
+		try {
+			storeService.syncStoreEnterpriseInfo();
+		} catch (Exception e) {
+			return new ResultMap(CodeType.ERROR_STATE, e.getMessage());
+		}
+		return ResultMap.success("finished");
+	}
+
 }

+ 15 - 0
src/main/java/com/uas/platform/b2c/prod/store/model/EnterpriseSimple.java

@@ -2,6 +2,7 @@ package com.uas.platform.b2c.prod.store.model;
 
 import com.fasterxml.jackson.annotation.JsonInclude;
 import com.uas.platform.b2c.common.account.model.Enterprise;
+import com.uas.platform.b2c.fa.payment.utils.StringUtils;
 
 import java.util.Date;
 
@@ -54,6 +55,11 @@ public class EnterpriseSimple {
 	 */
 	private String enFax;
 
+	/**
+	 * 公司邮箱
+	 */
+	private String enEmail;
+
 	/**
 	 * 商业登记证号
 	 */
@@ -133,6 +139,14 @@ public class EnterpriseSimple {
 		this.enType = enType;
 	}
 
+	public String getEnEmail() {
+		return enEmail;
+	}
+
+	public void setEnEmail(String enEmail) {
+		this.enEmail = enEmail;
+	}
+
 	public String getEnBusinessCode() {
 		return enBusinessCode;
 	}
@@ -187,6 +201,7 @@ public class EnterpriseSimple {
 		simple.enDate = enterprise.getEnDate();
 		simple.enUrl = enterprise.getEnUrl();
 		simple.enLogoUrl = enterprise.getEnLogoUrl();
+		simple.enEmail = StringUtils.isEmpty(enterprise.getEnEmail()) ? " " : enterprise.getEnEmail();
 		return simple;
 	}
 

+ 3 - 0
src/main/java/com/uas/platform/b2c/prod/store/service/StoreInService.java

@@ -160,4 +160,7 @@ public interface StoreInService {
 	 * @param store		店铺信息
 	 */
 	StoreIn cancelStoreTagsWhenAdminCancel(StoreAdsType type, StoreIn store);
+
+	@Deprecated
+    void syncStoreEnterpriseInfo();
 }

+ 53 - 14
src/main/java/com/uas/platform/b2c/prod/store/service/impl/StoreInServiceImpl.java

@@ -3,6 +3,8 @@ package com.uas.platform.b2c.prod.store.service.impl;
 import com.uas.platform.b2c.advertise.ad.model.StoreAds;
 import com.uas.platform.b2c.advertise.ad.model.StoreAdsType;
 import com.uas.platform.b2c.advertise.ad.service.StoreAdsService;
+import com.uas.platform.b2c.common.account.dao.EnterpriseDao;
+import com.uas.platform.b2c.common.account.model.Enterprise;
 import com.uas.platform.b2c.core.config.SysConf;
 import com.uas.platform.b2c.core.support.SystemSession;
 import com.uas.platform.b2c.core.utils.JacksonUtils;
@@ -11,15 +13,11 @@ import com.uas.platform.b2c.prod.commodity.dao.GoodsDao;
 import com.uas.platform.b2c.prod.product.component.dao.ComponentDao;
 import com.uas.platform.b2c.prod.product.component.modal.Component;
 import com.uas.platform.b2c.prod.store.dao.QualificationDao;
+import com.uas.platform.b2c.prod.store.dao.StoreApplyDao;
 import com.uas.platform.b2c.prod.store.dao.StoreBrandInfoDao;
 import com.uas.platform.b2c.prod.store.dao.StoreInDao;
 import com.uas.platform.b2c.prod.store.exception.EmptyParameterException;
-import com.uas.platform.b2c.prod.store.model.Qualification;
-import com.uas.platform.b2c.prod.store.model.StoreApply;
-import com.uas.platform.b2c.prod.store.model.StoreBrandInfo;
-import com.uas.platform.b2c.prod.store.model.StoreIn;
-import com.uas.platform.b2c.prod.store.model.StoreStatus;
-import com.uas.platform.b2c.prod.store.model.StoreType;
+import com.uas.platform.b2c.prod.store.model.*;
 import com.uas.platform.b2c.prod.store.service.StoreInService;
 import com.uas.platform.b2c.trade.order.dao.PurchaseDao;
 import com.uas.platform.b2c.trade.support.ResultMap;
@@ -44,13 +42,7 @@ 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.Arrays;
-import java.util.Collections;
-import java.util.Date;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
+import java.util.*;
 
 /**
  * 店铺业务实现类
@@ -481,7 +473,54 @@ public class StoreInServiceImpl implements StoreInService {
 		return store;
 	}
 
-	@Override
+	// Deprecated: on
+	@Autowired
+	private StoreApplyDao applyDao;
+
+	@Autowired
+	private EnterpriseDao enterpriseDao;
+
+	@Deprecated
+    @Override
+    public void syncStoreEnterpriseInfo() {
+		// 同步店铺申请信息
+		List<StoreApply> applies = applyDao.findAll();
+		if (!CollectionUtils.isEmpty(applies)) {
+			for (StoreApply apply : applies) {
+				apply.setEnterprise(syncEnterpriseInfo(apply.getEnUU(), apply.getEnterprise()));
+			}
+			applyDao.save(applies);
+		}
+
+
+		// 同步店铺信息
+		List<StoreIn> storeIns = storeDao.findAll();
+		if (!CollectionUtils.isEmpty(storeIns)) {
+			for (StoreIn store : storeIns) {
+				store.setEnterprise(syncEnterpriseInfo(store.getEnUU(), store.getEnterprise()));
+			}
+			storeDao.save(storeIns);
+		}
+	}
+
+	private EnterpriseSimple syncEnterpriseInfo(Long enUU, EnterpriseSimple tmp) {
+		Enterprise enterprise = enterpriseDao.findByUu(enUU);
+
+		if (tmp != null) {
+			if (enterprise != null && !StringUtils.isEmpty(enterprise.getEnEmail())) {
+				tmp.setEnEmail(enterprise.getEnEmail());
+			} else {
+				tmp.setEnEmail(" ");
+			}
+		} else {
+			tmp = EnterpriseSimple.translateSimple(enterprise);
+		}
+
+		return tmp;
+	}
+	// Deprecated: off
+
+    @Override
 	public List<StoreIn> findFiveStores(String types, Integer num) {
 		String[] typeArray = types.split("-");
 		List<String> typeList = Arrays.asList(typeArray);