Commit 0f3357e5 by 胡园园

Merge branch 'release-2023042501' into 'master'

分支release-2023042501已上线,自动合并到master

See merge request !22
parents 850a2fb8 1bfda8fc
Pipeline #47793 canceled with stages
...@@ -43,7 +43,7 @@ spring.redis.host=10.131.99.201 ...@@ -43,7 +43,7 @@ spring.redis.host=10.131.99.201
spring.redis.port=11030 spring.redis.port=11030
# supplier # supplier
supplier.url=http://127.0.0.1:8550/proxy/test-v1.yanxuan-supplier-ms.service.mailsaas supplier.url=http://127.0.0.1:8550/proxy/test.yanxuan-supplier-ms.service.mailsaas
### des\u914D\u7F6E ### des\u914D\u7F6E
# \u5BFC\u51FA\u6587\u4EF6\u4E0A\u4F20\u5230\u54EA\u4E2A\u670D\u52A1\u5668\uFF0C\u6709test\u548Conline\u53EF\u9009 # \u5BFC\u51FA\u6587\u4EF6\u4E0A\u4F20\u5230\u54EA\u4E2A\u670D\u52A1\u5668\uFF0C\u6709test\u548Conline\u53EF\u9009
......
...@@ -36,4 +36,11 @@ public interface ChangeFlowExecService { ...@@ -36,4 +36,11 @@ public interface ChangeFlowExecService {
Integer deleteByChangeRecordId(Long id); Integer deleteByChangeRecordId(Long id);
void saveRecord(ChangeExecRecord exec); void saveRecord(ChangeExecRecord exec);
/**
* 查询包含执行人的工单
* @param changeExecUser
* @return
*/
List<Long> queryByExecUser(String changeExecUser);
} }
\ No newline at end of file
...@@ -13,7 +13,9 @@ public interface ISupplierItemService { ...@@ -13,7 +13,9 @@ public interface ISupplierItemService {
* @param itemName * @param itemName
* @param page * @param page
* @param pageSize * @param pageSize
* @param skuId
* @return * @return
*/ */
SupplierItemPageVO supplierGoodsInfoBySupplier(SupplierGoodsInfoReq supplierGoodsInfoReq, String itemId, String itemName, Integer page, Integer pageSize); SupplierItemPageVO supplierGoodsInfoBySupplier(SupplierGoodsInfoReq supplierGoodsInfoReq, String itemId,
String itemName, Integer page, Integer pageSize, String skuId);
} }
...@@ -6,7 +6,6 @@ import java.util.Map; ...@@ -6,7 +6,6 @@ import java.util.Map;
import com.netease.mail.yanxuan.change.dal.meta.model.po.ChangeCommanderPO; import com.netease.mail.yanxuan.change.dal.meta.model.po.ChangeCommanderPO;
import com.netease.mail.yanxuan.change.dal.meta.model.po.ChangeGoodsPrincipalPO; import com.netease.mail.yanxuan.change.dal.meta.model.po.ChangeGoodsPrincipalPO;
import com.netease.mail.yanxuan.change.dal.meta.model.po.QueryCommanderEmailReq; import com.netease.mail.yanxuan.change.dal.meta.model.po.QueryCommanderEmailReq;
import com.netease.mail.yanxuan.change.dal.meta.model.req.ChangeFlowCreateReq;
import com.netease.mail.yanxuan.change.dal.meta.model.rpc.CommanderResponse; import com.netease.mail.yanxuan.change.dal.meta.model.rpc.CommanderResponse;
import com.netease.mail.yanxuan.change.dal.meta.model.rpc.GoodsResponseRpc; import com.netease.mail.yanxuan.change.dal.meta.model.rpc.GoodsResponseRpc;
...@@ -20,9 +19,10 @@ public interface InteriorChangeConfigService { ...@@ -20,9 +19,10 @@ public interface InteriorChangeConfigService {
/** /**
* 根据变更信息 返回住变更负责人 * 根据变更信息 返回住变更负责人
* @param changeCommander * @param changeCommander
* @param commander
* @return * @return
*/ */
GoodsResponseRpc queryCommanderInfo(ChangeCommanderPO changeCommander); GoodsResponseRpc queryCommanderInfo(ChangeCommanderPO changeCommander, String commander);
/** /**
* 传入商品列表 返回商品信息 * 传入商品列表 返回商品信息
...@@ -36,6 +36,6 @@ public interface InteriorChangeConfigService { ...@@ -36,6 +36,6 @@ public interface InteriorChangeConfigService {
* @param req * @param req
* @return * @return
*/ */
CommanderResponse queryCommanderEmail(QueryCommanderEmailReq req); List<CommanderResponse> queryCommanderEmail(QueryCommanderEmailReq req);
} }
...@@ -64,4 +64,9 @@ public class ChangeFlowExecServiceImpl implements ChangeFlowExecService { ...@@ -64,4 +64,9 @@ public class ChangeFlowExecServiceImpl implements ChangeFlowExecService {
public void saveRecord(ChangeExecRecord exec) { public void saveRecord(ChangeExecRecord exec) {
changeExecRecordMapper.insertSelective(exec); changeExecRecordMapper.insertSelective(exec);
} }
}
\ No newline at end of file @Override
public List<Long> queryByExecUser(String changeExecUser) {
return changeExecRecordMapper.queryByUser("%" + changeExecUser + "%");
}
}
package com.netease.mail.yanxuan.change.biz.service.impl; package com.netease.mail.yanxuan.change.biz.service.impl;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
import java.util.Set;
import java.util.stream.Collectors;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.netease.mail.yanxuan.change.biz.service.ISupplierItemService; import com.netease.mail.yanxuan.change.biz.service.ISupplierItemService;
import com.netease.mail.yanxuan.change.common.bean.AjaxResult; import com.netease.mail.yanxuan.change.common.bean.AjaxResult;
import com.netease.mail.yanxuan.change.integration.flow.supplier.FlowRpcSupplierSendService; import com.netease.mail.yanxuan.change.integration.flow.supplier.FlowRpcSupplierSendService;
import com.netease.mail.yanxuan.change.integration.flow.supplier.req.SupplierGoodsInfoReq; import com.netease.mail.yanxuan.change.integration.flow.supplier.req.SupplierGoodsInfoReq;
import com.netease.mail.yanxuan.change.integration.flow.supplier.rsp.SupplierGoodsInfoRsp; import com.netease.mail.yanxuan.change.integration.flow.supplier.rsp.SupplierGoodsInfoRsp;
import com.netease.mail.yanxuan.change.integration.item.ItemRpcService; import com.netease.mail.yanxuan.change.integration.item.ItemRpcService;
import com.netease.mail.yanxuan.change.integration.item.meta.SkuSpecTO;
import com.netease.mail.yanxuan.change.integration.item.meta.SkuSpecValueTO;
import com.netease.mail.yanxuan.change.integration.item.meta.SkuTo;
import com.netease.mail.yanxuan.change.integration.item.meta.SpuTO; import com.netease.mail.yanxuan.change.integration.item.meta.SpuTO;
import com.netease.mail.yanxuan.change.integration.item.param.BatchQuerySpuInfoParam; import com.netease.mail.yanxuan.change.integration.item.param.BatchQuerySpuInfoParam;
import com.netease.mail.yanxuan.change.integration.todo.PageVO; import com.netease.mail.yanxuan.change.integration.todo.PageVO;
import com.netease.mail.yanxuan.change.integration.todo.SupplierItemPageVO; import com.netease.mail.yanxuan.change.integration.todo.SupplierItemPageVO;
import com.netease.mail.yanxuan.change.integration.todo.SupplierItemSkuVO;
import com.netease.mail.yanxuan.change.integration.todo.SupplierItemVO; import com.netease.mail.yanxuan.change.integration.todo.SupplierItemVO;
import com.netease.yanxuan.flowx.sdk.meta.controller.communal.AjaxResponse; import com.netease.yanxuan.flowx.sdk.meta.controller.communal.AjaxResponse;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList; import lombok.extern.slf4j.Slf4j;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
@Service @Service
@Slf4j
public class SupplierItemServiceImpl implements ISupplierItemService { public class SupplierItemServiceImpl implements ISupplierItemService {
@Autowired @Autowired
...@@ -32,15 +41,22 @@ public class SupplierItemServiceImpl implements ISupplierItemService { ...@@ -32,15 +41,22 @@ public class SupplierItemServiceImpl implements ISupplierItemService {
private ItemRpcService itemRpcService; private ItemRpcService itemRpcService;
@Override @Override
public SupplierItemPageVO supplierGoodsInfoBySupplier(SupplierGoodsInfoReq supplierGoodsInfoReq, String itemId, String itemName, Integer page, Integer pageSize) { public SupplierItemPageVO supplierGoodsInfoBySupplier(SupplierGoodsInfoReq supplierGoodsInfoReq, String itemId,
AjaxResponse<List<SupplierGoodsInfoRsp>> listAjaxResponse = flowRpcSupplierSendService.supplierGoodsInfoBySupplier(supplierGoodsInfoReq); String itemName, Integer page, Integer pageSize, String skuId) {
AjaxResponse<List<SupplierGoodsInfoRsp>> listAjaxResponse = flowRpcSupplierSendService
.supplierGoodsInfoBySupplier(supplierGoodsInfoReq);
List<SupplierGoodsInfoRsp> data = listAjaxResponse.getData(); List<SupplierGoodsInfoRsp> data = listAjaxResponse.getData();
List<SpuTO> spuTOList = new ArrayList<>(); List<SpuTO> spuTOList = new ArrayList<>();
if (data != null) { if (data != null) {
Set<Long> fullItemIds = data.stream().map(SupplierGoodsInfoRsp::getItemId).collect(Collectors.toSet()); Set<Long> fullItemIds = data.stream().map(SupplierGoodsInfoRsp::getItemId).collect(Collectors.toSet());
log.debug("[op:supplierGoodsInfoBySupplier] fullItemIds: {}", fullItemIds);
while (fullItemIds.size() > 200) { while (fullItemIds.size() > 200) {
List<Long> itemIds = new ArrayList<>(fullItemIds).subList(0, 200); List<Long> itemIds = new ArrayList<>(fullItemIds).subList(0, 200);
AjaxResult<List<SpuTO>> listAjaxResult = itemRpcService.batchQuerySpuInfo(BatchQuerySpuInfoParam.builder().ids(itemIds).build()); List<String> commonProps = new ArrayList<>();
commonProps.add("sku");
commonProps.add("skuSpec");
AjaxResult<List<SpuTO>> listAjaxResult = itemRpcService
.batchQuerySpuInfo(BatchQuerySpuInfoParam.builder().ids(itemIds).commonProps(commonProps).build());
List<SpuTO> pageSpuTo = listAjaxResult.getData(); List<SpuTO> pageSpuTo = listAjaxResult.getData();
if (!CollectionUtils.isEmpty(pageSpuTo)) { if (!CollectionUtils.isEmpty(pageSpuTo)) {
spuTOList.addAll(pageSpuTo); spuTOList.addAll(pageSpuTo);
...@@ -48,18 +64,30 @@ public class SupplierItemServiceImpl implements ISupplierItemService { ...@@ -48,18 +64,30 @@ public class SupplierItemServiceImpl implements ISupplierItemService {
fullItemIds.removeAll(itemIds); fullItemIds.removeAll(itemIds);
} }
List<Long> itemIds = new ArrayList<>(fullItemIds); List<Long> itemIds = new ArrayList<>(fullItemIds);
AjaxResult<List<SpuTO>> listAjaxResult = itemRpcService.batchQuerySpuInfo(BatchQuerySpuInfoParam.builder().ids(itemIds).build()); AjaxResult<List<SpuTO>> listAjaxResult = itemRpcService
.batchQuerySpuInfo(BatchQuerySpuInfoParam.builder().ids(itemIds).build());
List<SpuTO> pageSpuTo = listAjaxResult.getData(); List<SpuTO> pageSpuTo = listAjaxResult.getData();
if (!CollectionUtils.isEmpty(pageSpuTo)) { if (!CollectionUtils.isEmpty(pageSpuTo)) {
spuTOList.addAll(pageSpuTo); spuTOList.addAll(pageSpuTo);
} }
} }
if (StringUtils.isNotBlank(itemId)) { if (StringUtils.isNotBlank(itemId)) {
spuTOList = spuTOList.stream().filter(i -> Long.valueOf(itemId).equals(i.getId())).collect(Collectors.toList()); spuTOList = spuTOList.stream().filter(i -> Long.valueOf(itemId).equals(i.getId()))
.collect(Collectors.toList());
} }
if (StringUtils.isNotBlank(itemName)) { if (StringUtils.isNotBlank(itemName)) {
spuTOList = spuTOList.stream().filter(i -> i.getName().contains(itemName)).collect(Collectors.toList()); spuTOList = spuTOList.stream().filter(i -> i.getName().contains(itemName)).collect(Collectors.toList());
} }
if (StringUtils.isNotBlank(skuId)) {
spuTOList = spuTOList.stream().filter(obj -> !CollectionUtils.isEmpty(obj.getSkuList())).filter(i -> {
List<Long> skuIds = i.getSkuList().stream().map(SkuTo::getId).collect(Collectors.toList());
if (skuIds.contains(Long.valueOf(skuId))) {
return Boolean.TRUE;
} else {
return Boolean.FALSE;
}
}).collect(Collectors.toList());
}
PageVO pageVO = buildPageVo(spuTOList.size(), page, pageSize); PageVO pageVO = buildPageVo(spuTOList.size(), page, pageSize);
Integer endIndex = page * pageSize; Integer endIndex = page * pageSize;
if (page * pageSize > spuTOList.size()) { if (page * pageSize > spuTOList.size()) {
...@@ -70,8 +98,35 @@ public class SupplierItemServiceImpl implements ISupplierItemService { ...@@ -70,8 +98,35 @@ public class SupplierItemServiceImpl implements ISupplierItemService {
SupplierItemVO supplierItemVO = new SupplierItemVO(); SupplierItemVO supplierItemVO = new SupplierItemVO();
supplierItemVO.setItemId(i.getId()); supplierItemVO.setItemId(i.getId());
supplierItemVO.setItemName(i.getName()); supplierItemVO.setItemName(i.getName());
supplierItemVO.setSpecList(i.getSpecList());
List<SupplierItemSkuVO> skuVOList = i.getSkuList().stream().map(s -> {
SupplierItemSkuVO supplierItemSkuVO = new SupplierItemSkuVO();
supplierItemSkuVO.setSkuId(s.getId());
supplierItemSkuVO.setSkuName(s.getDisplayName());
supplierItemSkuVO.setSkuSpecCombine(s.getSkuSpecCombine());
return supplierItemSkuVO;
}).collect(Collectors.toList());
supplierItemVO.setSkuInfoVOS(skuVOList);
return supplierItemVO; return supplierItemVO;
}).collect(Collectors.toList()); }).collect(Collectors.toList());
supplierItemVOList.forEach(i -> {
List<SkuSpecTO> specList = i.getSpecList();
i.getSkuInfoVOS().forEach(s -> {
StringBuilder displayString = new StringBuilder();
s.getSkuSpecCombine().forEach(spec -> {
Optional<SkuSpecTO> any = specList.stream().filter(sp -> sp.getId() == spec.getSkuSpecId())
.findAny();
if (any.isPresent()) {
Optional<SkuSpecValueTO> anySpecValue = any.get().getSpecValueList().stream()
.filter(speValue -> speValue.getId() == spec.getSkuSpecValueId()).findAny();
anySpecValue.ifPresent(skuSpecValueTO -> displayString.append(skuSpecValueTO.getValue()));
}
});
s.setDisplayString(displayString.toString());
});
});
return SupplierItemPageVO.builder().pageVo(pageVO).supplierItemVOList(supplierItemVOList).build(); return SupplierItemPageVO.builder().pageVo(pageVO).supplierItemVOList(supplierItemVOList).build();
} }
......
...@@ -83,6 +83,11 @@ public class ChangeRecord { ...@@ -83,6 +83,11 @@ public class ChangeRecord {
private String changeItem; private String changeItem;
/** /**
* 变更sku
*/
private String changeSku;
/**
* 变更供应商(变更主体为供应商时有效) * 变更供应商(变更主体为供应商时有效)
*/ */
private String changeSupplier; private String changeSupplier;
...@@ -173,6 +178,11 @@ public class ChangeRecord { ...@@ -173,6 +178,11 @@ public class ChangeRecord {
private Integer autoSubmitEmail; private Integer autoSubmitEmail;
/** /**
* 变更收益金额
*/
private String changeProfitAmount;
/**
* 创建时间 * 创建时间
*/ */
private Long createTime; private Long createTime;
......
...@@ -36,4 +36,7 @@ public interface ChangeExecRecordMapper extends tk.mybatis.mapper.common.Mapper< ...@@ -36,4 +36,7 @@ public interface ChangeExecRecordMapper extends tk.mybatis.mapper.common.Mapper<
@Delete("delete from TB_YX_QC_CHANGE_EXEC_RECORD where change_record_id = #{changeRecordId}") @Delete("delete from TB_YX_QC_CHANGE_EXEC_RECORD where change_record_id = #{changeRecordId}")
Integer deleteByBaseId(@Param("changeRecordId") Long changeRecordId); Integer deleteByBaseId(@Param("changeRecordId") Long changeRecordId);
@Select("SELECT DISTINCT(change_record_id) FROM TB_YX_QC_CHANGE_EXEC_RECORD WHERE change_exec_user_email LIKE #{changeExecUser}")
List<Long> queryByUser(@Param("changeExecUser") String changeExecUser);
} }
...@@ -63,6 +63,11 @@ public class ChangeFlowCreateReq { ...@@ -63,6 +63,11 @@ public class ChangeFlowCreateReq {
private String changeItems; private String changeItems;
/** /**
* 变更sku信息
*/
private String changeSkus;
/**
* 变更供应商 * 变更供应商
*/ */
private String changeSupplier; private String changeSupplier;
...@@ -142,4 +147,9 @@ public class ChangeFlowCreateReq { ...@@ -142,4 +147,9 @@ public class ChangeFlowCreateReq {
* 同舟用户所属供应商 * 同舟用户所属供应商
*/ */
private String supplier; private String supplier;
/**
* 变更收益金额
*/
private String changeProfitAmount;
} }
\ No newline at end of file
...@@ -10,6 +10,8 @@ import com.netease.mail.yanxuan.change.common.enums.CreateSourceEnum; ...@@ -10,6 +10,8 @@ import com.netease.mail.yanxuan.change.common.enums.CreateSourceEnum;
import lombok.Data; import lombok.Data;
import java.util.List;
/** /**
* @Author zcwang * @Author zcwang
* @Date 2022/11/21 * @Date 2022/11/21
...@@ -21,6 +23,8 @@ public class ChangeFlowListQueryReq { ...@@ -21,6 +23,8 @@ public class ChangeFlowListQueryReq {
*/ */
private String itemId; private String itemId;
private String skuId;
/** /**
* 变更供应商(变更主体为供应商时有效) * 变更供应商(变更主体为供应商时有效)
*/ */
...@@ -78,6 +82,16 @@ public class ChangeFlowListQueryReq { ...@@ -78,6 +82,16 @@ public class ChangeFlowListQueryReq {
private String createSupplier; private String createSupplier;
/** /**
* 变更执行人
*/
private String changeExecUser;
/**
* 变更记录id集合
*/
private List<Long> changeRecordIds;
/**
* 工单id * 工单id
*/ */
private Long flowId; private Long flowId;
......
...@@ -45,6 +45,12 @@ public class ChangeFlowSubmitReq { ...@@ -45,6 +45,12 @@ public class ChangeFlowSubmitReq {
* 变更商品 * 变更商品
*/ */
private String changeItems; private String changeItems;
/**
* 变更sku信息
*/
private String changeSkus;
/** /**
* 变更供应商 * 变更供应商
*/ */
...@@ -109,4 +115,9 @@ public class ChangeFlowSubmitReq { ...@@ -109,4 +115,9 @@ public class ChangeFlowSubmitReq {
* 备注 * 备注
*/ */
private String remark; private String remark;
/**
* 变更收益金额
*/
private String changeProfitAmount;
} }
\ No newline at end of file
...@@ -106,6 +106,11 @@ public class ChangeFlowVO { ...@@ -106,6 +106,11 @@ public class ChangeFlowVO {
* 变更收益说明 * 变更收益说明
*/ */
private String changeProfitDesc; private String changeProfitDesc;
/**
* 变更收益金额
*/
private String changeProfitAmount;
/** /**
* 变更商品列表 * 变更商品列表
*/ */
......
...@@ -58,4 +58,8 @@ public class ItemBasicInfoVO { ...@@ -58,4 +58,8 @@ public class ItemBasicInfoVO {
*/ */
private ChangeGoodsPrincipalPO changeGoodsPrincipal; private ChangeGoodsPrincipalPO changeGoodsPrincipal;
/**
* 商品sku
*/
private List<String> skuIds;
} }
\ No newline at end of file
package com.netease.mail.yanxuan.change.dal.meta.model.vo;
import lombok.Data;
import java.util.List;
@Data
public class ItemSkuVO {
private Long itemId;
private List<String> skuId;
}
...@@ -8,6 +8,8 @@ package com.netease.mail.yanxuan.change.dal.meta.model.vo; ...@@ -8,6 +8,8 @@ package com.netease.mail.yanxuan.change.dal.meta.model.vo;
import lombok.Data; import lombok.Data;
import java.util.List;
/** /**
* @Author zcwang * @Author zcwang
* @Date 2022/11/21 * @Date 2022/11/21
...@@ -24,4 +26,9 @@ public class ItemVO { ...@@ -24,4 +26,9 @@ public class ItemVO {
* 商品名 * 商品名
*/ */
private String itemName; private String itemName;
/**
* 商品sku
*/
private List<String> skuIds;
} }
\ No newline at end of file
...@@ -13,6 +13,7 @@ ...@@ -13,6 +13,7 @@
<result column="change_department" jdbcType="VARCHAR" property="changeDepartment" /> <result column="change_department" jdbcType="VARCHAR" property="changeDepartment" />
<result column="participate_change_exec_department" jdbcType="VARCHAR" property="participateChangeExecDepartment" /> <result column="participate_change_exec_department" jdbcType="VARCHAR" property="participateChangeExecDepartment" />
<result column="change_item" jdbcType="VARCHAR" property="changeItem" /> <result column="change_item" jdbcType="VARCHAR" property="changeItem" />
<result column="change_sku" jdbcType="VARCHAR" property="changeSku" />
<result column="change_supplier" jdbcType="VARCHAR" property="changeSupplier" /> <result column="change_supplier" jdbcType="VARCHAR" property="changeSupplier" />
<result column="change_reason" jdbcType="VARCHAR" property="changeReason" /> <result column="change_reason" jdbcType="VARCHAR" property="changeReason" />
<result column="change_content" jdbcType="VARCHAR" property="changeContent" /> <result column="change_content" jdbcType="VARCHAR" property="changeContent" />
...@@ -27,6 +28,7 @@ ...@@ -27,6 +28,7 @@
<result column="create_source" jdbcType="INTEGER" property="createSource" /> <result column="create_source" jdbcType="INTEGER" property="createSource" />
<result column="create_supplier" jdbcType="VARCHAR" property="createSupplier" /> <result column="create_supplier" jdbcType="VARCHAR" property="createSupplier" />
<result column="change_result_desc" jdbcType="VARCHAR" property="changeResultDesc" /> <result column="change_result_desc" jdbcType="VARCHAR" property="changeResultDesc" />
<result column="change_profit_amount" jdbcType="VARCHAR" property="changeProfitAmount" />
<result column="remark" jdbcType="VARCHAR" property="remark" /> <result column="remark" jdbcType="VARCHAR" property="remark" />
<result column="creator" jdbcType="VARCHAR" property="creator" /> <result column="creator" jdbcType="VARCHAR" property="creator" />
<result column="create_time" jdbcType="BIGINT" property="createTime" /> <result column="create_time" jdbcType="BIGINT" property="createTime" />
...@@ -35,9 +37,9 @@ ...@@ -35,9 +37,9 @@
<sql id="Base_Column_List"> <sql id="Base_Column_List">
id, flow_id, flow_node, change_subject, parent_change_class_id, son_change_class_id, id, flow_id, flow_node, change_subject, parent_change_class_id, son_change_class_id,
change_level, change_commander, change_department, participate_change_exec_department, change_level, change_commander, change_department, participate_change_exec_department,
change_item, change_supplier, change_reason, change_content, change_risk_desc, change_checking, change_item, change_sku, change_supplier, change_reason, change_content, change_risk_desc, change_checking,
change_profit, change_profit_desc, change_confirm_result_time, `state`, cancel_reason, change_profit, change_profit_desc, change_confirm_result_time, `state`, cancel_reason,
change_result, create_source, create_supplier, change_result_desc, remark, creator, change_result, create_source, create_supplier, change_result_desc, remark, creator, change_profit_amount,
create_time, update_time create_time, update_time
</sql> </sql>
...@@ -51,6 +53,9 @@ ...@@ -51,6 +53,9 @@
<if test="itemId != null "> <if test="itemId != null ">
and change_item like concat('%',#{itemId},'%') and change_item like concat('%',#{itemId},'%')
</if> </if>
<if test="skuId != null ">
and change_sku like concat('%',#{skuId},'%')
</if>
<if test="supplier != null "> <if test="supplier != null ">
and change_supplier = #{supplier} and change_supplier = #{supplier}
</if> </if>
...@@ -84,6 +89,12 @@ ...@@ -84,6 +89,12 @@
<if test="flowId != null"> <if test="flowId != null">
and flow_id = #{flowId} and flow_id = #{flowId}
</if> </if>
<if test="changeRecordIds != null and changeRecordIds.size() > 0">
and id in
<foreach collection="changeRecordIds" close=")" open="(" item="item" separator=",">
${item}
</foreach>
</if>
</where> </where>
order by create_time desc order by create_time desc
</select> </select>
...@@ -98,6 +109,9 @@ ...@@ -98,6 +109,9 @@
<if test="itemId != null "> <if test="itemId != null ">
and change_item like concat('%',#{itemId},'%') and change_item like concat('%',#{itemId},'%')
</if> </if>
<if test="skuId != null ">
and change_sku like concat('%',#{skuId},'%')
</if>
<if test="supplier != null "> <if test="supplier != null ">
and change_supplier = #{supplier} and change_supplier = #{supplier}
</if> </if>
......
...@@ -17,7 +17,7 @@ public class SupplierUserRsp { ...@@ -17,7 +17,7 @@ public class SupplierUserRsp {
private String supplierId; private String supplierId;
/** /**
* 角色ID(1-采购 2-计划 3-SQE 4-商品开发) 以及名称 * key:邮箱 value:姓名
*/ */
private Map<String,String> uid2NameMap; private Map<String,String> uid2NameMap;
......
package com.netease.mail.yanxuan.change.integration.todo;
import com.netease.mail.yanxuan.change.integration.item.meta.SkuSpecCombineTO;
import lombok.Data;
import java.util.List;
@Data
public class SupplierItemSkuVO {
private Long skuId;
private String skuName;
/**
* 规格描述
*/
private String displayString;
//SKU规格构成对象
private List<SkuSpecCombineTO> skuSpecCombine;
}
package com.netease.mail.yanxuan.change.integration.todo; package com.netease.mail.yanxuan.change.integration.todo;
import com.netease.mail.yanxuan.change.integration.item.meta.SkuSpecTO;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import java.util.List;
@Data @Data
@Builder @Builder
@AllArgsConstructor @AllArgsConstructor
...@@ -20,4 +23,12 @@ public class SupplierItemVO { ...@@ -20,4 +23,12 @@ public class SupplierItemVO {
* 商品名称 * 商品名称
*/ */
private String itemName; private String itemName;
/**
* 商品sku
*/
private List<SupplierItemSkuVO> skuInfoVOS;
//SPU关联的规格信息列表
private List<SkuSpecTO> specList;
} }
...@@ -8,6 +8,7 @@ package com.netease.mail.yanxuan.change.web.controller; ...@@ -8,6 +8,7 @@ package com.netease.mail.yanxuan.change.web.controller;
import javax.validation.Valid; import javax.validation.Valid;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.logging.log4j.util.Strings; import org.apache.logging.log4j.util.Strings;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.Assert; import org.springframework.util.Assert;
...@@ -42,6 +43,8 @@ import com.netease.yanxuan.flowx.sdk.meta.dto.exec.UserBaseContainerDTO; ...@@ -42,6 +43,8 @@ import com.netease.yanxuan.flowx.sdk.meta.dto.exec.UserBaseContainerDTO;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import java.util.List;
/** /**
* @Author zcwang * @Author zcwang
* @Date 2022/11/14 * @Date 2022/11/14
...@@ -83,6 +86,7 @@ public class ChangeFlowController { ...@@ -83,6 +86,7 @@ public class ChangeFlowController {
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
@RequestParam(name = "createSource") Integer createSource, @RequestParam(name = "createSource") Integer createSource,
@RequestParam(name = "itemId", required = false) String itemId, @RequestParam(name = "itemId", required = false) String itemId,
@RequestParam(name = "skuId", required = false) String skuId,
@RequestParam(name = "supplier", required = false) String supplier, @RequestParam(name = "supplier", required = false) String supplier,
@RequestParam(name = "parentChangeClassId", required = false) Long parentChangeClassId, @RequestParam(name = "parentChangeClassId", required = false) Long parentChangeClassId,
@RequestParam(name = "sonChangeClassId", required = false) Long sonChangeClassId, @RequestParam(name = "sonChangeClassId", required = false) Long sonChangeClassId,
...@@ -90,11 +94,14 @@ public class ChangeFlowController { ...@@ -90,11 +94,14 @@ public class ChangeFlowController {
@RequestParam(name = "changeCommander", required = false) String changeCommander, @RequestParam(name = "changeCommander", required = false) String changeCommander,
@RequestParam(name = "changeDepartment", required = false) String changeDepartment, @RequestParam(name = "changeDepartment", required = false) String changeDepartment,
@RequestParam(name = "changeExecDepartment", required = false) String changeExecDepartment, @RequestParam(name = "changeExecDepartment", required = false) String changeExecDepartment,
@RequestParam(name = "changeExecUser", required = false) String changeExecUser,
@RequestParam(name = "startTime", required = false) Long startTime, @RequestParam(name = "startTime", required = false) Long startTime,
@RequestParam(name = "endTime", required = false) Long endTime, @RequestParam(name = "endTime", required = false) Long endTime,
@RequestParam(name = "flowId", required = false) Long flowId) { @RequestParam(name = "flowId", required = false) Long flowId) {
ChangeFlowListQueryReq changeFlowListQueryReq = new ChangeFlowListQueryReq(); ChangeFlowListQueryReq changeFlowListQueryReq = new ChangeFlowListQueryReq();
changeFlowListQueryReq.setChangeExecUser(changeExecUser);
changeFlowListQueryReq.setItemId(itemId); changeFlowListQueryReq.setItemId(itemId);
changeFlowListQueryReq.setSkuId(skuId);
changeFlowListQueryReq.setSupplier(supplier); changeFlowListQueryReq.setSupplier(supplier);
changeFlowListQueryReq.setParentChangeClassId(parentChangeClassId); changeFlowListQueryReq.setParentChangeClassId(parentChangeClassId);
changeFlowListQueryReq.setSonChangeClassId(sonChangeClassId); changeFlowListQueryReq.setSonChangeClassId(sonChangeClassId);
...@@ -249,6 +256,20 @@ public class ChangeFlowController { ...@@ -249,6 +256,20 @@ public class ChangeFlowController {
*/ */
@PostMapping("/queryCommanderInfo") @PostMapping("/queryCommanderInfo")
public AjaxResult<CommanderResponse> queryCommanderInfo(@RequestBody QueryCommanderEmailReq req) { public AjaxResult<CommanderResponse> queryCommanderInfo(@RequestBody QueryCommanderEmailReq req) {
List<CommanderResponse> commanderResponseList = interiorChangeConfigService.queryCommanderEmail(req);
if (CollectionUtils.isEmpty(commanderResponseList)) {
return AjaxResult.success();
}
return AjaxResult.success(commanderResponseList.get(0));
}
/**
* 查询负责人信息
* @param req
* @return
*/
@PostMapping("/queryCommanderInfoV2")
public AjaxResult<List<CommanderResponse>> queryCommanderInfoV2(@RequestBody QueryCommanderEmailReq req) {
return AjaxResult.success(interiorChangeConfigService.queryCommanderEmail(req)); return AjaxResult.success(interiorChangeConfigService.queryCommanderEmail(req));
} }
} }
package com.netease.mail.yanxuan.change.web.controller; package com.netease.mail.yanxuan.change.web.controller;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.netease.mail.yanxuan.change.biz.config.AppConfig; import com.netease.mail.yanxuan.change.biz.config.AppConfig;
import com.netease.mail.yanxuan.change.biz.service.ISupplierItemService; import com.netease.mail.yanxuan.change.biz.service.ISupplierItemService;
...@@ -9,19 +17,11 @@ import com.netease.mail.yanxuan.change.integration.flow.supplier.FlowRpcSupplier ...@@ -9,19 +17,11 @@ import com.netease.mail.yanxuan.change.integration.flow.supplier.FlowRpcSupplier
import com.netease.mail.yanxuan.change.integration.flow.supplier.FlowRpcSupplierService; import com.netease.mail.yanxuan.change.integration.flow.supplier.FlowRpcSupplierService;
import com.netease.mail.yanxuan.change.integration.flow.supplier.req.SupplierGoodsInfoReq; import com.netease.mail.yanxuan.change.integration.flow.supplier.req.SupplierGoodsInfoReq;
import com.netease.mail.yanxuan.change.integration.flow.supplier.req.SupplierSearchRemoteReq; import com.netease.mail.yanxuan.change.integration.flow.supplier.req.SupplierSearchRemoteReq;
import com.netease.mail.yanxuan.change.integration.flow.supplier.rsp.SupplierInfoRsp;
import com.netease.mail.yanxuan.change.integration.flow.supplier.rsp.SupplierSimpleRsp; import com.netease.mail.yanxuan.change.integration.flow.supplier.rsp.SupplierSimpleRsp;
import com.netease.mail.yanxuan.change.integration.todo.SupplierItemPageVO; import com.netease.mail.yanxuan.change.integration.todo.SupplierItemPageVO;
import com.netease.yanxuan.flowx.sdk.meta.controller.communal.AjaxResponse; import com.netease.yanxuan.flowx.sdk.meta.controller.communal.AjaxResponse;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.Collections; import lombok.extern.slf4j.Slf4j;
import java.util.List;
/** /**
* @author WangJiaXiang * @author WangJiaXiang
...@@ -46,9 +46,9 @@ public class SupplierController { ...@@ -46,9 +46,9 @@ public class SupplierController {
@GetMapping("/query/supplier/infos") @GetMapping("/query/supplier/infos")
public AjaxResult<List<SupplierSimpleRsp>> querySupplierInfos( public AjaxResult<List<SupplierSimpleRsp>> querySupplierInfos(
@RequestParam(name = "name", required = false) String name, @RequestParam(name = "name", required = false) String name,
@RequestParam(name = "uid", required = false) String uid, @RequestParam(name = "uid", required = false) String uid,
@RequestParam(name = "fuzzySearchText") String fuzzySearchText) { @RequestParam(name = "fuzzySearchText") String fuzzySearchText) {
SupplierSearchRemoteReq req = new SupplierSearchRemoteReq(); SupplierSearchRemoteReq req = new SupplierSearchRemoteReq();
req.setSearchText(fuzzySearchText); req.setSearchText(fuzzySearchText);
AjaxResult<List<SupplierSimpleRsp>> supplierInfo = supplierSendService.queryByConditionForQc(req); AjaxResult<List<SupplierSimpleRsp>> supplierInfo = supplierSendService.queryByConditionForQc(req);
...@@ -56,19 +56,19 @@ public class SupplierController { ...@@ -56,19 +56,19 @@ public class SupplierController {
return supplierInfo; return supplierInfo;
} }
log.error("[querySupplierInfos] querySupplierInfos failed, name={},uid={},fuzzySearchText={}, errMsg={}", name, log.error("[querySupplierInfos] querySupplierInfos failed, name={},uid={},fuzzySearchText={}, errMsg={}", name,
uid, fuzzySearchText, JSON.toJSONString(supplierInfo)); uid, fuzzySearchText, JSON.toJSONString(supplierInfo));
return null; return null;
} }
@GetMapping("/query/supplier/item") @GetMapping("/query/supplier/item")
public AjaxResponse<SupplierItemPageVO> querySupplier(@RequestParam String supplier, public AjaxResponse<SupplierItemPageVO> querySupplier(@RequestParam String supplier,
@RequestParam(required = false) String itemId, @RequestParam(required = false) String itemId, @RequestParam(required = false) String itemName,
@RequestParam(required = false) String itemName, @RequestParam(required = false) String skuId, @RequestParam(defaultValue = "1") Integer page,
@RequestParam(defaultValue = "1") Integer page, @RequestParam(defaultValue = "10") Integer pageSize) {
@RequestParam(defaultValue = "10") Integer pageSize) {
SupplierGoodsInfoReq supplierGoodsInfoReq = new SupplierGoodsInfoReq(); SupplierGoodsInfoReq supplierGoodsInfoReq = new SupplierGoodsInfoReq();
supplierGoodsInfoReq.setSupplierIds(supplier); supplierGoodsInfoReq.setSupplierIds(supplier);
return AjaxResponse.initSuccessResult(supplierItemService.supplierGoodsInfoBySupplier(supplierGoodsInfoReq, itemId, itemName, page, pageSize)); return AjaxResponse.initSuccessResult(supplierItemService.supplierGoodsInfoBySupplier(supplierGoodsInfoReq,
itemId, itemName, page, pageSize, skuId));
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment