package com.kidgrow.oprationcenter.controller; import com.kidgrow.common.constant.PayConstants; import com.kidgrow.common.controller.BaseController; import com.kidgrow.common.model.PageResult; import com.kidgrow.common.model.ResultBody; import com.kidgrow.common.utils.ExcelUtil; import com.kidgrow.oprationcenter.model.SaasClientPay; import com.kidgrow.oprationcenter.service.ISaasClientPayService; import com.kidgrow.oprationcenter.vo.SaasClientPayExcel; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections.MapUtils; import org.apache.commons.collections.map.HashedMap; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.BindingResult; import org.springframework.validation.ObjectError; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; import java.io.IOException; import java.util.ArrayList; import java.util.List; import java.util.Map; /** * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020
* @Description: * @Project: 用户中心 * @CreateDate: Created in 2020-09-17 16:21:03
* @Author: liuke * @version: 1.0 */ @Slf4j @RestController @RequestMapping("/saasclientpay") @Api(tags = "") public class SaasClientPayController extends BaseController { @Autowired private ISaasClientPayService saasClientPayService; /** * 列表 */ @ApiOperation(value = "查询列表") @ApiImplicitParams({ @ApiImplicitParam(name = "page", value = "分页起始位置", required = true, dataType = "Integer"), @ApiImplicitParam(name = "limit", value = "分页结束位置", required = true, dataType = "Integer") }) @GetMapping public PageResult list(@RequestParam Map params) { if(params.size()==0){ params.put("page",1); params.put("limit",10); } return saasClientPayService.findList(params); } /** * 批量结算 */ @ApiOperation(value = "批量结算") @PostMapping("/updateTypeList") public ResultBody updateTypeList(@RequestBody List list) { saasClientPayService.updateTypeList(list); return ResultBody.ok(); } @ApiOperation(value = "导出") @PostMapping("/export") public ResultBody export(@RequestParam Map params, HttpServletResponse response) throws IOException { List saasClientPayExcel=saasClientPayService.export(params); //导出操作 ExcelUtil.exportExcel(saasClientPayExcel, null, "支付导出", SaasClientPayExcel.class, "saas_client_pay", response); return ResultBody.ok().msg("导出成功"); } /** * 获取微信和支付宝的二维码 */ @ApiOperation(value = "获取微信和支付宝的二维码") @PostMapping("/getCode") public ResultBody getCode(@Valid @RequestBody SaasClientPay saasClientPay, BindingResult bindingResult, HttpServletRequest request) throws Exception { List errMsg= new ArrayList<>(); if (bindingResult.hasErrors()) { for (ObjectError error : bindingResult.getAllErrors()) { errMsg.add(error.getDefaultMessage()); } return ResultBody.failed().msg(errMsg.toString()); } return saasClientPayService.getCode(saasClientPay,request); } /** * 查询 */ @ApiOperation(value = "查询") @GetMapping("/{id}") public ResultBody findById(@PathVariable Long id) { SaasClientPay model = saasClientPayService.getById(id); return ResultBody.ok().data(model).msg("查询成功"); } /** * 根据SaasClientPay当做查询条件进行查询 */ @ApiOperation(value = "根据SaasClientPay当做查询条件进行查询") @PostMapping("/query") public ResultBody findByObject(@RequestBody SaasClientPay saasClientPay) { SaasClientPay model = saasClientPayService.findByObject(saasClientPay); return ResultBody.ok().data(model).msg("查询成功"); } /** * 新增or更新 */ @ApiOperation(value = "保存") @PostMapping public ResultBody save(@Valid @RequestBody SaasClientPay saasClientPay, BindingResult bindingResult) { List errMsg= new ArrayList<>(); if (bindingResult.hasErrors()) { for (ObjectError error : bindingResult.getAllErrors()) { errMsg.add(error.getDefaultMessage()); } return ResultBody.failed().msg(errMsg.toString()); } else { boolean v= saasClientPayService.saveOrUpdate(saasClientPay); if(v) { return ResultBody.ok().data(saasClientPay).msg("保存成功"); } else { return ResultBody.failed().msg("保存失败"); } } } /** * 查询 支付状态是否为成功 */ @ApiOperation(value = "查询一个诊断的支付状态") @GetMapping("/getDepartmentPay") public ResultBody getDepartmentPayState(@RequestParam Long hospitalId, @RequestParam Long departmentId, @RequestParam String diaId) { SaasClientPay model = saasClientPayService.findModelByObject(hospitalId,departmentId,diaId); if (model != null) { return ResultBody.ok().data(model.getPayStatus().equals(PayConstants.ORDER_PAY_SUCEESS)).msg("查询成功"); } return ResultBody.failed().data(false).msg("没有相关数据"); } /** * 查询 支付状态是否为成功 */ @ApiOperation(value = "查询多个诊断的支付状态") @PostMapping("/getDepartmentPayStateList") public List> getDepartmentPayStateList(@RequestBody Map map) { List> list=new ArrayList<>(); Long hospitalId = MapUtils.getLong(map, "hospitalId"); Long departmentId = MapUtils.getLong(map, "departmentId"); List diaIds = (List) map.get("diaIds"); if(hospitalId==null||departmentId==null||diaIds==null||diaIds.size()<=0){ return list; } if (diaIds!=null&&diaIds.size()>0) { for (String diaId : diaIds) { SaasClientPay model = saasClientPayService.findModelByObject(hospitalId,departmentId,diaId); Map objectMap=new HashedMap(); objectMap.put("id",diaId); if(model!=null){ objectMap.put("flag",model.getPayStatus().equals(PayConstants.ORDER_PAY_SUCEESS)); }else { objectMap.put("flag",false); } list.add(objectMap); } } return list; } /** * 删除 */ @ApiOperation(value = "删除") @DeleteMapping("/{id}") public ResultBody delete(@PathVariable Long id) { boolean v= saasClientPayService.removeById(id); if(v) { return ResultBody.ok().msg("删除成功"); } else { return ResultBody.failed().msg("删除失败"); } } }