| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218 |
- package com.ydtech.modules.esm.controller;
- import com.alibaba.fastjson.JSON;
- import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
- import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
- import com.baomidou.mybatisplus.core.metadata.IPage;
- import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
- import com.ydtech.core.page.HttpResult;
- import com.ydtech.core.page.PageRequest;
- import com.ydtech.core.page.PageResult;
- import com.ydtech.modules.base.controller.BaseController;
- import com.ydtech.modules.esm.model.EsmInsAttribution;
- import com.ydtech.modules.esm.model.EsmInsAttributionDept;
- import com.ydtech.modules.esm.model.EsmInsAttributionTemplate;
- import com.ydtech.modules.esm.model.EsmInsCompany;
- import com.ydtech.modules.esm.model.vo.req.EsmInsAttributionAuthorizeReq;
- import com.ydtech.modules.esm.service.EsmInsAttributionDeptService;
- import com.ydtech.modules.esm.service.EsmInsAttributionService;
- import com.ydtech.modules.esm.service.EsmInsAttributionTemplateService;
- import com.ydtech.modules.esm.service.EsmInsCompanyService;
- import com.ydtech.modules.order.entity.vo.zm.ZmAscriptionResponse;
- import com.ydtech.modules.order.entity.vo.zm.ZmAscriptionVo;
- import com.ydtech.modules.order.service.ZhongMeiOrderService;
- import com.ydtech.utils.StringUtils;
- import io.swagger.annotations.Api;
- import io.swagger.annotations.ApiImplicitParam;
- import io.swagger.annotations.ApiImplicitParams;
- import io.swagger.annotations.ApiOperation;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.transaction.annotation.Transactional;
- import org.springframework.web.bind.annotation.*;
- import javax.servlet.http.HttpServletRequest;
- import java.util.ArrayList;
- import java.util.List;
- @Api(tags = "归属信息")
- @RestController
- @RequestMapping("/esm/attribution")
- public class EsmInsAttributionController extends BaseController {
- @Autowired
- EsmInsAttributionService esmInsAttributionService;
- @Autowired
- EsmInsAttributionDeptService esmInsAttributionDeptService;
- @Autowired
- EsmInsAttributionTemplateService esmInsAttributionTemplateService;
- @Autowired
- EsmInsCompanyService esmInsCompanyService;
- @Autowired
- ZhongMeiOrderService zhongMeiOrderService;
- @ApiOperation(value = "获取保险公司归属信息模板")
- @GetMapping(value = "/gainAttributionTemplate/{insCompanyId}")
- @ApiImplicitParams({
- @ApiImplicitParam(name = "insCompanyId", value = "保险公司ID")
- })
- public HttpResult<EsmInsAttributionTemplate> gainAffiliation(@PathVariable String insCompanyId, HttpServletRequest request) {
- LambdaQueryWrapper<EsmInsAttributionTemplate> queryWrapper = new LambdaQueryWrapper<>();
- queryWrapper.eq(EsmInsAttributionTemplate::getInsCompanyId, insCompanyId);
- EsmInsAttributionTemplate template = esmInsAttributionTemplateService.getOne(queryWrapper);
- if (null == template) return HttpResult.ok("模板不存在,请联系管理员初始化模板");
- return HttpResult.ok(template);
- }
- // @ApiOperation(value = "获取允许报价的保险公司列表")
- // @GetMapping(value = "/gainAllowQuoteList")
- // public HttpResult gainAllowQuoteList() {
- //
- // String str = RedisUtils.get(RedisConstant.INS_COMPANY_ALLOW_QUOTE);
- // if (StringUtils.isNotEmpty(str)) {
- // LambdaQueryWrapper<EsmInsAttribution> lqw = new LambdaQueryWrapper();
- // lqw.eq(EsmInsAttribution::getOpenQuote, 1);
- // List<EsmInsAttribution> openQuoteList = esmInsAttributionService.list(lqw);
- // RedisUtils.set(RedisConstant.INS_COMPANY_ALLOW_QUOTE, JsonUtils.toJson(openQuoteList));
- // }
- // List<EsmInsAttribution> attrList = JsonUtils.toObjectList(str, EsmInsAttribution.class);
- //
- //// LambdaQueryWrapper<EsmInsAttribution> queryWrapper = new LambdaQueryWrapper<>();
- //// queryWrapper.eq(EsmInsAttribution::getOpenQuote, "1");
- //// List<EsmInsAttribution> attrList = esmInsAttributionService.list(queryWrapper);
- //
- // return HttpResult.ok(attrList);
- // }
- /**
- * @author: lig
- * @date: 2022年10月26日 0026
- */
- @ApiOperation(value = "保存")
- @PostMapping(value = "/save")
- @Transactional
- public HttpResult save(@RequestBody EsmInsAttribution eia, HttpServletRequest request) {
- long i = esmInsAttributionService.count(new LambdaQueryWrapper<EsmInsAttribution>()
- .eq(EsmInsAttribution::getUsername, eia.getUsername()));
- if (StringUtils.isEmpty(eia.getId()) && i > 0) return HttpResult.ok("保险公司账号不可重复!");
- if (StringUtils.isNotEmpty(eia.getId()) && i > 1) return HttpResult.ok("保险公司账号不可重复!");
- String userId = getUserId();
- eia.setUserId(userId);
- //需要调用python 新增归属信息
- String aValue = "{}";
- //中煤
- if (StringUtils.isNotEmpty(eia.getInsCompanyId()) && eia.getInsCompanyId().equals("000019")) {
- ZmAscriptionVo zmVo = EsmInsAttribution.gainZmAscriptionVo(eia);
- ZmAscriptionResponse zmResponse = zhongMeiOrderService.ascription(zmVo);
- if (null == zmResponse) return HttpResult.ok("归属保存失败,请检查参数是否正确!");
- aValue = JSON.toJSONString(zmResponse);
- }
- eia.setValue(aValue);
- if (StringUtils.isNullOrEmpty(eia.getInsCompanyName())) {
- //保险公司
- EsmInsCompany insCompany = esmInsCompanyService.getById(eia.getInsCompanyId());
- eia.setInsCompanyName(insCompany.getName());
- }
- esmInsAttributionService.saveOrUpdate(eia);
- return HttpResult.ok();
- }
- @ApiOperation(value = "获取归属通过ID")
- @GetMapping(value = "/{id}")
- public HttpResult queryById(@PathVariable String id) {
- return HttpResult.ok(esmInsAttributionService.getById(id));
- }
- @ApiOperation(value = "获取用户归属 分页")
- @GetMapping(value = "/findPage")
- public HttpResult findPage(PageRequest pageRequest, HttpServletRequest request) {
- String userId = getUserId();
- // int pageNum = pageRequest.getPageNum();
- // int pageSize = pageRequest.getPageSize();
- String insCompanyId = pageRequest.getColumnFilterValue(pageRequest, "ins_company_id"); // 保险公司ID
- LambdaQueryWrapper<EsmInsAttribution> lqw = new LambdaQueryWrapper<>();
- lqw.eq(StringUtils.isNotEmpty(insCompanyId), EsmInsAttribution::getInsCompanyId, insCompanyId);
- lqw.eq(EsmInsAttribution::getUserId, userId);
- Page p = PageRequest.buildPageRequest(pageRequest);
- IPage<EsmInsAttribution> pResult = esmInsAttributionService.page(p, lqw);
- return HttpResult.ok(PageResult.buildPageResult(pResult));
- }
- @ApiOperation(value = "(Python使用)获取用户归属通过用户名")
- @GetMapping(value = "/gainAttributionByUsername")
- @ApiImplicitParams({
- @ApiImplicitParam(name = "username", value = "保险公司用户名")
- })
- public HttpResult<EsmInsAttribution> gainAffiliation(@PathVariable String username) {
- LambdaQueryWrapper<EsmInsAttribution> lqw = new LambdaQueryWrapper<>();
- lqw.eq(EsmInsAttribution::getUsername, username);
- return HttpResult.ok(esmInsAttributionService.getOne(lqw));
- }
- @ApiOperation(value = "删除归属信息")
- @DeleteMapping(value = "/delete/{id}")
- @ApiImplicitParam(name = "id", value = "归属ID", required = true, paramType = "query", dataType = "Long")
- public HttpResult delete(@PathVariable Long id) {
- return HttpResult.ok(esmInsAttributionService.removeById(id));
- }
- @ApiOperation(value = "归属授权")
- @PostMapping(value = "/authorize")
- // @ApiImplicitParam(name = "deptIds", value = "部门ID集", required = true, paramType = "query", dataType = "String")
- public HttpResult authorize(@RequestBody EsmInsAttributionAuthorizeReq req) {
- LambdaUpdateWrapper<EsmInsAttributionDept> luw = new LambdaUpdateWrapper<>();
- luw.eq(EsmInsAttributionDept::getAttributionId, req.getAttributionId());
- esmInsAttributionDeptService.remove(luw);
- if (null != req.getDeptIds() && !req.getDeptIds().isEmpty()) {
- List<EsmInsAttributionDept> eiadList = new ArrayList<>();
- req.getDeptIds().stream().forEach(a -> {
- EsmInsAttributionDept eiad = new EsmInsAttributionDept();
- eiad.setAttributionId(Long.valueOf(req.getAttributionId()));
- eiad.setInsCompanyId(req.getInsCompanyId());
- eiad.setDeptId(a);
- eiadList.add(eiad);
- });
- esmInsAttributionDeptService.saveBatch(eiadList);
- }
- return HttpResult.ok();
- }
- }
|