MeFragment.java 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371
  1. package com.sk.weichat.ui.me;
  2. import android.app.Activity;
  3. import android.content.BroadcastReceiver;
  4. import android.content.Context;
  5. import android.content.Intent;
  6. import android.content.IntentFilter;
  7. import android.os.Bundle;
  8. import android.os.Handler;
  9. import android.os.Message;
  10. import android.support.v4.content.LocalBroadcastManager;
  11. import android.util.Log;
  12. import android.view.View;
  13. import android.widget.ImageView;
  14. import android.widget.RelativeLayout;
  15. import android.widget.TextView;
  16. import com.lidroid.xutils.view.annotation.ViewInject;
  17. import com.sk.weichat.AppConstant;
  18. import com.sk.weichat.MyApplication;
  19. import com.sk.weichat.R;
  20. import com.sk.weichat.helper.AvatarHelper;
  21. import com.sk.weichat.ui.base.EasyFragment;
  22. import com.sk.weichat.ui.cardcast.CardcastActivity;
  23. import com.sk.weichat.ui.circle.BusinessCircleActivity;
  24. import com.sk.weichat.ui.erp.model.Master;
  25. import com.sk.weichat.ui.erp.util.CommonUtil;
  26. import com.sk.weichat.ui.erp.util.Constants;
  27. import com.sk.weichat.ui.erp.util.FlexJsonUtil;
  28. import com.sk.weichat.ui.erp.util.JsonValidator;
  29. import com.sk.weichat.ui.erp.util.StringUtils;
  30. import com.sk.weichat.ui.erp.util.ViewUtil;
  31. import com.sk.weichat.ui.erp.view.MasterDialog;
  32. import com.sk.weichat.ui.tool.SingleImagePreviewActivity;
  33. import java.util.HashMap;
  34. import java.util.LinkedHashMap;
  35. import java.util.List;
  36. import java.util.Map;
  37. public class MeFragment extends EasyFragment implements View.OnClickListener {
  38. private ImageView mAvatarImg;
  39. private TextView mNickNameTv;
  40. private TextView mPhoneNumTv;
  41. @ViewInject(R.id.company_tv)
  42. private TextView company_tv;
  43. @ViewInject(R.id.master_tv)
  44. private TextView master_tv;
  45. @ViewInject(R.id.tv_uas_login)
  46. private TextView tv_uas_login;
  47. @ViewInject(R.id.tv_b2b_login)
  48. private TextView tv_b2b_login;
  49. @ViewInject(R.id.rl_company_change)
  50. private RelativeLayout rl_company_change;
  51. @ViewInject(R.id.rl_master_change)
  52. private RelativeLayout rl_master_change;
  53. private Context ct;
  54. public MasterDialog mDialog;
  55. private Handler mhandler = new Handler() {
  56. @Override
  57. public void handleMessage(Message msg) {
  58. switch (msg.what) {
  59. case 1://获取中文账套
  60. String result = msg.getData().getString("result"); //解析账套信息
  61. boolean isJsonStr = new JsonValidator().validate(result);
  62. if (isJsonStr) {
  63. Map<Object, Object> resultsMap = FlexJsonUtil.fromJson(result);
  64. List<Master> mList = FlexJsonUtil.fromJsonArray(
  65. FlexJsonUtil.toJson(resultsMap.get("masters")),
  66. Master.class);
  67. getChMaster(mList);
  68. } else {
  69. ViewUtil.ShowMessageFDialogAutoDismiss(ct, "获取账套信息失败!", 2000);
  70. }
  71. break;
  72. case 2://切换账套
  73. result = msg.getData().getString("result");
  74. Map<Object, Object> resultsMap = FlexJsonUtil.fromJson(result);
  75. List<Master> mList = FlexJsonUtil.fromJsonArray(
  76. FlexJsonUtil.toJson(resultsMap.get("masters")),
  77. Master.class);
  78. Log.i("erp_master", FlexJsonUtil.toJson(resultsMap.get("masters")));
  79. mDialog = new MasterDialog(ct, "切换账套",
  80. new MasterDialog.PickDialogListener() {
  81. @Override
  82. public void onListItemClick(int position, final Master master) {
  83. Login(master);
  84. }
  85. });
  86. mDialog.show();
  87. mDialog.initViewData(mList);
  88. break;
  89. case 3://切换账套登录
  90. Map<String, Object> results = FlexJsonUtil.fromJson(msg
  91. .getData().getString("result"));
  92. if ((Boolean) results.get("success")) {
  93. com.sk.weichat.ui.erp.net.ViewUtil.ToastMessage(ct, "账套切换成功!");
  94. String sessionId = results.get("sessionId").toString();
  95. String master = msg.getData().getString("master");
  96. String master_ch = msg.getData().getString("master_ch");
  97. CommonUtil.setSharedPreferences(ct, "sessionId", sessionId);
  98. CommonUtil.setSharedPreferences(ct, "erp_master", master);
  99. CommonUtil.setSharedPreferences(ct, "Master_ch", master_ch);
  100. master_tv.setText(master_ch);
  101. // 发送给主页刷新的广播
  102. Intent intent = new Intent("com.app.home.update");
  103. intent.putExtra("falg", "home");
  104. LocalBroadcastManager.getInstance(ct).sendBroadcast(intent);
  105. } else {
  106. com.sk.weichat.ui.erp.net.ViewUtil.ToastMessage(ct, "账套切换失败!");
  107. }
  108. break;
  109. }
  110. }
  111. };
  112. public MeFragment() {
  113. }
  114. @Override
  115. public void onResume() {
  116. super.onResume();
  117. if (mNickNameTv != null) {
  118. mNickNameTv.setText(MyApplication.getInstance().mLoginUser.getNickName());
  119. }
  120. }
  121. @Override
  122. protected int inflateLayoutId() {
  123. return R.layout.fragment_me;
  124. }
  125. @Override
  126. protected void onCreateView(Bundle savedInstanceState, boolean createView) {
  127. if (createView) {
  128. initView();
  129. }
  130. }
  131. private void initView() {
  132. ct = getActivity();
  133. findViewById(R.id.my_data_rl).setOnClickListener(this);
  134. findViewById(R.id.my_friend_rl).setOnClickListener(this);
  135. findViewById(R.id.my_space_rl).setOnClickListener(this);
  136. findViewById(R.id.local_video_rl).setOnClickListener(this);
  137. findViewById(R.id.setting_rl).setOnClickListener(this);
  138. rl_company_change.setOnClickListener(this);
  139. rl_master_change.setOnClickListener(this);
  140. mAvatarImg = (ImageView) findViewById(R.id.avatar_img);
  141. mNickNameTv = (TextView) findViewById(R.id.nick_name_tv);
  142. mPhoneNumTv = (TextView) findViewById(R.id.phone_number_tv);
  143. //init data
  144. company_tv.setText(CommonUtil.getSharedPreferences(ct, "erp_commpany"));
  145. master_tv.setText(CommonUtil.getSharedPreferences(ct, "erp_master"));
  146. IntentFilter loginFilter = new IntentFilter();
  147. loginFilter.addAction("com.app.home.update");
  148. LocalBroadcastManager.getInstance(ct).registerReceiver(updateLoginState, loginFilter);
  149. String loginUserId = MyApplication.getInstance().mLoginUser.getUserId();
  150. AvatarHelper.getInstance().displayAvatar(loginUserId, mAvatarImg, true);
  151. mNickNameTv.setText(MyApplication.getInstance().mLoginUser.getNickName());
  152. mPhoneNumTv.setText(MyApplication.getInstance().mLoginUser.getTelephone());
  153. mAvatarImg.setOnClickListener(new View.OnClickListener() {
  154. @Override
  155. public void onClick(View v) {
  156. String loginUserId = MyApplication.getInstance().mLoginUser.getUserId();
  157. Intent intent = new Intent(getActivity(), SingleImagePreviewActivity.class);
  158. intent.putExtra(AppConstant.EXTRA_IMAGE_URI, AvatarHelper.getAvatarUrl(loginUserId, false));
  159. startActivity(intent);
  160. getActivity().overridePendingTransition(0, 0);
  161. }
  162. });
  163. // 这样写的目的,是为了初始化本页面的时候,时时根据英文名字来查询当前的中文账套
  164. if (!StringUtils.isEmpty(CommonUtil.getSharedPreferences(ct,
  165. "Master_ch"))) {
  166. master_tv.setText(CommonUtil.getSharedPreferences(ct, "Master_ch"));
  167. }
  168. getChinaMaster();
  169. updateStatus();
  170. }
  171. // private void setApl() {
  172. //
  173. // View view1=findViewById(R.id.info_rl);
  174. // View view2=findViewById(R.id.my_data_rl);
  175. // View view3=findViewById(R.id.my_friend_rl);
  176. // View view4=findViewById(R.id.my_space_rl);
  177. // View view5=findViewById(R.id.local_video_rl);
  178. // View view6=findViewById(R.id.rl_company_change);
  179. // View view7=findViewById(R.id.rl_master_change);
  180. //
  181. // ViewAlphaUtil.setViewAlpha(view1);
  182. // ViewAlphaUtil.setViewAlpha(view2);
  183. // ViewAlphaUtil.setViewAlpha(view3);
  184. // ViewAlphaUtil.setViewAlpha(view4);
  185. // ViewAlphaUtil.setViewAlpha(view5);
  186. // ViewAlphaUtil.setViewAlpha(view6);
  187. // ViewAlphaUtil.setViewAlpha(view7);
  188. // ViewAlphaUtil.setViewAlpha(findViewById(R.id.my_erp_rl));
  189. // ViewAlphaUtil.setViewAlpha(findViewById(R.id.my_b2b_rl));
  190. // ViewAlphaUtil.setViewAlpha(findViewById(R.id.setting_rl));
  191. //
  192. //
  193. // }
  194. /**
  195. * @desc:账户设置菜单界面
  196. * @author:Administrator on 2016/1/27 16:05
  197. */
  198. @Override
  199. public void onClick(View v) {
  200. int id = v.getId();
  201. switch (id) {
  202. case R.id.rl_company_change:
  203. // Log.i("LoginApp","手机号:"+MyApplication.getInstance().mLoginUser.getTelephone() );
  204. // Log.i("LoginApp","密码:"+ CommonUtil.getSharedPreferences(ct,"user_password"));
  205. String commpany = CommonUtil.getSharedPreferences(ct, "erp_commpany");
  206. com.sk.weichat.ui.erp.net.ViewUtil.LoginTask(MyApplication.getInstance().mLoginUser.getTelephone()
  207. , CommonUtil.getSharedPreferences(ct, "user_password"), ct);
  208. break;
  209. case R.id.rl_master_change:
  210. changeMaster();
  211. break;
  212. case R.id.my_data_rl:// 我的资料
  213. startActivityForResult(new Intent(getActivity(), BasicInfoEditActivity.class), 1);
  214. break;
  215. case R.id.my_friend_rl:// 我的朋友
  216. startActivity(new Intent(getActivity(), CardcastActivity.class));
  217. break;
  218. case R.id.my_space_rl:// 我的空间
  219. {
  220. Intent intent = new Intent(getActivity(), BusinessCircleActivity.class);
  221. intent.putExtra(AppConstant.EXTRA_CIRCLE_TYPE, AppConstant.CIRCLE_TYPE_PERSONAL_SPACE);
  222. startActivity(intent);
  223. }
  224. break;
  225. case R.id.local_video_rl:// 本地视频
  226. startActivity(new Intent(getActivity(), LocalVideoActivity.class));
  227. break;
  228. case R.id.setting_rl:// 设置
  229. startActivity(new Intent(getActivity(), SettingActivity.class));
  230. break;
  231. }
  232. }
  233. @Override
  234. public void onActivityResult(int requestCode, int resultCode, Intent data) {
  235. super.onActivityResult(requestCode, resultCode, data);
  236. if (requestCode == 1 || resultCode == Activity.RESULT_OK) {// 个人资料更新了
  237. AvatarHelper.getInstance().displayAvatar(MyApplication.getInstance().mLoginUser.getUserId(), mAvatarImg, true);
  238. mNickNameTv.setText(MyApplication.getInstance().mLoginUser.getNickName());
  239. }
  240. }
  241. //获取中文账套
  242. public void getChinaMaster() {
  243. String url = Constants.getAppBaseUrl(ct) + "mobile/getAllMasters.action";
  244. Map<String, Object> params = new HashMap<>();
  245. params.put("sessionId", CommonUtil.getSharedPreferences(ct, "sessionId"));
  246. LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
  247. headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"));
  248. ViewUtil.httpSendRequest(ct, url, params, mhandler, headers, 1, null, null, "get");
  249. }
  250. private void getChMaster(List<Master> mList) {
  251. if (!mList.isEmpty()) {
  252. String en_master = CommonUtil.getSharedPreferences(ct, "erp_master");
  253. for (int i = 0; i < mList.size(); i++) {
  254. Master master = mList.get(i);
  255. if (master.getMa_user().equals(en_master)) {
  256. master_tv.setText(master.getMa_function());
  257. CommonUtil.setSharedPreferences(ct, "Master_ch", master.getMa_function());
  258. }
  259. }
  260. } else {
  261. master_tv.setText(CommonUtil.getSharedPreferences(ct, "erp_master"));
  262. }
  263. }
  264. //切换账套
  265. public void changeMaster() {
  266. String url = Constants.getAppBaseUrl(ct) + "mobile/getAllMasters.action";
  267. Map<String, Object> params = new HashMap<>();
  268. params.put("sessionId", CommonUtil.getSharedPreferences(ct, "sessionId"));
  269. LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
  270. headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"));
  271. ViewUtil.httpSendRequest(ct, url, params, mhandler, headers, 2, null, null, "get");
  272. }
  273. //切换登录
  274. public void Login(Master master) {
  275. String url = Constants.getAppBaseUrl(ct) + "mobile/login.action";
  276. Map<String, Object> params = new HashMap<String, Object>();
  277. String username = CommonUtil.getSharedPreferences(ct, "erp_username");
  278. String password = CommonUtil.getSharedPreferences(ct, "user_password");
  279. params.put("username", username);
  280. params.put("password", password);
  281. params.put("master", master.getMa_user());
  282. Message message = new Message();
  283. Bundle bundle = new Bundle();
  284. bundle.putString("master", master.getMa_user());
  285. bundle.putString("master_ch", master.getMa_function());
  286. message.setData(bundle);
  287. LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
  288. headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"));
  289. ViewUtil.httpSendRequest(ct, url, params, mhandler, headers, 3, message, bundle, "get");
  290. }
  291. public void updateStatus() {
  292. if (!StringUtils.isEmpty(CommonUtil.getSharedPreferences(ct,
  293. "user_phone"))) {
  294. if (CommonUtil.getSharedPreferencesBoolean(ct, "erp_login")) {
  295. company_tv.setText(CommonUtil.getSharedPreferences(ct, "erp_commpany"));
  296. // master_tv.setText(CommonUtil.getSharedPreferences(ct,"master"));
  297. tv_uas_login.setText("已登录");
  298. } else {
  299. tv_uas_login.setText("未登录");
  300. }
  301. if (CommonUtil.getSharedPreferencesBoolean(ct, "b2b_login")) {
  302. tv_b2b_login.setText("已登录");// 已登录
  303. } else {
  304. tv_b2b_login.setText("未登录");
  305. }
  306. } else {
  307. company_tv.setText("");
  308. master_tv.setText("");
  309. tv_b2b_login.setText("未登录");
  310. tv_uas_login.setText("未登录");
  311. }
  312. }
  313. /**
  314. * @desc:广播
  315. * @author:Administrator on 2016/3/31 10:35
  316. */
  317. private BroadcastReceiver updateLoginState = new BroadcastReceiver() {
  318. public void onReceive(Context context, Intent intent) {
  319. if (intent.getAction().equals("com.app.home.update")) {
  320. String falg = intent.getStringExtra("falg"); // 过滤ERP登录成功//过滤falg
  321. if (!"home".equals(falg)) {
  322. updateStatus();
  323. }
  324. if ("ERP".equals(falg)) {
  325. getChinaMaster();
  326. }
  327. }
  328. }
  329. ;
  330. };
  331. }