Browse Source

上传文件至 'ctrl'

麦兜兜12138 4 years ago
parent
commit
837ea7eb74

+ 138 - 0
ctrl/CusAuditInfoController.java

@@ -0,0 +1,138 @@
+package com.boot.security.server.controller;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.boot.security.server.page.table.PageTableRequest;
+import com.boot.security.server.page.table.PageTableHandler;
+import com.boot.security.server.page.table.PageTableResponse;
+import com.boot.security.server.utils.StrUtil;
+import com.boot.security.server.page.table.PageTableHandler.CountHandler;
+import com.boot.security.server.page.table.PageTableHandler.ListHandler;
+import com.alibaba.fastjson.JSON;
+import com.boot.security.server.dao.CusAuditInfoDao;
+import com.boot.security.server.dao.CusSelfInfoDao;
+import com.boot.security.server.dao.DictDao;
+import com.boot.security.server.model.CusAuditInfo;
+import com.boot.security.server.model.CusSelfInfo;
+import com.boot.security.server.model.Dict;
+
+import io.swagger.annotations.ApiOperation;
+
+@RestController
+@RequestMapping("/cusAuditInfos")
+public class CusAuditInfoController {
+	
+	private static final Logger log = LoggerFactory.getLogger("adminLogger");
+
+    @Autowired
+    private CusAuditInfoDao cusAuditInfoDao;
+    
+    @Autowired
+    private CusSelfInfoDao cusSelfInfoDao;
+    
+    @Autowired
+    private DictDao dictDao;
+
+    @PostMapping
+    @ApiOperation(value = "保存")
+    public CusAuditInfo save(@RequestBody CusAuditInfo cusAuditInfo) {
+        cusAuditInfoDao.save(cusAuditInfo);
+
+        return cusAuditInfo;
+    }
+
+    @GetMapping("/{id}")
+    @ApiOperation(value = "根据id获取")
+    public CusAuditInfo get(@PathVariable String id) {
+        return cusAuditInfoDao.getById(id);
+    }
+
+    @PutMapping
+    @ApiOperation(value = "修改")
+    public CusAuditInfo update(@RequestBody CusAuditInfo cusAuditInfo) {
+        cusAuditInfoDao.update(cusAuditInfo);
+        return cusAuditInfo;
+    }
+    
+    @PostMapping("/auditCheck")
+    @ApiOperation(value = "大V审核")
+    public String auditCheck(String id,String status) {
+        int check = cusAuditInfoDao.auditCheck(id,status);
+        // 修改基本信息表用户身份
+        CusAuditInfo auditInfo = cusAuditInfoDao.getById(id);
+        if(StrUtil.isNotEmpty(auditInfo)) {
+        	String auditStatus = auditInfo.getAuditStatus();
+        	String openid = auditInfo.getOpenid();
+        	CusSelfInfo cusSelfInfo = new CusSelfInfo();
+        	if("1".equals(auditStatus)) {
+        		cusSelfInfo.setUserType("2");
+        	}else {
+        		cusSelfInfo.setUserType("1");
+        	}
+        	cusSelfInfo.setOpenId(openid);
+        	cusSelfInfoDao.update(cusSelfInfo);
+        }
+        Map<String,Object> resultMap = new HashMap<String,Object>();
+        if(check==1) {
+        	resultMap.put("data", "");
+			resultMap.put("code", "0");
+			resultMap.put("msg", "修改成功");
+        }else {
+        	resultMap.put("data", "");
+			resultMap.put("code", "1");
+			resultMap.put("msg", "修改失败");
+        }
+        return JSON.toJSONString(resultMap);
+    }
+
+    @GetMapping
+    @ApiOperation(value = "列表")
+    public PageTableResponse list(PageTableRequest request) {
+        return new PageTableHandler(new CountHandler() {
+
+            @Override
+            public int count(PageTableRequest request) {
+                return cusAuditInfoDao.count(request.getParams());
+            }
+        }, new ListHandler() {
+
+            @Override
+            public List<CusAuditInfo> list(PageTableRequest request) {
+            	List<CusAuditInfo> list = cusAuditInfoDao.list(request.getParams(), request.getOffset(), request.getLimit());
+                // 拼接图片访问地址
+            	String filePath = "/statics" ;
+        		for(CusAuditInfo cusAuditInfo:list) {
+        			if(StrUtil.isNotEmpty(cusAuditInfo.getCertifiedImg())) {
+        				log.info(filePath+cusAuditInfo.getCertifiedImg());
+        				cusAuditInfo.setCertifiedImg(filePath+cusAuditInfo.getCertifiedImg());
+        				Dict dict = dictDao.getByTypeAndK("auditStatus", cusAuditInfo.getAuditStatus());
+        				if(StrUtil.isNotEmpty(dict)) {
+        					cusAuditInfo.setAuditStatus(dict.getVal());
+        				}
+        			}
+        		}
+            	return list;
+            }
+        }).handle(request);
+    }
+
+    @DeleteMapping("/{id}")
+    @ApiOperation(value = "删除")
+    public void delete(@PathVariable Long id) {
+        cusAuditInfoDao.delete(id);
+    }
+}

+ 77 - 0
ctrl/CusLoginInfoController.java

@@ -0,0 +1,77 @@
+package com.boot.security.server.controller;
+
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.boot.security.server.page.table.PageTableRequest;
+import com.boot.security.server.page.table.PageTableHandler;
+import com.boot.security.server.page.table.PageTableResponse;
+import com.boot.security.server.page.table.PageTableHandler.CountHandler;
+import com.boot.security.server.page.table.PageTableHandler.ListHandler;
+import com.boot.security.server.dao.CusLoginInfoDao;
+import com.boot.security.server.model.CusLoginInfo;
+
+import io.swagger.annotations.ApiOperation;
+
+@RestController
+@RequestMapping("/cusLoginInfos")
+public class CusLoginInfoController {
+
+    @Autowired
+    private CusLoginInfoDao cusLoginInfoDao;
+
+    @PostMapping
+    @ApiOperation(value = "保存")
+    public CusLoginInfo save(@RequestBody CusLoginInfo cusLoginInfo) {
+        cusLoginInfoDao.save(cusLoginInfo);
+
+        return cusLoginInfo;
+    }
+
+    @GetMapping("/{id}")
+    @ApiOperation(value = "根据id获取")
+    public CusLoginInfo get(@PathVariable Long id) {
+        return cusLoginInfoDao.getById(id);
+    }
+
+    @PutMapping
+    @ApiOperation(value = "修改")
+    public CusLoginInfo update(@RequestBody CusLoginInfo cusLoginInfo) {
+        cusLoginInfoDao.update(cusLoginInfo);
+
+        return cusLoginInfo;
+    }
+
+    @GetMapping
+    @ApiOperation(value = "列表")
+    public PageTableResponse list(PageTableRequest request) {
+        return new PageTableHandler(new CountHandler() {
+
+            @Override
+            public int count(PageTableRequest request) {
+                return cusLoginInfoDao.count(request.getParams());
+            }
+        }, new ListHandler() {
+
+            @Override
+            public List<CusLoginInfo> list(PageTableRequest request) {
+                return cusLoginInfoDao.list(request.getParams(), request.getOffset(), request.getLimit());
+            }
+        }).handle(request);
+    }
+
+    @DeleteMapping("/{id}")
+    @ApiOperation(value = "删除")
+    public void delete(@PathVariable Long id) {
+        cusLoginInfoDao.delete(id);
+    }
+}

+ 86 - 0
ctrl/CusSelfInfoController.java

@@ -0,0 +1,86 @@
+package com.boot.security.server.controller;
+
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.boot.security.server.page.table.PageTableRequest;
+import com.boot.security.server.page.table.PageTableHandler;
+import com.boot.security.server.page.table.PageTableResponse;
+import com.boot.security.server.page.table.PageTableHandler.CountHandler;
+import com.boot.security.server.page.table.PageTableHandler.ListHandler;
+import com.boot.security.server.dao.CusSelfInfoDao;
+import com.boot.security.server.model.CusSelfInfo;
+
+import io.swagger.annotations.ApiOperation;
+
+@RestController
+@RequestMapping("/cusSelfInfos")
+public class CusSelfInfoController {
+
+    @Autowired
+    private CusSelfInfoDao cusSelfInfoDao;
+
+    @PostMapping
+    @ApiOperation(value = "保存")
+    public CusSelfInfo save(@RequestBody CusSelfInfo cusSelfInfo) {
+        cusSelfInfoDao.save(cusSelfInfo);
+
+        return cusSelfInfo;
+    }
+
+    @GetMapping("/{id}")
+    @ApiOperation(value = "根据id获取")
+    public CusSelfInfo get(@PathVariable String id) {
+        return cusSelfInfoDao.getById(id);
+    }
+
+    @PutMapping
+    @ApiOperation(value = "修改")
+    public CusSelfInfo update(@RequestBody CusSelfInfo cusSelfInfo) {
+        cusSelfInfoDao.update(cusSelfInfo);
+
+        return cusSelfInfo;
+    }
+
+    @GetMapping
+    @ApiOperation(value = "列表")
+    public PageTableResponse list(PageTableRequest request) {
+        return new PageTableHandler(new CountHandler() {
+
+            @Override
+            public int count(PageTableRequest request) {
+                return cusSelfInfoDao.count(request.getParams());
+            }
+        }, new ListHandler() {
+
+            @Override
+            public List<CusSelfInfo> list(PageTableRequest request) {
+                return cusSelfInfoDao.list(request.getParams(), request.getOffset(), request.getLimit());
+            }
+        }).handle(request);
+    }
+
+    @DeleteMapping("/{id}")
+    @ApiOperation(value = "删除")
+    public void delete(@PathVariable String id) {
+    	
+    	CusSelfInfo detail = cusSelfInfoDao.getById(id);
+    	if(detail!=null) {
+    		String openid = detail.getOpenId();
+    		// 删除登录表信息
+    		// 若存在手机授权,删除手机授权记录表信息
+    		// 删除大V认证表信息
+    		cusSelfInfoDao.deleteByOpenid(openid);
+    	}
+        cusSelfInfoDao.delete(id);
+    }
+}

+ 91 - 0
ctrl/DictController.java

@@ -0,0 +1,91 @@
+package com.boot.security.server.controller;
+
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.boot.security.server.dao.DictDao;
+import com.boot.security.server.model.Dict;
+import com.boot.security.server.page.table.PageTableHandler;
+import com.boot.security.server.page.table.PageTableHandler.CountHandler;
+import com.boot.security.server.page.table.PageTableHandler.ListHandler;
+import com.boot.security.server.page.table.PageTableRequest;
+import com.boot.security.server.page.table.PageTableResponse;
+
+import io.swagger.annotations.ApiOperation;
+
+@RestController
+@RequestMapping("/dicts")
+public class DictController {
+
+	@Autowired
+	private DictDao dictDao;
+
+	@PreAuthorize("hasAuthority('dict:add')")
+	@PostMapping
+	@ApiOperation(value = "保存")
+	public Dict save(@RequestBody Dict dict) {
+		Dict d = dictDao.getByTypeAndK(dict.getType(), dict.getK());
+		if (d != null) {
+			throw new IllegalArgumentException("类型和key已存在");
+		}
+		dictDao.save(dict);
+
+		return dict;
+	}
+
+	@GetMapping("/{id}")
+	@ApiOperation(value = "根据id获取")
+	public Dict get(@PathVariable Long id) {
+		return dictDao.getById(id);
+	}
+
+	@PreAuthorize("hasAuthority('dict:add')")
+	@PutMapping
+	@ApiOperation(value = "修改")
+	public Dict update(@RequestBody Dict dict) {
+		dictDao.update(dict);
+
+		return dict;
+	}
+
+	@PreAuthorize("hasAuthority('dict:query')")
+	@GetMapping(params = { "start", "length" })
+	@ApiOperation(value = "列表")
+	public PageTableResponse list(PageTableRequest request) {
+		return new PageTableHandler(new CountHandler() {
+
+			@Override
+			public int count(PageTableRequest request) {
+				return dictDao.count(request.getParams());
+			}
+		}, new ListHandler() {
+
+			@Override
+			public List<Dict> list(PageTableRequest request) {
+				return dictDao.list(request.getParams(), request.getOffset(), request.getLimit());
+			}
+		}).handle(request);
+	}
+
+	@PreAuthorize("hasAuthority('dict:del')")
+	@DeleteMapping("/{id}")
+	@ApiOperation(value = "删除")
+	public void delete(@PathVariable Long id) {
+		dictDao.delete(id);
+	}
+
+	@GetMapping(params = "type")
+	public List<Dict> listByType(String type) {
+		return dictDao.listByType(type);
+	}
+}

+ 131 - 0
ctrl/ExcelController.java

@@ -0,0 +1,131 @@
+package com.boot.security.server.controller;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.commons.codec.digest.DigestUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.jdbc.core.JdbcTemplate;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.util.CollectionUtils;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.boot.security.server.annotation.LogAnnotation;
+import com.boot.security.server.utils.ExcelUtil;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+@Api(tags = "excel下载")
+@RestController
+@RequestMapping("/excels")
+public class ExcelController {
+	
+	private static final Logger log = LoggerFactory.getLogger("adminLogger");
+
+	@Autowired
+	private JdbcTemplate jdbcTemplate;
+
+	@ApiOperation("校验sql,并返回sql返回的数量")
+	@PostMapping("/sql-count")
+	public Integer checkSql(String sql) {
+		log.info(sql);
+		sql = getAndCheckSql(sql);
+
+		Integer count = 0;
+		try {
+			count = jdbcTemplate.queryForObject("select count(1) from (" + sql + ") t", Integer.class);
+		} catch (Exception e) {
+			throw new IllegalArgumentException(e.getMessage());
+		}
+
+		return count;
+	}
+
+	private String getAndCheckSql(String sql) {
+		sql = sql.trim().toLowerCase();
+		if (sql.endsWith(";") || sql.endsWith(";")) {
+			sql = sql.substring(0, sql.length() - 1);
+		}
+		if (!sql.startsWith("select")) {
+			throw new IllegalArgumentException("仅支持select语句");
+		}
+		return sql;
+	}
+
+	@LogAnnotation
+	@ApiOperation("根据sql导出excel")
+	@PostMapping
+	@PreAuthorize("hasAuthority('excel:down')")
+	public void downloadExcel(String sql, String fileName, HttpServletResponse response) {
+		sql = getAndCheckSql(sql);
+		List<Map<String, Object>> list = jdbcTemplate.queryForList(sql);
+
+		if (!CollectionUtils.isEmpty(list)) {
+			Map<String, Object> map = list.get(0);
+
+			String[] headers = new String[map.size()];
+			int i = 0;
+			for (String key : map.keySet()) {
+				headers[i++] = key;
+			}
+
+			List<Object[]> datas = new ArrayList<>(list.size());
+			for (Map<String, Object> m : list) {
+				Object[] objects = new Object[headers.length];
+				for (int j = 0; j < headers.length; j++) {
+					objects[j] = m.get(headers[j]);
+				}
+
+				datas.add(objects);
+			}
+
+			ExcelUtil.excelExport(
+					fileName == null || fileName.trim().length() <= 0 ? DigestUtils.md5Hex(sql) : fileName, headers,
+					datas, response);
+		}
+	}
+
+	@LogAnnotation
+	@ApiOperation("根据sql在页面显示结果")
+	@PostMapping("/show-datas")
+	@PreAuthorize("hasAuthority('excel:show:datas')")
+	public List<Object[]> showData(String sql) {
+		sql = getAndCheckSql(sql);
+		List<Map<String, Object>> list = jdbcTemplate.queryForList(sql);
+
+		if (!CollectionUtils.isEmpty(list)) {
+			Map<String, Object> map = list.get(0);
+
+			String[] headers = new String[map.size()];
+			int i = 0;
+			for (String key : map.keySet()) {
+				headers[i++] = key;
+			}
+
+			List<Object[]> datas = new ArrayList<>(list.size());
+			datas.add(headers);
+			for (Map<String, Object> m : list) {
+				Object[] objects = new Object[headers.length];
+				for (int j = 0; j < headers.length; j++) {
+					objects[j] = m.get(headers[j]);
+				}
+
+				datas.add(objects);
+			}
+
+			return datas;
+		}
+
+		return Collections.emptyList();
+	}
+
+}