From ac4f0d8e61c545c74f287563765179696b51b856 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期四, 29 五月 2025 17:21:49 +0800
Subject: [PATCH] 增加排班删除功能
---
pms-parent/pms-web-base/src/main/java/com/dy/pmsBase/user/UserCtrl.java | 215 +++++++++++++++++++++++++++++++----------------------
1 files changed, 125 insertions(+), 90 deletions(-)
diff --git a/pms-parent/pms-web-base/src/main/java/com/dy/pmsBase/user/UserCtrl.java b/pms-parent/pms-web-base/src/main/java/com/dy/pmsBase/user/UserCtrl.java
index a7c9605..420464f 100644
--- a/pms-parent/pms-web-base/src/main/java/com/dy/pmsBase/user/UserCtrl.java
+++ b/pms-parent/pms-web-base/src/main/java/com/dy/pmsBase/user/UserCtrl.java
@@ -1,34 +1,46 @@
package com.dy.pmsBase.user;
+import com.alibaba.excel.converters.Converter;
import com.dy.common.aop.SsoAop;
import com.dy.common.aop.SsoPowerAop;
import com.dy.common.util.MD5;
import com.dy.common.webUtil.BaseResponse;
import com.dy.common.webUtil.BaseResponseUtils;
import com.dy.common.webUtil.QueryResultVo;
+import com.dy.pmsGlobal.aop.Log;
+import com.dy.pmsGlobal.pojoBa.BaRole;
import com.dy.pmsGlobal.pojoBa.BaUser;
import com.dy.pmsGlobal.util.Constant;
+import com.dy.pmsGlobal.util.ExportExcelUtil;
+import com.dy.pmsGlobal.util.QrCodeConstant;
+import com.dy.pmsGlobal.util.QrCodeUtil;
+import com.google.zxing.WriterException;
import com.mysql.cj.util.StringUtils;
+import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.Valid;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.MediaType;
-import org.springframework.validation.BindingResult;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
+import java.io.IOException;
+import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
/**
- * 娴嬭瘯
+ * 鐢ㄦ埛绠$悊
*/
@Slf4j
@RestController
@RequestMapping(path = "user")
@SuppressWarnings("unchecked")//java鐗堟湰瓒婇珮锛屽娉涘瀷绾︽潫瓒婁弗锛屾墍浠ラ厤缃甋uppressWarnings("unchecked")
public class UserCtrl {
+
+ private static final String fileName = "淇℃伅" ;
+ private static final String sheetName = "鐢ㄦ埛淇℃伅" ;
@Autowired
private UserSv sv;
@@ -59,15 +71,11 @@
*/
@PostMapping(path = "some", consumes = MediaType.APPLICATION_JSON_VALUE)
//@SsoAop() //鍙湁鐧诲綍楠岃瘉锛屾病鏈夋潈闄愰獙璇�
- @SsoPowerAop(power = "10100010") //鐧诲綍涓庢潈闄愬悓鏃堕獙璇�
+ @SsoPowerAop(power = "10100000") //鐧诲綍涓庢潈闄愬悓鏃堕獙璇�
+ @Log("鏌ヨ鐢ㄦ埛")
public BaseResponse<QueryResultVo<List<BaUser>>> some(@RequestBody QueryVo vo) {
- try {
- QueryResultVo<List<BaUser>> res = this.sv.selectSome(vo);
- return BaseResponseUtils.buildSuccess(res);
- } catch (Exception e) {
- log.error("鏌ヨ鐢ㄦ埛寮傚父", e);
- return BaseResponseUtils.buildException(e.getMessage());
- }
+ QueryResultVo<List<BaUser>> res = this.sv.selectSome(vo);
+ return BaseResponseUtils.buildSuccess(res);
}
/**
@@ -77,49 +85,38 @@
//@GetMapping(path = "one", consumes = MediaType.TEXT_PLAIN_VALUE)//鎸囧墠绔悜鍚庝紶鐨勫弬鏁扮被鍨�
@GetMapping(path = "one")
//@SsoAop() //鍙湁鐧诲綍楠岃瘉锛屾病鏈夋潈闄愰獙璇�
- @SsoPowerAop(power = "10100010") //鐧诲綍涓庢潈闄愬悓鏃堕獙璇�
+ @SsoPowerAop(power = "10100000") //鐧诲綍涓庢潈闄愬悓鏃堕獙璇�
+ @Log("鏌ヨ鍗曚釜鐢ㄦ埛")
public BaseResponse<BaUser> one(String id) {
- try {
- return BaseResponseUtils.buildSuccess(this.sv.selectById(Long.parseLong(id)));
- } catch (Exception e) {
- log.error("鏌ヨ涓�涓敤鎴锋暟鎹紓甯�", e);
- return BaseResponseUtils.buildException(e.getMessage());
- }
+ return BaseResponseUtils.buildSuccess(this.sv.selectById(Long.parseLong(id)));
}
/**
* 淇濆瓨鐢ㄦ埛淇℃伅
* @param po
- * @param bindingResult
* @return
*/
@PostMapping(path = "save", consumes = MediaType.APPLICATION_JSON_VALUE)
//@SsoAop() //鍙湁鐧诲綍楠岃瘉锛屾病鏈夋潈闄愰獙璇�
- @SsoPowerAop(power = "10100011") //鐧诲綍涓庢潈闄愬悓鏃堕獙璇�
- public BaseResponse<Boolean> save(@RequestBody @Valid BaUser po, BindingResult bindingResult) {
- if (bindingResult != null && bindingResult.hasErrors()) {
- return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
- }
+ @SsoPowerAop(power = "10100001") //鐧诲綍涓庢潈闄愬悓鏃堕獙璇�
+ @Log("淇濆瓨鐢ㄦ埛淇℃伅")
+ public BaseResponse<Boolean> save(@RequestBody @Valid BaUser po) throws Exception{
po.id = null;
Long id;
- try {
- po.supperAdmin = Constant.no.byteValue() ;
- po.disabled = false ;//榛樿涓嶇鐢�
- po.deleted = false;//榛樿涓嶅垹闄�
- if (!StringUtils.isNullOrEmpty(po.password)) {
+ po.supperAdmin = Constant.no.byteValue() ;
+// po.disabled = false ;//榛樿涓嶇鐢�
+ po.deleted = false;//榛樿涓嶅垹闄�
+ po.supperAdmin = 0;//榛樿涓嶆槸绠$悊鍛�
+ if (!StringUtils.isNullOrEmpty(po.password)) {
/*
濡傛灉鍓嶇杩涜浜哹ase64鍔犲瘑
po.password = new String(Base64.getDecoder().decode(po.password)) ;
*/
- po.password = MD5.encrypt(po.password);//杩涜鍔犲瘑鐮�
- } else {
- po.password = MD5.encrypt(defaultPassword);
- }
- id = this.sv.save(po);
- } catch (Exception e) {
- log.error("淇濆瓨鐢ㄦ埛寮傚父", e);
- return BaseResponseUtils.buildException(e.getMessage());
+ po.password = MD5.encrypt(po.password);//杩涜鍔犲瘑鐮�
+ } else {
+ po.password = MD5.encrypt(defaultPassword);
}
+ id = this.sv.save(po);
if (id <= 0) {
return BaseResponseUtils.buildFail("鏁版嵁搴撳瓨鍌ㄥけ璐�");
} else {
@@ -130,29 +127,54 @@
/**
* 鏇存柊鐢ㄦ埛淇℃伅
* @param po
- * @param bindingResult
* @return
*/
@PostMapping(path = "update", consumes = MediaType.APPLICATION_JSON_VALUE)
//@SsoAop() //鍙湁鐧诲綍楠岃瘉锛屾病鏈夋潈闄愰獙璇�
- @SsoPowerAop(power = "10100011") //鐧诲綍涓庢潈闄愬悓鏃堕獙璇�
- public BaseResponse<Boolean> update(@RequestBody @Validated BaUser po, BindingResult bindingResult) {
- if (bindingResult != null && bindingResult.hasErrors()) {
- return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
+ @SsoPowerAop(power = "10100001") //鐧诲綍涓庢潈闄愬悓鏃堕獙璇�
+ @Log("鏇存柊鐢ㄦ埛淇℃伅")
+ public BaseResponse<Boolean> update(@RequestBody @Validated BaUser po) {
+ po.password = null;//璁剧疆涓簄ull锛屼笉鍋氭洿鏂�
+ po.supperAdmin = null;//璁剧疆涓簄ull锛屼笉鍋氭洿鏂�
+ po.deleted = null;//璁剧疆涓簄ull锛屼笉鍋氭洿鏂�
+ int count = this.sv.update(po);
+ if (count <= 0) {
+ return BaseResponseUtils.buildFail("鏁版嵁搴撳瓨鍌ㄥけ璐�");
+ } else {
+ return BaseResponseUtils.buildSuccess(true);
}
- if (po.id == null) {
- return BaseResponseUtils.buildFail("鏃犳暟鎹疄浣揑D");
+ }
+
+ /**
+ * 绂佺敤鎴栧惎鐢ㄧ敤鎴蜂俊鎭�
+ * @param po
+ * @return
+ */
+ @PostMapping(path="disabled")
+ @SsoPowerAop(power = "10100001")
+ @Log("绂佺敤鎴栧惎鐢ㄧ敤鎴蜂俊鎭�")
+ public BaseResponse<BaRole> disabled(@RequestBody BaUser po){
+ int count = sv.disabled(po.id,po.disabled);
+ if (count <= 0) {
+ return BaseResponseUtils.buildFail("鏁版嵁搴撳瓨鍌ㄥけ璐�");
+ } else {
+ return BaseResponseUtils.buildSuccess(true);
}
- int count;
- try {
- po.password = null;//璁剧疆涓簄ull锛屼笉鍋氭洿鏂�
- po.supperAdmin = null;//璁剧疆涓簄ull锛屼笉鍋氭洿鏂�
- po.deleted = null;//璁剧疆涓簄ull锛屼笉鍋氭洿鏂�
- count = this.sv.update(po);
- } catch (Exception e) {
- log.error("淇敼鐢ㄦ埛寮傚父", e);
- return BaseResponseUtils.buildException(e.getMessage());
- }
+ }
+
+ /**
+ * 鍒犻櫎鐢ㄦ埛淇℃伅
+ * @param id
+ * @return
+ */
+ @GetMapping(path = "delete")
+ @SsoPowerAop(power = "10100001") //鐧诲綍涓庢潈闄愬悓鏃堕獙璇�
+ @Log("鍒犻櫎鐢ㄦ埛")
+ public BaseResponse<Boolean> delete(Long id) {
+ BaUser po = new BaUser();
+ po.id = id;
+ po.deleted = true;
+ int count = this.sv.update(po);
if (count <= 0) {
return BaseResponseUtils.buildFail("鏁版嵁搴撳瓨鍌ㄥけ璐�");
} else {
@@ -168,7 +190,9 @@
//@GetMapping(path = "changePassword", consumes = MediaType.TEXT_PLAIN_VALUE)
@GetMapping(path = "changePassword")
@SsoAop()
- public BaseResponse<Boolean> changePassword(String id, String oldPassword, String newPassword) throws Exception {
+ @Log("淇敼瀵嗙爜")
+ public BaseResponse<Boolean> changePassword(String id, String oldPassword, String newPassword) throws Exception{
+ int count;
if (id == null) {
return BaseResponseUtils.buildFail("id涓嶈兘涓虹┖");
}
@@ -178,30 +202,25 @@
if (StringUtils.isNullOrEmpty(newPassword)) {
return BaseResponseUtils.buildFail("鏂板瘑鐮佷笉鑳戒负绌�");
}
- /*
- 濡傛灉鍓嶇杩涜浜哹ase64鍔犲瘑
- oldPassword = new String(Base64.getDecoder().decode(oldPassword)) ;
- newPassword = new String(Base64.getDecoder().decode(newPassword)) ;
- */
+ /*
+ 濡傛灉鍓嶇杩涜浜哹ase64鍔犲瘑
+ oldPassword = new String(Base64.getDecoder().decode(oldPassword)) ;
+ newPassword = new String(Base64.getDecoder().decode(newPassword)) ;
+ */
oldPassword = MD5.encrypt(oldPassword);//杩涜鍔犲瘑鐮�
newPassword = MD5.encrypt(newPassword);//杩涜鍔犲瘑鐮�
- Long idLg = Long.parseLong(id);
- int count;
- try {
- BaUser po = this.sv.selectById(idLg);
- if (Objects.isNull(po)) {
- return BaseResponseUtils.buildFail("鏈緱鍒扮敤鎴凤紝璇锋眰澶辫触");
+ Long idLg = Long.parseLong(id) ;
+
+ BaUser po = this.sv.selectById(idLg);
+ if (Objects.isNull(po)) {
+ return BaseResponseUtils.buildFail("鏈緱鍒扮敤鎴凤紝璇锋眰澶辫触");
+ } else {
+ if (!po.password.equalsIgnoreCase(oldPassword)) {
+ return BaseResponseUtils.buildFail("鏃у瘑鐮佷笉姝g‘锛岃姹傚け璐�");
} else {
- if (!po.password.equalsIgnoreCase(oldPassword)) {
- return BaseResponseUtils.buildFail("鏃у瘑鐮佷笉姝g‘锛岃姹傚け璐�");
- } else {
- count = this.sv.changePassword(idLg, newPassword);
- }
+ count = this.sv.changePassword(idLg, newPassword);
}
- } catch (Exception e) {
- log.error("淇濆瓨鐢ㄦ埛寮傚父", e);
- return BaseResponseUtils.buildException(e.getMessage());
}
if (count <= 0) {
return BaseResponseUtils.buildFail("鏁版嵁搴撳瓨鍌ㄥけ璐�");
@@ -218,30 +237,46 @@
*/
@PostMapping(path = "resetPassword", consumes = MediaType.APPLICATION_JSON_VALUE)
//@SsoAop() //鍙湁鐧诲綍楠岃瘉锛屾病鏈夋潈闄愰獙璇�
- @SsoPowerAop(power = "10100011") //鐧诲綍涓庢潈闄愬悓鏃堕獙璇�
- public BaseResponse<Boolean> resetPassword(@RequestBody @Validated ResetPasswordVo vo, BindingResult bindingResult) throws Exception {
- if (bindingResult != null && bindingResult.hasErrors()) {
- return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
- }
+ @SsoPowerAop(power = "10100001") //鐧诲綍涓庢潈闄愬悓鏃堕獙璇�
+ @Log("閲嶇疆瀵嗙爜")
+ public BaseResponse<Boolean> resetPassword(@RequestBody @Validated ResetPasswordVo vo) throws Exception {
+ int count;
String password = MD5.encrypt(vo.password);//杩涜鍔犲瘑鐮�
Long idLg = Long.parseLong(vo.id);
- int count;
- try {
- BaUser po = this.sv.selectById(idLg);
- if (Objects.isNull(po)) {
- return BaseResponseUtils.buildFail("鏈緱鍒扮敤鎴凤紝璇锋眰澶辫触");
- } else {
- count = this.sv.changePassword(idLg, password);
- }
- } catch (Exception e) {
- log.error("淇濆瓨鐢ㄦ埛寮傚父", e);
- return BaseResponseUtils.buildException(e.getMessage());
+ BaUser po = this.sv.selectById(idLg);
+ if (Objects.isNull(po)) {
+ return BaseResponseUtils.buildFail("鏈緱鍒扮敤鎴凤紝璇锋眰澶辫触");
+ } else {
+ count = this.sv.changePassword(idLg, password);
}
if (count <= 0) {
return BaseResponseUtils.buildFail("鏁版嵁搴撳瓨鍌ㄥけ璐�");
} else {
- return BaseResponseUtils.buildSuccess("淇敼瀵嗙爜鎴愬姛");
+ return BaseResponseUtils.buildSuccess("閲嶇疆瀵嗙爜鎴愬姛");
}
}
+ @PostMapping(path="export")
+ @SsoPowerAop(power = "10100001")
+ @Log("瀵煎嚭鐢ㄦ埛淇℃伅")
+ public void export(HttpServletResponse response) {
+ List<Converter> list = new ArrayList<>();
+ List<BaUser> users = sv.selectAll();
+ if (users != null) {
+ for (BaUser user : users) {
+ ExcelVo vo = new ExcelVo();
+ vo.name = user.name;
+ try {
+ vo.qrCode = QrCodeUtil.genQrCode(QrCodeConstant.TypeStation + user.id);
+ } catch (IOException e) {
+ e.printStackTrace();
+ } catch (WriterException e) {
+ e.printStackTrace();
+ }
+ list.add(vo);
+ }
+ }
+ ExportExcelUtil.downloadExcel(response, fileName, sheetName, list);
+ }
+
}
--
Gitblit v1.8.0