FieldsService.java 4.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. package ieven.server.webapp.service;
  2. import ieven.server.webapp.domain.alipay.AlipayType;
  3. import ieven.server.webapp.domain.alipay.HeaderProperties;
  4. import ieven.server.webapp.domain.data.Fields;
  5. import ieven.server.webapp.domain.tenpay.TenpayHeaders;
  6. import org.springframework.beans.factory.annotation.Autowired;
  7. import org.springframework.data.mongodb.core.MongoTemplate;
  8. import org.springframework.data.mongodb.core.query.Criteria;
  9. import org.springframework.data.mongodb.core.query.Query;
  10. import org.springframework.data.mongodb.core.query.Update;
  11. import org.springframework.stereotype.Service;
  12. import java.util.List;
  13. @Service
  14. public class FieldsService extends Ops {
  15. @Autowired
  16. MongoTemplate mongoTemplate;
  17. @Autowired
  18. private HeaderProperties headerProperties;
  19. /**
  20. * 校验上传的文件格式是否符合业务类型规则
  21. *
  22. * @param originFields
  23. */
  24. public void checkAllFields(List<Fields> originFields) {
  25. // 五联单-注册信息
  26. List<Fields> fields = this.checkFields(originFields, AlipayType.ALIPAY_ORIGIN_REGISTER);
  27. this.updateLogicalFile(fields, "五联单-注册信息");
  28. fields = this.checkFields(originFields, 12);
  29. this.updateLogicalFile(fields, "五联单-注册信息");
  30. fields = this.checkFields(originFields, 13);
  31. this.updateLogicalFile(fields, "五联单-注册信息");
  32. fields = this.checkFields(originFields, 14);
  33. this.updateLogicalFile(fields, "五联单-注册信息");
  34. // 五联单-登录日志
  35. fields = this.checkFields(originFields, AlipayType.ALIPAY_ORIGIN_LOGIN);
  36. this.updateLogicalFile(fields, "五联单-登录日志");
  37. // 五联单-交易记录
  38. fields = this.checkFields(originFields, AlipayType.ALIPAY_ORIGIN_TRADE);
  39. this.updateLogicalFile(fields, "五联单-交易记录");
  40. // 五联单-账户明细
  41. fields = this.checkFields(originFields, AlipayType.ALIPAY_ORIGIN_ACCOUNT);
  42. this.updateLogicalFile(fields, "五联单-账户明细");
  43. // 五联单-转账明细 ALIPAY_ORIGIN_TRANSFER
  44. fields = this.checkFields(originFields, AlipayType.ALIPAY_ORIGIN_TRANSFER);
  45. this.updateLogicalFile(fields, "五联单-转账明细 ");
  46. // 反诈平台订单数据
  47. fields = matchHeaders(originFields, headerProperties.getAntiCheatOrigin());
  48. this.updateLogicalFile(fields, "反诈平台订单数据");
  49. // 治安平台订单数据
  50. fields = matchHeaders(originFields, headerProperties.getSecurityOrigin());
  51. this.updateLogicalFile(fields, "治安平台订单数据");
  52. // 财付通 开户信息
  53. fields = matchHeaders(originFields, TenpayHeaders.getHeaders(3));
  54. this.updateLogicalFile(fields, "财付通-注册信息");
  55. // 财付通-订单明细
  56. fields = matchHeaders(originFields, TenpayHeaders.getHeaders(6));
  57. this.updateLogicalFile(fields, "财付通-订单明细2");
  58. fields = matchHeaders(originFields, TenpayHeaders.getHeaders(5));
  59. this.updateLogicalFile(fields, "财付通-订单明细2");
  60. fields = matchHeaders(originFields, TenpayHeaders.getHeaders(1));
  61. this.updateLogicalFile(fields, "财付通-订单明细2");
  62. fields = matchHeaders(originFields, TenpayHeaders.getHeaders(2));
  63. this.updateLogicalFile(fields, "财付通-订单明细2");
  64. fields = matchHeaders(originFields, TenpayHeaders.getHeaders(7));
  65. this.updateLogicalFile(fields, "财付通-订单明细1");
  66. fields = matchHeaders(originFields, TenpayHeaders.getHeaders(8));
  67. this.updateLogicalFile(fields, "财付通-订单明细1");
  68. // 财付通-手机明细
  69. fields = matchHeaders(originFields, TenpayHeaders.getHeaders(4));
  70. this.updateLogicalFile(fields, "财付通-手机明细");
  71. fields = matchHeaders(originFields, headerProperties.getEconomicOrder());
  72. this.updateLogicalFile(fields, "经侦数据-订单明细");
  73. }
  74. void updateLogicalFile(List<Fields> fields, String matchType) {
  75. if (fields.size() > 0) {
  76. for (Fields field : fields) {
  77. Query query = new Query();
  78. query.addCriteria(Criteria.where("_id").is(field.getFileId()));
  79. Update update = new Update();
  80. update.set("matchType", matchType);
  81. this.mongoTemplate.updateFirst(query, update, "logical_file");
  82. }
  83. }
  84. }
  85. }