From 793d4ee43f963935919f2ebf4b743e924c169e33 Mon Sep 17 00:00:00 2001 From: zuojincheng <lf_zuo@163.com> Date: 星期一, 31 三月 2025 09:59:20 +0800 Subject: [PATCH] feat(search): 新增用户搜索功能并优化用户体验 --- qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/QHOnLineApplication.java | 146 +++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 137 insertions(+), 9 deletions(-) diff --git a/qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/QHOnLineApplication.java b/qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/QHOnLineApplication.java index ed69735..3ad470d 100644 --- a/qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/QHOnLineApplication.java +++ b/qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/QHOnLineApplication.java @@ -1,10 +1,25 @@ package com.dayu.qiheonlinelibrary; +import android.app.Activity; import android.app.Application; +import android.content.Context; +import android.content.Intent; +import com.dayu.baselibrary.net.subscribers.SubscriberListener; +import com.dayu.baselibrary.utils.TipUtil; +import com.dayu.baselibrary.utils.ToastUtil; +import com.dayu.qiheonlinelibrary.activity.HomeActivityQHOline; +import com.dayu.qiheonlinelibrary.bean.LoginResult; +import com.dayu.qiheonlinelibrary.bean.PricePlanResult; import com.dayu.qiheonlinelibrary.net.ApiManager; import com.dayu.qiheonlinelibrary.net.BaseResponse; -import com.dayu.qiheonlinelibrary.net.subscribers.SubscriberListener; +import com.dayu.qiheonlinelibrary.net.RSAUtile; + +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; /** * author: zuo @@ -13,25 +28,138 @@ * 澶囨敞锛� */ public class QHOnLineApplication { - public static QHOnLineApplication qhAloneApplication; + public static QHOnLineApplication qhOnLineApplication; public Application application; - public static QHOnLineApplication getInstance() { - if (qhAloneApplication == null) { - qhAloneApplication = new QHOnLineApplication(); + public String tokenStr; + public String adcd;//鐢ㄦ埛鍦板潃鐮� + public String addressName;//鐢ㄦ埛鍦板潃鍚嶇О + + public String arerNumber;//鍖哄煙鍙� + + public String planId;//浠锋牸ID + + public String electriclePriceStr;//鐢典环 + + public String adminId;//鐧诲綍鐨勮处鍙穒d + + public static QHOnLineApplication getInstance(Application context) { + if (qhOnLineApplication == null) { + qhOnLineApplication = new QHOnLineApplication(); } - return qhAloneApplication; + qhOnLineApplication.application = context; + ApiManager.init(); + return qhOnLineApplication; + } + + public static QHOnLineApplication getInstance() { + if (qhOnLineApplication == null) { + qhOnLineApplication = new QHOnLineApplication(); + } + return qhOnLineApplication; } - private void getPublicKey(){ - ApiManager.getInstance().requestPost(application, "/login/getPubKey", String.class, null, new SubscriberListener<BaseResponse<String>>() { + public void getPublicKey(Context context, String name, String pw) { + Map<String, Object> data = new HashMap<>(); + data.put("loginType", "account"); + + ApiManager.getInstance().requestPostLoading(context, "http://120.46.45.35:20081/api/login/getPubKey", String.class, null, new SubscriberListener<BaseResponse<String>>() { @Override public void onNext(BaseResponse<String> t) { - + if (t.isSuccess()) { + if (t.getData() != null) { + getToken(context, name, pw, t.getData()); + } + } else { + ToastUtil.show(t.getMsg()); + } } }); } + public void getToken(Context context, String name, String pw, String pubKey) { + Map<String, Object> data = new HashMap<>(); + data.put("loginType", "account"); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + String dateString = sdf.format(new Date()); + data.put("password", RSAUtile.encryptByPublicKey(pw + "@TIME@" + dateString, pubKey)); + data.put("username", name); + ApiManager.getInstance().requestPostLoading(application, "http://120.46.45.35:20081/api/login/login/getToken", String.class, data, new SubscriberListener<BaseResponse<String>>() { + @Override + public void onNext(BaseResponse<String> t) { + if (t.isSuccess()) { + if (t.getData() != null) { + tokenStr = t.getData(); + login(context, name, pw, pubKey); + } + } else { + ToastUtil.show(t.getMsg()); + } + } + }); + } + + + public void login(Context context, String name, String pw, String pubKey) { + Map<String, Object> data = new HashMap<>(); + data.put("loginType", "account"); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + String dateString = sdf.format(new Date()); + data.put("password", RSAUtile.encryptByPublicKey(pw + "@TIME@" + dateString, pubKey)); + data.put("username", name); + ApiManager.getInstance().requestPostLoading(application, "http://120.46.45.35:20081/api/login/login", LoginResult.class, data, new SubscriberListener<BaseResponse<LoginResult>>() { + @Override + public void onNext(BaseResponse<LoginResult> t) { + if (t.isSuccess()) { + try { + if (t.getData() != null && t.getData().getOtherData() != null) { + + LoginResult.OtherData otherData = t.getData().getOtherData(); + String tenantAdnm = otherData.getTenantAdnm(); + List<String> adnmList = otherData.getAdnmList(); + if (tenantAdnm != null && adnmList != null && !adnmList.isEmpty()) { + addressName = tenantAdnm + adnmList.get(0); + } + List<String> adcdList = otherData.getAdnmList(); + if (adcdList != null && !adcdList.isEmpty()) { + adcd = t.getData().getOtherData().getAdcdList().get(0); + arerNumber = t.getData().getOtherData().getAdcdList().get(0).substring(4); + } + adminId = t.getData().getUserId(); + context.startActivity(new Intent(context, HomeActivityQHOline.class)); + ((Activity) context).finish(); + } else { + TipUtil.show((Activity) context, "鐧诲綍澶辫触锛岃閲嶈瘯"); + } + } catch (Exception e) { + e.printStackTrace(); + } + + } else { + ToastUtil.show(t.getMsg()); + } + } + }); + } + + /** + * 鑾峰彇浠锋牸淇℃伅 + */ + public void getPricePlanVo(Context context) { + Map<String, Object> data = new HashMap<>(); + data.put("priceMethod", 2); + ApiManager.getInstance().requestPostHideLoading(context, "water/waterPricePlan/pageWaterPricePlanVo", PricePlanResult.class, data, new SubscriberListener<BaseResponse<PricePlanResult>>() { + @Override + public void onNext(BaseResponse<PricePlanResult> t) { + if (t.isSuccess()) { + if (t.getData() != null) { + planId = t.getData().getRecords().get(0).getPlanId(); + electriclePriceStr = t.getData().getRecords().get(0).getElectricityPrice(); + } + } + } + }); + } } -- Gitblit v1.8.0