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