TAppVersionController.java 6.99 KB
Newer Older
yangtianyou's avatar
yangtianyou committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
package cn.wisenergy.chnmuseum.party.web.controller;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import cn.wisenergy.chnmuseum.party.web.controller.base.BaseController;
import cn.wisenergy.chnmuseum.party.model.TAppVersion;
import cn.wisenergy.chnmuseum.party.service.TAppVersionService;
import cn.wisenergy.chnmuseum.party.common.validator.groups.Add;
import cn.wisenergy.chnmuseum.party.common.validator.groups.Update;
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.lang3.StringUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
22
import java.time.LocalDate;
yangtianyou's avatar
yangtianyou committed
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
import java.util.List;
import java.util.Map;

/**
 * <pre>
 *  前端控制器
 * </pre>
 *
 * @author Danny Lee
 * @since 2021-03-29
 */
@Slf4j
@RestController
@RequestMapping("/tAppVersion")
@Api(tags = {"APP版本操作接口"})
public class TAppVersionController extends BaseController {

    @Resource
    private TAppVersionService tAppVersionService;

    @PostMapping("/batchSave")
		@RequiresPermissions("t:app:version:batch:save")
		@ApiOperation(value = "批量添加", notes = "批量添加")
    public Map<String, Object> batchSaveTAppVersion(@Validated(value = {Add.class}) List<TAppVersion> tAppVersionList) {
        // 保存业务节点信息
        boolean result = tAppVersionService.saveBatch(tAppVersionList);
        // 返回操作结果
        if (result) {
            return getSuccessResult();
        } else {
            // 保存失败
            return getFailResult();
        }
    }

    @PostMapping("/save")
		@RequiresPermissions("t:app:version:save")
		@ApiOperation(value = "添加", notes = "添加")
	public Map<String, Object> saveTAppVersion(@Validated(value = {Add.class}) TAppVersion tAppVersion) {
yangtianyou's avatar
yangtianyou committed
62 63 64 65
    	// 默认不为当前版本
    	if (tAppVersion.getIsCurrent() == null){
    		tAppVersion.setIsCurrent(0);
		}
yangtianyou's avatar
yangtianyou committed
66 67 68 69 70 71 72 73 74 75
		// 如果有其他版本是当前版本状态,将其当前版本状态取消
		QueryWrapper<TAppVersion> qw = new QueryWrapper<>();
		qw.eq("is_current",1);
		List<TAppVersion> currentList = tAppVersionService.list(qw);
		if (currentList != null && currentList.size() > 0 && tAppVersion.getIsCurrent() == 1){
			currentList.stream().forEach(c->{
				c.setIsCurrent(0);
			});
			tAppVersionService.updateBatchById(currentList);
		}
yangtianyou's avatar
yangtianyou committed
76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
        // 保存业务节点信息
        boolean result = tAppVersionService.save(tAppVersion);
        // 返回操作结果
        if (result) {
            return getSuccessResult();
        } else {
            // 保存失败
            return getFailResult();
        }
    }

    @PutMapping("/update")
		@RequiresPermissions("t:app:version:update")
	    @ApiOperation(value = "修改信息", notes = "修改信息")
    public Map<String, Object> updateTAppVersion(@Validated(value = {Update.class}) TAppVersion tAppVersion) {
yangtianyou's avatar
yangtianyou committed
91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108
		// 默认不为当前版本
		if (tAppVersion.getIsCurrent() == null){
			tAppVersion.setIsCurrent(0);
		}
		// 如果有其他版本是当前版本状态,将其当前版本状态取消
		QueryWrapper<TAppVersion> qw = new QueryWrapper<>();
		qw.eq("is_current",1);
		List<TAppVersion> currentList = tAppVersionService.list(qw);
		if (currentList != null && currentList.size() > 0 && tAppVersion.getIsCurrent() == 1){
			currentList.stream().forEach(c->{
				c.setIsCurrent(0);
			});
			tAppVersionService.updateBatchById(currentList);
		}
		// 更新版本信息
    	boolean flag = tAppVersionService.updateById(tAppVersion);

    	if (flag) {
yangtianyou's avatar
yangtianyou committed
109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143
            return getSuccessResult();
        }
        return getFailResult();
    }

    @DeleteMapping("/delete/{id}")
		@RequiresPermissions("t:app:version:delete")
		@ApiOperation(value = "根据ID删除", notes = "根据ID删除")
	@ApiImplicitParams(value = {
			@ApiImplicitParam(name = "id", value = "标识ID", paramType = "path", dataType = "String")
	})
    public Map<String, Object> deleteTAppVersion(@PathVariable("id") String id) {
        boolean result = tAppVersionService.removeById(id);
        if (result) {
            return getSuccessResult();
        }
        return getFailResult();
    }

    @GetMapping("/getList")
		@RequiresPermissions("t:app:version:list")
		@ApiOperation(value = "获取全部列表(无分页)", notes = "获取全部列表(无分页)")
	@ApiImplicitParams(value = {
			@ApiImplicitParam(name = "isCurrent", value = "是否为当前版本 0:否 1:是", paramType = "query", dataType = "String")
	})
    public Map<String, Object> getTAppVersionList(String isCurrent) {
		QueryWrapper qw  = new QueryWrapper();
		qw.eq(StringUtils.isNotEmpty(isCurrent),"is_current",isCurrent);
        List<TAppVersion> tAppVersionList = tAppVersionService.list(qw);
        return getResult(tAppVersionList);
    }

	@ApiImplicitParams(value = {
			@ApiImplicitParam(name = "_index", value = "分页起始偏移量", paramType = "query", dataType = "Integer"),
			@ApiImplicitParam(name = "_size", value = "返回条数", paramType = "query", dataType = "Integer"),
144 145
			@ApiImplicitParam(name = "startDate", value = "开始时间", paramType = "query", dataType = "String"),
			@ApiImplicitParam(name = "endDate", value = "结束时间", paramType = "query", dataType = "String"),
yangtianyou's avatar
yangtianyou committed
146 147 148 149 150
			@ApiImplicitParam(name = "isCurrent", value = "是否为当前版本 0:否 1:是", paramType = "query", dataType = "String")
	})
    @PostMapping("/getPageList")
		@RequiresPermissions("t:app:version:page")
		@ApiOperation(value = "获取分页列表", notes = "获取分页列表")
151
    public Map<String, Object> getTAppVersionPageList(LocalDate startDate, LocalDate endDate, String isCurrent) {
yangtianyou's avatar
yangtianyou committed
152 153 154 155 156
		LambdaQueryWrapper<TAppVersion> queryWrapper = new LambdaQueryWrapper<>();
		// 查询是否为当前版本
		if (StringUtils.isNotBlank(isCurrent)) {
			queryWrapper.like(TAppVersion::getIsCurrent, isCurrent);
		}
157 158 159 160 161
		// 查询时间范围
		if (startDate != null && endDate != null){
			queryWrapper.ge(TAppVersion::getUpdateTime,startDate.atTime(0,0,0))
					.le(TAppVersion::getUpdateTime,endDate.atTime(23,59,59));
		}
yangtianyou's avatar
yangtianyou committed
162

163
		queryWrapper.select().orderByDesc(TAppVersion::getUpdateTime);
yangtianyou's avatar
yangtianyou committed
164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180
		Page<TAppVersion> page = this.tAppVersionService.page(getPage(), queryWrapper);
		return getResult(page);
    }

    @ApiOperation(value = "获取详情", notes = "获取详情")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "id", value = "标识ID", dataType = "String", paramType = "path")
    })
    @GetMapping("/get/{id}")
		@RequiresPermissions("t:app:version:get:id")
	    public Map<String, Object> getById(@PathVariable("id") String id) {
        TAppVersion tAppVersion = tAppVersionService.getById(id);
		return getResult(tAppVersion);
    }

}