老系统对接

This commit is contained in:
qyl
2018-07-12 14:08:55 +08:00
commit 5f41fe5df1
420 changed files with 50883 additions and 0 deletions
@@ -0,0 +1,48 @@
package com.sino.rescue.oauth.entity;
public class SNSUserInfo {
private String openid;
private String nickname;
private String sex;
private String province;
private String city;
private String country;
public String getOpenid() {
return openid;
}
public void setOpenid(String openid) {
this.openid = openid;
}
public String getNickname() {
return nickname;
}
public void setNickname(String nickname) {
this.nickname = nickname;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getProvince() {
return province;
}
public void setProvince(String province) {
this.province = province;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
public String getCountry() {
return country;
}
public void setCountry(String country) {
this.country = country;
}
}
@@ -0,0 +1,42 @@
package com.sino.rescue.oauth.entity;
public class WeixinOauth2Token {
private String access_token;
private int expires_in;
private String refresh_token;
private String openid;
private String scope;
public String getAccess_token() {
return access_token;
}
public void setAccess_token(String access_token) {
this.access_token = access_token;
}
public int getExpires_in() {
return expires_in;
}
public void setExpires_in(int expires_in) {
this.expires_in = expires_in;
}
public String getRefresh_token() {
return refresh_token;
}
public void setRefresh_token(String refresh_token) {
this.refresh_token = refresh_token;
}
public String getOpenid() {
return openid;
}
public void setOpenid(String openid) {
this.openid = openid;
}
public String getScope() {
return scope;
}
public void setScope(String scope) {
this.scope = scope;
}
}
@@ -0,0 +1,101 @@
package com.sino.rescue.oauth.servlet;
import java.io.IOException;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.sino.publicclass.base.CException;
import com.sino.publicclass.database.ConnectionPool;
import com.sino.rescue.oauth.entity.SNSUserInfo;
import com.sino.rescue.oauth.entity.WeixinOauth2Token;
import com.sino.rrs.business.SnsVehicleUserManager;
import com.sino.rrs.entity.RcWeixinUserPO;
import com.sino.rrs.oper.RcWeixinUserOper;
import com.sino.weixin.oauth.util.AdvancedUtil;
import com.sino.weixin.oauth.util.Constants;
//供应商对账
public class BillCheckServlet extends HttpServlet{
private static final long serialVersionUID = 1L;
private AdvancedUtil util=new AdvancedUtil();
@Override
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
response.setCharacterEncoding("gb2312"); // 用户同意授权后,能获取到code
String code=request.getParameter("code");
if (!"authdeny".equals(code)) {
// 获取网页授权access_token
WeixinOauth2Token weixinOauth2Token = util.getOauth2AccessToken(Constants.AppId, Constants.AppSecret, code);
// 网页授权接口访问凭证
String accessToken = weixinOauth2Token.getAccess_token();
// 用户标识
String openId = weixinOauth2Token.getOpenid();
RcWeixinUserPO weixinUser=SnsVehicleUserManager.getWeixinDispatcherUserByOpenId(openId);
if(weixinUser!=null){
request.setAttribute("weixinUserId", String.valueOf(weixinUser.getId()));
System.out.println(String.valueOf(weixinUser.getId())+"ooooooooooooooooo");
Connection conn=null;
try {
conn=ConnectionPool.getConnection();
RcWeixinUserOper weixinOper=new RcWeixinUserOper(conn);
Map<String,Object> regist=weixinOper.findUserByOpenID(openId);
if(!regist.get("company_rescue_code").equals("")){ //服务商注册过
String rescueCode=(String) regist.get("company_rescue_code");
request.getRequestDispatcher("/supplier/billCheck.jsp?rescueCode="+rescueCode).forward(request, response);
}else if(!regist.get("vehicle_rescue_code").equals("")){ //司机注册过
request.getRequestDispatcher("/supplier/power.jsp").forward(request, response); //权限页面
}else{
request.getRequestDispatcher("/supplier/userRegister.jsp?weixinUserId="+String.valueOf(weixinUser.getId())).forward(request, response);
}
}catch (CException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}finally{
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}else{
// 获取用户信息
Connection conn=null;
try {
conn=ConnectionPool.getConnection();
SNSUserInfo snsUserInfo = util.getSNSUserInfo(accessToken, openId); // 设置要传递的参数
RcWeixinUserPO snsUser = new RcWeixinUserPO();
snsUser.setOpen_id(snsUserInfo.getOpenid());
snsUser.setNick_name(snsUserInfo.getNickname());
snsUser.setSex(snsUserInfo.getSex());
snsUser.setProvince(snsUserInfo.getProvince());
snsUser.setCity(snsUserInfo.getCity());
snsUser.setCountry(snsUserInfo.getCountry());
SnsVehicleUserManager.createWeixinUserDispatch(snsUser);
RcWeixinUserOper dispatchOper = new RcWeixinUserOper(conn);
int weixinUserId= dispatchOper.findRescueCode(openId).getId();
request.setAttribute("weixinUserId", String.valueOf(weixinUserId));
request.getRequestDispatcher("/supplier/userRegister.jsp?weixinUserId="+String.valueOf(weixinUserId)).forward(request, response);
} catch (CException e) {
e.printStackTrace();
}finally{
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
}
}
@@ -0,0 +1,31 @@
package com.sino.rescue.oauth.servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.sino.weixin.oauth.util.AdvancedUtil;
public class ConformServiceServlet extends HttpServlet{
private static final long serialVersionUID = 1L;
private AdvancedUtil util = new AdvancedUtil();
@Override
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
response.setCharacterEncoding("gb2312"); // 用户同意授权后,能获取到code
String code=request.getParameter("code");
if (!"authdeny".equals(code)) {
String cmd=request.getParameter("cmd");
if(cmd.equals("notice")){ //中道通知
response.sendRedirect("https://mp.weixin.qq.com/mp/homepage?__biz=MjM5NzEzOTkwNw%3D%3D&hid=10&sn=6d3ca4446f031c10222ca8a232478f6f");
}else if(cmd.equals("system")){ //中道制度
response.sendRedirect("https://mp.weixin.qq.com/mp/homepage?__biz=MjM5NzEzOTkwNw%3D%3D&hid=11&sn=1debd0fd682bd8c28d8ba46a8dda6925");
}else if(cmd.equals("parameter")){ //技术参数
response.sendRedirect("https://mp.weixin.qq.com/mp/homepage?__biz=MjM5NzEzOTkwNw%3D%3D&hid=12&sn=a0cb93af7b306572efac15456884df74");
}
}
}
}
@@ -0,0 +1,140 @@
package com.sino.rescue.oauth.servlet;
import java.io.IOException;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.List;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.sino.publicclass.base.CException;
import com.sino.publicclass.database.ConnectionPool;
import com.sino.rescue.oauth.entity.SNSUserInfo;
import com.sino.rescue.oauth.entity.WeixinOauth2Token;
import com.sino.rrs.business.SnsVehicleUserManager;
import com.sino.rrs.entity.RcWeixinUserPO;
import com.sino.rrs.oper.RcWeixinUserOper;
import com.sino.rrs.oper.UserOrderOper;
import com.sino.weixin.oauth.util.AdvancedUtil;
import com.sino.weixin.oauth.util.Constants;
import com.sino.weixin.oauth.util.HttpsUtil;
//当前工单
public class CurrentOrderServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
private AdvancedUtil util=new AdvancedUtil();
@Override
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
response.setCharacterEncoding("gb2312"); // 用户同意授权后,能获取到code
String code=request.getParameter("code");
if (!"authdeny".equals(code)) {
// 获取网页授权access_token
WeixinOauth2Token weixinOauth2Token = util.getOauth2AccessToken(Constants.AppId, Constants.AppSecret, code);
// 网页授权接口访问凭证
String accessToken = weixinOauth2Token.getAccess_token();
// 用户标识
String openId = weixinOauth2Token.getOpenid();
RcWeixinUserPO weixinUser=SnsVehicleUserManager.getWeixinDispatcherUserByOpenId(openId);
if(weixinUser!=null){
request.setAttribute("weixinUserId", String.valueOf(weixinUser.getId()));
System.out.println(String.valueOf(weixinUser.getId())+"ooooooooooooooooo");
Connection conn=null;
JSONObject json=new JSONObject();
try {
conn=ConnectionPool.getConnection();
RcWeixinUserOper weixinOper=new RcWeixinUserOper(conn);
UserOrderOper orderOper=new UserOrderOper(conn);
Map<String,Object> regist=weixinOper.findUserByOpenID(openId);
if(!regist.get("company_rescue_code").equals("")){ //服务商注册过
int dispatchMode=(Integer) regist.get("company_dispatch_mode");
if(dispatchMode==3){ //微信调度
String rescueCode=(String) regist.get("company_rescue_code");
List<String> orderList = orderOper.findOrderListByRescueCode(rescueCode);
json.put("orderList", orderList);
json.put("rescueCode", rescueCode);
json.put("action", 10);
if(orderList!=null&&orderList.size()>0){
JSONObject list=JSON.parseObject(HttpsUtil.doPost(Constants.url, json, "utf-8")); //远程调用查询当前订单
request.setAttribute("list", list.get("currentOrderList"));
request.getRequestDispatcher("/supplier/currentOrder.jsp?rescueCode="+rescueCode+"&openId="+openId).forward(request, response);
}else{
request.setAttribute("list", "");
request.getRequestDispatcher("/supplier/currentOrder.jsp?rescueCode="+rescueCode+"&openId="+openId).forward(request, response);
}
}else{ //其它调度
request.getRequestDispatcher("/supplier/power.jsp").forward(request, response); //权限页面
}
}else if(!regist.get("vehicle_rescue_code").equals("")){ //司机注册过
int dispatchMode=(Integer) regist.get("vehicle_dispatch_mode");
if(dispatchMode==3){ //微信调度
String rescueCode=(String) regist.get("vehicle_rescue_code");
int vehicleId=(Integer) regist.get("ID"); //师傅id
Map<String,String> vehicleOrders= orderOper.findVehicleOrderDetailByVehicleId(vehicleId); //查询司机当前订单
if(vehicleOrders!=null&&vehicleOrders.size()>0){
request.setAttribute("list",vehicleOrders);
}else{
request.setAttribute("list","");
}
request.getRequestDispatcher("/supplier/vehicleCurrentOrder.jsp?rescueCode="+rescueCode+"&openId="+openId+"&rescueVehicleId="+vehicleId).forward(request, response);
}else{ //其它调度
request.getRequestDispatcher("/supplier/power.jsp").forward(request, response); //权限页面
}
}else{
request.getRequestDispatcher("/supplier/userRegister.jsp?weixinUserId="+String.valueOf(weixinUser.getId())).forward(request, response);
}
}catch (CException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}finally{
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}else{
// 获取用户信息
Connection conn=null;
try {
conn=ConnectionPool.getConnection();
SNSUserInfo snsUserInfo = util.getSNSUserInfo(accessToken, openId); // 设置要传递的参数
RcWeixinUserPO snsUser = new RcWeixinUserPO();
snsUser.setOpen_id(snsUserInfo.getOpenid());
snsUser.setNick_name(snsUserInfo.getNickname());
snsUser.setSex(snsUserInfo.getSex());
snsUser.setProvince(snsUserInfo.getProvince());
snsUser.setCity(snsUserInfo.getCity());
snsUser.setCountry(snsUserInfo.getCountry());
SnsVehicleUserManager.createWeixinUserDispatch(snsUser);
RcWeixinUserOper dispatchOper = new RcWeixinUserOper(conn);
int weixinUserId= dispatchOper.findRescueCode(openId).getId();
request.setAttribute("weixinUserId", String.valueOf(weixinUserId));
request.getRequestDispatcher("/supplier/userRegister.jsp?weixinUserId="+String.valueOf(weixinUserId)).forward(request, response);
} catch (CException e) {
e.printStackTrace();
}finally{
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
}
}
@@ -0,0 +1,97 @@
package com.sino.rescue.oauth.servlet;
import java.io.IOException;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.sino.publicclass.base.CException;
import com.sino.publicclass.database.ConnectionPool;
import com.sino.rescue.oauth.entity.SNSUserInfo;
import com.sino.rescue.oauth.entity.WeixinOauth2Token;
import com.sino.rrs.business.SnsVehicleUserManager;
import com.sino.rrs.entity.RcWeixinUserPO;
import com.sino.rrs.oper.RcWeixinUserOper;
import com.sino.weixin.oauth.util.AdvancedUtil;
import com.sino.weixin.oauth.util.Constants;
public class JoinRescueCompanyServlet extends HttpServlet{
private AdvancedUtil util=new AdvancedUtil();
private static final long serialVersionUID = -1847238807216447030L;
@Override
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setCharacterEncoding("gb2312"); // 用户同意授权后,能获取到code
String code=request.getParameter("code");
if (!"authdeny".equals(code)) {
// 获取网页授权access_token
WeixinOauth2Token weixinOauth2Token = util.getOauth2AccessToken(Constants.AppId, Constants.AppSecret, code);
// 网页授权接口访问凭证
String accessToken = weixinOauth2Token.getAccess_token();
// 用户标识
String openId = weixinOauth2Token.getOpenid();
RcWeixinUserPO weixinUser=SnsVehicleUserManager.getWeixinDispatcherUserByOpenId(openId);
if(weixinUser!=null){
request.setAttribute("weixinUserId", String.valueOf(weixinUser.getId()));
System.out.println(String.valueOf(weixinUser.getId())+"ooooooooooooooooo");
Connection conn=null;
try {
conn=ConnectionPool.getConnection();
RcWeixinUserOper weixinOper=new RcWeixinUserOper(conn);
//判断该用户是否注册过
Map<String,Object> register=weixinOper.findUserByOpenID(openId);
if(register.get("company_rescue_code").equals("")&&register.get("vehicle_rescue_code").equals("")){ //即非服务商也非司机
request.getRequestDispatcher("/supplier/rescueJoinUs.jsp").forward(request, response); //权限页面
}else{ //司机注册过
request.getRequestDispatcher("/supplier/power.jsp").forward(request, response); //权限页面
}
} catch (CException e) {
e.printStackTrace();
}finally{
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}else{
// 获取用户信息
Connection conn=null;
try {
conn=ConnectionPool.getConnection();
SNSUserInfo snsUserInfo = util.getSNSUserInfo(accessToken, openId); // 设置要传递的参数
System.out.println(snsUserInfo.getNickname()+"昵称");
RcWeixinUserPO snsUser = new RcWeixinUserPO();
snsUser.setOpen_id(snsUserInfo.getOpenid());
snsUser.setNick_name(snsUserInfo.getNickname());
snsUser.setSex(snsUserInfo.getSex());
snsUser.setProvince(snsUserInfo.getProvince());
snsUser.setCity(snsUserInfo.getCity());
snsUser.setCountry(snsUserInfo.getCountry());
SnsVehicleUserManager.createWeixinUserDispatch(snsUser);
RcWeixinUserOper dispatchOper = new RcWeixinUserOper(conn);
int weixinUserId= dispatchOper.findRescueCode(openId).getId();
request.setAttribute("weixinUserId", String.valueOf(weixinUserId));
request.getRequestDispatcher("/supplier/rescueJoinUs.jsp").forward(request, response);
} catch (CException e) {
e.printStackTrace();
}finally{
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
}
}
@@ -0,0 +1,154 @@
package com.sino.rescue.oauth.servlet;
import java.io.IOException;
import java.sql.Connection;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.sino.publicclass.base.CException;
import com.sino.publicclass.database.ConnectionPool;
import com.sino.rescue.oauth.entity.SNSUserInfo;
import com.sino.rescue.oauth.entity.WeixinOauth2Token;
import com.sino.rrs.business.SnsVehicleUserManager;
import com.sino.rrs.entity.RcWeixinUserPO;
import com.sino.rrs.oper.RcWeixinUserOper;
import com.sino.rrs.oper.UserOrderOper;
import com.sino.weixin.oauth.util.AdvancedUtil;
import com.sino.weixin.oauth.util.Constants;
public class TodayFinishedOrderServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
private AdvancedUtil util = new AdvancedUtil();
@Override
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
response.setCharacterEncoding("gb2312"); // 用户同意授权后,能获取到code
String code=request.getParameter("code");
if (!"authdeny".equals(code)) {
// 获取网页授权access_token
WeixinOauth2Token weixinOauth2Token = util.getOauth2AccessToken(Constants.AppId, Constants.AppSecret, code);
// 网页授权接口访问凭证
String accessToken = weixinOauth2Token.getAccess_token();
// 用户标识
String openId = weixinOauth2Token.getOpenid();
RcWeixinUserPO weixinUser=SnsVehicleUserManager.getWeixinDispatcherUserByOpenId(openId);
if(weixinUser!=null){
System.out.println(String.valueOf(weixinUser.getId())+"ooooooooooooooooo");
Connection conn=null;
try {
conn=ConnectionPool.getConnection();
RcWeixinUserOper weixinOper=new RcWeixinUserOper(conn);
UserOrderOper orderOper=new UserOrderOper(conn);
Map<String,Object> regist = weixinOper.findUserByOpenID(openId);
if(!regist.get("company_rescue_code").equals("")){ //该用户是服务商用户
int dispatchMode=(Integer) regist.get("company_dispatch_mode");
if(dispatchMode==3){ //微信调度
String rescueCode=(String) regist.get("company_rescue_code");
request.getRequestDispatcher("/supplier/companyFinishedOrder.jsp?rescueCode="+rescueCode).forward(request, response);
}else{
request.getRequestDispatcher("/supplier/power.jsp").forward(request, response); //权限页面
}
}else if(!regist.get("vehicle_rescue_code").equals("")){ //司机用户
int dispatchMode=(Integer) regist.get("vehicle_dispatch_mode");
if(dispatchMode==3){ //微信调度
String rescueCode=(String) regist.get("vehicle_rescue_code");
String rescueVehicleId=regist.get("ID").toString();
request.getRequestDispatcher("/supplier/vehicleFinishedOrder.jsp?rescueCode=" + rescueCode + "&rescueVehicleId=" + rescueVehicleId).forward(request, response);
}else{
request.getRequestDispatcher("/supplier/power.jsp").forward(request, response); //权限页面
}
}else{
request.getRequestDispatcher("/supplier/userRegister.jsp?weixinUserId="+String.valueOf(weixinUser.getId())).forward(request, response);
}
}catch (CException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}finally{
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}else{
// 获取用户信息
Connection conn=null;
try {
conn=ConnectionPool.getConnection();
SNSUserInfo snsUserInfo = util.getSNSUserInfo(accessToken, openId); // 设置要传递的参数
RcWeixinUserPO snsUser = new RcWeixinUserPO();
snsUser.setOpen_id(snsUserInfo.getOpenid());
snsUser.setNick_name(snsUserInfo.getNickname());
snsUser.setSex(snsUserInfo.getSex());
snsUser.setProvince(snsUserInfo.getProvince());
snsUser.setCity(snsUserInfo.getCity());
snsUser.setCountry(snsUserInfo.getCountry());
SnsVehicleUserManager.createWeixinUserDispatch(snsUser);
RcWeixinUserOper dispatchOper = new RcWeixinUserOper(conn);
int weixinUserId= dispatchOper.findRescueCode(openId).getId();
request.setAttribute("weixinUserId", String.valueOf(weixinUserId));
request.getRequestDispatcher("/supplier/userRegister.jsp?weixinUserId="+String.valueOf(weixinUserId)).forward(request, response);
} catch (CException e) {
e.printStackTrace();
}finally{
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
}
//获取当月时间
public String getMonthTime(){
SimpleDateFormat sf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//获取当月第一天时间
Calendar c=Calendar.getInstance();
c.add(Calendar.MONTH, 0);
c.set(Calendar.DAY_OF_MONTH, 1);
c.set(Calendar.HOUR_OF_DAY, 0);
c.set(Calendar.MINUTE, 0);
c.set(Calendar.SECOND, 0);
return(sf.format(c.getTime()));
}
//获取本周时间
public String getWeekTime(){
SimpleDateFormat sf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//获取本周第一天时间
Calendar cal = Calendar.getInstance();
cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
cal.set(Calendar.HOUR_OF_DAY, 0);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
System.err.println("####"+sf.format(cal.getTime())+"$$$$$$$$$"+cal.getTime());
return(sf.format(cal.getTime()));
}
//获取当天时间
public String getTodayTime(){
SimpleDateFormat sf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//获取当天时间
Calendar c=Calendar.getInstance();
c.set(Calendar.HOUR_OF_DAY, 0);
c.set(Calendar.MINUTE, 0);
c.set(Calendar.SECOND, 0);
return(sf.format(c.getTime()));
}
}
@@ -0,0 +1,104 @@
package com.sino.rescue.oauth.servlet;
import java.io.IOException;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.sino.publicclass.base.CException;
import com.sino.publicclass.database.ConnectionPool;
import com.sino.rescue.oauth.entity.SNSUserInfo;
import com.sino.rescue.oauth.entity.WeixinOauth2Token;
import com.sino.rrs.business.SnsVehicleUserManager;
import com.sino.rrs.entity.RcWeixinUserPO;
import com.sino.rrs.oper.RcWeixinUserOper;
import com.sino.weixin.oauth.util.AdvancedUtil;
import com.sino.weixin.oauth.util.Constants;
public class TranslateMessageServlet extends HttpServlet{
private AdvancedUtil util=new AdvancedUtil();
private static final long serialVersionUID = -1847238807216447030L;
@Override
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setCharacterEncoding("gb2312"); // 用户同意授权后,能获取到code
String code=request.getParameter("code");
if (!"authdeny".equals(code)) {
// 获取网页授权access_token
WeixinOauth2Token weixinOauth2Token = util.getOauth2AccessToken(Constants.AppId, Constants.AppSecret, code);
// 网页授权接口访问凭证
String accessToken = weixinOauth2Token.getAccess_token();
// 用户标识
String openId = weixinOauth2Token.getOpenid();
RcWeixinUserPO weixinUser=SnsVehicleUserManager.getWeixinDispatcherUserByOpenId(openId);
if(weixinUser!=null){
request.setAttribute("weixinUserId", String.valueOf(weixinUser.getId()));
System.out.println(String.valueOf(weixinUser.getId())+"ooooooooooooooooo");
Connection conn=null;
try {
conn=ConnectionPool.getConnection();
RcWeixinUserOper weixinOper=new RcWeixinUserOper(conn);
//判断该用户是否注册过
Map<String,Object> register=weixinOper.findUserByOpenID(openId);
if(!register.get("manager_rescue_code").equals("")){ //大区经理
request.setAttribute("managerLoginName", register.get("loginName").toString());
request.getRequestDispatcher("/supplier/messageTranslation.jsp?flag="+1).forward(request, response);
}else if(!register.get("company_rescue_code").equals("")){ //服务商
request.setAttribute("rescueCode", register.get("company_rescue_code").toString());
request.getRequestDispatcher("/supplier/messageTranslation.jsp?flag="+2).forward(request, response); //权限页面
}else if(!register.get("vehicle_rescue_code").equals("")){ //司机注册过
request.getRequestDispatcher("/supplier/power.jsp").forward(request, response); //权限页面
}else{
request.getRequestDispatcher("/supplier/userRegister.jsp?weixinUserId="+String.valueOf(weixinUser.getId())).forward(request, response);
}
} catch (CException e) {
e.printStackTrace();
}finally{
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}else{
// 获取用户信息
Connection conn=null;
try {
conn=ConnectionPool.getConnection();
SNSUserInfo snsUserInfo = util.getSNSUserInfo(accessToken, openId); // 设置要传递的参数
System.out.println(snsUserInfo.getNickname()+"昵称");
RcWeixinUserPO snsUser = new RcWeixinUserPO();
snsUser.setOpen_id(snsUserInfo.getOpenid());
snsUser.setNick_name(snsUserInfo.getNickname());
snsUser.setSex(snsUserInfo.getSex());
snsUser.setProvince(snsUserInfo.getProvince());
snsUser.setCity(snsUserInfo.getCity());
snsUser.setCountry(snsUserInfo.getCountry());
SnsVehicleUserManager.createWeixinUserDispatch(snsUser);
RcWeixinUserOper dispatchOper = new RcWeixinUserOper(conn);
int weixinUserId= dispatchOper.findRescueCode(openId).getId();
request.setAttribute("weixinUserId", String.valueOf(weixinUserId));
request.getRequestDispatcher("/supplier/userRegister.jsp").forward(request, response);
} catch (CException e) {
e.printStackTrace();
}finally{
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
}
}
@@ -0,0 +1,100 @@
package com.sino.rescue.oauth.servlet;
import java.io.IOException;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.sino.publicclass.base.CException;
import com.sino.publicclass.database.ConnectionPool;
import com.sino.rescue.oauth.entity.SNSUserInfo;
import com.sino.rescue.oauth.entity.WeixinOauth2Token;
import com.sino.rrs.business.SnsVehicleUserManager;
import com.sino.rrs.entity.RcWeixinUserPO;
import com.sino.rrs.oper.RcWeixinUserOper;
import com.sino.weixin.oauth.util.AdvancedUtil;
import com.sino.weixin.oauth.util.Constants;
public class UploadPhotoServlet extends HttpServlet{
private static final long serialVersionUID = 1L;
private AdvancedUtil util=new AdvancedUtil();
@Override
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
response.setCharacterEncoding("gb2312"); // 用户同意授权后,能获取到code
String code=request.getParameter("code");
if (!"authdeny".equals(code)) {
// 获取网页授权access_token
WeixinOauth2Token weixinOauth2Token = util.getOauth2AccessToken(Constants.AppId, Constants.AppSecret, code);
// 网页授权接口访问凭证
String accessToken = weixinOauth2Token.getAccess_token();
// 用户标识
String openId = weixinOauth2Token.getOpenid();
RcWeixinUserPO weixinUser=SnsVehicleUserManager.getWeixinDispatcherUserByOpenId(openId);
if(weixinUser!=null){
request.setAttribute("weixinUserId", String.valueOf(weixinUser.getId()));
System.out.println(String.valueOf(weixinUser.getId())+"ooooooooooooooooo");
Connection conn=null;
try {
conn=ConnectionPool.getConnection();
RcWeixinUserOper weixinOper=new RcWeixinUserOper(conn);
Map<String,Object> regist=weixinOper.findUserByOpenID(openId);
if(!regist.get("company_rescue_code").equals("")){ //服务商注册过
response.sendRedirect("http://www.sino-assist.com:8099/jsp/clientCustomer/jsp/takePhoto.jsp?rescueCode="+regist.get("company_rescue_code")+"&code="+""); //测试
//response.sendRedirect("http://www.sinoassistance.com/jsp/clientCustomer/jsp/takePhoto.jsp?rescueCode="+regist.get("company_rescue_code")+"&code="+""); //上传照片
}else if(!regist.get("vehicle_rescue_code").equals("")){ //司机注册过
response.sendRedirect("http://www.sino-assist.com:8099/jsp/clientCustomer/jsp/takePhoto.jsp?rescueCode="+regist.get("vehicle_rescue_code")+"&code="+"");
//response.sendRedirect("http://www.sinoassistance.com/jsp/clientCustomer/jsp/takePhoto.jsp?rescueCode="+regist.get("vehicle_rescue_code")+"&code="+""); //上传照片
}else{
request.getRequestDispatcher("/supplier/userRegister.jsp?weixinUserId="+String.valueOf(weixinUser.getId())).forward(request, response);
}
}catch (CException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}finally{
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}else{
// 获取用户信息
Connection conn=null;
try {
conn=ConnectionPool.getConnection();
SNSUserInfo snsUserInfo = util.getSNSUserInfo(accessToken, openId); // 设置要传递的参数
RcWeixinUserPO snsUser = new RcWeixinUserPO();
snsUser.setOpen_id(snsUserInfo.getOpenid());
snsUser.setNick_name(snsUserInfo.getNickname());
snsUser.setSex(snsUserInfo.getSex());
snsUser.setProvince(snsUserInfo.getProvince());
snsUser.setCity(snsUserInfo.getCity());
snsUser.setCountry(snsUserInfo.getCountry());
SnsVehicleUserManager.createWeixinUserDispatch(snsUser);
RcWeixinUserOper dispatchOper = new RcWeixinUserOper(conn);
int weixinUserId= dispatchOper.findRescueCode(openId).getId();
request.setAttribute("weixinUserId", String.valueOf(weixinUserId));
request.getRequestDispatcher("/supplier/userRegister.jsp?weixinUserId="+String.valueOf(weixinUserId)).forward(request, response);
} catch (Exception e) {
e.printStackTrace();
}finally{
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
}
}
@@ -0,0 +1,113 @@
package com.sino.rescue.oauth.servlet;
import java.io.IOException;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.sino.publicclass.base.CException;
import com.sino.publicclass.database.ConnectionPool;
import com.sino.rescue.oauth.entity.SNSUserInfo;
import com.sino.rescue.oauth.entity.WeixinOauth2Token;
import com.sino.rrs.business.SnsVehicleUserManager;
import com.sino.rrs.entity.RcRescueCompanyPO;
import com.sino.rrs.entity.RcRescueVehiclePO;
import com.sino.rrs.entity.RcWeixinUserPO;
import com.sino.rrs.oper.RcWeixinUserOper;
import com.sino.rrs.oper.RescueCompanyDispatchOper;
import com.sino.rrs.oper.RescueVehicleDispatchOper;
import com.sino.weixin.oauth.util.AdvancedUtil;
import com.sino.weixin.oauth.util.Constants;
public class UserRegisterServiceServlet extends HttpServlet{
private AdvancedUtil util=new AdvancedUtil();
private static final long serialVersionUID = -1847238807216447030L;
@Override
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setCharacterEncoding("gb2312"); // 用户同意授权后,能获取到code
String code=request.getParameter("code");
if (!"authdeny".equals(code)) {
// 获取网页授权access_token
WeixinOauth2Token weixinOauth2Token = util.getOauth2AccessToken(Constants.AppId, Constants.AppSecret, code);
// 网页授权接口访问凭证
String accessToken = weixinOauth2Token.getAccess_token();
// 用户标识
String openId = weixinOauth2Token.getOpenid();
RcWeixinUserPO weixinUser=SnsVehicleUserManager.getWeixinDispatcherUserByOpenId(openId);
if(weixinUser!=null){
request.setAttribute("weixinUserId", String.valueOf(weixinUser.getId()));
System.out.println(String.valueOf(weixinUser.getId())+"ooooooooooooooooo");
Connection conn=null;
try {
conn=ConnectionPool.getConnection();
RcWeixinUserOper weixinOper=new RcWeixinUserOper(conn);
//判断该用户是否注册过
Map<String,Object> register=weixinOper.findUserByOpenID(openId);
if(!register.get("company_rescue_code").equals("")){ //服务商注册过
//查询服务商的信息
RescueCompanyDispatchOper oper=new RescueCompanyDispatchOper(conn);
RcRescueCompanyPO companyInfo = oper.findRescueCompanyInfo(weixinUser.getId());
request.setAttribute("companyInfo",companyInfo);
request.getRequestDispatcher("/supplier/userManInfo.jsp?weixinUserId="+String.valueOf(weixinUser.getId())+"&openId="+openId+"&flag="+companyInfo.getAcceptFlag()).forward(request, response);
}else if(!register.get("vehicle_rescue_code").equals("")){ //司机注册过
//查询司机的信息
RescueVehicleDispatchOper vehicleOper=new RescueVehicleDispatchOper(conn);
RcRescueVehiclePO vehicleInfo = vehicleOper.findRescueVehicleInfo(weixinUser.getId());
request.setAttribute("vehicleInfo",vehicleInfo);
request.getRequestDispatcher("/supplier/vehicleManInfo.jsp?weixinUserId="+String.valueOf(weixinUser.getId())+"&openId="+openId+"&flag="+vehicleInfo.getAcceptFlag()).forward(request, response);
}else{
request.getRequestDispatcher("/supplier/userRegister.jsp?weixinUserId="+String.valueOf(weixinUser.getId())).forward(request, response);
}
} catch (CException e) {
e.printStackTrace();
}finally{
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}else{
// 获取用户信息
Connection conn=null;
try {
conn=ConnectionPool.getConnection();
SNSUserInfo snsUserInfo = util.getSNSUserInfo(accessToken, openId); // 设置要传递的参数
System.out.println(snsUserInfo.getNickname()+"昵称");
RcWeixinUserPO snsUser = new RcWeixinUserPO();
snsUser.setOpen_id(snsUserInfo.getOpenid());
snsUser.setNick_name(snsUserInfo.getNickname());
// snsUser.setNick_name("");
snsUser.setSex(snsUserInfo.getSex());
snsUser.setProvince(snsUserInfo.getProvince());
snsUser.setCity(snsUserInfo.getCity());
snsUser.setCountry(snsUserInfo.getCountry());
SnsVehicleUserManager.createWeixinUserDispatch(snsUser);
RcWeixinUserOper dispatchOper = new RcWeixinUserOper(conn);
int weixinUserId= dispatchOper.findRescueCode(openId).getId();
request.setAttribute("weixinUserId", String.valueOf(weixinUserId));
request.getRequestDispatcher("/supplier/userRegister.jsp?weixinUserId="+String.valueOf(weixinUserId)).forward(request, response);
} catch (CException e) {
e.printStackTrace();
}finally{
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
}
}