Order.interface.ts 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. import { Rule, RuleType } from '@midwayjs/validate';
  2. import { ApiProperty } from '@midwayjs/swagger';
  3. import { SearchBase } from 'free-midway-component';
  4. import get = require('lodash/get');
  5. const dealVO = (cla, data) => {
  6. for (const key in cla) {
  7. const val = get(data, key);
  8. if (val || val === 0) cla[key] = val;
  9. }
  10. };
  11. export class FVO_Order {
  12. constructor(data: object) {
  13. dealVO(this, data);
  14. }
  15. @ApiProperty({ description: '数据id' })
  16. _id: string = undefined;
  17. @ApiProperty({ description: '用户' })
  18. 'user': string = undefined;
  19. @ApiProperty({ description: '邮寄地址' })
  20. 'address': string = undefined;
  21. @ApiProperty({ description: '商品' })
  22. 'goods': Array<any> = undefined;
  23. @ApiProperty({ description: '总金额' })
  24. 'total_money': number = undefined;
  25. @ApiProperty({ description: '下单时间' })
  26. 'buy_time': string = undefined;
  27. @ApiProperty({ description: '审核记录' })
  28. 'record': Array<any> = undefined;
  29. @ApiProperty({ description: '订单状态' })
  30. 'status': string = undefined;
  31. }
  32. export class QDTO_Order extends SearchBase {
  33. constructor() {
  34. const like_prop = [];
  35. const props = ['user', 'buy_time', 'status'];
  36. const mapping = [];
  37. super({ like_prop, props, mapping });
  38. }
  39. @ApiProperty({ description: '用户' })
  40. 'user': string = undefined;
  41. @ApiProperty({ description: '下单时间' })
  42. 'buy_time': string = undefined;
  43. @ApiProperty({ description: '订单状态' })
  44. 'status': string = undefined;
  45. }
  46. export class QVO_Order extends FVO_Order {
  47. constructor(data: object) {
  48. super(data);
  49. dealVO(this, data);
  50. }
  51. }
  52. export class CDTO_Order {
  53. @ApiProperty({ description: '用户' })
  54. @Rule(RuleType['string']().empty(''))
  55. 'user': string = undefined;
  56. @ApiProperty({ description: '邮寄地址' })
  57. @Rule(RuleType['string']().empty(''))
  58. 'address': string = undefined;
  59. @ApiProperty({ description: '商品' })
  60. @Rule(RuleType['array']().empty(''))
  61. 'goods': Array<any> = undefined;
  62. @ApiProperty({ description: '总金额' })
  63. @Rule(RuleType['number']().empty(''))
  64. 'total_money': number = undefined;
  65. @ApiProperty({ description: '下单时间' })
  66. @Rule(RuleType['string']().empty(''))
  67. 'buy_time': string = undefined;
  68. @ApiProperty({ description: '审核记录' })
  69. @Rule(RuleType['array']().empty(''))
  70. 'record': Array<any> = undefined;
  71. @ApiProperty({ description: '订单状态' })
  72. @Rule(RuleType['string']().empty(''))
  73. 'status': string = undefined;
  74. }
  75. export class CVO_Order extends FVO_Order {
  76. constructor(data: object) {
  77. super(data);
  78. dealVO(this, data);
  79. }
  80. }
  81. export class UDTO_Order extends CDTO_Order {
  82. @ApiProperty({ description: '数据id' })
  83. @Rule(RuleType['string']().empty(''))
  84. _id: string = undefined;
  85. }
  86. export class UVAO_Order extends FVO_Order {
  87. constructor(data: object) {
  88. super(data);
  89. dealVO(this, data);
  90. }
  91. }