package com.ydtech.modules.inv.controller; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.copier.CopyOptions; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ydtech.core.page.BaseController; import com.ydtech.core.page.HttpResult; import com.ydtech.core.page.PageRequest; import com.ydtech.core.page.PageResult; import com.ydtech.modules.inv.model.InvChannelsExternalBillsDetails; import com.ydtech.modules.inv.model.InvChannelsExternalBillsDetailsHistory; import com.ydtech.modules.inv.model.vo.req.InvInsExternalBillsDetailsReqVO; import com.ydtech.modules.inv.service.InvChannelsExternalBillsDetailsHistoryService; import com.ydtech.modules.inv.service.InvChannelsExternalBillsDetailsService; import com.ydtech.utils.StringUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; 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.Date; import java.util.List; /** * 财务 - 渠道 - 外部票据控制层 详情 * * @author: lig * @date: 2023-05-31 */ @Api(tags = "财务 - 渠道 - 外部票据 详情 控制层") @RestController @RequestMapping("api/inv/channelsExternalBillsDetails") @Slf4j public class InvChannelsExternalBillsDetailsController extends BaseController { @Autowired private InvChannelsExternalBillsDetailsService icebdService; @Autowired private InvChannelsExternalBillsDetailsHistoryService icebdhService; /** * 分页查询 * * @param reqVo * @return */ @ApiOperation(value = "分页查询") @PostMapping(value = "/queryPage") public HttpResult queryPage(@RequestBody InvInsExternalBillsDetailsReqVO reqVo){ LambdaQueryWrapper lqw = new LambdaQueryWrapper(); lqw.eq(StringUtils.isNotEmpty(reqVo.getBatchNum()),InvChannelsExternalBillsDetails::getBatchNum,reqVo.getBatchNum()); Page p = PageRequest.buildPageRequestByVo(reqVo); IPage pResult = icebdService.page(p, lqw); //传入查询条件 PageResult pageResult = PageResult.buildPageResult(pResult); return HttpResult.ok(pageResult); } @GetMapping("/detailsById") @ApiOperation(value = "详情") public HttpResult detailsById(String id) { return HttpResult.ok(icebdService.getById(id)); } @GetMapping("/aaaaa") @ApiOperation(value = "测试用户ID是否获取到") public HttpResult aaaa(HttpServletRequest request) { // log.error("********************"); // log.error("Authorization:"+request.getHeader("Authorization")); // log.error("token:"+request.getHeader("token")); // // // Authentication authentication = SecurityUtils.getAuthentication(); // // JwtAuthenticatioToken j = (JwtAuthenticatioToken) authentication; // log.error("JwtAuthenticatioToken:"+j); // log.error("JwtAuthenticatioToken token:"+j.getToken()); // log.error("*********end********"); // // log.error("测试获取的用户ID 2222:"+getUserId2()); // log.error("测试获取的用户ID 1111:"+getUserId()); // return HttpResult.ok("获取用户ID测试:",getUserId()); return HttpResult.ok("获取用户部门ID:",getdeptId(request)); // return HttpResult.ok(); } @GetMapping("/bbbb") @ApiOperation(value = "测试用户ID是否获取到2222") public HttpResult bbbb() { return HttpResult.ok("获取用户信息测试:",getUser()); // return HttpResult.ok("获取用户ID测试2222:",getUserId2()); } @ApiOperation(value = "修改") @PostMapping(value = "/edit") @Transactional public HttpResult edit(@RequestBody InvChannelsExternalBillsDetails icebd, HttpServletRequest request) { List list = icebdhService.gainListByEditId(icebd.getId()); List icebdhList = new ArrayList<>(); InvChannelsExternalBillsDetails icebdOld = icebdService.getById(icebd.getId()); if(null == list || list.size() < 1){ //初始历史数据 InvChannelsExternalBillsDetailsHistory icebdh = new InvChannelsExternalBillsDetailsHistory(); // BeanUtils.copyProperties(icebdOld, icebdh,"id"); BeanUtil.copyProperties(icebdOld, icebdh, CopyOptions.create(null, true,"id")); icebdh.setEditId(icebd.getId()); icebdhList.add(icebdh); } InvChannelsExternalBillsDetailsHistory icebdh = new InvChannelsExternalBillsDetailsHistory(); //构造更新数据 BeanUtil.copyProperties(icebd, icebdOld, CopyOptions.create(null, true)); //构造历史数据 BeanUtil.copyProperties(icebdOld, icebdh, CopyOptions.create(null, true,"id")); // //构造更新数据 // BeanUtils.copyProperties(icebdOld , icebd); // //构造历史数据 // BeanUtils.copyProperties(icebd, icebdh,"id"); icebdh.setEditId(icebdOld.getId()); icebdh.setEditTime(new Date()); icebdhList.add(icebdh); // icebdhService.saveBatch(icebdhList); icebdService.updateById(icebdOld); return HttpResult.ok(icebdhService.saveBatch(icebdhList)); } }