package com.ruoyi.web.controller.system;
|
|
import java.util.List;
|
import javax.servlet.http.HttpServletResponse;
|
import org.springframework.security.access.prepost.PreAuthorize;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.PutMapping;
|
import org.springframework.web.bind.annotation.DeleteMapping;
|
import org.springframework.web.bind.annotation.PathVariable;
|
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RestController;
|
import com.ruoyi.common.annotation.Log;
|
import com.ruoyi.common.core.controller.BaseController;
|
import com.ruoyi.common.core.domain.AjaxResult;
|
import com.ruoyi.common.enums.BusinessType;
|
import com.ruoyi.system.domain.SysClientApp;
|
import com.ruoyi.system.service.ISysClientAppService;
|
import com.ruoyi.common.utils.poi.ExcelUtil;
|
import com.ruoyi.common.core.page.TableDataInfo;
|
import com.ruoyi.common.annotation.Anonymous;
|
import com.ruoyi.common.utils.SecurityUtils;
|
|
/**
|
* 客户应用配置Controller
|
*/
|
@RestController
|
@RequestMapping("/system/clientApp")
|
public class SysClientAppController extends BaseController {
|
@Autowired
|
private ISysClientAppService sysClientAppService;
|
|
/**
|
* 查询客户应用配置列表
|
*/
|
@PreAuthorize("@ss.hasPermi('system:clientApp:list')")
|
@GetMapping("/list")
|
public TableDataInfo list(SysClientApp sysClientApp) {
|
startPage();
|
List<SysClientApp> list = sysClientAppService.selectSysClientAppList(sysClientApp);
|
return getDataTable(list);
|
}
|
|
/**
|
* 导出客户应用配置列表
|
*/
|
@PreAuthorize("@ss.hasPermi('system:clientApp:export')")
|
@Log(title = "客户应用配置", businessType = BusinessType.EXPORT)
|
@PostMapping("/export")
|
public void export(HttpServletResponse response, SysClientApp sysClientApp) {
|
List<SysClientApp> list = sysClientAppService.selectSysClientAppList(sysClientApp);
|
ExcelUtil<SysClientApp> util = new ExcelUtil<SysClientApp>(SysClientApp.class);
|
util.exportExcel(response, list, "客户应用配置数据");
|
}
|
|
/**
|
* 获取客户应用配置详细信息
|
*/
|
@PreAuthorize("@ss.hasPermi('system:clientApp:query')")
|
@GetMapping(value = "/{appId}")
|
public AjaxResult getInfo(@PathVariable("appId") Long appId) {
|
return success(sysClientAppService.selectSysClientAppByAppId(appId));
|
}
|
|
/**
|
* 新增客户应用配置
|
*/
|
@PreAuthorize("@ss.hasPermi('system:clientApp:add')")
|
@Log(title = "客户应用配置", businessType = BusinessType.INSERT)
|
@PostMapping
|
public AjaxResult add(@RequestBody SysClientApp sysClientApp) {
|
return toAjax(sysClientAppService.insertSysClientApp(sysClientApp));
|
}
|
|
/**
|
* 修改客户应用配置
|
*/
|
@PreAuthorize("@ss.hasPermi('system:clientApp:edit')")
|
@Log(title = "客户应用配置", businessType = BusinessType.UPDATE)
|
@PutMapping
|
public AjaxResult edit(@RequestBody SysClientApp sysClientApp) {
|
try {
|
return toAjax(sysClientAppService.updateSysClientApp(sysClientApp));
|
}catch (Exception ex){
|
return AjaxResult.error(ex.getMessage());
|
}
|
}
|
|
/**
|
* 删除客户应用配置
|
*/
|
@PreAuthorize("@ss.hasPermi('system:clientApp:remove')")
|
@Log(title = "客户应用配置", businessType = BusinessType.DELETE)
|
@DeleteMapping("/{appIds}")
|
public AjaxResult remove(@PathVariable Long[] appIds) {
|
return toAjax(sysClientAppService.deleteSysClientAppByAppIds(appIds));
|
}
|
|
@Anonymous(needSign=true)
|
@GetMapping("/testSign")
|
public AjaxResult testSign(){
|
return AjaxResult.success("成功");
|
}
|
/**
|
* 生成签名
|
*/
|
@Anonymous
|
@GetMapping("/generateSign/{appId}")
|
public AjaxResult generateSign(@PathVariable("appId") String appId)
|
{
|
// 获取当前系统时间戳
|
long timestamp = System.currentTimeMillis();
|
|
// 查询应用信息获取securityKey
|
SysClientApp clientApp = sysClientAppService.selectSysClientAppByAppKey(appId);
|
if (clientApp == null)
|
{
|
return AjaxResult.error("应用不存在");
|
}
|
|
// 生成签名
|
String signStr = appId + timestamp + clientApp.getSecurityKey();
|
String sign = SecurityUtils.md5(signStr);
|
|
AjaxResult ajax = AjaxResult.success();
|
ajax.put("use","md5(appId+timestamp+securityKey)");
|
ajax.put("appId", appId);
|
ajax.put("timestamp", String.valueOf(timestamp));
|
ajax.put("sign", sign);
|
//ajax.put("signStr", signStr); // 用于调试,显示拼接的字符串
|
return ajax;
|
}
|
}
|
|