Browse Source

增加修正正式数据的代码。

yujia 8 years ago
parent
commit
e67b63f136

+ 22 - 1
src/main/java/com/uas/platform/b2c/prod/commodity/controller/GoodsController.java

@@ -719,13 +719,34 @@ public class GoodsController {
         return goodsService.deleteGoods(id);
     }
 
-    @RequestMapping(value = "/arrange", method = RequestMethod.GET)
+	/**
+	 * 修正正式系统的数据
+	 *
+	 * @return
+	 */
+	@RequestMapping(value = "/arrange", method = RequestMethod.GET)
     public String arrangeGoods() {
 		return goodsService.arrangeGoods();
 	}
 
+	/**
+	 *	获取删除 的信息
+	 *
+	 * @param productid
+	 * @return
+	 */
 	@RequestMapping(value = "/{productid}/deleteMessage", method = RequestMethod.GET)
 	public ResultMap getDeleteProductMessage(@PathVariable("productid") Long productid) {
 		return goodsService.getDeleteProductMessage(productid);
 	}
+
+	/**
+	 * 修正正式系统的分段价格数据
+	 *
+	 * @return
+	 */
+	@RequestMapping(value = "/data/modify", method = RequestMethod.GET)
+	public String modifyData() {
+		return  goodsService.modifyData();
+	}
 }

+ 18 - 0
src/main/java/com/uas/platform/b2c/prod/commodity/dao/GoodsDao.java

@@ -651,4 +651,22 @@ public interface GoodsDao extends JpaSpecificationExecutor<Goods>, JpaRepository
      */
     @Query(value = "select count(1) from Goods g where g.enUU = :enUU and g.brandNameEn = :brandEn and g.code = :code and g.tag = :tag")
     int findCountByTagInGoods(@Param("enUU") Long enUU, @Param("brandEn") String brandEn, @Param("code") String code, @Param("tag") String tag);
+
+    /**
+     * 分页获取库存的信息
+     *
+     * @param start 起始值
+     * @param length 结束值
+     * @return List<Goods>
+     */
+    @Query(value = "select * from trade$goods order by go_id desc limit :start, :length", nativeQuery = true)
+    List<Goods> findGoodsByPage(@Param("start") Long start, @Param("length") Long length);
+
+    /**
+     * 获取数据总的在售信息
+     *
+     * @return
+     */
+    @Query(value = "select count(1) from Goods")
+    Long getCountGoods();
 }

+ 7 - 1
src/main/java/com/uas/platform/b2c/prod/commodity/model/GoodsHistory.java

@@ -961,9 +961,15 @@ public class GoodsHistory {
 		/**
 		 * {@code, 614 手动删除}
 		 */
-		DELETE(614, "手动删除");
+		DELETE(614, "手动删除"),
+
+		/**
+		 * 修改价格信息
+		 */
+		MODIFY_PRICE(615, "修改价格信息");
 
 		private final int value;
+
 		private final String phrase;
 
 		OperateType(int value, String phrase) {

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

@@ -642,4 +642,11 @@ public interface GoodsService {
      */
     ResultMap getDeleteProductMessage(Long
                                               productid);
+
+    /**
+     * 修正测试的数据
+     *
+     * @return
+     */
+    String modifyData();
 }

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

@@ -16,9 +16,11 @@ import com.uas.platform.b2c.core.constant.SplitChar;
 import com.uas.platform.b2c.core.constant.Status;
 import com.uas.platform.b2c.core.support.SystemSession;
 import com.uas.platform.b2c.core.utils.DoubleArith;
+import com.uas.platform.b2c.core.utils.FastjsonUtils;
 import com.uas.platform.b2c.core.utils.NumberUtil;
 import com.uas.platform.b2c.core.utils.PatternUtil;
 import com.uas.platform.b2c.external.erp.commodity.util.ModelConverter;
+import com.uas.platform.b2c.prod.commodity.constant.DoubleConstant;
 import com.uas.platform.b2c.prod.commodity.constant.IntegerConstant;
 import com.uas.platform.b2c.prod.commodity.constant.StringConstant;
 import com.uas.platform.b2c.prod.commodity.dao.*;
@@ -3016,7 +3018,7 @@ public class GoodsServiceImpl implements GoodsService {
 
 
     /**
-     * 根据productid
+     * 根据productid 获取删除的信息
      *
      * @param productid
      */
@@ -3090,4 +3092,50 @@ public class GoodsServiceImpl implements GoodsService {
 
         return ResultMap.success(null);
     }
+
+    /**
+     * 修正测试的数据
+     *
+     * @return
+     */
+    @Override
+    public String modifyData() {
+        Long countGoods = goodsDao.getCountGoods();
+        Long start = 0l, length = 1000l;
+        List<GoodsHistory> histories = new ArrayList<>();
+        List<Goods> goodses = new ArrayList<>();
+        Boolean isModify = false;
+        while (Long.compare(start, countGoods) < 0) {
+            List<Goods> goodsByPage = goodsDao.findGoodsByPage(start, length);
+            for (Goods goods : goodsByPage) {
+                isModify = false;
+                String qtyPrice = goods.getQtyPrice();
+                List<GoodsQtyPrice> list = FastjsonUtils.fromJsonArray(qtyPrice, GoodsQtyPrice.class);
+                int size = list.size() - 1;
+                GoodsQtyPrice goodsQtyPrice = list.get(size);
+                goodsQtyPrice.setEnd(DoubleConstant.maxReserve);
+                Double end1 = list.get(0).getEnd();
+                while (NumberUtil.compare(goods.getMinBuyQty(), end1) >= 0) {
+                    list.remove(0);
+                    end1 = list.get(0).getEnd();
+                    isModify = true;
+                }
+                if (NumberUtil.compare(goods.getMinBuyQty(), list.get(0).getStart()) != 0) {
+                    list.get(0).setStart(goods.getMinBuyQty());
+                    isModify = true;
+                }
+                if (isModify) {
+                    goods.setQtyPrice(FastjsonUtils.toJson(list));
+                    GoodsHistory goodsHistory = goodsHistoryService.converTGoodsHist(goods, OperateType.MODIFY_PRICE.getPhrase());
+                    histories.add(goodsHistory);
+                    goodses.add(goods);
+                }
+
+            }
+            start = start + length;
+        }
+        goodsHistoryService.save(histories);
+        goodsDao.save(goodses);
+        return String.valueOf(goodses.size());
+    }
 }