package cn.hy.weixin.controller; import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import org.nutz.dao.pager.Pager; import org.nutz.ioc.annotation.InjectName; import org.nutz.ioc.loader.annotation.Inject; import org.nutz.ioc.loader.annotation.IocBean; import org.nutz.json.Json; import org.nutz.log.Log; import org.nutz.log.Logs; import org.nutz.mvc.annotation.At; import org.nutz.mvc.annotation.Attr; import org.nutz.mvc.annotation.Ok; import org.nutz.mvc.annotation.Param; import cn.hy.activity.data.Activity; import cn.hy.activity.data.ActivitySearch; import cn.hy.activity.service.ActivityService; import cn.hy.common.CommonResult; import cn.hy.common.Consts; import cn.hy.company.data.TCompany; import cn.hy.company.service.TCompanyService; import cn.hy.companyThing.CompanyThing; import cn.hy.returnMoney.data.TUserActivityRel; import cn.hy.returnMoney.service.TUserActivityRelService; import cn.hy.ringHome.data.TRing; import cn.hy.ringHome.service.RingHomeService; import cn.hy.user.data.TUser; import cn.hy.user.service.UserService; import cn.hy.weixin.util.CommonUtil; import javafx.scene.input.DataFormat; @IocBean @InjectName @At("/wx") public class WeichatController { private static final Log log = Logs.getLog(WeichatController.class); private UserService userService; private ActivityService activityService; private TCompanyService tCompanyService; private RingHomeService ringHomeService; private TUserActivityRelService tUserActivityRelService; @Inject("refer:userService") public void setUserService(UserService userService) { this.userService = userService; } @Inject("refer:activityService") public void setActivityService(ActivityService activityService) { this.activityService = activityService; } @Inject("refer:tCompanyService") public void settCompanyService(TCompanyService tCompanyService) { this.tCompanyService = tCompanyService; } @Inject("refer:ringHomeService") public void setRingHomeService(RingHomeService ringHomeService) { this.ringHomeService = ringHomeService; } @Inject("refer:tUserActivityRelService") public void settUserActivityRelService(TUserActivityRelService tUserActivityRelService) { this.tUserActivityRelService = tUserActivityRelService; } @At("/tdb") @Ok("jsp:weichatjsp.discount_bind") public void tdb(@Param("code") String code,@Param("openId") String openId, HttpServletRequest request) { log.debug("----toDiscountBind start----"); if( null != openId && "" != openId ){ }else{ openId = CommonUtil.getOpenId(code); } System.out.println("--------------" + openId); TUser tuser = userService.findTUserByOpenId(openId); int statucode =0; if(null != tuser && null != tuser.getId() && tuser.getId() >0 ){ statucode =1; } System.out.println("statucode--------------" + statucode); request.setAttribute("statucode", statucode); request.setAttribute("openId", openId); } @At("/TobindBussinessJsp") public void singalbindBussiness(@Param("code") String code, HttpServletRequest request) { String openId = CommonUtil.getOpenId(code); System.out.println("--------------" + openId); TUser tuser = userService.findTUserByOpenId(openId); int isBindMobile =0; if(null != tuser && null != tuser.getId() && tuser.getId() >0 ){ isBindMobile =1; //已绑定手机,跳转到业务绑定 } System.out.println("isBindMobile--------------" + isBindMobile); int isBindBusiness = 0; if(isBindMobile == 0) { //未绑定手机,跳转到手机 System.out.println("未绑定手机,跳转到手机 --------------"); } else if(isBindMobile == 1 && tuser.getMode() == null) { isBindBusiness = 1; toBusinessJsp(openId, isBindBusiness, request); } } @Ok("jsp:weichatjsp.discount_open") public void toBusinessJsp(String openId, int isBindBusiness, HttpServletRequest request) { System.out.println("here....."); request.setAttribute("isBindBusiness", isBindBusiness); request.setAttribute("openId", openId); } @At("/toActivitylist") @Ok("jsp:weichatjsp.list") public void toActivitylist(@Param("code") String code,HttpServletRequest request) { String openId = CommonUtil.getOpenId(code); request.setAttribute("openId", openId); } @At("/activitylist") @Ok("raw") public String activitylist(@Param("..") Pager pager,HttpServletRequest request) { log.debug("----activitylist start----"); ActivitySearch as = new ActivitySearch(); return activityService.queryWxActivity(pager.getPageNumber(),Consts.wxPageSize,as); } @At("/detailActivity") @Ok("jsp:weichatjsp.activity_detail") public void detailActivity(@Param("openId") String openId,@Param("id") int id,HttpSession session,HttpServletRequest request){ Activity activity = activityService.getActivityDetail(id); TCompany campany = tCompanyService.getCompany(activity.getCompId()); TRing ring = ringHomeService.getRing(activity.getRingId()); int flag = 0; // 未绑定用户 跳转绑定用户 TUser tuser = userService.findTUserByOpenId(openId); if(null != tuser && null != tuser.getId() && tuser.getId() >0 ){ if(tuser.getMode() == null){ flag =1; // 已绑定 用户 ,为绑定 业务 }else{ flag =2; // 绑定 用户 绑定业务 TUserActivityRel tUserActivityRel = tUserActivityRelService.getTUserActivityRelById(activity.getId(),tuser.getId()); if(tUserActivityRel !=null){ flag =3; } } } request.setAttribute("flag", flag); request.setAttribute("openId", openId); request.setAttribute("activity", activity); request.setAttribute("campany",ring); request.setAttribute("ring",ring); } @At("/toBind") @Ok("jsp:weichatjsp.bind") public void bind(@Param("openId") String openId,@Param("id") int activityId,@Param("flag") int flag,HttpServletRequest request) { log.info("-------------to bind ------------------"); request.setAttribute("activityId",activityId); request.setAttribute("openId",openId); request.setAttribute("flag",flag); } @At("/bindMobile") @Ok("json") public CommonResult bindMobile(@Param("mobile") String mobile, @Param("openId") String openId,HttpServletRequest request) { List<TUser> list = userService.findPhone(mobile); CommonResult cr = new CommonResult(); int statucode =0; TUser tuser = null; try{ if(list != null && list.size() >0){ tuser = list.get(0); tuser.setOpenId(openId); userService.update(tuser); statucode =1; cr.setResultMsg("success"); }else{ tuser = new TUser(); tuser.setPhone(mobile); tuser.setOpenId(openId); userService.insertTUser(tuser); statucode =1; cr.setResultMsg("success"); } }catch(Exception e){ cr.setResultMsg("error"); statucode =0; } cr.setResultCode(statucode); return cr; } @At("/bindBussiness") @Ok("json") public CommonResult bindBussiness(@Param("openId") String openId ,@Param("openType") int openType ,HttpServletRequest request) { TUser tuser = userService.findTUserByOpenId(openId); CommonResult cr = new CommonResult(); int statucode =0; try{ tuser.setMode(openType); userService.update(tuser); statucode =1; cr.setResultMsg("success"); }catch(Exception e){ cr.setResultMsg("error"); statucode =0; } cr.setResultCode(statucode); return cr; } @At("/addOrder") @Ok("json") public CommonResult addOrder(@Param("openId") String openId,@Param("id") int id,HttpServletRequest request) { CommonResult cr = new CommonResult(); int statucode=0; try{ Activity activity = activityService.getActivityDetail(id); TUser tuser = userService.findTUserByOpenId(openId); TUserActivityRel tUserActivityRel = new TUserActivityRel(); tUserActivityRel.setActivityId(activity.getId()); tUserActivityRel.setUserId(tuser.getId()); tUserActivityRel.setCompId(activity.getCompId()); if(activity.getRebateWay() == 1) tUserActivityRel.setBill(Float.parseFloat(activity.getRebateMemo())); if(activity.getRebateWay() == 0) tUserActivityRel.setFlow(Integer.parseInt(activity.getRebateMemo())); tUserActivityRel.setOrderTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); tUserActivityRel.setRebateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(activity.getEndTime())); tUserActivityRel.setOrderState(0); tUserActivityRel.setOrderEndTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(activity.getEndTime())); tUserActivityRelService.insert(tUserActivityRel); statucode =1; cr.setResultMsg(" insert success"); }catch(Exception e){ statucode =0; cr.setResultMsg("insert error"); } cr.setResultCode(statucode); return cr; } @At("/activity") @Ok("jsp:weichatjsp.discount_bind") public void tdb( HttpServletRequest request) { System.out.println("activitylist--------------"); } @At("/discountBind") @Ok("json") public CommonResult discountBind( @Param("mobile") String mobile , @Param("openId") String openId ,HttpServletRequest request) { System.out.println("mobile"+mobile+"openId" + openId); CommonResult cr = new CommonResult(); int statucode =0; if(mobile ==null || mobile =="" ){ statucode =0; } if(openId ==null || openId =="" ){ statucode =0; } List<TUser> list = userService.findPhone(mobile); TUser tuser = null; try{ if(list != null && list.size() >0){ tuser = list.get(0); tuser.setOpenId(openId); userService.update(tuser); statucode =1; cr.setResultMsg("success"); }else{ tuser = new TUser(); tuser.setPhone(mobile); tuser.setOpenId(openId); userService.insertTUser(tuser); cr.setResultMsg("success"); statucode =2; } }catch(Exception e){ cr.setResultMsg("error"); statucode =0; } cr.setResultCode(statucode); return cr; } }
捐助开发者
在兴趣的驱动下,写一个免费
的东西,有欣喜,也还有汗水,希望你喜欢我的作品,同时也能支持一下。 当然,有钱捧个钱场(右上角的爱心标志,支持支付宝和PayPal捐助),没钱捧个人场,谢谢各位。
谢谢您的赞助,我会做的更好!
相关推荐
在微信公众号中,获取关注用户的OPENID。代码是用C#来进行开发的。
微信小程序获取OpenID +php后端完整源代码。里面包含完整的PHP后台程序和微信小程序端程序,简单修改里面的配置信息就可以运行。
微信网络授权获取openid,用于微信端和后台账户的绑定
微信公众号开发获取openid和微信分享和公众号配置验证,网页授权后台代码,获取openid,微信分享,公众号配置验证,代码齐全
java+Springmvc实现获取微信用户唯一标识openId并返回
如何获取小程序的用户openid和unionid,以及后台C#代码
PHP如何获得Openid,微信公众号通过appid和appsecret获取Openid,该类实现了从微信公众平台获取code、通过code获取openid和access_token、
TP5微信小程序获取openid和unionid代码 俩种方式:1获取openid 判断数据库是否存在获取unionid 2.获取openid后不存在 走官方button按钮 的getuserinfo去获取unionid
php-微信公众号联合登录&微信小程序获取openid&头条获取openid,遇到问题可以@我
php获取微信code.openid.名字和头像,自己被坑了那么久,上传记录下
java解析的源码和小程序的源码,自己从项目中剥离出来的,肯定能用,有疑问私信,微信小程序获取各类信息(openid、session_key以及用户基本信息、解密手机号)
微信h5授权获取用户openId的方法和步骤,用于用户登录和注册,代码已经封装好,下载就能用
微信开发获取openId
php企业微信扫码获取openid,通过获取到的openid来对接自己网站用户授权的openid进行登录。
小程序获取openid,看之前的官方文档写的不清楚,自己摸索后才发现很简单,当修改secret后记得在文件里更新密码和qppId,这是个坑
纯css动态清新动画页面分享 + 微信小程序傻瓜式获取用户openid; 最简前端代码包下载,无任何多余文件。
微信h5调用扫一扫和获取openid
微信小程序获取用户openId的实现方法 前端: wx.login({ success: function (res) { res.code }) 获取到code后,传到后台, 然后请求微信接口 ...把参数替换为自己的参数,这个接口就直接返回openId了 ...
ASP语言获取微信用户头像,Openid,性别,昵称等信息,非常实用。代码简单
微信公众号获取openid与基本信息源码,获取微信公众号openid,并根据公众号openid获取微信用户名用户信息与头像等,简单易懂。