7b94f8f55aeb756fe2d8425e6480db100d96732e.svn-base 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  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, final String inoculators, double longitude, double latitude, boolean again, final boolean isWarning, final String noNetMsg) {
  56. //String chipNumber2 = "18069716024899960000000000000320000000000000032000000000000000000000000000000000";
  57. Map<String, Object> map = new HashMap<>();
  58. map.put("chipNumber", chipNumber);
  59. map.put("inoculators", inoculators);
  60. map.put("longitude", longitude);
  61. map.put("latitude", latitude);
  62. map.put("vaccinationCipher", cipherText);
  63. map.put("agin", true);
  64. //Log.e("forDoctorinoculators",""+inoculators);
  65. final String setJsonmap = mapToJson(map);
  66. RxHttpUtils.createApi(ApiService.class)
  67. .uploadChip(map)
  68. .compose(Transformer.<VnDetailBean>switchSchedulers())
  69. .subscribe(new MyDataObsever<VnDetailBean>() {
  70. @Override
  71. protected void onError(String errorMsg) {
  72. boolean noNetRepeatFlag = false;
  73. if ("网络连接异常,请检查您的网络状态,稍后重试!".equals(errorMsg)) {
  74. String noNetChipListstr = (String) SPUtils.get("noNetChipList", "");
  75. JSONArray noNetChipList = (JSONArray) JSONArray.parse(noNetChipListstr);
  76. if (noNetChipList != null) {
  77. for (int i = 0; i < noNetChipList.size(); i++) {
  78. if (noNetChipList.get(i).toString().equals(chipNumber)) {
  79. noNetRepeatFlag = true;
  80. }
  81. }
  82. }
  83. if (noNetRepeatFlag || !noNetMsg.equals("正常")) {
  84. //已经使用过该芯片
  85. } else {
  86. NetReConnectEntity netReConnectEntity = new NetReConnectEntity();
  87. netReConnectEntity.setType(1);
  88. netReConnectEntity.setJsonmap(setJsonmap);
  89. netReConnectEntity.setIsWarning(isWarning);
  90. netReConnectEntity.setInterfaceName("chip");
  91. netReConnectEntity.setInterfaceUrl("uploadChip");
  92. netReConnectEntity.setInoculator(inoculators+"");
  93. NetReConnectDaoOpe.insertData(MyApplication.getAppContext(), netReConnectEntity);
  94. }
  95. }
  96. getListener().onFail(errorMsg,noNetRepeatFlag);
  97. }
  98. @Override
  99. protected void onSuccess(VnDetailBean data) {
  100. if (data.getCode() == 200) {
  101. getListener().onSucceed(data);
  102. } else {
  103. getListener().onFail(data.getMsg(),false);
  104. }
  105. }
  106. @Override
  107. protected boolean isHideToast() {
  108. return true;
  109. }
  110. });
  111. }
  112. /**
  113. * string转map
  114. *
  115. * @param map
  116. * @return
  117. */
  118. private String mapToJson(Map<String, Object> map) {
  119. String jsonString = new Gson().toJson(map);
  120. return jsonString;
  121. }
  122. }