From 01a141dc09a0ea67ce19fb73e5bd4bd0b00ba475 Mon Sep 17 00:00:00 2001 From: Augcl <17674666882@163.com> Date: Sat, 14 Sep 2024 22:22:52 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E7=99=BB=E5=BD=95/=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/org/jeecg/config/Swagger2Config.java | 3 +- .../java/org/jeecg/config/shiro/ShiroConfig.java | 4 + .../jeecg/modules/service/AppletLoginService.java | 21 ++ .../service/impl/AppletLoginServiceImpl.java | 232 +++++++++++++++++++++ .../api/travelController/InfoApiController.java | 27 +++ .../api/travelController/LoginApiController.java | 52 +++++ .../api/travelController/OrderApiController.java | 37 ++++ .../jeecg/modules/apiService/InfoApiService.java | 4 + .../jeecg/modules/apiService/LoginApiService.java | 15 ++ .../jeecg/modules/apiService/OrderApiService.java | 11 + .../apiService/impl/InfoApiServiceImpl.java | 7 + .../apiService/impl/LoginApiServiceImpl.java | 39 ++++ .../apiService/impl/OrderApiServiceImpl.java | 44 ++++ 13 files changed, 495 insertions(+), 1 deletion(-) create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/service/AppletLoginService.java create mode 100644 jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/service/impl/AppletLoginServiceImpl.java create mode 100644 jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/travelController/InfoApiController.java create mode 100644 jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/travelController/LoginApiController.java create mode 100644 jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/travelController/OrderApiController.java create mode 100644 jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/InfoApiService.java create mode 100644 jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/LoginApiService.java create mode 100644 jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/OrderApiService.java create mode 100644 jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/impl/InfoApiServiceImpl.java create mode 100644 jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/impl/LoginApiServiceImpl.java create mode 100644 jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/impl/OrderApiServiceImpl.java diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/config/Swagger2Config.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/config/Swagger2Config.java index 83cecf2..13c2ecc 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/config/Swagger2Config.java +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/config/Swagger2Config.java @@ -68,7 +68,8 @@ public class Swagger2Config implements WebMvcConfigurer { .apiInfo(apiInfo()) .select() //此包路径下的类,才生成接口文档 - .apis(RequestHandlerSelectors.basePackage("org.jeecg.modules.api")) + //.apis(RequestHandlerSelectors.basePackage("org.jeecg.modules.api")) + .apis(RequestHandlerSelectors.basePackage("org.jeecg.modules.api.travelController")) //加了ApiOperation注解的类,才生成接口文档 .apis(RequestHandlerSelectors.withClassAnnotation(RestController.class)) .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class)) diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/config/shiro/ShiroConfig.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/config/shiro/ShiroConfig.java index ac70b7f..9450e12 100644 --- a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/config/shiro/ShiroConfig.java +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/config/shiro/ShiroConfig.java @@ -72,6 +72,10 @@ public class ShiroConfig { } } + /********************************travel-api**************************************/ + filterChainDefinitionMap.put("/api/**", "anon"); //travel-api所有接口验证放开 + + /***************************************************************************/ filterChainDefinitionMap.put("/sys/oss/file/upload", "anon"); //图片上传验证放开 filterChainDefinitionMap.put("/sys/common/upload", "anon"); //图片上传验证放开 filterChainDefinitionMap.put("/sys/cas/client/validateLogin", "anon"); //cas验证登录 diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/service/AppletLoginService.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/service/AppletLoginService.java new file mode 100644 index 0000000..5af6465 --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/service/AppletLoginService.java @@ -0,0 +1,21 @@ +package org.jeecg.modules.service; + +import org.jeecg.common.api.vo.Result; +import org.jeecg.modules.bean.LoginReq; + +public interface AppletLoginService { + /** + * 微信小程序登录接口 + * @param loginReq + * @return + */ + Result appletLogin(LoginReq loginReq); + + +// /** +// * 微信小程序登录绑定手机号码接口 +// * @param loginReq +// * @return +// */ +// Result bindPhone(LoginReq loginReq); +} diff --git a/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/service/impl/AppletLoginServiceImpl.java b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/service/impl/AppletLoginServiceImpl.java new file mode 100644 index 0000000..a2485ba --- /dev/null +++ b/jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/modules/service/impl/AppletLoginServiceImpl.java @@ -0,0 +1,232 @@ +package org.jeecg.modules.service.impl; + +import com.alibaba.fastjson.JSONObject; +import org.apache.commons.lang3.StringUtils; +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.constant.CommonConstant; +import org.jeecg.common.exception.JeecgBootException; +import org.jeecg.common.system.util.JwtUtil; +import org.jeecg.common.util.RedisUtil; +import org.jeecg.modules.bean.HttpConf; +import org.jeecg.modules.bean.LoginReq; +import org.jeecg.modules.hanHaiMember.entity.HanHaiMember; +import org.jeecg.modules.hanHaiMember.service.IHanHaiMemberService; +import org.jeecg.modules.service.AppletLoginService; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.util.HashMap; +import java.util.Map; + +@Service +public class AppletLoginServiceImpl implements AppletLoginService { + //微信小程序appid(遗产里的景德镇) + private static final String mpAppId = "wx3c24e397e3b132ea"; + //微信小程序appSecret(遗产里的景德镇) + private static final String mpAppSecret = "21b26094216042af6cb0d148a90ecac2"; + + @Resource + private IHanHaiMemberService memberService; + + @Resource + private RedisUtil redisUtil; + @Resource + private HttpConf httpConf; + + + + + /** + * 微信小程序登录接口 + * @param loginReq + * @return + */ + @Transactional(rollbackFor = {Exception.class}) + public Result appletLogin(LoginReq loginReq) { + Result result = new Result<>(); + Map map = new HashMap<>(); + if (StringUtils.isBlank(loginReq.getCode())) { + throw new JeecgBootException("小程序code为空"); + } + String loginUrl = "https://api.weixin.qq.com/sns/jscode2session?appid=" + mpAppId + "&secret=" + mpAppSecret+ "&js_code=" + loginReq.getCode() + "&grant_type=authorization_code"; + //使用工具类 + JSONObject json_test = httpConf.getJSONObject(loginUrl); + String wxOpenid = json_test.getString("openid"); + String sessionKey = json_test.getString("session_key"); + if (StringUtils.isBlank(wxOpenid)) { + throw new JeecgBootException("未获取到openid"); + } + + HanHaiMember member = memberService.lambdaQuery().eq(HanHaiMember::getAppletOpenid,wxOpenid).one(); + if (member == null) { + //如果user等于null说明该用户第一次登录,数据库没有该用户信息。 + loginReq.setOpenid(wxOpenid); + loginReq.setSession_key(sessionKey); + member = new HanHaiMember(); +// member.setSesssionKey(sessionKey); + member.setAppletOpenid(wxOpenid); + member.setNickName(loginReq.getNickName()); + member.setHeadImage(loginReq.getHeadimgurl()); + // 生成token返回给小程序端 + String token = JwtUtil.sign(member.getAppletOpenid(), wxOpenid); + memberService.save(member); + redisUtil.set(CommonConstant.PREFIX_USER_TOKEN + token, token); + // 设置超时时间 + redisUtil.expire(CommonConstant.PREFIX_USER_TOKEN + token, JwtUtil.EXPIRE_TIME / 100); + map.put("userInfo", member); + map.put("token", token); + + result.setCode(200); + result.setResult(map); + return result; + } else { +// member.setHeadImage(loginReq.getHeadimgurl()); +// member.setSessionKey(sessionKey); +// memberService.saveOrUpdate(member); + // 生成token返回给小程序端 + String token = JwtUtil.sign(member.getAppletOpenid(), wxOpenid); + redisUtil.set(CommonConstant.PREFIX_USER_TOKEN + token, token); + // 设置超时时间 + redisUtil.expire(CommonConstant.PREFIX_USER_TOKEN + token, JwtUtil.EXPIRE_TIME / 100); + map.put("userInfo", member); + map.put("token", token); + //用户id做im账号 + result.setResult(map); + result.setCode(200); +// result.setMessage(member.getNickName()+"已于"+member.getCreateTime()+"注册成功!请勿重复注册!"); +// // 未绑定手机号,跳转授权绑定手机号 +// if (StringUtils.isBlank(member.getPhone())) { +// result.setMessage("该微信用户尚未绑定手机号,请授权手机进行绑定"); +// result.setCode(905); +// result.setResult(map); +// return result; +// } + } + return result; + } + + +// /** +// * 微信小程序登录绑定手机号码接口 +// * @param loginReq +// * @return +// */ +// @Transactional(rollbackFor = Exception.class) +// @Override +// public Result bindPhone(LoginReq loginReq) { +// Result result = new Result<>(); +// if (StringUtils.isEmpty(loginReq.getEncryptedData())) { +// result.setCode(500); +// result.setMessage("请授权手机号"); +// return result; +// } +// String loginUrl = "https://api.weixin.qq.com/sns/jscode2session?appid=" + mpAppId + "&secret=" + mpAppSecret+ "&js_code=" + loginReq.getCode() + "&grant_type=authorization_code"; +// CloseableHttpClient client = null; +// CloseableHttpResponse response = null; +// try { +// // 创建http GET请求 +// HttpGet httpGet = new HttpGet(loginUrl); +// client = HttpClients.createDefault(); +// // 执行请求 +// response = client.execute(httpGet); +// HttpEntity entity = response.getEntity();//得到返回数据 +// String resultStr = EntityUtils.toString(entity); +// JSONObject json_test = JSONObject.parseObject(resultStr); +// String wxOpenid = json_test.getString("openid"); +// if (StringUtils.isEmpty(wxOpenid)) { +// return result.error500("未获取到openid"); +// } +// String sessionKey = json_test.getString("session_key"); +// // 保存sessionKey,用于解析手机号码 +// loginReq.setOpenid(wxOpenid); +// loginReq.setSession_key(sessionKey); +// String userPhone = getPhoneNumber(loginReq); +// HanHaiMember one = memberService.lambdaQuery().eq(HanHaiMember::getAppletOpenid, wxOpenid).one(); +// if(one!=null){ +// return result.OK("请不要重复注册"); +// } +// HanHaiMember member = new HanHaiMember(); +// member.setSessionKey(sessionKey); +// member.setAppletOpenid(wxOpenid); +// member.setNickName(loginReq.getNickName()); +// member.setHeadImage(loginReq.getHeadimgurl()); +// member.setPhone(userPhone); +// +// +// //判断用户是否存在 +// HanHaiMember boolOne = memberService.lambdaQuery().eq(HanHaiMember::getAccount, loginReq.geta()).one(); +// boolean bool = false; +// if(one != null){ +// bool = true; +// } +// +// if(!bool){ +// member.setId(boolOne.getId()); +// memberService.updateById(member); +// }else{ +// memberService.save(member); +// } +// +// +// +// return result.OK("注册成功",member); +// }catch(Exception e) { +// e.printStackTrace(); +// return Result.error("操作失败,请联系系统管理员!"); +// } +// +// } +// +// +// +// /** +// * 解析电话号码 +// * @param loginReq +// * @return +// */ +// public String getPhoneNumber(LoginReq loginReq) { +// String encryptedData = loginReq.getEncryptedData(); +// String session_key = loginReq.getSession_key(); +// String iv = loginReq.getIv(); +// // 被加密的数据 +// byte[] dataByte = Base64.decodeBase64(encryptedData); +// // 加密秘钥 +// byte[] keyByte = Base64.decodeBase64(session_key); +// // 偏移量 +// byte[] ivByte = Base64.decodeBase64(iv); +// try { +// // 如果密钥不足16位,那么就补足. 这个if 中的内容很重要 +// int base = 16; +// if (keyByte.length % base != 0) { +// int groups = keyByte.length / base + (keyByte.length % base != 0 ? 1 : 0); +// byte[] temp = new byte[groups * base]; +// Arrays.fill(temp, (byte) 0); +// System.arraycopy(keyByte, 0, temp, 0, keyByte.length); +// keyByte = temp; +// } +// // 初始化 +// Security.addProvider(new BouncyCastleProvider()); +// Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding", "BC"); +// SecretKeySpec spec = new SecretKeySpec(keyByte, "AES"); +// AlgorithmParameters parameters = AlgorithmParameters.getInstance("AES"); +// parameters.init(new IvParameterSpec(ivByte)); +// cipher.init(Cipher.DECRYPT_MODE, spec, parameters);// 初始化 +// byte[] resultByte = cipher.doFinal(dataByte); +// if (null != resultByte && resultByte.length > 0) { +// String result = new String(resultByte, "UTF-8"); +// JSONObject userPhoneObj = JSONObject.parseObject(result); +// Map userMap = new HashMap<>(); +// for (Map.Entry entry : userPhoneObj.entrySet()) { +// userMap.put(entry.getKey(), entry.getValue()); +// } +// // 获取phoneNumber 带区号 +// String userPhone = (String) userMap.get("phoneNumber"); +// return userPhone; +// } +// } catch (Exception e) { +// e.printStackTrace(); +// } +// return null; +// } +} diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/travelController/InfoApiController.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/travelController/InfoApiController.java new file mode 100644 index 0000000..5b7dd95 --- /dev/null +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/travelController/InfoApiController.java @@ -0,0 +1,27 @@ +package org.jeecg.modules.api.travelController; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.api.vo.Result; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + + +@Api(tags="小程序-详情相关接口") +@RestController +@RequestMapping("/api/info") +@Slf4j +public class InfoApiController { + + + //获取banner图列表接口 + @ApiOperation(value="小程序-获取banner图列表接口", notes="小程序-获取banner图列表接口") + @GetMapping("/queryBannerList") + public Result queryBannerList(String bannerCategoryId){ + return Result.OK(); + }; + +} diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/travelController/LoginApiController.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/travelController/LoginApiController.java new file mode 100644 index 0000000..099f78d --- /dev/null +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/travelController/LoginApiController.java @@ -0,0 +1,52 @@ +package org.jeecg.modules.api.travelController; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.api.vo.Result; +import org.jeecg.modules.apiService.LoginApiService; +import org.jeecg.modules.bean.LoginReq; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; + +@Api(tags="小程序-登录相关接口") +@RestController +@RequestMapping("/api/login") +@Slf4j +public class LoginApiController { + + //授权登录 + @Resource + private LoginApiService loginApiService; + + + //小程序授权登录 + @ApiOperation(value="小程序-登录接口", notes="小程序-登录接口") + @GetMapping("/login") + public Result login(LoginReq loginReq){ + return loginApiService.login(loginReq); + } + + + + //获取用户协议 + @ApiOperation(value="小程序-获取用户协议", notes="小程序-获取用户协议") + @GetMapping("/getUserAgreement") + public Result getUserAgreement(){ + return loginApiService.getUserAgreement(); + } + + + //获取隐私政策 + @ApiOperation(value="小程序-获取隐私政策", notes="小程序-获取隐私政策") + @GetMapping("/getPrivacyPolicy") + public Result getPrivacyPolicy(){ + return loginApiService.getPrivacyPolicy(); + } + + +} diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/travelController/OrderApiController.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/travelController/OrderApiController.java new file mode 100644 index 0000000..472c85d --- /dev/null +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/travelController/OrderApiController.java @@ -0,0 +1,37 @@ +package org.jeecg.modules.api.travelController; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.api.vo.Result; +import org.jeecg.modules.apiService.OrderApiService; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; + +@Api(tags="小程序-订单相关接口") +@RestController +@RequestMapping("/api/order") +@Slf4j +public class OrderApiController { + //订单相关接口 + @Resource + private OrderApiService orderApiService; + + //创建订单 + @ApiOperation(value = "创建订单",notes = "创建订单") + @PostMapping("/createOrder") + public Result createOrder(){ + return orderApiService.createOrder(); + } + + //立即支付 + @ApiOperation(value = "立即支付",notes = "立即支付") + @PostMapping("/payOrder") + public Result payOrder(){ + return orderApiService.payOrder(); + } +} diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/InfoApiService.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/InfoApiService.java new file mode 100644 index 0000000..3a6af1c --- /dev/null +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/InfoApiService.java @@ -0,0 +1,4 @@ +package org.jeecg.modules.apiService; + +public interface InfoApiService { +} diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/LoginApiService.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/LoginApiService.java new file mode 100644 index 0000000..338f385 --- /dev/null +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/LoginApiService.java @@ -0,0 +1,15 @@ +package org.jeecg.modules.apiService; + +import org.jeecg.common.api.vo.Result; +import org.jeecg.modules.bean.LoginReq; + +public interface LoginApiService { + //小程序-登录接口 + Result login(LoginReq loginReq); + + //获取用户协议 + Result getUserAgreement(); + + //获取隐私政策 + Result getPrivacyPolicy(); +} diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/OrderApiService.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/OrderApiService.java new file mode 100644 index 0000000..2f1c3c0 --- /dev/null +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/OrderApiService.java @@ -0,0 +1,11 @@ +package org.jeecg.modules.apiService; + +import org.jeecg.common.api.vo.Result; + +public interface OrderApiService { + //创建订单 + Result createOrder(); + + //立即支付 + Result payOrder(); +} diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/impl/InfoApiServiceImpl.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/impl/InfoApiServiceImpl.java new file mode 100644 index 0000000..b5ec256 --- /dev/null +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/impl/InfoApiServiceImpl.java @@ -0,0 +1,7 @@ +package org.jeecg.modules.apiService.impl; + +import org.springframework.stereotype.Service; + +@Service +public class InfoApiServiceImpl { +} diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/impl/LoginApiServiceImpl.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/impl/LoginApiServiceImpl.java new file mode 100644 index 0000000..01a37a8 --- /dev/null +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/impl/LoginApiServiceImpl.java @@ -0,0 +1,39 @@ +package org.jeecg.modules.apiService.impl; + +import org.jeecg.common.api.vo.Result; +import org.jeecg.modules.apiService.LoginApiService; +import org.jeecg.modules.bean.LoginReq; +import org.jeecg.modules.service.AppletLoginService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; + +@Service +public class LoginApiServiceImpl implements LoginApiService { + @Resource + private AppletLoginService appletLoginService; + + //小程序-登录接口 + @Override + public Result login(LoginReq loginReq) + { + return appletLoginService.appletLogin(loginReq); + } + + + //小程序-获取用户协议 + @Override + public Result getUserAgreement() + { + + return Result.OK("用户协议"); + } + + //获取隐私政策 + @Override + public Result getPrivacyPolicy() + { + + return Result.OK("隐私政策"); + } +} diff --git a/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/impl/OrderApiServiceImpl.java b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/impl/OrderApiServiceImpl.java new file mode 100644 index 0000000..fd4fe13 --- /dev/null +++ b/jeecg-boot-module-system/src/main/java/org/jeecg/modules/apiService/impl/OrderApiServiceImpl.java @@ -0,0 +1,44 @@ +package org.jeecg.modules.apiService.impl; + +import org.jeecg.common.api.vo.Result; +import org.jeecg.modules.apiService.OrderApiService; +import org.jeecg.modules.pay.MpWxPayService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.math.BigDecimal; + +@Service +public class OrderApiServiceImpl implements OrderApiService { + //支付接口 + @Autowired + private MpWxPayService mpWxPayService; + + + + //创建订单 + @Override + public Result createOrder() + { + return null; + } + + //立即支付 + @Override + public Result payOrder() + { + + String s = new BigDecimal(0.01).multiply(new BigDecimal(100)).toString(); + int i1 = Double.valueOf(s).intValue(); + Object appOrder = mpWxPayService.createOrder( + "购买测试" , + "127.0.0.1", + System.currentTimeMillis()+"", + i1, + System.currentTimeMillis()+"", + "ozfsp7eFo_CvJdX5jl5fi4pR5AhI", + "{}"); + //返回支付结果 + return Result.OK("微信支付回调成功",appOrder); + } +}