This commit is contained in:
Carl 2021-12-06 14:15:02 +08:00
parent 49271a77fc
commit fc22effacd
7 changed files with 443 additions and 0 deletions

View File

@ -48,6 +48,8 @@ public class SwaggerTagConst {
public static final String MANAGER_EMAIL = "通用-邮件发送";
public static final String MANAGER_HEART_BEAT = "通用-心跳服务";
public static final String MANAGER_MALL_API = "皇家API-接口封装";
}
/**

View File

@ -0,0 +1,133 @@
package net.lab1024.smartadmin.module.system.royalcanin;
import org.apache.http.HttpEntity;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;
import java.io.*;
import java.util.*;
public class HttpClient {
public static String doGet(String url) {
CloseableHttpClient httpClient = null;
CloseableHttpResponse response = null;
String result = "";
try {
// 通过址默认配置创建一个httpClient实例
httpClient = HttpClients.createDefault();
// 创建httpGet远程连接实例
HttpGet httpGet = new HttpGet(url);
// 设置请求头信息鉴权
httpGet.setHeader("Authorization", "Bearer da3efcbf-0845-4fe3-8aba-ee040be542c0");
// 设置配置请求参数
RequestConfig requestConfig = RequestConfig.custom().setConnectTimeout(35000)// 连接主机服务超时时间
.setConnectionRequestTimeout(35000)// 请求超时时间
.setSocketTimeout(60000)// 数据读取超时时间
.build();
// 为httpGet实例设置配置
httpGet.setConfig(requestConfig);
// 执行get请求得到返回对象
response = httpClient.execute(httpGet);
// 通过返回对象获取返回数据
HttpEntity entity = response.getEntity();
// 通过EntityUtils中的toString方法将结果转换为字符串
result = EntityUtils.toString(entity);
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
// 关闭资源
if (null != response) {
try {
response.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (null != httpClient) {
try {
httpClient.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return result;
}
public static String doPost(String url, Map<String, Object> paramMap) {
CloseableHttpClient httpClient = null;
CloseableHttpResponse httpResponse = null;
String result = "";
// 创建httpClient实例
httpClient = HttpClients.createDefault();
// 创建httpPost远程连接实例
HttpPost httpPost = new HttpPost(url);
// 配置请求参数实例
RequestConfig requestConfig = RequestConfig.custom().setConnectTimeout(35000)// 设置连接主机服务超时时间
.setConnectionRequestTimeout(35000)// 设置连接请求超时时间
.setSocketTimeout(60000)// 设置读取数据连接超时时间
.build();
// 为httpPost实例设置配置
httpPost.setConfig(requestConfig);
// 设置请求头
httpPost.addHeader("Content-Type", "application/x-www-form-urlencoded");
// 封装post请求参数
if (null != paramMap && paramMap.size() > 0) {
List<NameValuePair> nvps = new ArrayList<NameValuePair>();
// 通过map集成entrySet方法获取entity
Set<Map.Entry<String, Object>> entrySet = paramMap.entrySet();
// 循环遍历获取迭代器
Iterator<Map.Entry<String, Object>> iterator = entrySet.iterator();
while (iterator.hasNext()) {
Map.Entry<String, Object> mapEntry = iterator.next();
nvps.add(new BasicNameValuePair(mapEntry.getKey(), mapEntry.getValue().toString()));
}
// 为httpPost设置封装好的请求参数
try {
httpPost.setEntity(new UrlEncodedFormEntity(nvps, "UTF-8"));
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
try {
// httpClient对象执行post请求,并返回响应参数对象
httpResponse = httpClient.execute(httpPost);
// 从响应对象中获取响应内容
HttpEntity entity = httpResponse.getEntity();
result = EntityUtils.toString(entity);
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
// 关闭资源
if (null != httpResponse) {
try {
httpResponse.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (null != httpClient) {
try {
httpClient.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return result;
}
}

View File

@ -0,0 +1,57 @@
package net.lab1024.smartadmin.module.system.royalcanin;
import net.lab1024.smartadmin.common.heartbeat.StringUtil;
import net.lab1024.smartadmin.module.system.royalcanin.domain.member.MemberAddEntity;
import net.lab1024.smartadmin.module.system.royalcanin.domain.member.MemberCheckEntity;
import net.lab1024.smartadmin.module.system.royalcanin.domain.member.MemberGetEntity;
import net.lab1024.smartadmin.util.SmartHttpUtil;
import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.Map;
@Service
public class MamberService {
private String url = "http://miniapp-test.royalcanin.com.cn:7080/crm/member/";
public String memberGet(MemberGetEntity memberGetEntity)throws Exception {
Map<String, String> paramMap = new HashMap<>();
paramMap.put("channelId", StringUtil.toString(memberGetEntity.getChannelId()));
paramMap.put("id",StringUtil.toString(memberGetEntity.getId()));
paramMap.put("mobile",memberGetEntity.getMobilel());
paramMap.put("unionId",memberGetEntity.getUnionId());
return SmartHttpUtil.sendPostForm(url+"get",paramMap,null);
}
public String memberCheck(MemberCheckEntity memberCheckEntity)throws Exception {
Map<String, String> paramMap = new HashMap<>();
paramMap.put("channelId", StringUtil.toString(memberCheckEntity.getChannelId()));
paramMap.put("mobile",memberCheckEntity.getMobile());
paramMap.put("unionId",memberCheckEntity.getUnionId());
return SmartHttpUtil.sendPostForm(url+"check",paramMap,null);
}
public String memberAdd(MemberAddEntity memberAddEntity)throws Exception {
Map<String, String> paramMap = new HashMap<>();
paramMap.put("channelId", StringUtil.toString(memberAddEntity.getChannelId()));
paramMap.put("memberName",memberAddEntity.getMemberName());
paramMap.put("realName",memberAddEntity.getRealName());
paramMap.put("mobile",memberAddEntity.getMobile());
paramMap.put("gender",StringUtil.toString(memberAddEntity.getGender()));
paramMap.put("email",memberAddEntity.getEmail());
paramMap.put("openId",memberAddEntity.getOpenId());
paramMap.put("unionId",memberAddEntity.getUnionId());
paramMap.put("birthday",memberAddEntity.getBirthday());
paramMap.put("provinceId",StringUtil.toString(memberAddEntity.getProvinceId()));
paramMap.put("cityId",StringUtil.toString(memberAddEntity.getCityId()));
paramMap.put("districtId",memberAddEntity.getDistrictId());
paramMap.put("address",memberAddEntity.getAddress());
paramMap.put("storeCode",memberAddEntity.getStoreCode());
paramMap.put("remark",memberAddEntity.getRemark());
paramMap.put("memberMark",memberAddEntity.getMemberMark());
paramMap.put("isFollowWechat",StringUtil.toString(memberAddEntity.isFollowWechat()));
paramMap.put("isAddCommunityAssistantwechat",StringUtil.toString(memberAddEntity.isAddCommunityAssistantwechat()));
paramMap.put("isJoinScrmCommunity",StringUtil.toString((memberAddEntity.isJoinScrmCommunity())));
return SmartHttpUtil.sendPostForm(url+"add",paramMap,null);
}
}

View File

@ -0,0 +1,48 @@
package net.lab1024.smartadmin.module.system.royalcanin;
import com.fasterxml.jackson.databind.ObjectMapper;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import net.lab1024.smartadmin.common.anno.OperateLog;
import net.lab1024.smartadmin.common.heartbeat.StringUtil;
import net.lab1024.smartadmin.constant.SwaggerTagConst;
import net.lab1024.smartadmin.module.system.royalcanin.domain.member.MemberAddEntity;
import net.lab1024.smartadmin.module.system.royalcanin.domain.member.MemberCheckEntity;
import net.lab1024.smartadmin.module.system.royalcanin.domain.member.MemberGetEntity;
import net.lab1024.smartadmin.util.SmartHttpUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import javax.validation.Valid;
import java.util.HashMap;
import java.util.Map;
@Api(tags = {SwaggerTagConst.Admin.MANAGER_MALL_API})
@OperateLog
@RestController
public class TransitionController {
@Autowired
private MamberService mamberService;
@ApiOperation(value = "会员信息", notes = "会员查询,验证会员信息,会员注册")
@PostMapping("royalcanin/member")
public String transferMember(String type ,@RequestBody Object object) throws Exception {
ObjectMapper objectMapper = new ObjectMapper();
switch (type)
{
case "get":
System.out.println(mamberService.memberGet(objectMapper.convertValue(object,MemberGetEntity.class)));
break;
case "check":
System.out.println(mamberService.memberCheck(objectMapper.convertValue(object,MemberCheckEntity.class)));
break;
case "add":
System.out.println(mamberService.memberAdd(objectMapper.convertValue(object,MemberAddEntity.class)));
break;
}
return "null";
}
}

View File

@ -0,0 +1,129 @@
package net.lab1024.smartadmin.module.system.royalcanin.domain.member;
import lombok.Data;
/**
* 会员注册接口
* @author Carl
* @Date 2021-12-06
*/
@Data
public class MemberAddEntity {
/**
* 渠道
*/
private int channelId;
/**
* 会员名称
*/
private String memberName;
/**
* 真实姓名
*/
private String realName;
/**
* 会员手机号
*/
private String mobile;
/**
* 性别 0女 1男
*/
private int gender;
/**
* 会员邮箱
*/
private String email;
/**
* 会员OpenId
*/
private String openId;
/**
* 会员UnionId
*/
private String unionId;
/**
* 会员生日
*/
private String birthday;
/**
* 省份
*/
private int provinceId;
/**
* 城市
*/
private int cityId;
/**
*
*/
private String districtId;
/**
* 地址
*/
private String address;
/**
* 门店编码
*/
private String storeCode;
/**
* 注释
*/
private String remark;
/**
* 哪个渠道扫码关注公众号然后登录爱宠荟
*/
private String memberMark;
/**
* 是否关注公众号
*/
private boolean isFollowWechat;
/**
* 是否添加社群小助手微信
*/
private boolean isAddCommunityAssistantwechat;
/**
*是否加入爱宠有卡社群
*/
private boolean isJoinScrmCommunity;
}

View File

@ -0,0 +1,34 @@
package net.lab1024.smartadmin.module.system.royalcanin.domain.member;
import lombok.Data;
/**
* 信息验证接口
* @author Carl
* @Date 2021-12-06
*/
@Data
public class MemberCheckEntity {
/**
* 渠道
*/
private int channelId;
/**
* 电话
*/
private String mobile;
/**
* unionID
*/
private String unionId;
/**
* 邮箱
*/
private String email;
}

View File

@ -0,0 +1,40 @@
package net.lab1024.smartadmin.module.system.royalcanin.domain.member;
import lombok.Data;
/**
*
会员查询
获取会员信息
@author Carl
@date 2021-12-6
*/
@Data
public class MemberGetEntity {
/**
* 渠道
*/
private int channelId;
/**
* 会员id
*/
private int id;
/**
* 手机号码
*/
private String mobilel;
/**
* unionID
*/
private String unionId;
/**
* 是否返回宠物信息
*/
private boolean pet;
/**
* 是否返回地址信息
*/
private boolean address;
}