package com.ruoyi.admin.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.admin.entity.AppVersion;
import com.ruoyi.admin.entity.Region;
import com.ruoyi.admin.entity.SysUser;
import com.ruoyi.admin.mapper.AppMapper;
import com.ruoyi.admin.service.RegionService;
import com.ruoyi.admin.service.SysUserService;
import com.ruoyi.admin.service.UserService;
import com.ruoyi.admin.vo.PageDto;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.security.service.TokenService;
import com.ruoyi.system.api.model.LoginUser;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.collections4.Get;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
/**
*
* 省市区三级联动 前端控制器
*
*
* @author hjl
* @since 2024-06-12
*/
@RestController
@RequestMapping("/region")
@Api(value = "后台-首页", tags = {"后台-首页"})
public class RegionController {
@Resource
private RegionService regionService;
@Resource
private TokenService tokenService;
@Resource
private AppMapper appMapper;
@Resource
private SysUserService sysUserService;
@PostMapping("/version/list")
@ApiOperation(value = "列表", tags = {"后台-版本管理"})
public R> versionList(@RequestBody PageDto pageDto) {
Page appVersionPage = appMapper.selectPage(Page.of(pageDto.getPageNum(), pageDto.getPageSize()), new QueryWrapper().orderByDesc("createTime"));
for (AppVersion record : appVersionPage.getRecords()) {
SysUser byId = sysUserService.getById(record.getCreateBy());
record.setCreateBy(byId.getNickName());
}
return R.ok(appVersionPage);
}
@PostMapping("/version/add")
@ApiOperation(value = "添加", tags = {"后台-版本管理"})
public R versionAdd(@RequestBody AppVersion appVersion) {
com.ruoyi.system.api.domain.SysUser sysUser = tokenService.getLoginUser().getSysUser();
appVersion.setCreateBy(String.valueOf(sysUser.getUserId()));
appMapper.insert(appVersion);
return R.ok();
}
@PostMapping("/version/delete/{id}")
@ApiOperation(value = "删除", tags = {"后台-版本管理"})
public R versionDelete(@PathVariable Integer id) {
appMapper.deleteById(id);
return R.ok();
}
/**
* 收货地址省市二级联动
*/
@GetMapping("/addressTree")
@ApiOperation(value = "选择城市:省市二级联动", tags = {"后台-首页"})
public R> addressTree() {
// LoginUser loginUser = tokenService.getLoginUser();
// if (null == loginUser) {
// return R.loginExpire("登录失效!");
// }
// List cityCodeList;
// if (loginUser.getIsFranchisee()) {
// cityCodeList = loginUser.getCityList();
// } else {
// cityCodeList = new ArrayList<>();
// }
return R.ok(regionService.addressTree(null));
}
@GetMapping("/manageaddressTree")
@ApiOperation(value = "选择城市:省市二级联动", tags = {"后台-首页"})
public R> manageaddressTree() {
LoginUser loginUser = tokenService.getLoginUser();
if (null == loginUser) {
return R.loginExpire("登录失效!");
}
List cityCodeList;
if (loginUser.getIsFranchisee()) {
cityCodeList = loginUser.getCityList();
} else {
cityCodeList = new ArrayList<>();
}
return R.ok(regionService.addressTree1(cityCodeList));
}
}