Commit 76f512fc7a2267d761c864eaac0816cb763cca79

Authored by owen
1 parent b6d400e0

1. APP增加终端Header[terminal]

2. 订单、会员注册记录来源终端
yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/servlet/ServletUtils.java
1 1 package cn.iocoder.yudao.framework.common.util.servlet;
2 2  
  3 +import cn.hutool.core.convert.Convert;
3 4 import cn.hutool.core.io.IoUtil;
4 5 import cn.hutool.core.util.StrUtil;
5 6 import cn.hutool.extra.servlet.ServletUtil;
... ... @@ -27,7 +28,7 @@ public class ServletUtils {
27 28 * 返回 JSON 字符串
28 29 *
29 30 * @param response 响应
30   - * @param object 对象,会序列化成 JSON 字符串
  31 + * @param object 对象,会序列化成 JSON 字符串
31 32 */
32 33 @SuppressWarnings("deprecation") // 必须使用 APPLICATION_JSON_UTF8_VALUE,否则会乱码
33 34 public static void writeJSON(HttpServletResponse response, Object object) {
... ... @@ -40,7 +41,7 @@ public class ServletUtils {
40 41 *
41 42 * @param response 响应
42 43 * @param filename 文件名
43   - * @param content 附件内容
  44 + * @param content 附件内容
44 45 */
45 46 public static void writeAttachment(HttpServletResponse response, String filename, byte[] content) throws IOException {
46 47 // 设置 header 和 contentType
... ... @@ -88,6 +89,18 @@ public class ServletUtils {
88 89 return ServletUtil.getClientIP(request);
89 90 }
90 91  
  92 + public static Integer getTerminal() {
  93 + return getHeaderInt("terminal");
  94 + }
  95 +
  96 + public static String getHeader(String header) {
  97 + return getHeader(getRequest(), header);
  98 + }
  99 +
  100 + public static Integer getHeaderInt(String header) {
  101 + return Convert.toInt(getHeader(header));
  102 + }
  103 +
91 104 public static boolean isJsonRequest(ServletRequest request) {
92 105 return StrUtil.startWithIgnoreCase(request.getContentType(), MediaType.APPLICATION_JSON_VALUE);
93 106 }
... ... @@ -107,4 +120,12 @@ public class ServletUtils {
107 120 public static Map<String, String> getParamMap(HttpServletRequest request) {
108 121 return ServletUtil.getParamMap(request);
109 122 }
  123 +
  124 + public static String getHeader(HttpServletRequest request, String header) {
  125 + if (request == null) {
  126 + return null;
  127 + }
  128 + return request.getHeader(header);
  129 + }
  130 +
110 131 }
... ...
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/order/TradeOrderUpdateServiceImpl.java
... ... @@ -8,10 +8,10 @@ import cn.hutool.core.util.ObjectUtil;
8 8 import cn.hutool.core.util.RandomUtil;
9 9 import cn.hutool.extra.spring.SpringUtil;
10 10 import cn.iocoder.yudao.framework.common.core.KeyValue;
11   -import cn.iocoder.yudao.framework.common.enums.TerminalEnum;
12 11 import cn.iocoder.yudao.framework.common.enums.UserTypeEnum;
13 12 import cn.iocoder.yudao.framework.common.util.json.JsonUtils;
14 13 import cn.iocoder.yudao.framework.common.util.number.MoneyUtils;
  14 +import cn.iocoder.yudao.framework.common.util.servlet.ServletUtils;
15 15 import cn.iocoder.yudao.module.member.api.address.AddressApi;
16 16 import cn.iocoder.yudao.module.member.api.address.dto.AddressRespDTO;
17 17 import cn.iocoder.yudao.module.pay.api.order.PayOrderApi;
... ... @@ -187,7 +187,7 @@ public class TradeOrderUpdateServiceImpl implements TradeOrderUpdateService {
187 187 order.setStatus(TradeOrderStatusEnum.UNPAID.getStatus());
188 188 order.setRefundStatus(TradeOrderRefundStatusEnum.NONE.getStatus());
189 189 order.setProductCount(getSumValue(calculateRespBO.getItems(), TradePriceCalculateRespBO.OrderItem::getCount, Integer::sum));
190   - order.setTerminal(TerminalEnum.H5.getTerminal()); // todo 数据来源?
  190 + order.setTerminal(ServletUtils.getTerminal());
191 191 // 支付 + 退款信息
192 192 order.setAdjustPrice(0).setPayStatus(false);
193 193 order.setRefundStatus(TradeOrderRefundStatusEnum.NONE.getStatus()).setRefundPrice(0);
... ...
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/user/MemberUserServiceImpl.java
... ... @@ -7,6 +7,7 @@ import cn.hutool.core.util.ObjectUtil;
7 7 import cn.hutool.core.util.StrUtil;
8 8 import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
9 9 import cn.iocoder.yudao.framework.common.pojo.PageResult;
  10 +import cn.iocoder.yudao.framework.common.util.servlet.ServletUtils;
10 11 import cn.iocoder.yudao.module.infra.api.file.FileApi;
11 12 import cn.iocoder.yudao.module.member.controller.admin.user.vo.MemberUserPageReqVO;
12 13 import cn.iocoder.yudao.module.member.controller.admin.user.vo.MemberUserUpdateReqVO;
... ... @@ -99,6 +100,7 @@ public class MemberUserServiceImpl implements MemberUserService {
99 100 user.setStatus(CommonStatusEnum.ENABLE.getStatus()); // 默认开启
100 101 user.setPassword(encodePassword(password)); // 加密密码
101 102 user.setRegisterIp(registerIp);
  103 + user.setRegisterTerminal(ServletUtils.getTerminal());
102 104 memberUserMapper.insert(user);
103 105  
104 106 // 发送 MQ 消息:用户创建
... ...