소스 검색

Merge branch 'dev' of http://git.echepei.com/lazhaoqian/bladex into dev

1021934019@qq.com 3 년 전
부모
커밋
7182645479

+ 10 - 0
blade-service-api/blade-client-api/src/main/java/org/springblade/client/feign/IGoodsDescClient.java

@@ -1,6 +1,7 @@
 package org.springblade.client.feign;
 
 import org.springblade.client.entity.GoodsDesc;
+import org.springblade.client.entity.GoodsType;
 import org.springblade.client.vo.GoodsDescVO;
 import org.springblade.common.constant.LauncherConstant;
 import org.springblade.core.tool.api.R;
@@ -23,6 +24,7 @@ public interface IGoodsDescClient {
 	String GOODS_BY_CODE = API_PREFIX + "goods_by_code";
 	String GET_SPECIFICATION = API_PREFIX + "/get_Specification" ;
 	String GET_GOOD_ID = API_PREFIX +"/getGoodId";
+	String GOOD_TYPE_ID = API_PREFIX + "/goodTypeId";
 
 	/**
 	 * 获取商品信息
@@ -74,5 +76,13 @@ public interface IGoodsDescClient {
 						 @RequestParam(value = "placeProduction",required = false)String placeProduction,
 						 @RequestParam(value = "specsOne",required = false)String specsOne,@RequestParam(value = "specsTwo",required = false)String specsTwo);
 
+	/**
+	 * 获取商品类别
+	 * @param goodId
+	 * @return
+	 */
+	@GetMapping(GOOD_TYPE_ID)
+	GoodsType goodTypeId(@RequestParam("goodId") Long goodId);
+
 
 }

+ 7 - 0
blade-service-api/blade-mocha-item-api/src/main/java/org/springblade/mocha/entity/PriceBank.java

@@ -18,6 +18,7 @@ package org.springblade.mocha.entity;
 
 import java.math.BigDecimal;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.baomidou.mybatisplus.annotation.TableName;
 import java.io.Serializable;
@@ -208,6 +209,12 @@ public class PriceBank implements Serializable {
 		@ApiModelProperty(value = "是否已删除(0 否 1是)")
 		@TableLogic
 		private Integer isDeleted;
+		/**
+	 	* 商品类别中文名
+		 */
+		@ApiModelProperty(value = "商品类别中文名")
+		@TableField(exist = false)
+		private String goodsTypeName;
 
 
 }

+ 7 - 0
blade-service-api/blade-mocha-item-api/src/main/java/org/springblade/mocha/vo/PriceBankVO.java

@@ -16,6 +16,7 @@
  */
 package org.springblade.mocha.vo;
 
+import io.swagger.annotations.ApiModelProperty;
 import org.springblade.mocha.entity.PriceBank;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -33,4 +34,10 @@ import io.swagger.annotations.ApiModel;
 public class PriceBankVO extends PriceBank {
 	private static final long serialVersionUID = 1L;
 
+	/**
+	 * 有效时间
+	 */
+	@ApiModelProperty(value = "有效时间")
+	private String statusTime;
+
 }

+ 15 - 0
blade-service/blade-client/src/main/java/org/springblade/client/goods/feign/GoodsDescClient.java

@@ -3,14 +3,17 @@ package org.springblade.client.goods.feign;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
+import org.springblade.client.entity.GoodsType;
 import org.springblade.client.feign.IGoodsDescClient;
 import org.springblade.client.entity.GoodsDesc;
 import org.springblade.client.goods.assemble.mapstruct.GoodsDescMapstructMapper;
 import org.springblade.client.goods.service.IGoodsDescService;
 import org.springblade.client.goods.service.IGoodsSpecificationService;
+import org.springblade.client.goods.service.IGoodsTypeService;
 import org.springblade.client.vo.GoodsDescVO;
 import org.springblade.core.secure.utils.SecureUtil;
 import org.springblade.core.tenant.annotation.NonDS;
@@ -38,6 +41,8 @@ public class GoodsDescClient implements IGoodsDescClient {
 
 	private IGoodsSpecificationService goodsSpecificationService;
 
+	private IGoodsTypeService goodsTypeService;
+
 	/**
 	 * 获取商品信息
 	 *
@@ -98,4 +103,14 @@ public class GoodsDescClient implements IGoodsDescClient {
 		}
 		return list;
 	}
+
+	@Override
+	public GoodsType goodTypeId(Long goodId) {
+		GoodsType goodsType = new GoodsType();
+		GoodsDesc goodsDesc = goodsDescService.getById(goodId);
+		if (goodsDesc != null && StringUtils.isNotBlank(goodsDesc.getGoodsTypeId())){
+			goodsType = goodsTypeService.getById(Long.valueOf(goodsDesc.getGoodsTypeId()));
+		}
+		return goodsType;
+	}
 }

+ 24 - 2
blade-service/blade-mocha-item/src/main/java/org/springblade/mocha/controller/PriceBankController.java

@@ -17,6 +17,7 @@
 package org.springblade.mocha.controller;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
@@ -24,6 +25,8 @@ import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import lombok.AllArgsConstructor;
 import javax.validation.Valid;
 
+import org.springblade.client.entity.GoodsType;
+import org.springblade.client.feign.IGoodsDescClient;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
 import org.springblade.core.secure.utils.SecureUtil;
@@ -51,6 +54,7 @@ import java.time.Period;
 public class PriceBankController extends BladeController {
 
 	private final IPriceBankService priceBankService;
+	private final IGoodsDescClient goodsDescClient;
 
 	/**
 	 * 详情
@@ -69,8 +73,25 @@ public class PriceBankController extends BladeController {
 	@GetMapping("/list")
 	@ApiOperationSupport(order = 2)
 	@ApiOperation(value = "分页", notes = "传入priceBank")
-	public R<IPage<PriceBank>> list(PriceBank priceBank, Query query) {
-		IPage<PriceBank> pages = priceBankService.page(Condition.getPage(query), Condition.getQueryWrapper(priceBank));
+	public R<IPage<PriceBank>> list(PriceBankVO priceBank, Query query) {
+		LambdaQueryWrapper<PriceBank> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+		lambdaQueryWrapper.eq(PriceBank::getIsDeleted,0);
+		lambdaQueryWrapper.eq(PriceBank::getStatus,0);
+		lambdaQueryWrapper.eq(PriceBank::getTenantId, SecureUtil.getTenantId());
+		lambdaQueryWrapper.eq(PriceBank::getTradeType,"CK");
+		lambdaQueryWrapper.like(Func.isNotEmpty(priceBank.getCname()),PriceBank::getCname,priceBank.getCname());
+		lambdaQueryWrapper.eq(Func.isNotEmpty(priceBank.getCorpId()),PriceBank::getCorpId,priceBank.getCorpId());
+		lambdaQueryWrapper.like(Func.isNotEmpty(priceBank.getSpecs()),PriceBank::getSpecs,priceBank.getSpecs());
+		lambdaQueryWrapper.le(Func.isNotEmpty(priceBank.getStatusTime()),PriceBank::getStartTime,priceBank.getStatusTime());
+		lambdaQueryWrapper.ge(Func.isNotEmpty(priceBank.getStatusTime()),PriceBank::getEndTime,priceBank.getStatusTime());
+		lambdaQueryWrapper.eq(Func.isNotEmpty(priceBank.getBillType()),PriceBank::getBillType,priceBank.getBillType());
+		IPage<PriceBank> pages = priceBankService.page(Condition.getPage(query), lambdaQueryWrapper);
+		if (CollectionUtils.isNotEmpty(pages.getRecords())){
+			pages.getRecords().stream().forEach(item ->{
+				GoodsType goodsType = goodsDescClient.goodTypeId(item.getItemId());
+				item.setGoodsTypeName(goodsType.getCname());
+			});
+		}
 		return R.data(pages);
 	}
 
@@ -88,6 +109,7 @@ public class PriceBankController extends BladeController {
 		lambdaQueryWrapper.like(Func.isNotEmpty(priceBank.getCname()),PriceBank::getCname,priceBank.getCname());
 		lambdaQueryWrapper.eq(Func.isNotEmpty(priceBank.getCorpId()),PriceBank::getCorpId,priceBank.getCorpId());
 		lambdaQueryWrapper.like(Func.isNotEmpty(priceBank.getSpecs()),PriceBank::getSpecs,priceBank.getSpecs());
+		lambdaQueryWrapper.eq(Func.isNotEmpty(priceBank.getBillType()),PriceBank::getBillType,priceBank.getBillType());
 		IPage<PriceBank> pages = priceBankService.page(Condition.getPage(query), lambdaQueryWrapper);
 		return R.data(pages);
 	}

+ 11 - 0
blade-service/blade-mocha-item/src/main/java/org/springblade/mocha/service/impl/PriceBankServiceImpl.java

@@ -16,6 +16,7 @@
  */
 package org.springblade.mocha.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import org.springblade.core.secure.utils.SecureUtil;
 import org.springblade.mocha.entity.PriceBank;
@@ -25,6 +26,7 @@ import org.springblade.mocha.service.IPriceBankService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.util.Date;
 
@@ -43,7 +45,16 @@ public class PriceBankServiceImpl extends ServiceImpl<PriceBankMapper, PriceBank
 	}
 
 	@Override
+	@Transactional
 	public PriceBank savePrice(PriceBank priceBank) {
+		PriceBank price = baseMapper.selectOne(new QueryWrapper<PriceBank>().eq("item_id", priceBank.getItemId()).eq("corp_id", priceBank.getCorpId())
+			.eq("specs", priceBank.getSpecs()).eq("is_deleted", 0).eq("tenant_id",SecureUtil.getTenantId())
+			.eq("bill_type",priceBank.getBillType()).eq("trade_type",priceBank.getTradeType()));
+		if (price != null && priceBank.getId() == null){
+			throw new RuntimeException("商品:"+priceBank.getCname()+"供应商:"+priceBank.getCorpName()+"规格:"+priceBank.getSpecs()+"的数据已存在");
+		}else if (price != null && priceBank.getId() != null && price.getId().longValue() != priceBank.getId().longValue()){
+			throw new RuntimeException("商品:"+priceBank.getCname()+"供应商:"+priceBank.getCorpName()+"规格:"+priceBank.getSpecs()+"的数据已存在");
+		}
 		if (priceBank.getId() == null){
 			priceBank.setCreateTime(new Date());
 			priceBank.setCreateUser(SecureUtil.getUserId());