QuoteConfigController.java 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158
  1. package com.ydtech.modules.order.controller;
  2. import com.alibaba.fastjson.JSONArray;
  3. import com.alibaba.fastjson.JSONObject;
  4. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  5. import com.ydtech.core.page.HttpResult;
  6. import com.ydtech.modules.base.controller.BaseController;
  7. import com.ydtech.modules.esm.model.vo.res.EsmInsCompanyResVo;
  8. import com.ydtech.modules.esm.service.EsmInsCompanyService;
  9. import com.ydtech.modules.order.constants.QuoteNumberConstant;
  10. import com.ydtech.modules.order.entity.po.SysQuoteConfig;
  11. import com.ydtech.modules.order.entity.po.SysQuoteRecord;
  12. import com.ydtech.modules.order.entity.po.SysQuoteUserConfigAppend;
  13. import com.ydtech.modules.order.entity.vo.QuoteDetailsQueryVo;
  14. import com.ydtech.modules.order.entity.vo.QuoteDetailsVo;
  15. import com.ydtech.modules.order.entity.vo.QuoteNumRedisVo;
  16. import com.ydtech.modules.order.service.SysQuoteConfigService;
  17. import com.ydtech.modules.order.service.SysQuoteRedisService;
  18. import io.swagger.annotations.Api;
  19. import io.swagger.annotations.ApiModelProperty;
  20. import io.swagger.annotations.ApiOperation;
  21. import org.springframework.beans.factory.annotation.Autowired;
  22. import org.springframework.web.bind.annotation.*;
  23. import java.util.HashMap;
  24. import java.util.List;
  25. @Api(tags = "报价次数配置")
  26. @RestController
  27. @RequestMapping(value = "/quoteConfig")
  28. public class QuoteConfigController extends BaseController {
  29. @Autowired
  30. SysQuoteConfigService sysQuoteConfigService;
  31. @Autowired
  32. SysQuoteRedisService sysQuoteRedisService;
  33. @Autowired
  34. EsmInsCompanyService esmInsCompanyService;
  35. @GetMapping(value = "/getQuoteConfigInfo")
  36. @ApiOperation(value = "获取报价配置信息")
  37. public HttpResult getQuoteConfigInfo(String companyId){
  38. SysQuoteConfig quoteConfigInfo = sysQuoteConfigService.getQuoteConfigInfo(companyId);
  39. return HttpResult.ok(quoteConfigInfo);
  40. }
  41. @PostMapping(value = "setQuoteInfo")
  42. @ApiOperation(value = "设置报价配置信息")
  43. public HttpResult setQuoteInfo(@RequestBody SysQuoteConfig sysQuoteConfig){
  44. return sysQuoteConfigService.setQuoteInfo(sysQuoteConfig) ? HttpResult.ok("设置报价配置成功") : HttpResult.error("设置报价配置失败");
  45. }
  46. @PostMapping(value = "syncQuoteInfo")
  47. @ApiOperation(value = "同步报价配置信息")
  48. public HttpResult syncQuoteInfo(@RequestBody SysQuoteConfig sysQuoteConfig){
  49. List<EsmInsCompanyResVo> esmInsCompanyResVos = esmInsCompanyService.liveCompanyList();
  50. esmInsCompanyResVos.forEach(item->{
  51. sysQuoteConfig.setCompanyId(item.getId());
  52. sysQuoteConfigService.setQuoteInfo(sysQuoteConfig);
  53. });
  54. return HttpResult.ok("同步配置成功");
  55. }
  56. @PostMapping(value = "appendUserConfig")
  57. @ApiOperation(value = "用户配置追加配置信息")
  58. public HttpResult appendUserCOnfig(@RequestBody SysQuoteUserConfigAppend sysQuoteUserConfigAppend){
  59. return sysQuoteConfigService.quoteConfigAppend(sysQuoteUserConfigAppend)? HttpResult.ok("设置用户配置成功") : HttpResult.error("设置用户配置失败");
  60. }
  61. @PostMapping(value = "quoteDetails")
  62. @ApiOperation(value = "报价明细")
  63. public HttpResult quoteDetails(@RequestBody QuoteDetailsQueryVo quoteDetailsQueryVo){
  64. Page page = buildPageRequest(quoteDetailsQueryVo.getPageDto());
  65. Page<QuoteDetailsVo> quoteRecordPage = sysQuoteConfigService.getQuoteRecordPage(page, quoteDetailsQueryVo);
  66. return HttpResult.ok(quoteRecordPage);
  67. }
  68. @PostMapping(value = "quoteUserDetails")
  69. @ApiOperation(value = "报价信息")
  70. public HttpResult quoteUserDetails(@RequestBody QuoteDetailsQueryVo quoteDetailsQueryVo){
  71. Page page = buildPageRequest(quoteDetailsQueryVo.getPageDto());
  72. Page<QuoteDetailsVo> quoteDetails = sysQuoteConfigService.getQuoteDetails(page, quoteDetailsQueryVo);
  73. return HttpResult.ok(quoteDetails);
  74. }
  75. @PostMapping(value = "quoteRequestDetail")
  76. @ApiOperation(value = "报价请求明细")
  77. public HttpResult quoteRequestDetail(@RequestBody QuoteDetailsQueryVo quoteDetailsQueryVo){
  78. Page page = buildPageRequest(quoteDetailsQueryVo.getPageDto());
  79. Page<QuoteDetailsVo> quoteRecordPage = sysQuoteConfigService.getQuoteRecordPage(page, quoteDetailsQueryVo);
  80. return HttpResult.ok(quoteRecordPage);
  81. }
  82. @PostMapping(value = "getAppendUserQuotePage")
  83. @ApiOperation(value = "用户追加报价次数信息")
  84. public HttpResult getAppendUserQuotePage(@RequestBody QuoteDetailsQueryVo quoteDetailsQueryVo){
  85. Page page = buildPageRequest(quoteDetailsQueryVo.getPageDto());
  86. Page<QuoteDetailsVo> quoteDetails = sysQuoteConfigService.getAppendUserQuote(page, quoteDetailsQueryVo);
  87. return HttpResult.ok(quoteDetails);
  88. }
  89. @PostMapping(value = "getAppendUserQuoteInfo")
  90. @ApiOperation(value = "增次详情")
  91. public HttpResult getAppendUserQuoteInfo(@RequestBody QuoteDetailsQueryVo quoteDetailsQueryVo){
  92. QuoteDetailsVo quoteDetailsVo = sysQuoteConfigService.getAppendUserQuoteInfo(quoteDetailsQueryVo.getCompanyId(),quoteDetailsQueryVo.getAgentId(),quoteDetailsQueryVo.getId());
  93. return HttpResult.ok(quoteDetailsVo);
  94. }
  95. @GetMapping(value = "getQuoteAction")
  96. @ApiModelProperty(value = "获取报价动作字典")
  97. public HttpResult getQuoteAction(){
  98. JSONArray resultArray = new JSONArray();
  99. for (QuoteNumberConstant.QuoteAction value : QuoteNumberConstant.QuoteAction.values()) {
  100. JSONObject jsonObject = new JSONObject();
  101. jsonObject.put("code",value.getCode());
  102. jsonObject.put("desc",value.getDesc());
  103. resultArray.add(jsonObject);
  104. }
  105. return HttpResult.ok(resultArray);
  106. }
  107. @GetMapping(value = "getQuoteResult")
  108. @ApiModelProperty(value = "获取报价结果字典")
  109. public HttpResult getQuoteResult(){
  110. JSONArray resultArray = new JSONArray();
  111. for (QuoteNumberConstant.QuoteResult value : QuoteNumberConstant.QuoteResult.values()) {
  112. JSONObject jsonObject = new JSONObject();
  113. jsonObject.put("code",value.getCode());
  114. jsonObject.put("desc",value.getDesc());
  115. resultArray.add(jsonObject);
  116. }
  117. return HttpResult.ok(resultArray);
  118. }
  119. @GetMapping(value = "getRedisData")
  120. public HttpResult getRedisData(String userId) {
  121. QuoteNumRedisVo quoteNumberRedisData = sysQuoteRedisService.getQuoteNumberRedisData(userId);
  122. return HttpResult.ok(JSONObject.toJSON(quoteNumberRedisData));
  123. }
  124. @PostMapping(value = "setRedisData")
  125. public HttpResult setRedisData(@RequestBody JSONObject jsonObject) {
  126. String userId = jsonObject.getString("userId");
  127. QuoteNumRedisVo data = jsonObject.getJSONObject("data").toJavaObject(QuoteNumRedisVo.class);
  128. sysQuoteRedisService.setQuoteRecordRedis(userId,data);
  129. return HttpResult.ok("设置成功");
  130. }
  131. @GetMapping(value = "delRedisData")
  132. public HttpResult delRedisData(String userId){
  133. sysQuoteRedisService.delQuoteRedis(userId);
  134. return HttpResult.ok("");
  135. }
  136. }