yjbdc.js 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. import { query } from '../util/db.js';
  2. /**
  3. * YJBDC 模型
  4. */
  5. class YJBDC {
  6. /**
  7. * 获取用户信息(通过OpenID)
  8. * @param {Object} obj 查询参数
  9. * @returns {Promise<Array>} 用户信息
  10. */
  11. static async GetUsersInfo(obj) {
  12. try {
  13. const sql = "SELECT * FROM YJBDC_WXUsers WHERE OpenID=?";
  14. return await query(sql, [obj.OpenID]);
  15. } catch (error) {
  16. console.error('获取用户信息失败:', error);
  17. throw error;
  18. }
  19. }
  20. /**
  21. * 获取用户信息(通过UserID)
  22. * @param {Object} obj 查询参数
  23. * @returns {Promise<Array>} 用户信息
  24. */
  25. static async GetUsersInfoByUserID(obj) {
  26. try {
  27. const sql = "SELECT * FROM YJBDC_WXUsers WHERE UserID=?";
  28. return await query(sql, [obj.UserID]);
  29. } catch (error) {
  30. console.error('获取用户信息失败:', error);
  31. throw error;
  32. }
  33. }
  34. /**
  35. * 添加用户
  36. * @param {Object} obj 用户信息
  37. * @returns {Promise<Object>} 插入结果
  38. */
  39. static async AddUsers(obj) {
  40. try {
  41. const sql = "INSERT INTO YJBDC_WXUsers SET ?";
  42. return await query(sql, [obj]);
  43. } catch (error) {
  44. console.error('添加用户失败:', error);
  45. throw error;
  46. }
  47. }
  48. /**
  49. * 更新用户信息(通过OpenID)
  50. * @param {Object} obj 更新参数
  51. * @returns {Promise<Object>} 更新结果
  52. */
  53. static async UpdateUsers(obj) {
  54. try {
  55. const sql = "UPDATE YJBDC_WXUsers SET ? WHERE OpenID=?";
  56. return await query(sql, [obj, obj.OpenID]);
  57. } catch (error) {
  58. console.error('更新用户信息失败:', error);
  59. throw error;
  60. }
  61. }
  62. /**
  63. * 更新用户信息(通过UserID)
  64. * @param {Object} obj 更新参数
  65. * @returns {Promise<Object>} 更新结果
  66. */
  67. static async UpdateUsersByUserID(obj) {
  68. try {
  69. const sql = "UPDATE YJBDC_WXUsers SET ? WHERE UserID=?";
  70. return await query(sql, [obj, obj.UserID]);
  71. } catch (error) {
  72. console.error('更新用户信息失败:', error);
  73. throw error;
  74. }
  75. }
  76. static async AddOCRInfo(obj) {
  77. try {
  78. const sql = "INSERT INTO YJBDC_OCRs SET ?";
  79. return await query(sql, [obj]);
  80. } catch (error) {
  81. onsole.error('添加OCR失败:', error);
  82. throw error;
  83. }
  84. }
  85. static async AddArticleInfo(obj) {
  86. try {
  87. const sql = "INSERT INTO YJBDC_Articles SET ?";
  88. return await query(sql, [obj]);
  89. } catch (error) {
  90. console.error('添加OCR失败:', error);
  91. throw error;
  92. }
  93. }
  94. static async GetYJBDCArticleList(obj) {
  95. try {
  96. if (obj.ID>0 || obj.ID=="MAX"){
  97. if (obj.ID=="MAX"){
  98. let sql = "SELECT * FROM YJBDC_Articles WHERE UserID=? order by ID desc limit 1;";
  99. return await query(sql, [obj.UserID]);
  100. }
  101. else if (obj.UserID<4){
  102. let sql = "SELECT * FROM YJBDC_Articles WHERE ID=? and Flag=0;";
  103. return await query(sql, [obj.ID]);
  104. }
  105. else{
  106. let sql = "SELECT * FROM YJBDC_Articles WHERE UserID=? and ID=? and Flag=0;";
  107. return await query(sql, [obj.UserID,obj.ID]);
  108. }
  109. }
  110. else if (obj.IsChoiceness){
  111. let sql = "SELECT `ID`,`CreateTime`,`Words`,`Level`,`ArticleStyle`,`ArticleStart`,`ArticleTitle`,`Flag` FROM YJBDC_Articles WHERE ArticleTitle is not null and Flag=0 limit 4;";
  112. return await query(sql, null);
  113. }
  114. else{
  115. let sql = "SELECT `ID`,`UserID`,`CreateTime`,`Words`,`Level`,`ArticleStyle`,`ArticleStart`,`ReadCount`,`Flag` FROM YJBDC_Articles WHERE UserID=? order by ID desc limit 100;";
  116. return await query(sql, [obj.UserID]);
  117. }
  118. } catch (error) {
  119. console.error('获取信息失败:', error);
  120. throw error;
  121. }
  122. }
  123. static async UpdateYJBDCArticle(obj) {
  124. try {
  125. if (obj.Flag==-1){
  126. const sql = "UPDATE YJBDC_Articles SET Flag=-1 WHERE ID=? and UserID=?";
  127. return await query(sql, [obj.ID,obj.UserID]);
  128. }
  129. else if (obj.ReadCount==1){
  130. const sql = "UPDATE YJBDC_Articles SET ReadCount=ReadCount+1 WHERE ID=? and UserID=?";
  131. return await query(sql, [obj.ID,obj.UserID]);
  132. }
  133. } catch (error) {
  134. console.error('更新信息失败:', error);
  135. throw error;
  136. }
  137. }
  138. }
  139. export default YJBDC;