Browse Source

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

ouxq 8 years ago
parent
commit
2980cee0c4

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

@@ -2,6 +2,7 @@ package com.uas.platform.b2c.prod.product.brand.api;
 
 import com.uas.platform.b2c.prod.product.brand.modal.Brand;
 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.kind.model.Kind;
 import com.uas.platform.b2c.prod.product.brand.service.BrandService;
 import com.uas.platform.b2c.prod.product.kind.service.KindService;
@@ -61,7 +62,7 @@ public class BrandController {
 	 * @return map(首字母,品牌简易信息)
 	 */
 	@RequestMapping(value = "/initial/{keyword}", method = RequestMethod.GET)
-	public Map<String, List<BrandInfo>>  getInitialSimpleInfo(@PathVariable String keyword) {
+	public Map<String, List<BrandMostSimpleInfo>>  getInitialSimpleInfo(@PathVariable String keyword) {
 		if (StringUtils.isEmpty(keyword))
 			keyword = "ABC";
 		return brandService.getInitialSimpleInfo(keyword);

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

@@ -0,0 +1,27 @@
+package com.uas.platform.b2c.prod.product.brand.dao;
+
+import com.uas.platform.b2c.prod.product.brand.modal.BrandMostSimpleInfo;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.repository.query.Param;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+/**
+ * Created by wangyc on 2017/9/19.
+ *
+ * @version 2017/9/19 10:29 wangyc
+ */
+@Repository
+public interface BrandMostSimpleInfoDao extends JpaSpecificationExecutor<BrandMostSimpleInfo>, JpaRepository<BrandMostSimpleInfo, Long> {
+
+    /**
+     * 根据首字母获取品牌信息
+     * @param initals
+     * @return
+     */
+    @Query(nativeQuery = true, value = "select * from product$brand where br_inital in :initals")
+    public List<BrandMostSimpleInfo> findInInitals(@Param("initals") String[] initals);
+}

+ 93 - 0
src/main/java/com/uas/platform/b2c/prod/product/brand/modal/BrandMostSimpleInfo.java

@@ -0,0 +1,93 @@
+package com.uas.platform.b2c.prod.product.brand.modal;
+
+import org.hibernate.annotations.Cache;
+import org.hibernate.annotations.CacheConcurrencyStrategy;
+import org.springframework.cache.annotation.Cacheable;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.Table;
+
+/**
+ * 超简易品牌信息
+ *
+ * @version 2017/9/19 10:24 wangyc
+ */
+@Entity
+@Table(name = "product$brand")
+@Cacheable
+@Cache(usage = CacheConcurrencyStrategy.READ_WRITE, region = "com.uas.platform.b2c.prod.product.brand.modal.BrandMostSimpleInfo")
+public class BrandMostSimpleInfo {
+
+    /**
+     * id
+     */
+    @Id
+    @Column(name = "br_id")
+    private Long id;
+
+    /**
+     * uuid
+     */
+    @Column(name = "br_uuid", unique = true)
+    private String uuid;
+
+    /**
+     * 品牌中文名称
+     */
+    @Column(name = "br_name_cn")
+    private String nameCn;
+
+    /**
+     * 品牌英文名称
+     */
+    @Column(name = "br_name_en")
+    private String nameEn;
+
+    /**
+     * 英文品牌名首字母
+     */
+    @Column(name = "br_inital")
+    private String inital;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public String getUuid() {
+        return uuid;
+    }
+
+    public void setUuid(String uuid) {
+        this.uuid = uuid;
+    }
+
+    public String getNameCn() {
+        return nameCn;
+    }
+
+    public void setNameCn(String nameCn) {
+        this.nameCn = nameCn;
+    }
+
+    public String getNameEn() {
+        return nameEn;
+    }
+
+    public void setNameEn(String nameEn) {
+        this.nameEn = nameEn;
+    }
+
+    public String getInital() {
+        return inital;
+    }
+
+    public void setInital(String inital) {
+        this.inital = inital;
+    }
+}

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

@@ -2,6 +2,7 @@ package com.uas.platform.b2c.prod.product.brand.service;
 
 import com.uas.platform.b2c.prod.product.brand.modal.Brand;
 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 org.springframework.data.domain.Page;
@@ -51,7 +52,7 @@ public interface BrandService {
 	 * @param keyword 关键词
 	 * @return 品牌简易信息
 	 */
-	public Map<String, List<BrandInfo>> getInitialSimpleInfo(String keyword);
+	public Map<String, List<BrandMostSimpleInfo>> getInitialSimpleInfo(String keyword);
 
 	/**
 	 * 获取BrandInfo分页数据

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

@@ -3,8 +3,10 @@ package com.uas.platform.b2c.prod.product.brand.service.impl;
 import com.uas.platform.b2c.core.utils.PinyinUtils;
 import com.uas.platform.b2c.prod.product.brand.dao.BrandDao;
 import com.uas.platform.b2c.prod.product.brand.dao.BrandInfoDao;
+import com.uas.platform.b2c.prod.product.brand.dao.BrandMostSimpleInfoDao;
 import com.uas.platform.b2c.prod.product.brand.modal.Brand;
 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.b2c.prod.product.brand.service.BrandService;
 import com.uas.platform.b2c.prod.product.component.dao.ComponentDao;
@@ -44,6 +46,9 @@ public class BrandServiceImpl implements BrandService {
 	@Autowired
 	private JdbcTemplate jdbcTemplate;
 
+	@Autowired
+	private BrandMostSimpleInfoDao brandMostSimpleInfoDao;
+
 	@Override
 	public List<Brand> init(List<Brand> brands) {
 		return brandDao.save(brands);
@@ -95,17 +100,17 @@ public class BrandServiceImpl implements BrandService {
 	}
 
 	@Override
-	public Map<String, List<BrandInfo>> getInitialSimpleInfo(String keyword) {
-		Map<String, List<BrandInfo>> map = new HashMap<String, List<BrandInfo>>();
+	public Map<String, List<BrandMostSimpleInfo>> getInitialSimpleInfo(String keyword) {
+		Map<String, List<BrandMostSimpleInfo>> map = new HashMap<String, List<BrandMostSimpleInfo>>();
 		if ("0~9".equals(keyword)) {
 			String[] initals = new String[]{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9"};
-			List<BrandInfo> brandInfos = brandInfoDao.findInInitals(initals);
+			List<BrandMostSimpleInfo> brandInfos = brandMostSimpleInfoDao.findInInitals(initals);
 			map.put(keyword, brandInfos);
 		} else {
 			char[] initals = keyword.toCharArray();
 			for (char inital : initals) {
 				String str = String.valueOf(inital).toUpperCase();
-				List<BrandInfo> brandInfos = brandInfoDao.findInInitals(new String[]{str});
+				List<BrandMostSimpleInfo> brandInfos = brandMostSimpleInfoDao.findInInitals(new String[]{str});
 				map.put(str, brandInfos);
 			}
 		}