| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460 |
- package com.happy.action;
- import com.baidubce.model.User;
- import com.google.gson.Gson;
- import com.happy.Model.weixin.*;
- import com.happy.Until.*;
- import com.happy.Until.Enum.B;
- import com.happy.Until.Enum.DataType;
- import com.happy.common.http.HttpsClient;
- import com.happy.common.wx.WxUtil;
- import com.happy.constant.ResultStatusCode;
- import com.happy.dto.IPage;
- import com.happy.service.AppService;
- import com.happy.service.BookService;
- import com.happy.service.UserService;
- import com.opensymphony.xwork2.ActionSupport;
- import net.sf.json.JSONObject;
- import org.apache.struts2.ServletActionContext;
- import org.apache.struts2.interceptor.ServletRequestAware;
- import javax.annotation.Resource;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import java.net.URLEncoder;
- import java.util.Date;
- import java.util.List;
- /**
- * 我的进去Action请求交互
- */
- public class AppMePageAction extends ActionSupport implements ServletRequestAware {
- private HttpServletRequest request;
- public HttpServletResponse response;
- @Resource
- public BookService bookService;
- @Resource
- public UserService userService;
- @Resource
- public AppService appService;
- private String contactUserName; // 常用联系人姓名
- private String contactUserIdNum; // 常用联系人身份证
- private String contactUserPhone; // 常用联系人电话
- public int page = 1; // 当前页
- public int rows = 5;// 每页显示的行数rows
- private String userId; // 用户id
- private String userName; // 用户姓名
- private String headPhoto; // 用户头像地址
- private String contactId; // 相关联系人的id
- public String status;
- private String code; // 授权前端给用户code
- private String userCode; // 第一次进来获取用户的code
- private String queryValue; // 首页查寻搜索关键词
- public HttpServletRequest getRequest() {
- return request;
- }
- public void setRequest(HttpServletRequest request) {
- this.request = request;
- }
- public void setServletRequest(HttpServletRequest request) {
- this.request = request;
- }
- public HttpServletResponse getResponse() {
- return response;
- }
- public void setResponse(HttpServletResponse response) {
- this.response = response;
- }
- public int getPage() {
- return page;
- }
- public void setPage(int page) {
- this.page = page;
- }
- public int getRows() {
- return rows;
- }
- public void setRows(int rows) {
- this.rows = rows;
- }
- public String getStatus() {
- return status;
- }
- public void setStatus(String status) {
- this.status = status;
- }
- /**
- * userId
- * 进入我的,查询订单列表
- * @return
- */
- public String getBookingList()
- {
- if (Func.checkNull(userId))
- return null;
- // 通过用户id查询所有订单列表数据
- StringBuilder querySql = new StringBuilder("");
- if (!Func.checkNull(userId)){
- querySql.append(" and create_userid = '").append(userId).append("' ");
- }
- ResponseUtil.writeJsonIPage(ServletActionContext.getResponse(),bookService.queryPage(querySql.toString(), page, rows));
- return null;
- }
- /**
- * userId 当前用户id,获取列表
- * 进入我的页面,跳转常用旅客列表
- */
- public void getUserContactList()
- {
- // 通过用户id查询所有订单列表数据
- if (Func.checkNull(userId))
- return;
- StringBuilder querySql = new StringBuilder("");
- if (!Func.checkNull(userId)){
- querySql.append(" and contact_id = '").append(userId).append("' ");
- }
- querySql.append(" and data_type = '").append(DataType.关联数据.toString()).append("' ");
- IPage listPage = userService.queryUserPage(querySql.toString(), page, rows); // 查询分页
- ResponseUtil.writeJsonIPage(ServletActionContext.getResponse(),listPage);
- }
- /**
- * 用户点击设置按钮,获取数据
- * 通过用户id查询用户信息
- */
- public void queryUsersById()
- {
- if (Func.checkNull(userId))
- return;
- Users users = userService.queryByUserId(userId);
- JSONObject resultJson = new JSONObject();
- resultJson.put(B.code, ResultStatusCode.OK.getStatus());
- resultJson.put(B.message,ResultStatusCode.OK.getMsg());
- resultJson.put(B.data,users);
- ResponseUtil.writeJson(ServletActionContext.getResponse(),resultJson.toString());
- }
- /**
- * 通过UserId进行更改或添加数据
- */
- public void updateContact()
- {
- if (Func.checkNull(contactId))
- return;
- JSONObject resultJson = new JSONObject();
- Users users = userService.queryByUserId(contactId);
- if (users == null) {
- resultJson.put(B.code,ResultStatusCode.BAD_REQUEST.getStatus());
- resultJson.put(B.message,"无此用户数据,请重新查询");
- ResponseUtil.writeJson(ServletActionContext.getResponse(),resultJson.toString());
- return;
- }
- users.setUser_name(contactUserName);
- // // 验证手机号码
- // if ( !Func.checkPhone(contactUserPhone))
- // {
- // resultJson.put(B.code,ResponseStatusEnum.FAILED.getStatus());
- // resultJson.put(B.message,"请确认手机号码");
- // ResponseUtil.writeJson(ServletActionContext.getResponse(),resultJson.toString());
- // return;
- // }
- // // 验证身份证
- // if (!Func.isCard(contactUserIdNum))
- // {
- // resultJson.put(B.code,ResponseStatusEnum.FAILED.getStatus());
- // resultJson.put(B.message,"请确认身份证");
- // ResponseUtil.writeJson(ServletActionContext.getResponse(),resultJson.toString());
- // return;
- // }
- users.setUser_phone(contactUserPhone);
- users.setCard_number(contactUserIdNum);
- userService.update(users);
- resultJson.put(B.code,ResultStatusCode.OK.getStatus());
- resultJson.put(B.message,ResultStatusCode.OK.getMsg());
- ResponseUtil.writeJson(ServletActionContext.getResponse(),resultJson.toString());
- }
- /**
- * 添加常用联系人数据
- */
- public void AddContact()
- {
- if (Func.checkNullOrEmpty(userId))
- return;
- // 相关联系人
- Users users = new Users();
- users.setContactId(Func.parseStr(userId));
- users.setContactName(userName);
- users.setCreate_time(TimeExchange.getDate());
- users.setDataType(DataType.关联数据.toString());
- users.setUser_name(contactUserName); // 相关联系人的名字
- users.setUser_phone(contactUserPhone); // 相关联系人的手机号码
- users.setCard_number(contactUserIdNum); // 相关联系人的身份证
- userService.insert(users);
- JSONObject resultJson = new JSONObject();
- resultJson.put(B.code,ResultStatusCode.OK.getStatus());
- resultJson.put(B.message,ResultStatusCode.OK.getMsg());
- ResponseUtil.writeJson(ServletActionContext.getResponse(),resultJson.toString());
- }
- /**
- * 用户点击保存,更新用户信息
- */
- public void updateUserInfo()
- {
- if (Func.checkNullOrEmpty(userId))
- return;
- JSONObject resultJson = new JSONObject();
- Users users = userService.queryByUserId(userId);
- if (users == null)
- {
- resultJson.put(B.code,ResultStatusCode.BAD_REQUEST.getStatus());
- resultJson.put(B.message,"查无此用户数据,请先授权!");
- ResponseUtil.writeJson(ServletActionContext.getResponse(),resultJson.toString());
- return;
- }
- users.setHeadPhoto(headPhoto);
- users.setUser_name(userName);
- users.setDataType(DataType.游客数据.toString());
- userService.update(users);
- resultJson.put(B.code,ResultStatusCode.OK.getStatus());
- resultJson.put(B.message,ResultStatusCode.OK.getMsg());
- ResponseUtil.writeJson(ServletActionContext.getResponse(),resultJson.toString());
- return;
- }
- /**
- * contactId
- * 用户可以删除自己相关联系人
- */
- public void delContact()
- {
- if (Func.checkNull(contactId))
- return;
- JSONObject resultJson = new JSONObject();
- userService.del(Func.parseInt(contactId));
- resultJson.put(B.code,ResultStatusCode.OK.getStatus());
- resultJson.put(B.message,ResultStatusCode.OK.getMsg());
- ResponseUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
- }
- /**
- * 判断是否有当前用户(加访问记录)
- */
- public String isHaveUser()
- {
- if (Func.checkNull(this.code))
- return null;
- String OPEN_ID = "";
- JSONObject resultJson = new JSONObject();
- // 此处授权后的回调地址,主要获取token和openid
- String requestUrl = "https://api.weixin.qq.com/sns/oauth2/access_token?appid="
- + WeiXinUtil.appid_c
- + "&secret="
- + WeiXinUtil.screct_c
- + "&code="
- + this.getCode() + "&grant_type=authorization_code";
- // String json = HttpUtils.get(requestUrl);
- String json = HttpsClient.sendPost(requestUrl, "");
- Wechat_userinfo result = new Gson().fromJson(json, Wechat_userinfo.class);
- OPEN_ID = result.getOpenid();
- if (Func.checkNull(OPEN_ID))
- {
- resultJson.put(B.code,ResultStatusCode.BAD_REQUEST.getStatus());
- resultJson.put(B.message,"未获取到OpenId");
- ResponseUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
- }
- /*
- * 手机号前端过来,昵称、省份、性别等其他信息已保存的result中,
- * 查询用户openid是否存在,存在就返回信息给前端,不存在就保存到数据库
- * */
- Users users = userService.queryByOpenid(OPEN_ID);
- if (users == null)
- {
- resultJson.put(B.code,ResultStatusCode.BAD_REQUEST.getStatus());
- resultJson.put(B.message," 当前用户未授权");
- resultJson.put(B.data,users);
- ResponseUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
- return null;
- }
- resultJson.put(B.code,ResultStatusCode.OK.getStatus());
- resultJson.put(B.message," 当前用户已授权");
- resultJson.put(B.data,users);
- ResponseUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
- return null;
- }
- /**
- * 用户登录小程序授权
- */
- public void authorizationUser()
- {
- if (Func.checkNull(this.code))
- return;
- String OPEN_ID = "";
- JSONObject resultJson = new JSONObject();
- CodeEntity codeEntity = appService.getCodeInfo(code);
- OPEN_ID = codeEntity.getOpenid();
- System.out.println(OPEN_ID);
- if (Func.checkNull(OPEN_ID))
- {
- resultJson.put(B.code,ResultStatusCode.BAD_REQUEST.getStatus());
- resultJson.put(B.message,"未获取到OpenId");
- ResponseUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
- }
- /*
- * 手机号前端过来,昵称、省份、性别等其他信息已保存的result中,
- * 查询用户openid是否存在,存在就返回信息给前端,不存在就保存到数据库
- * */
- Users users = userService.queryByOpenid(OPEN_ID);
- if (users == null)
- {
- users = new Users();
- // 确定默认用户名,默认用户头像
- String userName = Func.parseStr(WxUtil.createDefaultUserName());
- users.setUser_name(userName);
- users.setHeadPhoto("http://172.16.20.88:80/mhotel/download/orderS.png");
- users.setOpenid(OPEN_ID);
- users.setCreate_time(DateUtil.getFormatPaternDate(new Date()));
- users.setDataType(DataType.游客数据.toString());
- userService.insert(users); // 写入用户数据
- users = userService.queryByOpenid(OPEN_ID);
- }
- resultJson.put(B.code,ResultStatusCode.OK.getStatus());
- resultJson.put(B.message,ResultStatusCode.OK.getMsg());
- resultJson.put(B.data,users);
- ResponseUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
- return ;
- }
- public String getUserCode() {
- return userCode;
- }
- public void setUserCode(String userCode) {
- this.userCode = userCode;
- }
- public String getQueryValue() {
- return queryValue;
- }
- public void setQueryValue(String queryValue) {
- this.queryValue = queryValue;
- }
- public String getContactUserName() {
- return contactUserName;
- }
- public void setContactUserName(String contactUserName) {
- this.contactUserName = contactUserName;
- }
- public String getContactUserIdNum() {
- return contactUserIdNum;
- }
- public void setContactUserIdNum(String contactUserIdNum) {
- this.contactUserIdNum = contactUserIdNum;
- }
- public String getContactUserPhone() {
- return contactUserPhone;
- }
- public void setContactUserPhone(String contactUserPhone) {
- this.contactUserPhone = contactUserPhone;
- }
- public String getUserId() {
- return userId;
- }
- public void setUserId(String userId) {
- this.userId = userId;
- }
- public String getUserName() {
- return userName;
- }
- public void setUserName(String userName) {
- this.userName = userName;
- }
- public String getContactId() {
- return contactId;
- }
- public void setContactId(String contactId) {
- this.contactId = contactId;
- }
- public String getHeadPhoto() {
- return headPhoto;
- }
- public void setHeadPhoto(String headPhoto) {
- this.headPhoto = headPhoto;
- }
- public String getCode() {
- return code;
- }
- public void setCode(String code) {
- this.code = code;
- }
- }
|