/* * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * Neither the name of the dreamlu.net developer nor the names of its * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. * Author: Chill 庄骞 (smallchill@163.com) */ package com.trade.finance.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.trade.finance.dto.SettlementDTO; import com.trade.finance.entity.Items; import com.trade.finance.entity.Settlement; import com.trade.finance.service.IItemsService; import com.trade.finance.service.ISettlementService; import com.trade.finance.vo.SettlementVO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import lombok.AllArgsConstructor; import javax.validation.Valid; import org.springblade.client.entity.CorpsDesc; import org.springblade.client.feign.ICorpsDescClient; import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; import org.springblade.core.secure.utils.SecureUtil; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.Func; import org.springframework.web.bind.annotation.*; import com.baomidou.mybatisplus.core.metadata.IPage; import org.springblade.core.boot.ctrl.BladeController; import java.util.List; import java.util.Map; /** * 结算表 控制器 * * @author BladeX * @since 2021-11-03 */ @RestController @AllArgsConstructor @RequestMapping("/settlement") @Api(value = "收款付款", tags = "收款付款-接口") public class SettlementController extends BladeController { private final ISettlementService settlementService; private final IItemsService itemsService; private ICorpsDescClient corpsDescClient;//获取客户信息 /** * 详情 */ @GetMapping("/detail") @ApiOperationSupport(order = 1) @ApiOperation(value = "详情", notes = "传入settlement") public R detail(Settlement settlement) { Settlement detail = settlementService.getOne(Condition.getQueryWrapper(settlement)); LambdaQueryWrapper itemsLambdaQueryWrapper=new LambdaQueryWrapper<>(); itemsLambdaQueryWrapper.eq(Items::getPid,detail.getId()); List list = itemsService.list(itemsLambdaQueryWrapper); detail.setItemsList(list); //获取客户中文名 if (detail.getCorpId() != null){ R>> corpMessage = corpsDescClient.getCorpsMessage(detail.getCorpId().toString()); if (corpMessage.isSuccess() && corpMessage.getData() != null){ detail.setCustomerModel(corpMessage.getData()); } } return R.data(detail); } /** * 分页 结算表 */ @GetMapping("/list") @ApiOperationSupport(order = 2) @ApiOperation(value = "分页", notes = "传入settlement") public R> list(Settlement settlement, Query query) { settlement.setTenantId(SecureUtil.getTenantId()); settlement.setIsDeleted(0); IPage pages = settlementService.page(Condition.getPage(query), Condition.getQueryWrapper(settlement)); List settlementList = pages.getRecords(); if(CollectionUtils.isNotEmpty(settlementList)) { settlementList.forEach(e->{ R corpMessage = corpsDescClient.getCorpMessage(e.getCorpId()); if(corpMessage.getData()!=null) { e.setCorpName(corpMessage.getData().getCname()); } }); } return R.data(pages); } /** * 自定义分页 结算表 */ @GetMapping("/page") @ApiOperationSupport(order = 3) @ApiOperation(value = "分页", notes = "传入settlement") public R> page(SettlementVO settlement, Query query) { IPage pages = settlementService.selectSettlementPage(Condition.getPage(query), settlement); return R.data(pages); } @PostMapping("modify") @ApiOperation(value = "修改新增收付款信息", notes = "传入修改新增收付款信息对象") public R modify(@RequestBody SettlementDTO dto) { settlementService.modify(dto); return R.success("操作成功"); } /** * 新增 结算表 @PostMapping("/save") @ApiOperationSupport(order = 4) @ApiOperation(value = "新增", notes = "传入settlement") public R save(@Valid @RequestBody Settlement settlement) { return R.status(settlementService.save(settlement)); } *//** * 修改 结算表 *//* @PostMapping("/update") @ApiOperationSupport(order = 5) @ApiOperation(value = "修改", notes = "传入settlement") public R update(@Valid @RequestBody Settlement settlement) { return R.status(settlementService.updateById(settlement)); }*/ /** * 新增或修改 结算表 */ @PostMapping("/submit") @ApiOperationSupport(order = 6) @ApiOperation(value = "新增或修改", notes = "传入settlement") public R submit(@Valid @RequestBody Settlement settlement) { return R.status(settlementService.saveOrUpdate(settlement)); } /** * 删除 结算表 */ @PostMapping("/remove") @ApiOperationSupport(order = 8) @ApiOperation(value = "删除", notes = "传入ids") public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) { return R.status(settlementService.removeByIds(Func.toLongList(ids))); } }