mitao
2025-01-15 da8bd34ef4e721b9d6255f983c68ef3975d0962d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
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<Boolean> saveAsset(@RequestBody StateAssetBO asset) {
        return AjaxResult.success(assetService.saveAsset(asset));
    }
    // 项目删除
    @GetMapping(UrlConstants.STATE_PROJECT_ASSET_DEL)
    public AjaxResult<Boolean> delAsset(@RequestParam String assetId) {
        StateAsset asset = assetService.getById(assetId);
        if (Objects.isNull(asset)) {
            return AjaxResult.error();
        }
        LambdaUpdateWrapper<StateAsset> 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<List<StateAsset>> listAsset(
            @RequestParam String projectId,
            @RequestParam String street,
            @RequestParam(required = false) String assetId
    ) {
        LambdaQueryWrapper<StateAsset> 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<StateAsset> 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<JSONObject> sumAsset(@RequestParam String projectId) {
        return AjaxResult.success(assetService.sumAsset(projectId));
    }
    // 项目资金点击上方符号查询
    @PostMapping(UrlConstants.STATE_PROJECT_ASSET_DETAIL)
    public AjaxResult<PageInfo<StateAssetDetailVO>> listAssetDetail(@RequestBody AssetDetailBO detailBO) {
        return AjaxResult.success(assetService.listAssetDetail(detailBO));
    }
 
}