diff --git a/cweb/src/main/java/com/cweb/controller/SmsController.java b/cweb/src/main/java/com/cweb/controller/SmsController.java index 244c1e5..517ee2c 100644 --- a/cweb/src/main/java/com/cweb/controller/SmsController.java +++ b/cweb/src/main/java/com/cweb/controller/SmsController.java @@ -1 +1 @@ -package com.cweb.controller; import com.alibaba.fastjson.JSONObject; import com.hfkj.common.exception.ErrorCode; import com.hfkj.common.exception.ErrorHelp; import com.hfkj.common.exception.SysCode; import com.hfkj.common.utils.MemberValidateUtil; import com.hfkj.common.utils.RedisUtil; import com.hfkj.common.utils.ResponseMsgUtil; import com.hfkj.config.MessageConfig; import com.hfkj.model.ResponseData; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; import javax.annotation.Resource; import java.util.Random; /** * @Auther: 胡锐 * @Description: * @Date: 2021/3/26 23:08 */ @Controller @RequestMapping(value = "/sms") @Api(value = "短信服务") public class SmsController { private static Logger log = LoggerFactory.getLogger(SmsController.class); @Resource private RedisUtil redisUtil; @RequestMapping(value = "/sendLoginSMSCode", method = RequestMethod.POST) @ResponseBody @ApiOperation(value = "获取登录验证码") public ResponseData sendLoginSMSCode(@RequestBody JSONObject body) { try { if (body == null || StringUtils.isBlank(body.getString("phone"))) { log.error("LoginController --> phone() error!", "请求参数校验失败"); throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, ""); } String phone = body.getString("phone"); // 校验手机号格式 if (MemberValidateUtil.validatePhone(phone) == false) { log.error("LoginController --> phone() error!", "请输入正确的手机号"); throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "请输入正确的手机号"); } // 生成随机6位验证码 String smsCode = String.valueOf(new Random().nextInt(899999) + 100000); MessageConfig.req(phone,smsCode, MessageConfig.HWMSG_ID5); // 验证码缓存5分钟 redisUtil.set("SMS_CODE:"+phone, smsCode, 60*5); return ResponseMsgUtil.success("短信发送成功"); } catch (Exception e) { log.error("SMSController --> getLoginSMSCode() error!", e); return ResponseMsgUtil.exception(e); } } @RequestMapping(value = "/sendBindCardSMSCode", method = RequestMethod.POST) @ResponseBody @ApiOperation(value = "获取绑定卡片验证码") public ResponseData sendBindCardSMSCode(@RequestBody JSONObject body) { try { if (body == null || StringUtils.isBlank(body.getString("phone"))) { log.error("LoginController --> phone() error!", "请求参数校验失败"); throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, ""); } String phone = body.getString("phone"); // 校验手机号格式 if (MemberValidateUtil.validatePhone(phone) == false) { log.error("LoginController --> phone() error!", "请输入正确的手机号"); throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "请输入正确的手机号"); } // 生成随机6位验证码 String smsCode = String.valueOf(new Random().nextInt(899999) + 100000); MessageConfig.req(phone,smsCode, MessageConfig.HWMSG_ID7); // 验证码缓存5分钟 redisUtil.set("SMS_CODE:"+phone, smsCode, 60*5); return ResponseMsgUtil.success("短信发送成功"); } catch (Exception e) { log.error("SMSController --> getLoginSMSCode() error!", e); return ResponseMsgUtil.exception(e); } } } \ No newline at end of file +package com.cweb.controller; import com.alibaba.fastjson.JSONObject; import com.hfkj.common.exception.ErrorCode; import com.hfkj.common.exception.ErrorHelp; import com.hfkj.common.exception.SysCode; import com.hfkj.common.utils.MemberValidateUtil; import com.hfkj.common.utils.RedisUtil; import com.hfkj.common.utils.ResponseMsgUtil; import com.hfkj.config.AliMessageConfig; import com.hfkj.config.MessageConfig; import com.hfkj.model.ResponseData; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; import javax.annotation.Resource; import java.util.Random; /** * @Auther: 胡锐 * @Description: * @Date: 2021/3/26 23:08 */ @Controller @RequestMapping(value = "/sms") @Api(value = "短信服务") public class SmsController { private static Logger log = LoggerFactory.getLogger(SmsController.class); @Resource private RedisUtil redisUtil; @RequestMapping(value = "/sendLoginSMSCode", method = RequestMethod.POST) @ResponseBody @ApiOperation(value = "获取登录验证码") public ResponseData sendLoginSMSCode(@RequestBody JSONObject body) { try { if (body == null || StringUtils.isBlank(body.getString("phone"))) { log.error("LoginController --> phone() error!", "请求参数校验失败"); throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, ""); } String phone = body.getString("phone"); // 校验手机号格式 if (MemberValidateUtil.validatePhone(phone) == false) { log.error("LoginController --> phone() error!", "请输入正确的手机号"); throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "请输入正确的手机号"); } // 生成随机6位验证码 String smsCode = String.valueOf(new Random().nextInt(899999) + 100000); AliMessageConfig.sendSmsCode(phone,smsCode); // 验证码缓存5分钟 redisUtil.set("SMS_CODE:"+phone, smsCode, 60*5); return ResponseMsgUtil.success("短信发送成功"); } catch (Exception e) { log.error("SMSController --> getLoginSMSCode() error!", e); return ResponseMsgUtil.exception(e); } } @RequestMapping(value = "/sendBindCardSMSCode", method = RequestMethod.POST) @ResponseBody @ApiOperation(value = "获取绑定卡片验证码") public ResponseData sendBindCardSMSCode(@RequestBody JSONObject body) { try { if (body == null || StringUtils.isBlank(body.getString("phone"))) { log.error("LoginController --> phone() error!", "请求参数校验失败"); throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, ""); } String phone = body.getString("phone"); // 校验手机号格式 if (MemberValidateUtil.validatePhone(phone) == false) { log.error("LoginController --> phone() error!", "请输入正确的手机号"); throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "请输入正确的手机号"); } // 生成随机6位验证码 String smsCode = String.valueOf(new Random().nextInt(899999) + 100000); MessageConfig.req(phone,smsCode, MessageConfig.HWMSG_ID7); // 验证码缓存5分钟 redisUtil.set("SMS_CODE:"+phone, smsCode, 60*5); return ResponseMsgUtil.success("短信发送成功"); } catch (Exception e) { log.error("SMSController --> getLoginSMSCode() error!", e); return ResponseMsgUtil.exception(e); } } } \ No newline at end of file diff --git a/cweb/src/main/java/com/cweb/controller/order/GasOrderController.java b/cweb/src/main/java/com/cweb/controller/order/GasOrderController.java index a77c8e6..4deb288 100644 --- a/cweb/src/main/java/com/cweb/controller/order/GasOrderController.java +++ b/cweb/src/main/java/com/cweb/controller/order/GasOrderController.java @@ -1,5 +1,6 @@ package com.cweb.controller.order; +import com.alibaba.fastjson.JSONObject; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.hfkj.common.exception.ErrorCode; @@ -7,9 +8,12 @@ import com.hfkj.common.exception.ErrorHelp; import com.hfkj.common.exception.SysCode; import com.hfkj.common.security.UserCenter; import com.hfkj.common.utils.ResponseMsgUtil; +import com.hfkj.entity.BsGasOrder; +import com.hfkj.entity.BsGasOrderSpread; import com.hfkj.model.ResponseData; import com.hfkj.model.UserSessionObject; import com.hfkj.service.gas.BsGasOrderService; +import com.hfkj.service.gas.BsGasOrderSpreadService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.apache.commons.lang3.StringUtils; @@ -20,6 +24,7 @@ import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.util.HashMap; +import java.util.List; import java.util.Map; @Controller @@ -31,6 +36,8 @@ public class GasOrderController { private UserCenter userCenter; @Resource private BsGasOrderService gasOrderService; + @Resource + private BsGasOrderSpreadService gasOrderSpreadService; @RequestMapping(value="/queryUserOilOrder",method = RequestMethod.GET) @ResponseBody @@ -56,7 +63,12 @@ public class GasOrderController { param.put("payTimeE", payTimeE); PageHelper.startPage(pageNum,pageSize); - return ResponseMsgUtil.success(new PageInfo<>(gasOrderService.getGasOrderList(param))); + PageInfo pageInfo = new PageInfo<>(gasOrderService.getGasOrderList(param)); + List list = pageInfo.getList(); + for (BsGasOrder gasOrder : list) { + gasOrder.setSpread(gasOrderSpreadService.getDetailByOrderNo(gasOrder.getOrderNo())); + } + return ResponseMsgUtil.success(list); } catch (Exception e) { log.error("error!",e); @@ -71,17 +83,27 @@ public class GasOrderController { @RequestParam(name = "paySerialNo", required = false) String paySerialNo, @RequestParam(name = "payChannelOrderNo", required = false) String payChannelOrderNo) { try { + BsGasOrder gasOrder = null; if (StringUtils.isNotBlank(orderNo)) { - return ResponseMsgUtil.success(gasOrderService.getDetailByOrderNo(orderNo)); + gasOrder = gasOrderService.getDetailByOrderNo(orderNo); } else if (StringUtils.isNotBlank(paySerialNo)) { - return ResponseMsgUtil.success(gasOrderService.getDetailByPaySerialNo(paySerialNo)); + gasOrder = gasOrderService.getDetailByPaySerialNo(paySerialNo); } else if (StringUtils.isNotBlank(payChannelOrderNo)) { - return ResponseMsgUtil.success(gasOrderService.getDetailByPayChannelOrderNo(payChannelOrderNo)); + gasOrder = gasOrderService.getDetailByPayChannelOrderNo(payChannelOrderNo); + } + if (gasOrder != null) { + JSONObject data = JSONObject.parseObject(JSONObject.toJSONString(gasOrder), JSONObject.class); + // 推广分销 + BsGasOrderSpread spread = gasOrderSpreadService.getDetailByOrderNo(gasOrder.getOrderNo()); + if (spread != null) { + data.put("spread", spread); + } + return ResponseMsgUtil.success(data); } + return ResponseMsgUtil.success(gasOrder); - return ResponseMsgUtil.success(null); } catch (Exception e) { log.error("error!",e); diff --git a/service/pom.xml b/service/pom.xml index 8e344cb..e27d10d 100644 --- a/service/pom.xml +++ b/service/pom.xml @@ -264,6 +264,12 @@ rocketmq-spring-boot-starter 2.2.3 + + com.aliyun + dysmsapi20170525 + + 3.0.0 + com.alipay.sdk alipay-sdk-java diff --git a/service/src/main/java/com/hfkj/config/AliMessageConfig.java b/service/src/main/java/com/hfkj/config/AliMessageConfig.java new file mode 100644 index 0000000..a9f369d --- /dev/null +++ b/service/src/main/java/com/hfkj/config/AliMessageConfig.java @@ -0,0 +1,45 @@ +package com.hfkj.config; + +import com.alibaba.fastjson.JSONObject; +import com.aliyun.dysmsapi20170525.models.SendSmsRequest; +import com.aliyun.dysmsapi20170525.models.SendSmsResponse; +import com.aliyun.teaopenapi.models.Config; +import com.aliyun.dysmsapi20170525.Client; + +public class AliMessageConfig { + + public static Client createClient() throws Exception { + Config config = new Config() + // 配置 AccessKey ID,请确保代码运行环境配置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_ID。 + .setAccessKeyId("LTAI5tP9XgTDu49zAAQLGAtJ") + // 配置 AccessKey Secret,请确保代码运行环境配置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_SECRET。 + .setAccessKeySecret("bHESLcgX17KZ9amioQi7LNFDL51hoM"); + // System.getenv()方法表示获取系统环境变量,不要直接在getenv()中填入AccessKey信息。 + + // 配置 Endpoint。中国站请使用dysmsapi.aliyuncs.com + config.endpoint = "dysmsapi.aliyuncs.com"; + + return new Client(config); + } + + public static SendSmsResponse sendSmsCode(String phone, String code) throws Exception{ + // 初始化请求客户端 + Client client = AliMessageConfig.createClient(); + + JSONObject jsonObject = new JSONObject(); + jsonObject.put("code",code); + jsonObject.put("number",phone); + + // 构造API请求对象,请替换请求参数值 + SendSmsRequest sendSmsRequest = new SendSmsRequest() + .setPhoneNumbers(phone) + .setSignName("重庆惠付科技有限公司") + .setTemplateCode("SMS_480970320") + // TemplateParam为序列化后的JSON字符串。其中\"表示转义后的双引号。 + .setTemplateParam(jsonObject.toJSONString()); + + // 获取响应对象 + + return client.sendSms(sendSmsRequest); + } +} diff --git a/service/src/main/java/com/hfkj/entity/BsGasOrder.java b/service/src/main/java/com/hfkj/entity/BsGasOrder.java index f7c24ae..34a50c7 100644 --- a/service/src/main/java/com/hfkj/entity/BsGasOrder.java +++ b/service/src/main/java/com/hfkj/entity/BsGasOrder.java @@ -320,6 +320,11 @@ public class BsGasOrder implements Serializable { */ private String abnormalContent; + /** + * 推广 + */ + private Object spread; + private String ext1; private String ext2; @@ -332,6 +337,14 @@ public class BsGasOrder implements Serializable { private String ext6; + public Object getSpread() { + return spread; + } + + public void setSpread(Object spread) { + this.spread = spread; + } + private static final long serialVersionUID = 1L; public Long getId() { @@ -1091,4 +1104,4 @@ public class BsGasOrder implements Serializable { sb.append("]"); return sb.toString(); } -} \ No newline at end of file +}