diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/constant/SwaggerTagConst.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/constant/SwaggerTagConst.java index 559f9a30..6fc3cd82 100644 --- a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/constant/SwaggerTagConst.java +++ b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/constant/SwaggerTagConst.java @@ -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-接口封装"; } /** diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/HttpClient.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/HttpClient.java new file mode 100644 index 00000000..0fb922ba --- /dev/null +++ b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/HttpClient.java @@ -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 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 nvps = new ArrayList(); + // 通过map集成entrySet方法获取entity + Set> entrySet = paramMap.entrySet(); + // 循环遍历,获取迭代器 + Iterator> iterator = entrySet.iterator(); + while (iterator.hasNext()) { + Map.Entry 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; + } +} diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/MamberService.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/MamberService.java new file mode 100644 index 00000000..f7db2016 --- /dev/null +++ b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/MamberService.java @@ -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 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 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 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); + } +} diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/TransitionController.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/TransitionController.java new file mode 100644 index 00000000..b7a8957d --- /dev/null +++ b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/TransitionController.java @@ -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"; + } +} diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/domain/member/MemberAddEntity.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/domain/member/MemberAddEntity.java new file mode 100644 index 00000000..093180da --- /dev/null +++ b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/domain/member/MemberAddEntity.java @@ -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; + + + + + + + + + + + + + + + + + + + + + +} diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/domain/member/MemberCheckEntity.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/domain/member/MemberCheckEntity.java new file mode 100644 index 00000000..208951c3 --- /dev/null +++ b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/domain/member/MemberCheckEntity.java @@ -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; + + +} diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/domain/member/MemberGetEntity.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/domain/member/MemberGetEntity.java new file mode 100644 index 00000000..ea1a9e0c --- /dev/null +++ b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/domain/member/MemberGetEntity.java @@ -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; + +}