AccountMaintenanceService.java 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252
  1. package com.fuzamei.service;
  2. import java.text.SimpleDateFormat;
  3. import java.util.Date;
  4. import java.util.LinkedHashMap;
  5. import java.util.List;
  6. import java.util.Map;
  7. import org.springframework.beans.factory.annotation.Autowired;
  8. import org.springframework.stereotype.Service;
  9. import org.springframework.transaction.annotation.Transactional;
  10. import com.fuzamei.dao.AccountMaintenanceDao;
  11. import com.fuzamei.entity.AccountOpeningRecord;
  12. import com.fuzamei.utils.PageDTO;
  13. @Service
  14. public class AccountMaintenanceService {
  15. @Autowired
  16. private AccountMaintenanceDao accountMaintenanceDao;
  17. private static final int ROW_NUM = 10; // 分页每页显示数据的数量
  18. /**
  19. * 添加 上传 账户维护信息
  20. * @param map
  21. */
  22. @Transactional
  23. public void insertIntoAccountINfo(Map<String, Object> map) {
  24. String customer_id=""; //ID
  25. String customer_name="";//客户名称
  26. String bank_account="";//银行账号
  27. String hash="";//上传三个文件 应该产生几个hash值??????操作hash?
  28. //省略几个直接put进去
  29. String basicAttachment_id=""; //基本资料附件id
  30. String basicAttachment_name=""; //基本资料附件名称
  31. String basicUrl=""; //基本资料附件url
  32. String basicUpload_person_id=""; //基本资料附件上传人的id
  33. long basicCreate_time=0; //基本资料附件添加的时间
  34. String letterAttachment_id=""; //承诺书附件id
  35. String letterAttachment_name=""; //承诺书附件名称
  36. String letterUrl=""; //承诺书附件url
  37. String letterUpload_person_id=""; //承诺书附件上传人的id
  38. long letterCreate_time=0; //承诺书附件添加的时间
  39. String applicationAttachment_id=""; //开户申请书附件id
  40. String applicationAttachment_name=""; //开户申请书附件名称
  41. String applicationUrl=""; //开户申请书附件url
  42. String applicationUpload_person_id=""; //开户申请书附件上传人的id
  43. long applicationCreate_time=0; //开户申请书附件添加的时间
  44. if (!"".equals(map.get("customer_id")) && map.get("customer_id") != null) {
  45. customer_id = String.valueOf(map.get("customer_id"));
  46. }
  47. if (!"".equals(map.get("customer_name")) && map.get("customer_name") != null) {
  48. customer_name = (String) map.get("customer_name");
  49. }
  50. if (!"".equals(map.get("bank_account")) && map.get("bank_account") != null) {
  51. bank_account = (String) map.get("bank_account");
  52. }
  53. if (!"".equals(map.get("basicAttachment_id")) && map.get("basicAttachment_id") != null) {
  54. basicAttachment_id = String.valueOf(map.get("basicAttachment_id"));
  55. }
  56. if (!"".equals(map.get("basicAttachment_name")) && map.get("basicAttachment_name") != null) {
  57. basicAttachment_name = (String) map.get("basicAttachment_name");
  58. }
  59. if (!"".equals(map.get("basicUrl")) && map.get("basicUrl") != null) {
  60. basicUrl = (String) map.get("basicUrl");
  61. }
  62. if (!"".equals(map.get("basicUpload_person_id")) && map.get("basicUpload_person_id") != null) {
  63. basicUpload_person_id = (String) map.get("basicUpload_person_id");
  64. }
  65. if (!"".equals(map.get("basicCreate_time")) && map.get("basicCreate_time") != null) {
  66. basicCreate_time = (Long) map.get("basicCreate_time");
  67. }
  68. if (!"".equals(map.get("letterAttachment_id")) && map.get("letterAttachment_id") != null) {
  69. letterAttachment_id = String.valueOf(map.get("letterAttachment_id"));
  70. }
  71. if (!"".equals(map.get("letterAttachment_name")) && map.get("letterAttachment_name") != null) {
  72. letterAttachment_name = (String) map.get("letterAttachment_name");
  73. }
  74. if (!"".equals(map.get("letterUrl")) && map.get("letterUrl") != null) {
  75. letterUrl = (String) map.get("letterUrl");
  76. }
  77. if (!"".equals(map.get("letterUpload_person_id")) && map.get("letterUpload_person_id") != null) {
  78. letterUpload_person_id = (String) map.get("letterUpload_person_id");
  79. }
  80. if (!"".equals(map.get("letterCreate_time")) && map.get("letterCreate_time") != null) {
  81. letterCreate_time = (Long) map.get("letterCreate_time");
  82. }
  83. if (!"".equals(map.get("applicationAttachment_id")) && map.get("applicationAttachment_id") != null) {
  84. applicationAttachment_id = String.valueOf(map.get("applicationAttachment_id"));
  85. }
  86. if (!"".equals(map.get("applicationAttachment_name")) && map.get("applicationAttachment_name") != null) {
  87. applicationAttachment_name = (String) map.get("applicationAttachment_name");
  88. }
  89. if (!"".equals(map.get("applicationUrl")) && map.get("applicationUrl") != null) {
  90. applicationUrl = (String) map.get("applicationUrl");
  91. }
  92. if (!"".equals(map.get("applicationUpload_person_id")) && map.get("applicationUpload_person_id") != null) {
  93. applicationUpload_person_id = (String) map.get("applicationUpload_person_id");
  94. }
  95. if (!"".equals(map.get("applicationCreate_time")) && map.get("applicationCreate_time") != null) {
  96. applicationCreate_time = (Long) map.get("applicationCreate_time");
  97. }
  98. SimpleDateFormat df = new SimpleDateFormat("yyyyMMHHmmss");
  99. String ss= df.format(new Date());
  100. Map<String, Object> mapToDao = new LinkedHashMap<String, Object>();
  101. mapToDao.put("customer_id", "201712"+Math.round(Math.random()*8999+100));//ID先写成随机数 到时候不行在改
  102. mapToDao.put("customer_name",customer_name );
  103. mapToDao.put("bank_account","622707"+ss);//银行帐号 产生不能一样 这里是用Date时间做账号 18位数 //直接put进来 Action 可以不要
  104. mapToDao.put("basicAttachment_id", basicAttachment_id);//基本资料id
  105. mapToDao.put("letterAttachment_id", letterAttachment_id);//承诺书id
  106. mapToDao.put("applicationAttachment_id", applicationAttachment_id);//申请书id
  107. mapToDao.put("update_time", System.currentTimeMillis());//更新时间
  108. mapToDao.put("status_id", 9);//状态写的是死值 9状态代表已完成 因为 刚注册开完户的用户账号就要能使用
  109. mapToDao.put("hash","ccccccc");//哈希值暂时写的是个字符串死值 操作hash????
  110. accountMaintenanceDao.insertIntoAccountMaintenanceInfo(mapToDao);
  111. Map<String, Object> mapToDaoBasic = new LinkedHashMap<String, Object>();
  112. mapToDaoBasic.put("attachment_id", basicAttachment_id);
  113. mapToDaoBasic.put("attachment_name", basicAttachment_name);
  114. mapToDaoBasic.put("url", basicUrl);
  115. mapToDaoBasic.put("upload_person_id", 10085);//写的是死值 到时候在改 目前id号是写死,到时候需要动态获取这个信息
  116. mapToDaoBasic.put("create_time", mapToDao.get("update_time"));
  117. accountMaintenanceDao.insertAccountMaintenanceInfoFuJianBiao(mapToDaoBasic);//上传其他凭证 到附件表
  118. Map<String, Object> mapToDaoLetter = new LinkedHashMap<String, Object>();
  119. mapToDaoLetter.put("attachment_id", letterAttachment_id);
  120. mapToDaoLetter.put("attachment_name", letterAttachment_name);
  121. mapToDaoLetter.put("url", letterUrl);
  122. mapToDaoLetter.put("upload_person_id", 10085);//写的是死值 到时候在改 待改动 目前id号是写死,到时候需要动态获取这个信息
  123. mapToDaoLetter.put("create_time", mapToDao.get("update_time"));
  124. accountMaintenanceDao.insertAccountMaintenanceInfoFuJianBiao(mapToDaoLetter);//上传承诺书的 到附件表
  125. Map<String, Object> mapToDaoApplication = new LinkedHashMap<String, Object>();
  126. mapToDaoApplication.put("attachment_id", applicationAttachment_id);
  127. mapToDaoApplication.put("attachment_name", applicationAttachment_name);
  128. mapToDaoApplication.put("url", applicationUrl);
  129. mapToDaoApplication.put("upload_person_id", 10085);//写的是死值 到时候在改 ?? 待改动 目前id号是写死,到时候需要动态获取这个信息
  130. mapToDaoApplication.put("create_time", mapToDao.get("update_time"));
  131. accountMaintenanceDao.insertAccountMaintenanceInfoFuJianBiao(mapToDaoApplication);//上传开户申请书的 到附件表
  132. //还要将账户开立添加上传的这个操作信息插入到操作记录表中
  133. Map<String, Object> mapToOperationHistory = new LinkedHashMap<String,Object>();
  134. mapToOperationHistory.put("operatorTypeId", 1001); //
  135. mapToOperationHistory.put("operatorAccount", 500000255); //操作账号先定死
  136. mapToOperationHistory.put("operatorRole", "经办支行"); //创建这个操作的角色只能是经办支行/开户行
  137. mapToOperationHistory.put("operatorPerson", "张五"); //操作人先写死
  138. mapToOperationHistory.put("operatorTime", mapToDao.get("update_time")); //操作时间为当前操作时间
  139. mapToOperationHistory.put("hash", "操作hash值2"); //写的时死值
  140. accountMaintenanceDao.insertAccountMaintenanceInfoOperationHistory(mapToOperationHistory); //将账户开立添加上传的操作记录信息插入到操作记录表中
  141. }
  142. /**
  143. * 查看账户维护开立信息 列表
  144. * @param map
  145. * @return
  146. */
  147. public PageDTO selectAccountMaintenanceInfo(Map<String,Object> map) {
  148. int page = 1; // 默认页是第一页
  149. String customer_name = ""; //
  150. String bank_account = ""; //
  151. long startTime = 0; // 开始时间默认0
  152. long endTime = Long.MAX_VALUE; // 结束时间默认Long最大值
  153. if (!"".equals(map.get("page")) && map.get("page") != null) { // 等于空就直接取第一页
  154. try {
  155. page = Integer.parseInt((String) map.get("page"));
  156. if (page < 1) {
  157. page = 1;
  158. }
  159. } catch (NumberFormatException e) {
  160. page = 1; // 数据解析异常page还是1
  161. }
  162. }
  163. if (!"".equals(map.get("customer_name")) && map.get("customer_name") != null) { // 等于空就直接取空值
  164. customer_name = (String) map.get("customer_name");
  165. }
  166. if (!"".equals(map.get("bank_account")) && map.get("bank_account") != null) { // 等于空就直接取空值
  167. bank_account = (String) map.get("bank_account");
  168. }
  169. if (!"".equals(map.get("startTime")) && map.get("startTime") != null) { // 等于空就直接取空值
  170. try {
  171. startTime = Long.parseLong((String) map.get("startTime"));
  172. } catch (NumberFormatException e) {
  173. startTime = 0; // 数据解析异常startTime还是0
  174. }
  175. }
  176. if (!"".equals(map.get("endTime")) && map.get("endTime") != null) { // 等于空就直接取空值
  177. try {
  178. endTime = Long.parseLong((String) map.get("endTime"));
  179. } catch (NumberFormatException e) {
  180. endTime = Long.MAX_VALUE; // 数据解析异常endTime还是9223372036854775807L
  181. }
  182. }
  183. PageDTO pageDto = new PageDTO(); // 创建分页对象
  184. Map<String, Object> mapToDao = new LinkedHashMap<String, Object>();
  185. mapToDao.put("startPage", (page - 1) * ROW_NUM);
  186. mapToDao.put("customer_name", customer_name);
  187. mapToDao.put("bank_account", bank_account);
  188. if (startTime <= endTime) {
  189. mapToDao.put("startTime", startTime);
  190. mapToDao.put("endTime", endTime);
  191. } else {
  192. mapToDao.put("startTime", startTime);
  193. mapToDao.put("endTime", Long.MAX_VALUE);
  194. }
  195. mapToDao.put("rowNum", ROW_NUM); // 默认每页显示数据是10条,可根据需求修改分页数量
  196. int count = accountMaintenanceDao.selectCountAccountMaintenancePage();
  197. List<AccountOpeningRecord> list=accountMaintenanceDao.selectAccountMaintenanceInfo(mapToDao);
  198. pageDto.setTotal(count);
  199. pageDto.setRows(list);
  200. return pageDto;
  201. }
  202. /**账户开立 查看详情 供应下载提示框
  203. * postman customer_id 200002
  204. * @param map
  205. * @return
  206. */
  207. public Map<String, Object> selectAccountMaintenanceNoPage(Map<String, Object> map){
  208. Integer customer_id=null; //ID
  209. if(!"".equals(map.get("customer_id")) && null!=map.get("customer_id")){
  210. customer_id = Integer.parseInt((String)map.get("customer_id"));
  211. }
  212. Map<String, Object> mapToDao = new LinkedHashMap<String, Object>();
  213. mapToDao.put("customer_id", customer_id);
  214. List<AccountOpeningRecord> AccountMaintenancelist=accountMaintenanceDao.selectAccountMaintenanceNoPage(mapToDao);
  215. Map<String, Object> AccountOpenAction = new LinkedHashMap<String, Object>();
  216. AccountOpenAction.put("customer_id", customer_id);
  217. AccountOpenAction.put("AccountMaintenancelist", AccountMaintenancelist);
  218. return AccountOpenAction;
  219. }
  220. }