package com.zzg.web.controller.state; import com.alibaba.fastjson2.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.github.pagehelper.PageInfo; import com.zzg.common.constant.state.UrlConstants; import com.zzg.common.core.domain.AjaxResult; import com.zzg.common.core.domain.entity.state.StateAsset; import com.zzg.common.enums.DeleteFlagEnum; import com.zzg.system.domain.bo.AssetDetailBO; import com.zzg.system.domain.bo.StateAssetBO; import com.zzg.system.domain.vo.StateAssetDetailVO; import com.zzg.system.service.state.StateAssetService; import lombok.RequiredArgsConstructor; import org.apache.commons.lang3.StringUtils; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import java.math.RoundingMode; import java.util.List; import java.util.Objects; @RestController @RequiredArgsConstructor public class StateAssetController { private final StateAssetService assetService; // 新增和修改 项目资金 @PostMapping(UrlConstants.STATE_PROJECT_ASSET_SAVE) public AjaxResult saveAsset(@RequestBody StateAssetBO asset) { return AjaxResult.success(assetService.saveAsset(asset)); } // 项目删除 @GetMapping(UrlConstants.STATE_PROJECT_ASSET_DEL) public AjaxResult delAsset(@RequestParam String assetId) { StateAsset asset = assetService.getById(assetId); if (Objects.isNull(asset)) { return AjaxResult.error(); } //TODO 审核状态为通过的也可以删除 逻辑删除 LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); updateWrapper.eq(StateAsset::getId, asset.getId()); updateWrapper.set(StateAsset::getDelFlag, DeleteFlagEnum.DELETED.getKey()); return AjaxResult.success(assetService.update(updateWrapper)); } // 项目资金展示 @GetMapping(UrlConstants.STATE_PROJECT_ASSET_LIST) public AjaxResult> listAsset( @RequestParam String projectId, @RequestParam String street, @RequestParam(required = false) String assetId ) { LambdaQueryWrapper stateAssetQueryWrapper = new LambdaQueryWrapper<>(); stateAssetQueryWrapper.eq(StateAsset::getStateProjectId, projectId); stateAssetQueryWrapper.eq(StateAsset::getStreet, street); if (StringUtils.isNoneBlank(assetId)) { stateAssetQueryWrapper.eq(StateAsset::getId, assetId); } stateAssetQueryWrapper.eq(StateAsset::getDelFlag, DeleteFlagEnum.NOT_DELETED.getKey()); List list = assetService.list(stateAssetQueryWrapper); list.forEach(e-> e.setVirtualMoney(e.getVirtualMoney() .setScale(4, RoundingMode.HALF_UP))); return AjaxResult.success(list); } // 项目资金 上方统计数据 @GetMapping(UrlConstants.STATE_PROJECT_ASSET_SUM) public AjaxResult sumAsset(@RequestParam String projectId) { return AjaxResult.success(assetService.sumAsset(projectId)); } // 项目资金点击上方符号查询 @PostMapping(UrlConstants.STATE_PROJECT_ASSET_DETAIL) public AjaxResult> listAssetDetail(@RequestBody AssetDetailBO detailBO) { return AjaxResult.success(assetService.listAssetDetail(detailBO)); } }