Commit b585bdd9 by jx-art

测试调用给供应商发送消息邮件接口

parent 5c00c67b
package com.netease.mail.yanxuan.change.biz.service.impl; package com.netease.mail.yanxuan.change.biz.service.impl;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.netease.mail.yanxuan.change.biz.meta.exception.ExceptionFactory;
import com.netease.mail.yanxuan.change.biz.service.InteriorChangeConfigService; import com.netease.mail.yanxuan.change.biz.service.InteriorChangeConfigService;
import com.netease.mail.yanxuan.change.biz.service.change.ChangeConfigService; import com.netease.mail.yanxuan.change.biz.service.change.ChangeConfigService;
import com.netease.mail.yanxuan.change.common.bean.ResponseCode;
import com.netease.mail.yanxuan.change.common.enums.ChangeCommanderEnum; import com.netease.mail.yanxuan.change.common.enums.ChangeCommanderEnum;
import com.netease.mail.yanxuan.change.common.enums.ChangeSubjectEnum; import com.netease.mail.yanxuan.change.common.enums.ChangeSubjectEnum;
import com.netease.mail.yanxuan.change.dal.entity.ChangeConfig; import com.netease.mail.yanxuan.change.dal.entity.ChangeConfig;
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.rpc.GoodsResponseSqeRpc; import com.netease.mail.yanxuan.change.dal.meta.model.rpc.GoodsResponseSqeRpc;
import com.netease.mail.yanxuan.change.integration.flow.PfuApiRpcService; import com.netease.mail.yanxuan.change.integration.flow.goods.ItemcenterApiRpcService;
import com.netease.mail.yanxuan.change.integration.flow.QcApiRpcService; import com.netease.mail.yanxuan.change.integration.flow.goods.PfuApiRpcService;
import com.netease.mail.yanxuan.change.integration.flow.goods.QcApiRpcService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import java.util.ArrayList; import java.util.ArrayList;
...@@ -26,11 +29,15 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ ...@@ -26,11 +29,15 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ
@Autowired @Autowired
private ChangeConfigService changeConfigService; private ChangeConfigService changeConfigService;
//查询商品的SQE
@Autowired @Autowired
private QcApiRpcService qcApiRpcService; private QcApiRpcService qcApiRpcService;
//查看执行人
@Autowired @Autowired
private PfuApiRpcService pfuApiRpcService; private PfuApiRpcService pfuApiRpcService;
//查看商品BU
@Autowired
private ItemcenterApiRpcService itemcenterApiRpcService;
@Override @Override
public String queryCommanderInfo(ChangeCommanderPO changeCommander) { public String queryCommanderInfo(ChangeCommanderPO changeCommander) {
...@@ -72,40 +79,37 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ ...@@ -72,40 +79,37 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ
//记录最大值 //记录最大值
String name = ""; String name = "";
//记录出现的所有值 //记录出现的所有值
List<String> commanders = new ArrayList<String>(); List<String> emails = new ArrayList<String>();
//遍历取出所有商品关联的人 //遍历取出所有商品关联的人
if (commander.equals("商品BU")) { if (commander.equals("商品BU")) {
String detail = itemcenterApiRpcService.getDetail(goodsInfos);
getGoodsNameEmail(emails,detail);
} else if (commander.equals("采购")) { } else if (commander.equals("采购")) {
} else if (commander.equals("计划")) { } else if (commander.equals("计划")) {
String detail = pfuApiRpcService.getDetail(goodsInfos); String detail = pfuApiRpcService.getDetail(goodsInfos);
JSONObject jsonObject = JSONObject.parseObject(detail); getGoodsNameEmail(emails,detail);
Map<String,JSONObject> rpcMap = JSONObject.parseObject(jsonObject.get("data").toString(), Map.class);
for (String rpc : rpcMap.keySet()){
commanders.add(rpcMap.get(rpc).get("uid").toString());
}
} else if (commander.equals("SQE")) { } else if (commander.equals("SQE")) {
for (Long goods:goodsInfos) { for (Long goods:goodsInfos) {
String detail = qcApiRpcService.getDetail(goods.intValue()); String detail = qcApiRpcService.getDetail(goods.intValue());
JSONObject jsonObject = JSONObject.parseObject(detail); JSONObject jsonObject = JSONObject.parseObject(detail);
GoodsResponseSqeRpc data = jsonObject.getObject("data", GoodsResponseSqeRpc.class); GoodsResponseSqeRpc data = jsonObject.getObject("data", GoodsResponseSqeRpc.class);
if (data != null){ if (data != null){
commanders.add(data.getUserName()); emails.add(data.getUserName());
} }
} }
} }
for (String goods : commanders){ for (String email : emails){
if (!map.containsKey(goods)){ if (!map.containsKey(email)){
map.put(goods,1); map.put(email,1);
}else{ }else{
Integer integer = map.get(goods); Integer integer = map.get(email);
++integer; ++integer;
if (temp < integer){ if (temp < integer){
temp = integer; temp = integer;
name = goods; name = email;
} }
map.put(goods,integer); map.put(email,integer);
} }
} }
return name; return name;
...@@ -134,4 +138,21 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ ...@@ -134,4 +138,21 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ
} }
/**
* 重复代码复用方法
* @param emails 储存邮箱队列
* @param response 请求返结果
*/
private void getGoodsNameEmail(List<String> emails,String response){
JSONObject jsonObject = JSONObject.parseObject(response);
Map<String,JSONObject> rpcMap = JSONObject.parseObject(jsonObject.get("data").toString(), Map.class);
if (rpcMap == null){
throw ExceptionFactory.createBiz(ResponseCode.OPERATOR_NOT_EXIST);
}
for (String rpc : rpcMap.keySet()){
emails.add(rpcMap.get(rpc).get("uid").toString());
}
}
} }
package com.netease.mail.yanxuan.change.integration.flow; package com.netease.mail.yanxuan.change.integration.flow.goods;
import com.netease.yanxuan.missa.client.annotation.MissaClient; import com.netease.yanxuan.missa.client.annotation.MissaClient;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
......
package com.netease.mail.yanxuan.change.integration.flow; package com.netease.mail.yanxuan.change.integration.flow.goods;
import com.netease.yanxuan.missa.client.annotation.MissaClient; import com.netease.yanxuan.missa.client.annotation.MissaClient;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
......
package com.netease.mail.yanxuan.change.integration.flow; package com.netease.mail.yanxuan.change.integration.flow.goods;
import com.netease.yanxuan.missa.client.annotation.MissaClient; import com.netease.yanxuan.missa.client.annotation.MissaClient;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
......
package com.netease.mail.yanxuan.change.integration.flow.supplier;
import com.netease.yanxuan.missa.client.annotation.MissaClient;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
/**
* @author WangJiaXiang
* @date 2022/11/24/024$
*/
@Service
@MissaClient(serviceCode = "yanxuan-supplier-ms")
public interface FlowRpcSupplierSendEmailService {
@PostMapping("/api/supplier/msg/sendMail.json")
String sendEmail(@RequestBody SupplierSendEmailReq req);
}
package com.netease.mail.yanxuan.change.integration.flow.supplier;
import lombok.Data;
/**
* @author WangJiaXiang
* @date 2022/11/24/024$
* 供应商发送邮件模板
*/
@Data
public class SupplierSendEmailReq {
//供应商ID
private String supplierId;
//邮件主题
private String mailSubject;
//邮件内容
private String mailContent;
//是否要发送所有账号标记 1:是;0:不是(范围:供应商信息中的通知邮箱 + 除供应商信息中的主账号以外的所有登录邮箱)
private Integer isAllAccountResolved;
}
...@@ -5,13 +5,10 @@ import com.netease.mail.yanxuan.change.common.bean.AjaxResult; ...@@ -5,13 +5,10 @@ import com.netease.mail.yanxuan.change.common.bean.AjaxResult;
import com.netease.mail.yanxuan.change.biz.service.change.AdminChangeConfigService; import com.netease.mail.yanxuan.change.biz.service.change.AdminChangeConfigService;
import com.netease.mail.yanxuan.change.dal.meta.model.req.ChangeConfigQueryReq; import com.netease.mail.yanxuan.change.dal.meta.model.req.ChangeConfigQueryReq;
import com.netease.mail.yanxuan.change.dal.meta.model.req.ChangeConfigReq; import com.netease.mail.yanxuan.change.dal.meta.model.req.ChangeConfigReq;
import com.netease.mail.yanxuan.change.integration.flow.ItemcenterApiRpcService; import com.netease.mail.yanxuan.change.integration.flow.supplier.FlowRpcSupplierSendEmailService;
import com.netease.mail.yanxuan.change.integration.flow.PfuApiRpcService; import com.netease.mail.yanxuan.change.integration.flow.supplier.SupplierSendEmailReq;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
/** /**
* @author WangJiaXiang * @author WangJiaXiang
* @date 2022/11/11/011$ * @date 2022/11/11/011$
...@@ -105,22 +102,18 @@ public class ChangeConfigController { ...@@ -105,22 +102,18 @@ public class ChangeConfigController {
} }
@Autowired @Autowired
private PfuApiRpcService pfuApiRpcService; private FlowRpcSupplierSendEmailService sendEmailService;
@Autowired
private ItemcenterApiRpcService itemcenterApiRpcService;
@PostMapping("/test") @GetMapping("/test")
public String queryExecuteUserByItemId(@RequestBody List<Long> goodsId){ public String queryExecuteUserByItemId(){
String detail = itemcenterApiRpcService.getDetail(goodsId); SupplierSendEmailReq req = new SupplierSendEmailReq();
JSONObject jsonObject = JSONObject.parseObject(detail); req.setSupplierId("YX0001");
Map<String,JSONObject> map = JSONObject.parseObject(jsonObject.get("data").toString(), Map.class); req.setMailContent("测试发送主题");
StringBuilder stringBuilder = new StringBuilder(); req.setMailContent("测试发送内容");
for (String rpc : map.keySet()){ req.setIsAllAccountResolved(1);
stringBuilder.append(map.get(rpc).get("uid")+"\n"); String s = sendEmailService.sendEmail(req);
} JSONObject jsonObject = JSONObject.parseObject(s);
return stringBuilder.toString(); return jsonObject.get("code").toString();
} }
} }
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