requestmessage.js 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328
  1. const req = require("./request.js");
  2. let tmplIds = [];
  3. /**
  4. * 根据状态添加订阅id
  5. */
  6. const getsendTemplateId = arr => {
  7. // console.log("dddaaaa", arr); // if(arr=='') return false
  8. return new Promise((res, rej) => {
  9. req.getRequest('/api/wxmes/querylist', {}, data => {
  10. req.setStorage('tmplIds', data);
  11. });
  12. if (req.getStorage('tmplIds')) {
  13. gettmplIds(req.getStorage('tmplIds'), arr, success => {
  14. // console.log("debug5", success);
  15. res(success);
  16. });
  17. } else {
  18. req.getRequest('/api/wxmes/querylist', {}, data => {
  19. req.setStorage('tmplIds', data);
  20. gettmplIds(data, arr, success => {
  21. // console.log("debug5", success);
  22. res(success);
  23. });
  24. });
  25. }
  26. });
  27. };
  28. const gettmplIds = async (data, arr, success) => {
  29. // debugger
  30. tmplIds = [];
  31. var item
  32. if (data && data.length > 0) {
  33. for (item in arr) {
  34. data.forEach(res => {
  35. if (res.bsusinessType == arr[item]) {
  36. tmplIds.push(res.sendTemplateId);
  37. }
  38. });
  39. }
  40. await uni.requestSubscribeMessage({
  41. tmplIds: tmplIds,
  42. success(res) {
  43. // console.log(res);
  44. },
  45. complete(res) {
  46. // console.log("deee", 1111);
  47. success.call(this, 2);
  48. },
  49. fail(res) {
  50. // console.log(res);
  51. }
  52. });
  53. } else {
  54. success.call(this, 1);
  55. }
  56. }; //传入特定场景(bsusinessType)的参数来获取对应模板id
  57. /**
  58. * num=[]
  59. * @param {*} num
  60. * 1 门店新订单
  61. * 2 门店日报表
  62. * 3 付款成功
  63. * 4 发货通知
  64. * 5 待签收提醒
  65. * 6 签收成功提醒
  66. * 7 确认收货提醒
  67. * 8 已预约活动开始提醒
  68. * 9 处方审核通知
  69. * 99 送药到家进度提醒
  70. * 11 "自提提醒"
  71. * 13 "预约提醒"
  72. * 12 "直播开播通知"
  73. * 15 退款成功提醒
  74. * 18 活动订阅提醒
  75. */
  76. // 活动预约提醒
  77. const remind = () => {
  78. return new Promise(aaa => {
  79. getsendTemplateId([8, 13]).then(res => {
  80. aaa(res);
  81. });
  82. }); // getsendTemplateId([4, 6])
  83. // console.log(tmplIds)
  84. // console.log(tmplIds)
  85. }; //自提订阅
  86. const selfRaising = () => {
  87. return new Promise(aaa => {
  88. try {
  89. getsendTemplateId([3,6,11]).then(res => {
  90. aaa(res);
  91. // console.log("debug1", res);
  92. }, rej => {
  93. // console.log("debug2", rej);
  94. });
  95. } catch (error) {
  96. // console.log("debug3", error);
  97. }
  98. });
  99. };
  100. //配送订阅
  101. const distribution = () => {
  102. return new Promise(aaa => {
  103. var arr = [3, 4, 6, 5, 7];
  104. if (req.getStorage("tmplIds")) {
  105. let res = req.getStorage("tmplIds");
  106. let i = [];
  107. var item
  108. for (item in arr) {
  109. res.forEach(res => {
  110. if (res.bsusinessType == arr[item] && res.sendTemplateId != '') {
  111. i.push(res.bsusinessType);
  112. }
  113. });
  114. }
  115. if (i.length >= 3) {
  116. i.splice(3);
  117. }
  118. try {
  119. getsendTemplateId(i).then(res => {
  120. // console.log("debug2", res);
  121. aaa(res);
  122. }, rej => {
  123. // console.log("debug3", rej);
  124. });
  125. } catch (error) {
  126. // console.log("debug1", error);
  127. }
  128. } else {
  129. // console.log("==========================456");
  130. req.getRequest('/api/wxmes/querylist', {}, res => {
  131. req.setStorage('tmplIds', res);
  132. let i = [];
  133. for (item in arr) {
  134. res.forEach(res => {
  135. if (res.bsusinessType == arr[item] && res.sendTemplateId != '') {
  136. i.push(res.bsusinessType);
  137. }
  138. });
  139. }
  140. if (i.length >= 3) {
  141. i.splice(3);
  142. }
  143. try {
  144. getsendTemplateId(i).then(res => {
  145. aaa(res);
  146. }, rej => { // console.log("debug3", rej)
  147. });
  148. } catch (error) { // console.log("debug1", error)
  149. }
  150. });
  151. }
  152. }); // console.log("rrr",rrr)
  153. // return rrr
  154. }; //及时达订阅
  155. const jisda = () => {
  156. return new Promise(aaa => {
  157. getsendTemplateId([3,6,7]).then(res => {
  158. aaa(res);
  159. });
  160. });
  161. };
  162. // 处方订阅
  163. const recipel = (mode) => {
  164. return new Promise(aaa => {
  165. let arr = [9]
  166. // console.log(mode)
  167. if (mode == '1') {
  168. arr = arr.concat([11])
  169. try {
  170. getsendTemplateId(arr).then(res => {
  171. aaa(res);
  172. }, rej => { // console.log("debug3", rej)
  173. });
  174. } catch (error) { // console.log("debug1", error)
  175. }
  176. } else {
  177. var a = [3, 4, 6, 5, 7];
  178. if (req.getStorage("tmplIds")) {
  179. let res = req.getStorage("tmplIds");
  180. let i = [];
  181. var item
  182. for (item in a) {
  183. res.forEach(res => {
  184. if (res.bsusinessType == a[item] && res.sendTemplateId != '') {
  185. i.push(res.bsusinessType);
  186. }
  187. });
  188. }
  189. if (i.length >= 2) {
  190. i.splice(2);
  191. }
  192. arr = arr.concat(i)
  193. // console.log(arr, "11111111", i)
  194. try {
  195. getsendTemplateId(arr).then(res => {
  196. aaa(res);
  197. }, rej => { // console.log("debug3", rej)
  198. });
  199. } catch (error) { // console.log("debug1", error)
  200. }
  201. } else {
  202. // console.log("=========================789=");
  203. req.getRequest('/api/wxmes/querylist', {}, res => {
  204. req.setStorage('tmplIds', res);
  205. let i = [];
  206. for (item in a) {
  207. res.forEach(res => {
  208. if (res.bsusinessType == arr[item] && res.sendTemplateId !=
  209. '') {
  210. i.push(res.bsusinessType);
  211. }
  212. });
  213. }
  214. if (i.length >= 2) {
  215. i.splice(2);
  216. }
  217. arr = arr.concat(i)
  218. try {
  219. getsendTemplateId(arr).then(res => {
  220. aaa(res);
  221. }, rej => { // console.log("debug3", rej)
  222. });
  223. } catch (error) { // console.log("debug1", error)
  224. }
  225. });
  226. }
  227. }
  228. // getsendTemplateId(arr).then(res => {
  229. // aaa(res);
  230. // });
  231. });
  232. };
  233. const refund = () => {
  234. return new Promise(aaa => {
  235. try {
  236. getsendTemplateId([15]).then(res => {
  237. aaa(res);
  238. // console.log("debug1", res);
  239. }, rej => {
  240. // console.log("debug2", rej);
  241. });
  242. } catch (error) {
  243. // console.log("debug3", error);
  244. }
  245. });
  246. };
  247. //活动订阅
  248. const remindActivity = () => {
  249. return new Promise(aaa => {
  250. try {
  251. getsendTemplateId([18]).then(res => {
  252. aaa(res);
  253. // console.log("debug1", res);
  254. }, rej => {
  255. // console.log("debug2", rej);
  256. });
  257. } catch (error) {
  258. // console.log("debug3", error);
  259. }
  260. });
  261. };
  262. /**
  263. * 开方审核
  264. */
  265. const prescribingAudit = () => {
  266. return new Promise(aaa => {
  267. getsendTemplateId([22]).then(res => {
  268. aaa(res);
  269. });
  270. });
  271. };
  272. //挂号
  273. const registeredSuccess = () => {
  274. return new Promise(aaa => {
  275. try {
  276. getsendTemplateId([19,20]).then(res => {
  277. aaa(res);
  278. // console.log("debug1", res);
  279. }, rej => {
  280. // console.log("debug2", rej);
  281. });
  282. } catch (error) {
  283. // console.log("debug3", error);
  284. }
  285. });
  286. };
  287. module.exports = {
  288. remind: remind,
  289. selfRaising: selfRaising,
  290. getsendTemplateId: getsendTemplateId,
  291. distribution: distribution,
  292. jisda: jisda,
  293. recipel: recipel,
  294. refund: refund,
  295. remindActivity: remindActivity,
  296. prescribingAudit:prescribingAudit,
  297. registeredSuccess: registeredSuccess,
  298. // templateId,
  299. // requsetmessage,
  300. tmplIds
  301. };