Browse Source

opt:拜访添加字段;fix:订单规则校验修复

muti_db
Yen 9 months ago
parent
commit
ba0b07df6c
  1. 18
      src/main/java/com/qs/serve/modules/baz/entity/BazVisitInstance.java
  2. 28
      src/main/java/com/qs/serve/modules/baz/entity/BazVisitInstanceFlow.java
  3. 18
      src/main/java/com/qs/serve/modules/baz/entity/bo/BazVisitInstanceFlowBo.java
  4. 18
      src/main/java/com/qs/serve/modules/biz/entity/BizVisit.java
  5. 8
      src/main/java/com/qs/serve/modules/goods/service/GoodsRuleService.java
  6. 35
      src/main/java/com/qs/serve/modules/goods/service/impl/GoodsRuleServiceImpl.java
  7. 2
      src/main/java/com/qs/serve/modules/oms/controller/api/OmsOrderApi.java
  8. 5
      src/main/java/com/qs/serve/modules/oms/service/impl/OmsOrderOptionsServiceImpl.java
  9. 2
      src/main/java/com/qs/serve/modules/oms/service/impl/OmsOrderPart1ServiceImpl.java

18
src/main/java/com/qs/serve/modules/baz/entity/BazVisitInstance.java

@ -93,6 +93,24 @@ public class BazVisitInstance implements Serializable {
/** 遗失定位标识 */
private Integer missLocalFlag;
/** 省 */
private String extProvince;
/** 城市 */
private String extCity;
/** 区 */
private String extRegionArea;
/** 乡镇 */
private String extTownship;
/** 街道 */
private String extStreet;
/** 街道编号 */
private String extStreetNumber;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private LocalDateTime finishedTime;

28
src/main/java/com/qs/serve/modules/baz/entity/BazVisitInstanceFlow.java

@ -112,6 +112,24 @@ public class BazVisitInstanceFlow implements Serializable {
@Length(max = 255,message = "经度长度不能超过255字")
private String valLocalY;
/** 省 */
private String extProvince;
/** 城市 */
private String extCity;
/** 区 */
private String extRegionArea;
/** 乡镇 */
private String extTownship;
/** 街道 */
private String extStreet;
/** 街道编号 */
private String extStreetNumber;
/** 拍照图片地址 */
@TableField(typeHandler = SplitStringTypeHandler.class,jdbcType= JdbcType.VARCHAR)
private String[] valPhotoUrls;
@ -199,13 +217,21 @@ public class BazVisitInstanceFlow implements Serializable {
public void initInputValues(BazVisitInstanceFlowBo source){
this.setTargetAddressId(source.getTargetAddressId());
//this.setFormJson(source.getFormJson());
this.setValInputValue(source.getValInputValue());
this.setValLocalX(source.getValLocalX());
this.setValLocalY(source.getValLocalY());
this.setValPhotoUrls(source.getValPhotoUrls());
this.setValFormValue(source.getValFormValue());
this.setMapAddress(source.getMapAddress());
this.setExtProvince(source.getExtProvince());
this.setExtCity(source.getExtCity());
this.setExtRegionArea(source.getExtRegionArea());
this.setExtTownship(source.getExtTownship());
this.setExtStreet(source.getExtStreet());
this.setExtStreetNumber(source.getExtStreetNumber());
}
}

18
src/main/java/com/qs/serve/modules/baz/entity/bo/BazVisitInstanceFlowBo.java

@ -39,6 +39,24 @@ public class BazVisitInstanceFlowBo implements Serializable {
/** 地图地址 */
private String mapAddress;
/** 省 */
private String extProvince;
/** 城市 */
private String extCity;
/** 区 */
private String extRegionArea;
/** 乡镇 */
private String extTownship;
/** 街道 */
private String extStreet;
/** 街道编号 */
private String extStreetNumber;
/** 纬度 */
@Length(max = 255,message = "纬度长度不能超过255字")
private String valLocalX;

18
src/main/java/com/qs/serve/modules/biz/entity/BizVisit.java

@ -48,6 +48,24 @@ public class BizVisit implements Serializable {
@Length(max = 512,message = "地址长度不能超过512字")
private String address;
/** 省 */
private String extProvince;
/** 城市 */
private String extCity;
/** 区 */
private String extRegionArea;
/** 乡镇 */
private String extTownship;
/** 街道 */
private String extStreet;
/** 街道编号 */
private String extStreetNumber;
/** 类型:单选 【潜在客户签到;培训会议;其他定点签到;在家办公 】 */
private String signType;

8
src/main/java/com/qs/serve/modules/goods/service/GoodsRuleService.java

@ -48,5 +48,13 @@ public interface GoodsRuleService extends IService<GoodsRule> {
*/
List<SimpleKeyValue> checkSkuCode(String supplierId,List<Long> skuIds);
/**
* 检测sku是否符合的人员规则,返回不和规范的ID
* @param userId
* @param skuIds
* @return
*/
List<SimpleKeyValue> checkSkuCodeByUserId(String userId,List<Long> skuIds);
}

35
src/main/java/com/qs/serve/modules/goods/service/impl/GoodsRuleServiceImpl.java

@ -456,17 +456,32 @@ public class GoodsRuleServiceImpl extends ServiceImpl<GoodsRuleMapper,GoodsRule>
return false;
}
@Override
public List<SimpleKeyValue> checkSkuCodeByUserId(String userId, List<Long> skuIds) {
List<GoodsRuleItem> ruleItems = this.listByUserId(userId);
if(CollUtil.isEmpty(skuIds)){
return new ArrayList<>();
}
return baseCheckRuleItem(skuIds, ruleItems,true);
}
@Override
public List<SimpleKeyValue> checkSkuCode( String supplierId,List<Long> skuIds) {
List<SimpleKeyValue> errorSkuIds = new ArrayList<>();
List<GoodsRuleItem> ruleItems = this.listBySupplierId(supplierId);
if(CollUtil.isEmpty(skuIds)){
return errorSkuIds;
return new ArrayList<>();
}
return baseCheckRuleItem(skuIds, ruleItems,false);
}
@NotNull
private List<SimpleKeyValue> baseCheckRuleItem(List<Long> skuIds, List<GoodsRuleItem> ruleItems,boolean isUserRule) {
List<SimpleKeyValue> errorSkuIds = new ArrayList<>();
GoodsRuleItemDTO itemDTO = this.buildGoodsRuleItemDTO(ruleItems);
if(itemDTO==null){
return errorSkuIds;
}List<GoodsSku> goodsSkuList = skuMapper.selectBatchIds(skuIds);
}
List<GoodsSku> goodsSkuList = skuMapper.selectBatchIds(skuIds);
for (GoodsSku sku : goodsSkuList) {
boolean notExistInOnly = false;
if(itemDTO.getOnlySpuIds()!=null){
@ -476,19 +491,19 @@ public class GoodsRuleServiceImpl extends ServiceImpl<GoodsRuleMapper,GoodsRule>
break;
}
}
if(!notExistInOnly){
errorSkuIds.add(new SimpleKeyValue(isUserRule?"客户人员维度(只可选未包含该产品)":"客户维度(只可选未包含该产品)",sku.getId()));
continue;
}
}
if(!notExistInOnly){
errorSkuIds.add(new SimpleKeyValue("客户维度(只可选未包含该产品)",sku.getId()));
continue;
}
if(itemDTO.getNotInSpuIds()!=null){
boolean isErr = false;
for (String notInSpuId : itemDTO.getNotInSpuIds()) {
if(sku.getSpuId().toString().equals(notInSpuId)){
isErr = true;
errorSkuIds.add(new SimpleKeyValue("客户维度(不可选)",sku.getId()));
errorSkuIds.add(new SimpleKeyValue(isUserRule?"客户人员维度(不可选)":"客户维度(不可选)",sku.getId()));
break;
}
}
@ -512,7 +527,7 @@ public class GoodsRuleServiceImpl extends ServiceImpl<GoodsRuleMapper,GoodsRule>
}
}
if (!anyMatch){
errorSkuIds.add(new SimpleKeyValue("客户维度(只可选未包含该产品)",sku.getId()));
errorSkuIds.add(new SimpleKeyValue(isUserRule?"客户人员维度(只可选未包含该产品)":"客户维度(只可选未包含该产品)",sku.getId()));
continue;
}
@ -524,7 +539,7 @@ public class GoodsRuleServiceImpl extends ServiceImpl<GoodsRuleMapper,GoodsRule>
boolean b3 = notInCateId.equals(spu.getCategoryThird());
boolean anyMatch = b1||b2||b3;
if (anyMatch){
errorSkuIds.add(new SimpleKeyValue("客户维度(不可选)",sku.getId()));
errorSkuIds.add(new SimpleKeyValue(isUserRule?"客户人员维度(不可选)":"客户维度(不可选)",sku.getId()));
}
}
}

2
src/main/java/com/qs/serve/modules/oms/controller/api/OmsOrderApi.java

@ -446,7 +446,7 @@ public class OmsOrderApi {
* 获取临期品订单折扣率
* @return
*/
@PostMapping("/expiredOrderRates")
@GetMapping("/expiredOrderRates")
public R<?> getExpiredOrderRates(){
return R.ok(omsOrderService.selectExpiredOrderRates());
}

5
src/main/java/com/qs/serve/modules/oms/service/impl/OmsOrderOptionsServiceImpl.java

@ -28,6 +28,7 @@ import com.qs.serve.modules.oms.entity.OmsXltOrder;
import com.qs.serve.modules.oms.entity.OmsXltOrderItem;
import com.qs.serve.modules.oms.entity.dto.SeeYonOrderItemDTO;
import com.qs.serve.modules.oms.entity.dto.XltOrderDTO;
import com.qs.serve.modules.oms.mapper.OmsOrderMapper;
import com.qs.serve.modules.oms.service.OmsOrderItemService;
import com.qs.serve.modules.oms.service.OmsOrderOptionsService;
import com.qs.serve.modules.oms.service.OmsOrderService;
@ -81,6 +82,7 @@ public class OmsOrderOptionsServiceImpl implements OmsOrderOptionsService {
private final TagInfoMapper tagInfoMapper;
private final GoodsSkuMapper goodsSkuMapper;
private final GoodsSpuMapper goodsSpuMapper;
private final OmsOrderMapper omsOrderMapper;
private final GoodsCategoryMapper goodsCategoryMapper;
private final SeeYonRequestService seeYonService;
private final SeeYonRequestBaseService seeYonRequestBaseService;
@ -278,7 +280,8 @@ public class OmsOrderOptionsServiceImpl implements OmsOrderOptionsService {
BigDecimal dr = null;
if(codeRs.getData()!=null){
try {
dr = new BigDecimal(codeRs.getData().toString());
String oaRateId = codeRs.getData().toString();
dr = omsOrderMapper.getExpiredOrderRates(oaRateId);
omsOrder.setDiscountRate(dr);
} catch (Exception e) {
e.printStackTrace();

2
src/main/java/com/qs/serve/modules/oms/service/impl/OmsOrderPart1ServiceImpl.java

@ -180,6 +180,8 @@ public class OmsOrderPart1ServiceImpl implements OmsOrderPart1Service {
//拦截客户维度规则
errorSkuIds.addAll(goodsRuleService.checkSkuCode( supplier.getId(),skuIds));
//拦截客户维度的用户规则
errorSkuIds.addAll(goodsRuleService.checkSkuCodeByUserId( AuthContextUtils.getSysUserId(),skuIds));
//拦截品类下单规则
errorSkuIds.addAll(omsOrderService.handleCategoryRule(skuIds,categoryRule));

Loading…
Cancel
Save