fee_rate_controller.js 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. /**
  2. * Created by zhang on 2018/9/10.
  3. */
  4. import BaseController from "../../common/base/base_controller";
  5. let config = require("../../../config/config.js");
  6. let logger = require('../../../logs/log_helper').logger;
  7. import feeRateFacade from "../facade/fee_rate_facade";
  8. import CompilationModel from '../../users/models/compilation_model';
  9. class FeeRateController extends BaseController{
  10. async main(request, response) {
  11. let compilationModel = new CompilationModel();
  12. let compilationList = await compilationModel.getCompilationList({_id: 1, name: 1});
  13. compilationList.unshift({_id: 'all', name: '所有'});
  14. let activeCompilation = compilationList.find(compilation => compilation._id.toString() === request.query.filter);
  15. if (activeCompilation) {
  16. activeCompilation.active = 'active';
  17. } else {
  18. compilationList[0].active = 'active'
  19. }
  20. let filter = request.query.filter ? {compilationId: request.query.filter} : {};
  21. let feeRateLibs = await feeRateFacade.findByCondition(filter,{rates:0},false);
  22. let randerData = {
  23. title:'费率标准库',
  24. userAccount: request.session.managerData.username,
  25. userID: request.session.managerData.userID,
  26. feeRateLibs:feeRateLibs,
  27. compilationList: compilationList,
  28. layout: 'maintain/common/html/layout'
  29. };
  30. response.render("maintain/fee_rate_lib/html/main", randerData);
  31. }
  32. async addLib(request, response){
  33. try {
  34. await feeRateFacade.addLib(request.body);
  35. }catch (error) {
  36. console.log(error);
  37. }
  38. response.redirect(request.headers.referer);
  39. }
  40. async findLib(request, response){
  41. let result={
  42. error:0
  43. };
  44. try {
  45. let data = request.body.data;
  46. data = JSON.parse(data);
  47. let conditions={ID:data.ID};
  48. let resultData = await feeRateFacade.findByCondition(conditions);
  49. result.data=resultData;
  50. }catch (err){
  51. console.log(err);
  52. result.error=1;
  53. result.message = err.message;
  54. }
  55. response.json(result);
  56. }
  57. async saveLib(request, response){
  58. let result={
  59. error:0
  60. };
  61. try {
  62. let data = request.body.data;
  63. data = JSON.parse(data);
  64. let resultData= await feeRateFacade.saveLib(data);
  65. result.data=resultData;
  66. }catch (err){
  67. console.log(err);
  68. result.error=1;
  69. result.message = err.message;
  70. }
  71. response.json(result);
  72. }
  73. async deleteLibByID(request,response){
  74. logger.info(`delete feeRateLib ${request.ip}`);
  75. let result={
  76. error:0
  77. };
  78. try {
  79. let data = request.body.data;
  80. data = JSON.parse(data);
  81. let resultData= await feeRateFacade.deleteLibByID(data.ID);
  82. result.data=resultData;
  83. }catch (err){
  84. console.log(err);
  85. result.error=1;
  86. result.message = err.message;
  87. }
  88. response.json(result);
  89. }
  90. async edit(request,response){
  91. //先取出替换库信息:
  92. let libID = request.params.libID;
  93. let feeRateLib = await feeRateFacade.findByCondition({'ID':libID});
  94. if(feeRateLib){
  95. let randerData = {
  96. title:'费率标准库',
  97. mainURL:'/feeRate/main',
  98. libName:feeRateLib.libName,
  99. userAccount: request.session.managerData.username,
  100. userID: request.session.managerData.userID,
  101. rateList:JSON.stringify(feeRateLib.rates),
  102. libID:libID,
  103. LicenseKey:config.getLicenseKey(process.env.NODE_ENV),
  104. layout: 'maintain/common/html/edit_layout'
  105. };
  106. response.render("maintain/fee_rate_lib/html/edit", randerData);
  107. }else {
  108. response.redirect(request.headers.referer);
  109. }
  110. }
  111. }
  112. export default FeeRateController;