123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 |
- package com.iamberry.wechat.handles.reserve;
- import com.iamberry.wechat.core.entity.WechatUtils;
- import com.iamberry.wechat.core.entity.member.Member;
- import com.iamberry.wechat.core.entity.pay.PayResult;
- import com.iamberry.wechat.core.entity.rent.ChannelAccess;
- import com.iamberry.wechat.core.entity.rent.ReserveOrder;
- import com.iamberry.wechat.face.pay.PayService;
- import com.iamberry.wechat.face.reserve.ReserveService;
- import com.iamberry.wechat.tools.*;
- import nl.bitwalker.useragentutils.Browser;
- import nl.bitwalker.useragentutils.OperatingSystem;
- import nl.bitwalker.useragentutils.UserAgent;
- import org.apache.commons.lang3.StringUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Controller;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RequestParam;
- import org.springframework.web.bind.annotation.ResponseBody;
- import javax.servlet.http.HttpServletRequest;
- import java.util.Date;
- /**
- * @author 献
- * @company 深圳爱贝源科技有限公司
- * @date 2017/7/10 9:11
- * @tel 18271840547
- * @website www.iamberry.com
- */
- @Deprecated
- @Controller
- @RequestMapping("/wechat/rent")
- public class ReserveController {
- @Autowired
- private ReserveService reserveService;
- @Autowired
- private PayService payService;
- @ResponseBody
- @RequestMapping("/log_access")
- public ResponseJson accessLog(@RequestParam("channel_id") String channelId, HttpServletRequest request) {
- Member member = WechatUtils.getUserBySession(request);
- // 解析用户User-Agent
- UserAgent userAgent = UserAgent.parseUserAgentString(request.getHeader("User-Agent"));
- // 浏览器名称
- Browser browser = userAgent.getBrowser();
- // 访问的系统
- OperatingSystem os = userAgent.getOperatingSystem();
- // 创建访问对象
- ChannelAccess access = new ChannelAccess();
- access.setAccessDeviceModel(os.getName());
- access.setAccessIsMobile(os.isMobileDevice() ? 1 : 2);
- access.setAccessDeviceType(os.getDeviceType().getName());
- access.setAccessBrowser(browser.getName());
- access.setUserOpenid(member.getUserOpenid());
- // access.setUserOpenid("hexiugang");
- access.setAccessCreateTime(new Date());
- String tempId = com.iamberry.jwt.AES.decrypt(StringUtils.replace(channelId, "*", "\\"));
- access.setChannelId(Integer.parseInt(tempId == null ? "0" : tempId));
- reserveService.addAccess(access);
- return ResponseJson.SUCCESS;
- }
- @ResponseBody
- @RequestMapping("/sub_order")
- public ResponseJson subOrder(ReserveOrder order, HttpServletRequest request) {
- Member member = WechatUtils.getUserBySession(request);
- order.setReserveOpenid(member.getUserOpenid());
- // order.setReserveOpenid("o3G6nw_3cxE7CINzCT1or2f6dxL4");
- order.setReserveStatus(1);
- order.setReservePayMoney(9900);
- // 校验参数
- ValidationResult result = ValidationUtils.validateEntity(order);
- if (result.isHasErrors()) {
- return new ResponseJson(200, "FAILURE", 500).addResponseKeyValue("pay_error", result.getErrorMsgList().get(0));
- }
- reserveService.addOrder(order);
- if (order.getReserveOrderid() == null) {
- return ResponseJson.FAILURE.addResponseKeyValue("pay_error", "支付失败,请重试!");
- }
- PayResult res = payService.requestPay(order.getReserveOpenid(),
- "YD-000000" + order.getReserveOrderid(), Integer.parseInt(NameUtils.getConfig("reserve_pay_money")), "美国WaterO净水机", NameUtils.getConfig("RESERVE_PAY_CALLBACK"));
- if (res.isPaySuccess()) {
- return ResponseJson.SUCCESS.addResponseKeyValue("pay_data", res.getPayData()).addResponseKeyValue("order_id", order.getReserveOrderid());
- } else {
- return ResponseJson.FAILURE.addResponseKeyValue("pay_error", res.getPayData());
- }
- }
- @ResponseBody
- @RequestMapping("/check_order_pay")
- public ResponseJson checkOrderPay(@RequestParam("order_id")Integer id) {
- ReserveOrder order = reserveService.getOrder(id);
- if (order == null) {
- return ResponseJson.FAILURE;
- }
- if (order.getReserveStatus() != 2) {
- // 支付失败
- return ResponseJson.FAILURE;
- }
- return ResponseJson.SUCCESS;
- }
- }
|