|
|
@@ -10,9 +10,13 @@ import com.uas.platform.b2c.logistics.dao.AddressTakeSelfDao;
|
|
|
import com.uas.platform.b2c.logistics.dao.DistributionRuleDao;
|
|
|
import com.uas.platform.b2c.logistics.model.*;
|
|
|
import com.uas.platform.b2c.logistics.service.DistributionRuleService;
|
|
|
+import com.uas.platform.b2c.prod.commodity.dao.GoodsDao;
|
|
|
+import com.uas.platform.b2c.prod.commodity.model.Goods;
|
|
|
+import com.uas.platform.b2c.prod.commodity.util.GoodsUtil;
|
|
|
import com.uas.platform.b2c.prod.store.dao.StoreInDao;
|
|
|
import com.uas.platform.b2c.prod.store.model.StoreIn;
|
|
|
import com.uas.platform.b2c.prod.store.model.StoreStatus;
|
|
|
+import com.uas.platform.b2c.trade.order.StringConstant.Currency;
|
|
|
import com.uas.platform.b2c.trade.support.CodeType;
|
|
|
import com.uas.platform.b2c.trade.support.ResultMap;
|
|
|
import com.uas.platform.core.exception.IllegalOperatorException;
|
|
|
@@ -53,6 +57,9 @@ public class DistributionRuleServiceImpl implements DistributionRuleService{
|
|
|
@Autowired
|
|
|
private SysConf sysConf;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private GoodsDao goodsDao;
|
|
|
+
|
|
|
@Override
|
|
|
public Page<DistributionRule> findPageRule(PageParams params) {
|
|
|
final PageInfo pageInfo = new PageInfo(params);
|
|
|
@@ -532,4 +539,59 @@ public class DistributionRuleServiceImpl implements DistributionRuleService{
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<Goods> updateData() {
|
|
|
+ List<Goods> allGoods = goodsDao.findAll();
|
|
|
+ List<Goods> resultList = new ArrayList<>(allGoods.size());
|
|
|
+ for (Goods goods : allGoods) {
|
|
|
+ if (isNeedUpdate(goods)) {
|
|
|
+// updatePrice(goods);
|
|
|
+ resultList.add(goods);
|
|
|
+ }
|
|
|
+ }
|
|
|
+// goodsDao.save(resultList);
|
|
|
+ return resultList;
|
|
|
+ }
|
|
|
+
|
|
|
+ private void updatePrice(Goods goods) {
|
|
|
+ if (Currency.RMB.equals(goods.getCurrencyName())) {
|
|
|
+ goods.setMinPriceRMB(GoodsUtil.getMinPriceRMB(goods.getPrices()));
|
|
|
+ goods.setMaxPriceRMB(GoodsUtil.getMaxPriceRMB(goods.getPrices()));
|
|
|
+ } else if (Currency.USD.equals(goods.getCurrencyName())) {
|
|
|
+ goods.setMinPriceUSD(GoodsUtil.getMinPriceUSD(goods.getPrices()));
|
|
|
+ goods.setMaxPriceUSD(GoodsUtil.getMaxPriceUSD(goods.getPrices()));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private boolean isNeedUpdate(Goods goods) {
|
|
|
+ if (Currency.RMB.equals(goods.getCurrencyName())) {
|
|
|
+ return boolRmb(goods);
|
|
|
+ } else if (Currency.USD.equals(goods.getCurrencyName())) {
|
|
|
+ return boolUsd(goods);
|
|
|
+ }
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ private boolean boolRmb(Goods goods) {
|
|
|
+ if (goods.getMinPriceRMB() == null || goods.getMaxPriceRMB() == null) {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ if (!goods.getMinPriceRMB().equals(GoodsUtil.getMinPriceRMB(goods.getPrices()))
|
|
|
+ || !goods.getMaxPriceRMB().equals(GoodsUtil.getMaxPriceRMB(goods.getPrices()))) {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ private boolean boolUsd(Goods goods) {
|
|
|
+ if (goods.getMinPriceUSD() == null || goods.getMaxPriceUSD() == null) {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ if (!goods.getMinPriceUSD().equals(GoodsUtil.getMinPriceUSD(goods.getPrices()))
|
|
|
+ || !goods.getMaxPriceUSD().equals(GoodsUtil.getMaxPriceUSD(goods.getPrices()))) {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ return false;
|
|
|
+ }
|
|
|
}
|