Browse Source

Merge remote-tracking branch 'origin/feature-201834-wangcz' into feature-201834-wangcz

wangcz 7 years ago
parent
commit
798177655d

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

@@ -306,16 +306,20 @@ public class EnterpriseServiceImpl implements EnterpriseService{
 	}
 
 	@Override
-	public Enterprise openVendor(Long enUU , boolean isRead , boolean isOpen) {
+	public Enterprise openVendor(Long enUU, boolean isRead, boolean isOpen) {
 		Enterprise existEnterprise = enterpriseDao.findOne(enUU);
-		if (isOpen){
+		if (isOpen) {
 			existEnterprise.setEnMallVendorStatus((short) Status.ENABLED.value());
 			Enterprise enterprise = enterpriseDao.save(existEnterprise);
 			return null;
 		}
 		if (isRead) {
+			if (!StringUtils.isEmpty(existEnterprise.getEnMallVendorStatus())
+					&& existEnterprise.getEnMallVendorStatus().equals((short) Status.ENABLED.value())) {
+				return null;
+			}
 			existEnterprise.setEnMallVendorStatus((short) Status.ISREAD.value());
-		}else{
+		} else {
 			existEnterprise.setEnMallVendorStatus(null);
 		}
 		Enterprise enterprise = enterpriseDao.save(existEnterprise);
@@ -335,7 +339,7 @@ public class EnterpriseServiceImpl implements EnterpriseService{
 		}
 		if (enterprise != null && !StringUtils.isEmpty(enterprise.getEnTel())) {
 			tels.put("entel", enterprise.getEnTel());
-			tels.put("enuu", enterprise.getUu()+"");
+			tels.put("enuu", enterprise.getUu() + "");
 		}
 		resultMap.setData(tels);
 		return resultMap;

+ 41 - 4
src/main/java/com/uas/platform/b2c/prod/commodity/controller/GoodsController.java

@@ -7,11 +7,17 @@ import com.uas.platform.b2c.core.support.view.JxlsExcelView;
 import com.uas.platform.b2c.core.utils.FastjsonUtils;
 import com.uas.platform.b2c.core.utils.StringUtilB2C;
 import com.uas.platform.b2c.prod.commodity.dao.GoodsDao;
-import com.uas.platform.b2c.prod.commodity.model.*;
+import com.uas.platform.b2c.prod.commodity.model.Goods;
+import com.uas.platform.b2c.prod.commodity.model.GoodsFilter;
+import com.uas.platform.b2c.prod.commodity.model.GoodsHistory;
+import com.uas.platform.b2c.prod.commodity.model.GoodsQtyPrice;
+import com.uas.platform.b2c.prod.commodity.model.GoodsSimple;
 import com.uas.platform.b2c.prod.commodity.service.GoodsHistoryService;
 import com.uas.platform.b2c.prod.commodity.service.GoodsService;
 import com.uas.platform.b2c.prod.product.component.modal.ComponentInfo;
 import com.uas.platform.b2c.prod.product.component.service.ComponentService;
+import com.uas.platform.b2c.prod.store.model.BrandCount;
+import com.uas.platform.b2c.prod.store.model.KindHierarchicalCount;
 import com.uas.platform.b2c.trade.support.ResultMap;
 import com.uas.platform.core.exception.IllegalOperatorException;
 import com.uas.platform.core.model.PageInfo;
@@ -29,14 +35,19 @@ import org.springframework.data.domain.Sort;
 import org.springframework.data.web.PageableDefault;
 import org.springframework.ui.ModelMap;
 import org.springframework.util.StringUtils;
-import org.springframework.web.bind.annotation.*;
+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.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.servlet.ModelAndView;
 import org.springframework.web.servlet.view.json.MappingJackson2JsonView;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpSession;
-import java.io.IOException;
-import java.io.InputStream;
+import java.io.*;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -838,4 +849,30 @@ public class GoodsController {
 		logger.info("后台产品管理", "根据id: " + goodsId + "返回goods数据");
 		return goodsService.getGoodsById(goodsId);
 	}
+
+    /**
+     * 通过分页参数获取品牌数量
+     *
+     * @param pageable 分页信息
+     * @param filter 过滤条件
+     * @return Page<BrandCount>
+     */
+	@RequestMapping(value = "/brandProductsCount/page", method = RequestMethod.GET)
+    public com.uas.sso.support.Page<BrandCount> getBrandProductsCount(@PageableDefault(value = 20, page = 1) Pageable pageable, GoodsFilter filter) {
+        logger.info("后台产品管理", "分页获取品牌数量信息");
+        return goodsService.getBrandProductsCount(pageable, filter);
+    }
+
+    /**
+     * 通过分页参数获取类目数量
+     *
+     * @param pageable 分页参数
+     * @param filter 过滤条件
+     * @return Page<KindHierarchicalCount>
+     */
+    @RequestMapping(value = "/kindProductsCount/page", method = RequestMethod.GET)
+    public com.uas.sso.support.Page<KindHierarchicalCount> getKindProductsCount(@PageableDefault(value = 20, page = 1) Pageable pageable, GoodsFilter filter) {
+        logger.info("后台产品管理", "分页获取类目数量信息");
+        return goodsService.getKindProductsCount(pageable, filter);
+    }
 }

+ 26 - 0
src/main/java/com/uas/platform/b2c/prod/commodity/model/GoodsFilter.java

@@ -67,6 +67,16 @@ public class GoodsFilter {
      */
     private Boolean haveImg;
 
+    /**
+     * 开始时间
+     */
+    private Long startTime;
+
+    /**
+     * 截止时间
+     */
+    private Long endTime;
+
     public String getCode() {
         return code;
     }
@@ -162,4 +172,20 @@ public class GoodsFilter {
     public void setSaleNum(Integer saleNum) {
         this.saleNum = saleNum;
     }
+
+    public Long getStartTime() {
+        return startTime;
+    }
+
+    public void setStartTime(Long startTime) {
+        this.startTime = startTime;
+    }
+
+    public Long getEndTime() {
+        return endTime;
+    }
+
+    public void setEndTime(Long endTime) {
+        this.endTime = endTime;
+    }
 }

+ 20 - 0
src/main/java/com/uas/platform/b2c/prod/commodity/service/GoodsService.java

@@ -9,6 +9,8 @@ import com.uas.platform.b2c.prod.commodity.model.GoodsInfo;
 import com.uas.platform.b2c.prod.commodity.model.GoodsSimple;
 import com.uas.platform.b2c.prod.commodity.model.Product;
 import com.uas.platform.b2c.prod.product.component.modal.Component;
+import com.uas.platform.b2c.prod.store.model.BrandCount;
+import com.uas.platform.b2c.prod.store.model.KindHierarchicalCount;
 import com.uas.platform.b2c.trade.order.model.Order;
 import com.uas.platform.b2c.trade.order.model.PurchaseDetail;
 import com.uas.platform.b2c.trade.presale.model.Cart;
@@ -811,4 +813,22 @@ public interface GoodsService {
      * @return ResultMap
      */
     ResultMap checkGoods(Goods goods);
+
+    /**
+     * 通过分成参数获取品牌数量
+     *
+     * @param pageable 分页信息
+     * @param filter 过滤条件
+     * @return Page<BrandCount>
+     */
+    com.uas.sso.support.Page<BrandCount> getBrandProductsCount(Pageable pageable, GoodsFilter filter);
+
+    /**
+     * 通过分页参数获取类目数量
+     *
+     * @param pageable 分页参数
+     * @param filter 过滤条件
+     * @return Page<KindHierarchicalCount>
+     */
+    com.uas.sso.support.Page<KindHierarchicalCount> getKindProductsCount(Pageable pageable, GoodsFilter filter);
 }

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

@@ -12,6 +12,7 @@ import com.uas.platform.b2c.common.account.dao.EnterpriseDao;
 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.service.EnterpriseService;
+import com.uas.platform.b2c.common.base.dao.CommonDao;
 import com.uas.platform.b2c.common.search.service.SearcherService;
 import com.uas.platform.b2c.core.config.SysConf;
 import com.uas.platform.b2c.core.constant.ShortConstant;
@@ -75,6 +76,8 @@ import com.uas.platform.b2c.prod.product.kind.model.Kind;
 import com.uas.platform.b2c.prod.product.kind.model.KindInfo;
 import com.uas.platform.b2c.prod.product.kind.service.KindService;
 import com.uas.platform.b2c.prod.store.dao.StoreInDao;
+import com.uas.platform.b2c.prod.store.model.BrandCount;
+import com.uas.platform.b2c.prod.store.model.KindHierarchicalCount;
 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;
@@ -96,6 +99,7 @@ import com.uas.platform.b2c.trade.presale.model.GoodsBrowsingHistory;
 import com.uas.platform.b2c.trade.presale.model.TradeDeliveryDelayTime;
 import com.uas.platform.b2c.trade.presale.service.BrowsingHistoryService;
 import com.uas.platform.b2c.trade.presale.service.CartService;
+import com.uas.platform.b2c.trade.seek.utils.DateUtils;
 import com.uas.platform.b2c.trade.support.CodeType;
 import com.uas.platform.b2c.trade.support.ResultMap;
 import com.uas.platform.b2c.trade.util.BoundedExecutor;
@@ -297,6 +301,9 @@ public class GoodsServiceImpl implements GoodsService {
     @Autowired
     private EnterpriseService enterpriseService;
 
+    @Autowired
+    private CommonDao commonDao;
+
     private final Logger logger = LoggerFactory.getLogger(GoodsServiceImpl.class);
 
     @Autowired
@@ -4033,4 +4040,70 @@ public class GoodsServiceImpl implements GoodsService {
         }
         return product;
     }
+
+    /**
+     * 通过分成参数获取品牌数量
+     *
+     * @param pageable  分页信息
+     * @param filter 过滤条件
+     * @return Page<BrandCount>
+     */
+    @Override
+    public com.uas.sso.support.Page<BrandCount> getBrandProductsCount(Pageable pageable, GoodsFilter filter) {
+        java.sql.Date startDate;
+        if (null == filter.getStartTime()) {
+            startDate = new java.sql.Date(DateUtils.addTime(new Date(), -30, 0, 0, 0).getTime());
+        } else {
+            startDate = new java.sql.Date(filter.getStartTime());
+        }
+        java.sql.Date endDate;
+        if (null == filter.getEndTime()) {
+            endDate = new java.sql.Date(System.currentTimeMillis());
+        } else {
+            endDate = new java.sql.Date(filter.getEndTime());
+        }
+        StringBuffer sql = new StringBuffer("select br_name_en as brand, count(1) as count from product$brand where br_createtime >= ? and br_createtime <= ? group by br_name_en");
+        StringBuffer countSql = new StringBuffer("select count(1) from (").append(sql).append(") as a");
+        Integer count = commonDao.queryForObject(countSql.toString(), Integer.class, startDate, endDate);
+        // 分页参数
+        Integer offset = (pageable.getPageNumber() - 1) * pageable.getPageSize();
+        sql.append(" limit ? offset ?");
+        List<BrandCount> brandCountList = commonDao.query(sql.toString(), BrandCount.class, startDate, endDate, pageable.getPageSize(), offset);
+        return new com.uas.sso.support.Page<>(pageable.getPageNumber(), pageable.getPageSize(), brandCountList, count);
+    }
+
+    /**
+     * 通过分页参数获取类目数量
+     *
+     * @param pageable 分页参数
+     * @param filter   过滤条件
+     * @return Page<KindHierarchicalCount>
+     */
+    @Override
+    public com.uas.sso.support.Page<KindHierarchicalCount> getKindProductsCount(Pageable pageable, GoodsFilter filter) {
+        StringBuffer sql = new StringBuffer("select ki_name as thirdKind, ki_parentid as parentId, count(1) as count from product$kind group by ki_name, ki_parentid");
+        StringBuffer countSql = new StringBuffer("select count(1) from (").append(sql).append(") as a");
+        Integer count = commonDao.queryForObject(countSql.toString(), Integer.class);
+        // 分页参数
+        Integer offset = (pageable.getPageNumber() - 1) * pageable.getPageSize();
+        sql.append(" limit ? offset ?");
+        List<KindHierarchicalCount> kindList = commonDao.query(sql.toString(), KindHierarchicalCount.class, pageable.getPageSize(), offset);
+        if (CollectionUtils.isNotEmpty(kindList)) {
+            kindList.forEach(kind -> {
+                if (null != kind.getParentId() && kind.getParentId() != 0) {
+                    KindInfo parentKind = kindInfoDao.findOne(kind.getParentId());
+                    if (null != parentKind) {
+                        kind.setSecondKind(parentKind.getNameCn());
+                        if (null != parentKind.getParentid() && parentKind.getParentid() != 0) {
+                            KindInfo firstKind = kindInfoDao.findOne(parentKind.getParentid());
+                            if (null != firstKind) {
+                                kind.setFirstKind(firstKind.getNameCn());
+                            }
+                        }
+                    }
+                }
+            });
+        }
+        return new com.uas.sso.support.Page<>(pageable.getPageNumber(), pageable.getPageSize(), kindList, count);
+    }
 }

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

@@ -1,6 +1,7 @@
 package com.uas.platform.b2c.prod.product.brand.dao;
 
 import com.uas.platform.b2c.prod.product.brand.modal.Brand;
+import com.uas.platform.b2c.prod.store.model.BrandCount;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.Pageable;
 import org.springframework.data.jpa.repository.JpaRepository;
@@ -11,6 +12,7 @@ import org.springframework.data.repository.query.Param;
 import org.springframework.stereotype.Repository;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -114,4 +116,17 @@ public interface BrandDao extends JpaSpecificationExecutor<Brand>, JpaRepository
 	 */
 	@Query(value = "select * from product$brand b where upper(b.br_name_cn) = upper(:brandName) or upper(b.br_name_en) = upper(:brandName)", nativeQuery = true)
 	List<Brand> findByName(@Param("brandName") String brandName);
+
+    /**
+     * 分页查找物料信息
+     *
+     * @param pageable 分页信息
+     * @param startDate 开始日期
+     * @param endDate 截止日期
+     * @return
+     */
+    @Query(value = "select br_name_en as brand, count(1) as count from product$brand where br_createtime >= :startDate and br_createtime <= :endDate group by br_name_en ORDER BY ?#{#pageable}",
+    countQuery = "select count(1) from (select count(1) from product$brand where br_createtime >= :startDate and br_createtime <= :endDate group by br_name_en) as a",
+    nativeQuery = true)
+    Page<BrandCount> getBrandProductsCount(Pageable pageable, @Param("startDate") Date startDate, @Param("endDate") Date endDate);
 }

+ 36 - 0
src/main/java/com/uas/platform/b2c/prod/store/model/BrandCount.java

@@ -0,0 +1,36 @@
+package com.uas.platform.b2c.prod.store.model;
+
+/**
+ * 品牌数量统计
+ *
+ * @author hejq
+ * @date 2018-10-23 11:40
+ */
+public class BrandCount {
+
+    /**
+     * 品牌名称
+     */
+    private String brand;
+
+    /**
+     * 数量
+     */
+    private Integer count;
+
+    public String getBrand() {
+        return brand;
+    }
+
+    public void setBrand(String brand) {
+        this.brand = brand;
+    }
+
+    public Integer getCount() {
+        return count;
+    }
+
+    public void setCount(Integer count) {
+        this.count = count;
+    }
+}

+ 75 - 0
src/main/java/com/uas/platform/b2c/prod/store/model/KindHierarchicalCount.java

@@ -0,0 +1,75 @@
+package com.uas.platform.b2c.prod.store.model;
+
+/**
+ * 类目数量
+ *
+ * @author hejq
+ * @date 2018-10-23 11:41
+ */
+public class KindHierarchicalCount {
+
+    /**
+     * 一级类目
+     */
+    private String firstKind;
+
+    /**
+     * 二级类目
+     */
+    private String secondKind;
+
+    /**
+     * 三级类目
+     */
+    private String thirdKind;
+
+    /**
+     * 数量
+     */
+    private Integer count;
+
+    /**
+     * 父类目id
+     */
+    private Long parentId;
+
+    public String getFirstKind() {
+        return firstKind;
+    }
+
+    public void setFirstKind(String firstKind) {
+        this.firstKind = firstKind;
+    }
+
+    public String getSecondKind() {
+        return secondKind;
+    }
+
+    public void setSecondKind(String secondKind) {
+        this.secondKind = secondKind;
+    }
+
+    public String getThirdKind() {
+        return thirdKind;
+    }
+
+    public void setThirdKind(String thirdKind) {
+        this.thirdKind = thirdKind;
+    }
+
+    public Integer getCount() {
+        return count;
+    }
+
+    public void setCount(Integer count) {
+        this.count = count;
+    }
+
+    public Long getParentId() {
+        return parentId;
+    }
+
+    public void setParentId(Long parentId) {
+        this.parentId = parentId;
+    }
+}

+ 1 - 1
src/main/java/com/uas/platform/b2c/trade/seek/utils/DateUtils.java

@@ -25,7 +25,7 @@ public class DateUtils {
      * @param day
      * @return
      */
-    public static Date addTime(Date date, Integer day, Integer hour, Integer minute,Integer second){
+    public static Date addTime(Date date, Integer day, Integer hour, Integer minute, Integer second){
         SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
         return new Date(date.getTime() + day * 24 * 60 * 60 * 1000 + hour * 60 * 60 * 1000 + minute * 60 * 1000 + second * 1000);
     }