InsAllController.java 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265
  1. package com.ydtech.modules.ins.controller;
  2. import com.ydtech.aop.GlobalExceptionHandler;
  3. import com.ydtech.core.page.HttpResult;
  4. import com.ydtech.core.page.PageRequest;
  5. import com.ydtech.core.page.PageResult;
  6. import com.ydtech.modules.base.controller.BaseController;
  7. import com.ydtech.modules.ins.model.InsTaskDetail;
  8. import com.ydtech.modules.ins.model.InsTaskHistory;
  9. import com.ydtech.modules.ins.model.InsTaskList;
  10. import com.ydtech.modules.ins.model.vo.PiccPriceSearchVo;
  11. import com.ydtech.modules.ins.model.vo.TaskFlowVo;
  12. import com.ydtech.modules.ins.service.*;
  13. import com.ydtech.utils.StringUtils;
  14. import com.ydtech.utils.idgen.IdGenerate;
  15. import io.swagger.annotations.ApiImplicitParam;
  16. import io.swagger.annotations.ApiImplicitParams;
  17. import io.swagger.annotations.ApiOperation;
  18. import org.joda.time.DateTime;
  19. import org.springframework.beans.factory.annotation.Autowired;
  20. import org.springframework.web.bind.annotation.*;
  21. import org.springframework.web.multipart.MultipartFile;
  22. import java.util.ArrayList;
  23. import java.util.List;
  24. @RestController
  25. @RequestMapping("/api/allins")
  26. public class InsAllController extends BaseController {
  27. @Autowired
  28. private GlobalExceptionHandler exceptionHandle;
  29. @Autowired
  30. InsTaskListService insTaskListService;
  31. @Autowired
  32. InsTaskDetailService insTaskDetailService;
  33. @Autowired
  34. InsTaskHistoryService insTaskHistoryService;
  35. @Autowired
  36. PiccService piccService;
  37. @Autowired
  38. TaipingService taipingService;
  39. @ApiOperation("任务流程")
  40. // @ApiImplicitParams({
  41. // @ApiImplicitParam(name="userName",value="用户名",dataType="string", paramType = "query",example="1401010001"),
  42. // @ApiImplicitParam(name="nowTime",value="上传时间",dataType="string", paramType = "query",example="20200120 12:11:01"),
  43. // @ApiImplicitParam(name="taskid",value="任务号",dataType="string", paramType = "query",example="14010100010001"),
  44. // @ApiImplicitParam(name="company",value="保险公司名",dataType="string", paramType = "query",example="picc taiping"),
  45. // @ApiImplicitParam(name="status",value="状态",dataType="string", paramType = "query",example="报价成功 申请核保 核保通过 支付成功"),
  46. // @ApiImplicitParam(name="remark",value="摘要",dataType="string", paramType = "query",example=""),
  47. // })
  48. @RequestMapping(value = "/taskflow", method = RequestMethod.POST)
  49. public HttpResult taskflow(@RequestBody TaskFlowVo taskFlowVo) {
  50. HttpResult result = HttpResult.ok("保存成功");
  51. try {
  52. // if(company.equalsIgnoreCase("picc")){
  53. DateTime currentDate = new DateTime();
  54. String currentDateStr = currentDate.toString("yyyy-MM-dd HH:mm:ss");
  55. InsTaskList insTaskList = new InsTaskList();
  56. insTaskList.setTaskid(taskFlowVo.getTaskid());
  57. insTaskList.setStatus(taskFlowVo.getStatus());
  58. insTaskList.setChecktime(currentDate.toDate());
  59. insTaskList.setRemark(taskFlowVo.getRemark());
  60. insTaskListService.updateSelective(insTaskList);
  61. insTaskDetailService.update(taskFlowVo.getUserName(), currentDateStr, taskFlowVo.getTaskid(), taskFlowVo.getCompany(), taskFlowVo.getStatus());
  62. InsTaskHistory insTaskHistory = new InsTaskHistory();
  63. insTaskHistory.setId(IdGenerate.nextId());
  64. insTaskHistory.setTaskid(taskFlowVo.getTaskid());
  65. // insTaskHistory.setCreatetime(currentDate.toDate());
  66. insTaskHistory.setOperator(taskFlowVo.getUserName());
  67. insTaskHistory.setStatus(taskFlowVo.getStatus());
  68. insTaskHistory.setRemark(taskFlowVo.getRemark());
  69. insTaskHistory.setCompany(taskFlowVo.getCompany());
  70. insTaskHistoryService.insertSelective(insTaskHistory);
  71. // } else if(company.equalsIgnoreCase("taiping")){
  72. //
  73. // }
  74. } catch (Exception e) {
  75. result = exceptionHandle.exceptionGet(e);
  76. }
  77. return result;
  78. }
  79. @ApiOperation("报价(保费计算)成功后,返回结果给后台保存")
  80. // @ApiImplicitParams({
  81. // @ApiImplicitParam(name="piccPriceSearchVo",value="报价的JSON对象",dataType="PiccPriceSearchVo", paramType = "query",example="{}"),
  82. // @ApiImplicitParam(name="taskid",value="任务号",dataType="string", paramType = "query",example="14010100010001"),
  83. // @ApiImplicitParam(name="company",value="保险公司名",dataType="string", paramType = "query",example="picc taiping"),
  84. // })
  85. @RequestMapping(value = "/pricesuccessback", method = RequestMethod.POST)
  86. public HttpResult pricesuccessback(@RequestBody PiccPriceSearchVo piccPriceSearchVo, String taskId, String company) {
  87. HttpResult result = HttpResult.ok();
  88. try {
  89. // String haha = getTestParamsStr();
  90. //String haha = piccPriceSearchVo.getParam();
  91. //TODO 需要判断一下piccPriceSearchVo有效性
  92. String backFromPicc = piccService.successback(piccPriceSearchVo, taskId, company);
  93. result = HttpResult.ok(backFromPicc);
  94. } catch (Exception e) {
  95. result = exceptionHandle.exceptionGet(e);
  96. }
  97. return result;
  98. }
  99. @PostMapping(value = "/findPage")
  100. public HttpResult findPage(@RequestBody PageRequest pageRequest) {
  101. int pageNum = pageRequest.getPageNum();
  102. int pageSize = pageRequest.getPageSize();
  103. StringBuffer whereStr = new StringBuffer(" where 1=1 ");
  104. ArrayList<String> params = new ArrayList<String>();
  105. //任务阶段(例如待继续,核保中等)
  106. String status = pageRequest.getColumnFilterValue(pageRequest, "status");
  107. if (!StringUtils.isNullOrEmpty(status)) {
  108. whereStr.append(" and status like ?");
  109. params.add("%" + status + "%");
  110. }
  111. //车牌号
  112. String licenseno = pageRequest.getColumnFilterValue(pageRequest, "licenseno");
  113. if (!StringUtils.isNullOrEmpty(licenseno)) {
  114. whereStr.append(" and licenseno like ?");
  115. params.add("%" + licenseno + "%");
  116. }
  117. //2020-05 查询日期,都是查询月度订单(我传过去的字段值例如2020-04)
  118. String querymonth = pageRequest.getColumnFilterValue(pageRequest, "querymonth");
  119. if (!StringUtils.isNullOrEmpty(querymonth)) {
  120. whereStr.append(" and createtime like ?");
  121. params.add("%" + querymonth + "%");
  122. }
  123. //insuredname 被保险人
  124. String insuredname = pageRequest.getColumnFilterValue(pageRequest, "insuredname");
  125. if (!StringUtils.isNullOrEmpty(insuredname)) {
  126. whereStr.append(" and insuredname like ?");
  127. params.add("%" + insuredname + "%");
  128. }
  129. whereStr.append(" order by createtime desc ");
  130. //传入查询条件
  131. PageResult pageResult = insTaskListService.selectPaging(pageNum, pageSize, whereStr.toString(), params.toArray());
  132. return HttpResult.ok(pageResult);
  133. }
  134. @ApiOperation("查询订单详情,根据任务号或公司(两个参数可以都传,也可以只传一个)来查询")
  135. @GetMapping(value = "/findTaskDetail")
  136. public HttpResult findTaskDetail(String taskid, String company) {
  137. //传入查询条件
  138. StringBuffer whereStr = new StringBuffer(" where 1=1 ");
  139. ArrayList<String> params = new ArrayList<String>();
  140. //任务号
  141. if (!StringUtils.isNullOrEmpty(taskid)) {
  142. whereStr.append(" and taskid=?");
  143. params.add(taskid);
  144. }
  145. //车牌号
  146. if (!StringUtils.isNullOrEmpty(company)) {
  147. whereStr.append(" and company=?");
  148. params.add(company);
  149. }
  150. whereStr.append(" and ( del_flag is null or del_flag<>'Y' ) ");
  151. List<InsTaskDetail> lst = insTaskDetailService.selectList(whereStr.toString(), params.toArray());
  152. return HttpResult.ok(lst);
  153. }
  154. @ApiOperation("查询订单轨迹")
  155. @GetMapping(value = "/findTaskHistory")
  156. public HttpResult findTaskHistory(String taskid) {
  157. //传入查询条件
  158. List<InsTaskHistory> lst = insTaskHistoryService.selectList(" where taskid=? ", new Object[]{taskid});
  159. return HttpResult.ok(lst);
  160. }
  161. /**
  162. * 上传图片
  163. *
  164. * @param userName 用户名
  165. * @param nowTime 上传时间
  166. * @param taskId 订单号
  167. * @param file 文件
  168. * @return
  169. */
  170. @ApiOperation("上传图片")
  171. @ApiImplicitParams({
  172. @ApiImplicitParam(name = "userName", value = "用户名", dataType = "string", paramType = "query", example = "1401010001"),
  173. @ApiImplicitParam(name = "nowTime", value = "上传时间", dataType = "string", paramType = "query", example = "20200120 12:11:01"),
  174. @ApiImplicitParam(name = "taskId", value = "任务号", dataType = "string", paramType = "query", example = "14010100010001"),
  175. @ApiImplicitParam(name = "licenseNo", value = "车牌号", dataType = "string", paramType = "query", example = "14010100010001"),
  176. })
  177. @RequestMapping(value = "/file/upload", method = RequestMethod.POST)
  178. public HttpResult uoloadFile(String userName, String nowTime, String taskId, String licenseNo, @RequestParam("file") MultipartFile file, String newFileName) {
  179. try {
  180. piccService.uploadFile(userName, nowTime, taskId, licenseNo, file, newFileName);
  181. return HttpResult.ok("上传文件成功");
  182. } catch (Exception e) {
  183. return HttpResult.error("上传文件失败");
  184. }
  185. }
  186. // @RequestMapping("/")
  187. // public ModelAndView home(Map<String, Object> model) {
  188. //
  189. // ModelAndView mav = new ModelAndView("index");
  190. //
  191. // return mav;
  192. // }
  193. // /**
  194. // * 返回体测试
  195. // * @param name
  196. // * @param pwd
  197. // * @return
  198. // */
  199. // @RequestMapping(value = "/getResult",method = RequestMethod.POST)
  200. // @ResponseBody
  201. // public Result getResult(@RequestParam("name") String name, @RequestParam("pwd") String pwd){
  202. // Result result = ResultUtil.success();
  203. // try {
  204. // if (name.equals("zzp")){
  205. // result = ResultUtil.success(new User(name));
  206. // }else if (name.equals("pzz")){
  207. // result = ResultUtil.error(ExceptionEnum.USER_NOT_FIND);
  208. // }else{
  209. // int i = 1/0;
  210. // }
  211. // }catch (Exception e){
  212. // result = exceptionHandle.exceptionGet(e);
  213. // }
  214. // return result;
  215. // }
  216. }