Browse Source

个人产品库 初步搭建5 -完善统计,视图数据获取等接口

wangdy 8 years ago
parent
commit
00152032b2

+ 10 - 2
src/main/java/com/uas/platform/b2c/prod/commodity/controller/ProductController.java

@@ -221,11 +221,19 @@ public class ProductController {
 		return productService.updateMatch(json);
 	}
 
+	/**
+	 * 统计数量
+	 *
+	 * @param isPerson 是否个人
+	 * @return
+	 */
 	@RequestMapping(value = "/count", method = RequestMethod.GET)
-	public Map<String, Integer> getProductCount(){
-		return productService.getProductCount();
+	public Map<String, Integer> getProductCount(Integer isPerson){
+		logger.info("统计个人或企业非标与标准数量");
+		return productService.getProductCount(isPerson);
 	}
 
+
 	/**
 	 * 批量删除所有的非标的产品
 	 */

+ 12 - 0
src/main/java/com/uas/platform/b2c/prod/commodity/dao/V_ProductPersonDao.java

@@ -4,8 +4,20 @@ import com.uas.platform.b2c.prod.commodity.model.V_ProductPerson;
 import com.uas.platform.b2c.prod.commodity.model.V_ProductPersonId;
 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;
 
 @Repository
 public interface V_ProductPersonDao extends JpaRepository<V_ProductPerson, V_ProductPersonId>, JpaSpecificationExecutor<V_ProductPerson> {
+    /**
+     * 获取当前的状态的数据
+     *
+     * @param enuu     the enuu 企业enuu
+     * @param standard the standard 标准状态
+     * @return count by enuu and status
+     */
+    @Query(value = "select count(1) from v$person$product where pr_enuu =:enuu and user_uu = :userUU and pr_standard =:standard and pr_b2cenabled =:enabled", nativeQuery = true)
+    Integer getCountByEnuuAndUserUUAndStatusAndEnabled(@Param("enuu") Long enuu, @Param("userUU") Long userUU, @Param("standard") Short standard, @Param("enabled") Integer enabled);
+
 }

+ 0 - 3
src/main/java/com/uas/platform/b2c/prod/commodity/model/V_ProductPerson.java

@@ -11,10 +11,8 @@ import java.util.Set;
 
 @Entity
 @Table(name = "v$person$product")
-@IdClass(V_ProductPersonId.class)
 public class V_ProductPerson implements Serializable{
 
-
     /**
      * product$person的主键
      */
@@ -25,7 +23,6 @@ public class V_ProductPerson implements Serializable{
     /**
      * products的主键
      */
-    @Id
     @Column(name = "pr_id")
     private Long id;
 

+ 1 - 1
src/main/java/com/uas/platform/b2c/prod/commodity/service/ProductService.java

@@ -94,7 +94,7 @@ public interface ProductService {
      * 返回卖家标准和非标的数量
      * @return
      */
-    Map<String, Integer> getProductCount();
+    Map<String, Integer> getProductCount(Integer isPerson);
 
     /**
      * 保存对产品包装,包装数量,生产日期的修改

+ 10 - 3
src/main/java/com/uas/platform/b2c/prod/commodity/service/impl/ProductServiceImpl.java

@@ -1225,14 +1225,21 @@ public class ProductServiceImpl implements ProductService {
     }
 
     @Override
-    public Map<String, Integer> getProductCount() {
+    public Map<String, Integer> getProductCount(Integer isPerson) {
         Map<String, Integer> resultMap = new HashMap<>();
         Long enUU = SystemSession.getUser().getEnterprise().getUu();
+        Long userUU = SystemSession.getUser().getUserUU();
         if (enUU == null){
             throw new IllegalOperatorException("店铺信息丢失,请刷新后重试");
         }
-        int standard = productDao.getCountByEnuuAndStatusAndEnabled(enUU, ShortConstant.YES_SHORT, IntegerConstant.YES_SHORT);
-        int nStandard = productDao.getCountByEnuuAndStatusAndEnabled(enUU, ShortConstant.NO_SHORT, IntegerConstant.YES_SHORT);
+        int standard,nStandard;
+        if (null != isPerson && isPerson.intValue() == IntegerConstant.YES_SHORT.intValue()){
+            standard = v_productPersonDao.getCountByEnuuAndUserUUAndStatusAndEnabled(enUU, userUU, ShortConstant.YES_SHORT, IntegerConstant.YES_SHORT);
+            nStandard = v_productPersonDao.getCountByEnuuAndUserUUAndStatusAndEnabled(enUU, userUU, ShortConstant.NO_SHORT, IntegerConstant.YES_SHORT);
+        } else {
+            standard = productDao.getCountByEnuuAndStatusAndEnabled(enUU, ShortConstant.YES_SHORT, IntegerConstant.YES_SHORT);
+            nStandard = productDao.getCountByEnuuAndStatusAndEnabled(enUU, ShortConstant.NO_SHORT, IntegerConstant.YES_SHORT);
+        }
         resultMap.put("standard", standard);
         resultMap.put("nStandard", nStandard);
         return resultMap;

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

@@ -201,7 +201,7 @@ define([ 'app/app', 'jquery-uploadify' ], function(app) {
 		};
 
 		var updateTagCount = function () {
-			Material.getCountOfProduct({}, {}, function (data) {
+			Material.getCountOfProduct({isPerson :1}, {}, function (data) {
 				if (data){
 					$scope.sCount = data.standard;
 					$scope.nCount = data.nStandard;