7bbe818befa8455ee7cb4b20939e2142932356d3.svn-base 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. package eVVM.apk.ui.home.uploadChip;
  2. import com.alibaba.fastjson.JSONArray;
  3. import com.allen.library.RxHttpUtils;
  4. import com.allen.library.interceptor.Transformer;
  5. import com.google.gson.Gson;
  6. import java.util.HashMap;
  7. import java.util.Map;
  8. import eVVM.apk.api.ApiService;
  9. import eVVM.apk.app.MyApplication;
  10. import eVVM.apk.common.MyDataObsever;
  11. import eVVM.apk.db.netteconnectdb.NetReConnectDaoOpe;
  12. import eVVM.apk.entity.NetReConnectEntity;
  13. import eVVM.apk.helper.SPUtils;
  14. import eVVM.apk.mvp.MvpModel;
  15. import eVVM.apk.ui.bean.VnDetailBean;
  16. /**
  17. * Created by Android Studio.
  18. * User: zbb
  19. * Date: 2019/6/1
  20. * Describe: UploadChipModel
  21. */
  22. public class UploadChipModel extends MvpModel<UploadChipOnListener> {
  23. public UploadChipModel() {
  24. }
  25. //操作员提交数据
  26. public void forFactoryOperator(String chipNumber, String cipherText, double longitude, double latitude) {
  27. Map<String, Object> map = new HashMap<>();
  28. map.put("chipNumber", chipNumber);
  29. map.put("longitude", longitude);
  30. map.put("latitude", latitude);
  31. map.put("cipherText", cipherText);
  32. RxHttpUtils.createApi(ApiService.class)
  33. .saveChip(map)
  34. .compose(Transformer.<VnDetailBean>switchSchedulers())
  35. .subscribe(new MyDataObsever<VnDetailBean>() {
  36. @Override
  37. protected void onError(String errorMsg) {
  38. getListener().onFail(errorMsg,false);
  39. }
  40. @Override
  41. protected void onSuccess(VnDetailBean data) {
  42. if (data.getCode() == 200) {
  43. getListener().onSucceed(data);
  44. } else {
  45. getListener().onFail(data.getMsg(),false);
  46. }
  47. }
  48. @Override
  49. protected boolean isHideToast() {
  50. return true;
  51. }
  52. });
  53. }
  54. //医生提交数据
  55. public void forDoctor(final String chipNumber, String cipherText, String inoculators, double longitude, double latitude, boolean again, final boolean isWarning, final String noNetMsg) {
  56. Map<String, Object> map = new HashMap<>();
  57. map.put("chipNumber", chipNumber);
  58. map.put("inoculators", inoculators);
  59. map.put("longitude", longitude);
  60. map.put("latitude", latitude);
  61. map.put("vaccinationCipher", cipherText);
  62. map.put("agin", true);
  63. //Log.e("forDoctorinoculators",""+inoculators);
  64. final String setJsonmap = mapToJson(map);
  65. RxHttpUtils.createApi(ApiService.class)
  66. .uploadChip(map)
  67. .compose(Transformer.<VnDetailBean>switchSchedulers())
  68. .subscribe(new MyDataObsever<VnDetailBean>() {
  69. @Override
  70. protected void onError(String errorMsg) {
  71. boolean noNetRepeatFlag = false;
  72. if ("网络连接异常,请检查您的网络状态,稍后重试!".equals(errorMsg)) {
  73. String noNetChipListstr = (String) SPUtils.get("noNetChipList", "");
  74. JSONArray noNetChipList = (JSONArray) JSONArray.parse(noNetChipListstr);
  75. if (noNetChipList != null) {
  76. for (int i = 0; i < noNetChipList.size(); i++) {
  77. if (noNetChipList.get(i).toString().equals(chipNumber)) {
  78. noNetRepeatFlag = true;
  79. }
  80. }
  81. }
  82. if (noNetRepeatFlag || !noNetMsg.equals("正常")) {
  83. //已经使用过该芯片
  84. } else {
  85. NetReConnectEntity netReConnectEntity = new NetReConnectEntity();
  86. netReConnectEntity.setType(1);
  87. netReConnectEntity.setJsonmap(setJsonmap);
  88. netReConnectEntity.setIsWarning(isWarning);
  89. netReConnectEntity.setInterfaceName("chip");
  90. netReConnectEntity.setInterfaceUrl("uploadChip");
  91. NetReConnectDaoOpe.insertData(MyApplication.getAppContext(), netReConnectEntity);
  92. }
  93. }
  94. getListener().onFail(errorMsg,noNetRepeatFlag);
  95. }
  96. @Override
  97. protected void onSuccess(VnDetailBean data) {
  98. if (data.getCode() == 200) {
  99. getListener().onSucceed(data);
  100. } else {
  101. getListener().onFail(data.getMsg(),false);
  102. }
  103. }
  104. @Override
  105. protected boolean isHideToast() {
  106. return true;
  107. }
  108. });
  109. }
  110. /**
  111. * string转map
  112. *
  113. * @param map
  114. * @return
  115. */
  116. private String mapToJson(Map<String, Object> map) {
  117. String jsonString = new Gson().toJson(map);
  118. return jsonString;
  119. }
  120. }