From 5e873863bc7324894c89b0a0fc77a6202c91cd64 Mon Sep 17 00:00:00 2001 From: wzp <516075396@qq.com> Date: 星期二, 06 四月 2021 10:35:42 +0800 Subject: [PATCH] 20210406 --- src/main/java/com/ots/project/exam/controller/EntTestMemberController.java | 128 +++++++++++------------------------------- 1 files changed, 35 insertions(+), 93 deletions(-) diff --git a/src/main/java/com/ots/project/exam/controller/EntTestMemberController.java b/src/main/java/com/ots/project/exam/controller/EntTestMemberController.java index d9aecec..51373fd 100644 --- a/src/main/java/com/ots/project/exam/controller/EntTestMemberController.java +++ b/src/main/java/com/ots/project/exam/controller/EntTestMemberController.java @@ -1,7 +1,7 @@ package com.ots.project.exam.controller; - import com.ots.common.constant.UserConstants; import com.ots.common.enums.SenderType; +import com.ots.common.enums.TestMemberStatusEnum; import com.ots.common.enums.TestPackageStatusEnum; import com.ots.common.enums.UserTypeEnum; import com.ots.common.utils.MessageUtils; @@ -26,93 +26,73 @@ import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; - import java.text.MessageFormat; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Objects; import java.util.stream.Collectors; - +import static com.ots.common.enums.TestMemberStatusEnum.*; import static com.ots.common.enums.UserTypeEnum.SYS_USER; -/** - * 鎵归噺瀵煎叆娴嬭瘯浜哄憳鍚嶅崟Controller - * - * @author Shawn - * @date 2019-11-22 - */ @Controller @RequestMapping("/exam/testMember") @Slf4j public class EntTestMemberController extends BaseController { private String prefix = "exam/testMember"; - @Autowired private IEntTestMemberService entTestMemberService; - @Autowired private IEntTestPackageService entTestPackageService; - @Autowired private IEntTestSendtaskService iEntTestSendtaskService; - @Autowired private ISysUserExtendService sysUserExtendService; - @Autowired private ITExamPaperService itExamPaperService; @Autowired private VueConfig vueConfig; - @RequiresPermissions("exam:testMember:view") @GetMapping() public String testMember(ModelMap mmap) { memberParam(null, mmap); return prefix + "/testMember"; } - @GetMapping("/memberQuery") public String testMemberQuery(String queryType, String queryValue, ModelMap mmap) { memberParam(null, mmap); if (Objects.nonNull(queryType)) { if (Objects.nonNull(queryValue)) { - if (Objects.equals("2", queryType)) {//鎸夊鍚嶆悳绱㈡祴璇曠敤鎴� + if (Objects.equals("2", queryType)) { mmap.put("memberNameSend", queryValue); - } else if (Objects.equals("3", queryType)) {//鎸夐偖绠辨悳绱㈡祴璇曠敤鎴� + } else if (Objects.equals("3", queryType)) { mmap.put("memberEmailSend", queryValue); - } else if (Objects.equals("4", queryType)) {//鎸夋墜鏈哄彿鐮佹悳绱㈡祴璇曠敤鎴� + } else if (Objects.equals("4", queryType)) { mmap.put("memberPhoneSend", queryValue); - } else if (Objects.equals("5", queryType)) {//鎸夊瘑鐮佹悳绱㈡祴璇曠敤鎴� + } else if (Objects.equals("5", queryType)) { mmap.put("tokenSend", queryValue); } } } return prefix + "/testMemberQuery"; } - - @GetMapping("/memberDetailVerify/{testId}") @ResponseBody public AjaxResult memberDetailVerify(@PathVariable Long testId) { EntTestPackage entTestPackage = entTestPackageService.selectEntTestPackageById(testId); TExamPaper tExamPaper = itExamPaperService.selectTExamPaperById(entTestPackage.getProdId()); if (Objects.isNull(tExamPaper)) { - // 鏃犳晥鐨勪骇鍝佸寘锛岃閲嶆柊閫夋嫨娴嬭瘯鍖呯殑浜у搧鍖� + return AjaxResult.error(MessageUtils.message("jsp.exam.member.invalidProductPackage")); } return AjaxResult.success(); } - - /** - * 鏌ヨ璇勬祴浜哄憳璇︽儏 - */ + @GetMapping("/memberDetail/{testId}") public String testMemberDetail(@PathVariable Long testId, ModelMap mmap) { memberParam(testId, mmap); return prefix + "/testMember"; } - public void memberParam(Long testId, ModelMap mmap) { User sysUser = ShiroUtils.getSysUser(); Long userId = sysUser.getUserId(); @@ -129,10 +109,7 @@ String[] status = {TestPackageStatusEnum.enable.getCode(), TestPackageStatusEnum.pause.getCode(), TestPackageStatusEnum.ending.getCode(), TestPackageStatusEnum.invalid.getCode()}; mmap.put("testPackages", entTestPackageService.selectEntTestPackageListByIdAndStatusIn(userId, Arrays.asList(status))); } - - /** - * 鏌ヨ鎵归噺瀵煎叆娴嬭瘯浜哄憳鍚嶅崟鍒楄〃 - */ + @RequiresPermissions("exam:testMember:list") @PostMapping("/list") @ResponseBody @@ -154,7 +131,6 @@ List<EntTestMember> list = entTestMemberService.selectEntTestMemberList(entTestMember); return getDataTable(list); } - @PostMapping("/listTopAnswering") @ResponseBody public TableDataInfo listTopAnswering(EntTestMember entTestMember) { @@ -163,20 +139,31 @@ if (!SYS_USER.getUserType().equals(sysUser.getUserType())) { entTestMember.setUserId(sysUser.getUserId()); } + List<String> recyclingStatus = Arrays.asList( TestMemberStatusEnum.completed.getCode(), timeOut.getCode()); + entTestMember.setStatusList(recyclingStatus); return getDataTable(entTestMemberService.selectEntTestMemberTopList(entTestMember)); } - + @PostMapping("/listTopAnswering2") + @ResponseBody + public TableDataInfo listTopAnswering2(EntTestMember entTestMember) { + startPage(); + User sysUser = ShiroUtils.getSysUser(); + if (!SYS_USER.getUserType().equals(sysUser.getUserType())) { + entTestMember.setUserId(sysUser.getUserId()); + } + List<String> recyclingStatus = Arrays.asList( answering.getCode()); + entTestMember.setStatusList(recyclingStatus); + return getDataTable(entTestMemberService.selectEntTestMemberTopList(entTestMember)); + } @PostMapping("/queryList") @ResponseBody public TableDataInfo queryList(EntTestMember entTestMember) { startPage(); - User sysUser = ShiroUtils.getSysUser(); String userType = sysUser.getUserType(); - List<Long> userIds = new ArrayList<>(); userIds.add(sysUser.getUserId()); - //鍒嗛攢鍟嗗彲浠ョ湅鍒板垎閿�鍟嗕笅鐨勪紒涓氫俊鎭� + if (UserTypeEnum.DIS_USER.getUserType().equals(userType)) { SysUserExtend sysUserExtend = new SysUserExtend(); sysUserExtend.setParentUserId(sysUser.getUserId()); @@ -186,7 +173,6 @@ userIds.add(extend.getUserId()); } } - List<EntTestMember> list; if (!SYS_USER.getUserType().equals(userType)) { entTestMember.setUserList(userIds); @@ -194,10 +180,7 @@ list = entTestMemberService.selectEntTestMemberQueryList(entTestMember); return getDataTable(list); } - - /** - * 瀵煎嚭鎵归噺瀵煎叆娴嬭瘯浜哄憳鍚嶅崟鍒楄〃 - */ + @RequiresPermissions("exam:testMember:export") @PostMapping("/export") @ResponseBody @@ -206,10 +189,7 @@ ExcelUtil<EntTestMember> util = new ExcelUtil<EntTestMember>(EntTestMember.class); return util.exportExcel(list, "娴嬭瘯鐢ㄦ埛閾炬帴锛圱est Taker URLs锛�"); } - - /** - * 涓�閿鍑烘祴璇曞寘閲屾墍鏈夋垚鍛樼殑娴嬭瘯杩炴帴 - */ + @RequiresPermissions("exam:testMember:export") @PostMapping("/exportLinkTest") @ResponseBody @@ -227,10 +207,7 @@ ExcelUtil<EntTestMemberOther> util = new ExcelUtil<>(EntTestMemberOther.class); return util.exportExcel(collect, "娴嬭瘯鐢ㄦ埛閾炬帴锛圱est Taker URLs锛�"); } - - /** - * 鏂板鎵归噺瀵煎叆娴嬭瘯浜哄憳鍚嶅崟 - */ + @RequiresPermissions("exam:testMember:batchimport") @GetMapping("/add/{testId}") public String add(@PathVariable Long testId, ModelMap mmap) { @@ -241,10 +218,7 @@ mmap.put("testpkg", value); return prefix + "/add"; } - - /** - * 鏂板淇濆瓨鎵归噺瀵煎叆娴嬭瘯浜哄憳鍚嶅崟 - */ + @RequiresPermissions("exam:testMember:add") @Log(title = "鎵归噺瀵煎叆娴嬭瘯浜哄憳鍚嶅崟", businessType = BusinessType.INSERT) @PostMapping("/add") @@ -252,10 +226,7 @@ public AjaxResult addSave(EntTestMember entTestMember) { return toAjax(entTestMemberService.insertEntTestMember(entTestMember)); } - - /** - * 鏂板閭�璇风敤鎴烽偖浠跺彂閫佸垪琛� - */ + @RequiresPermissions("exam:testMember:add") @Log(title = "璁板綍閭�璇风敤鎴峰彂閫佸垪琛�", businessType = BusinessType.INSERT) @PostMapping("/addSendTask") @@ -263,17 +234,13 @@ public AjaxResult addSaveEmail(SendTask sendTask) { return toAjax(iEntTestSendtaskService.insertEntTestSendtaskFromMemberIds(sendTask)); } - - /** - * 淇敼鎵归噺瀵煎叆娴嬭瘯浜哄憳鍚嶅崟 - */ + @GetMapping("/edit/{memberId}") public String edit(@PathVariable("memberId") Long memberId, ModelMap mmap) { EntTestMember entTestMember = entTestMemberService.selectEntTestMemberById(memberId); mmap.put("entTestMember", entTestMember); return prefix + "/edit"; } - @GetMapping("/send/sendSms/{memberIds}/{testId}") public String sendSms(@PathVariable("memberIds") String memberIds, @PathVariable("testId") Long testId, ModelMap mmap) { StringBuilder builder = new StringBuilder(); @@ -291,47 +258,37 @@ processParams(memberIds, testId, mmap, builder.toString(), type); return prefix + "/sendSms"; } - @GetMapping("/send/sendEmail/{memberIds}/{testId}") public String sendEmail(@PathVariable("memberIds") String memberIds, @PathVariable("testId") Long testId, ModelMap mmap) { -// String defaultTemplate = "娆㈣繋鎮ㄥ弬鍔犫�滃伐浣滆涓洪棶鍗凤紒鈥濋摼鎺ュ湴鍧�锛� <a href='{url}' target='_blank'>{url}</a>\n濡傛灉涓嶈兘鐩存帴璁块棶锛岃澶嶅埗鍦板潃鍒版祻瑙堝櫒涓洿鎺ユ墦寮�銆傚鏈夌枒闂紝璇峰拰XX鑱旂郴銆�"; + String langType = LocaleContextHolder.getLocale().toString(); StringBuilder builder = new StringBuilder(); - builder.append("浜茬埍鐨剓FullName},").append("\n<br>"); builder.append("Dear {FullName},").append("\n<br>"); builder.append("喙�喔`傅喔⑧笝 {FullName},").append("\n<br>"); builder.append("\n<br>"); - builder.append("{Company} 閭�璇锋偍瀹屾垚涓�浠芥祴璇曪紝澶ф闇�瑕�20-25鍒嗛挓鏃堕棿銆傛偍鍙互鐩存帴鐐瑰嚮涓嬮潰鐨勯摼鎺ュ紑濮嬭娴嬭瘯銆傚鏋滀笉鑳界洿鎺ヨ闂紝璇峰鍒跺湴鍧�鍒版祻瑙堝櫒涓洿鎺ユ墦寮�銆�").append("\n<br>"); builder.append("You've been invited to take an assessment by {Company}, which shall take about 20-25 minutes to complete. Please click the link below, or copy the link to your browser, to begin the assessment.").append("\n<br>"); builder.append("喔勦父喔撪箘喔斷箟喔`副喔氞箑喔娻复喔嵿箖喔箟喔椸赋喙佮笟喔氞笡喔`赴喙�喔∴复喔權笀喔侧竵 {Company} 喔佮福喔膏笓喔侧箖喔娻箟喔ム复喔囙竸喙屶笖喙夃覆喔權弗喙堗覆喔囙箑喔炧阜喙堗腑喙�喔`复喙堗浮喔斷赋喙�喔權复喔權竵喔侧福 喙傕笖喔⑧竸喔膏笓喔覆喔∴覆喔`笘喔勦弗喔脆竵喔椸傅喙堗弗喔脆竾喔勦箤喔斷箟喔侧笝喔ム箞喔侧竾喙傕笖喔⑧笗喔`竾 喔福喔粪腑喔堗赴喔勦副喔斷弗喔竵喙佮弗喙夃抚喔權赋喔ム复喔囙竸喙屶箘喔涏抚喔侧竾喔氞笝喙�喔氞福喔侧抚喙屶箑喔嬥腑喔`箤喔傕腑喔囙竸喔膏笓喔佮箛喙勦笖喙�").append("\n<br>"); - - builder.append("閾炬帴鍦板潃鏄細").append("\n<br>"); builder.append("The link is:").append("\n<br>"); builder.append("喔曕覆喔∴弗喔脆竾喔勦箤喔權傅喙�:").append("\n<br>"); builder.append("<a href='{url}' target='_blank'>{url}</a>").append("\n<br>"); builder.append("\n<br>"); - builder.append("濡傛湁鐤戦棶锛岃涓庡鏈嶈仈绯伙紝閭鏄細support@tai-online.com銆�").append("\n<br>"); builder.append("Should you have problem assessing the above link, please contact our customer service at support@tai-online.com.").append("\n<br>"); builder.append("喔覆喔佮竸喔膏笓喔∴傅喔涏副喔嵿斧喔侧箖喔權竵喔侧福喙�喔傕箟喔侧釜喔灌箞喔ム复喔囙竸喙屶競喙夃覆喔囙笗喙夃笝 喙傕笡喔`笖喔曕复喔斷笗喙堗腑喔澿箞喔侧涪喔氞福喔脆竵喔侧福喔ム腹喔佮竸喙夃覆喔傕腑喔囙箑喔`覆喔椸傅喙� support@tai-online.com").append("\n<br>"); builder.append("\n<br>"); builder.append("\n<br>"); - builder.append("璋㈣阿锛�").append("\n<br>"); builder.append("All the best,").append("\n<br>"); builder.append("喔斷箟喔о涪喔勦抚喔侧浮喙�喔勦覆喔`笧").append("\n<br>"); builder.append("\n<br>"); - builder.append("{Company}").append("\n<br>"); - String type = SenderType.email.getType(); processParams(memberIds, testId, mmap, builder.toString(), type); return prefix + "/sendEmail"; } - private void processParams(@PathVariable("memberIds") String memberIds, @PathVariable("testId") Long testId, ModelMap mmap, String defaultTemplate, String type) { mmap.put("memberIds", memberIds); mmap.put("size", memberIds.split(",").length); @@ -345,11 +302,7 @@ } mmap.put("testName", entTestPackage.getTestName() + "閭�璇烽偖浠�"); } - - - /** - * 淇敼淇濆瓨鎵归噺瀵煎叆娴嬭瘯浜哄憳鍚嶅崟 - */ + @RequiresPermissions("exam:testMember:edit") @Log(title = "鎵归噺瀵煎叆娴嬭瘯浜哄憳鍚嶅崟", businessType = BusinessType.UPDATE) @PostMapping("/edit") @@ -357,10 +310,7 @@ public AjaxResult editSave(EntTestMember entTestMember) { return toAjax(entTestMemberService.updateEntTestMember(entTestMember)); } - - /** - * 鍒犻櫎鎵归噺瀵煎叆娴嬭瘯浜哄憳鍚嶅崟 - */ + @RequiresPermissions("exam:testMember:remove") @Log(title = "鎵归噺瀵煎叆娴嬭瘯浜哄憳鍚嶅崟", businessType = BusinessType.DELETE) @PostMapping("/remove") @@ -368,11 +318,8 @@ public AjaxResult remove(String ids) { return toAjax(entTestMemberService.deleteEntTestMemberByIds(ids)); } + - /** - * 鎵归噺瀵煎叆娴嬭瘯浜哄憳鍚嶅崟 - */ -// @RequiresPermissions("enterprise:testMember:import") @PostMapping("/importData/{testId}") @ResponseBody public AjaxResult importData(MultipartFile file, boolean updateSupport, @PathVariable Long testId) throws Exception { @@ -384,16 +331,11 @@ String message = entTestMemberService.importEntTestMember(entTestMemberList, updateSupport); return AjaxResult.success(message); } - - - /** - * 鎵归噺瀵煎叆娴嬭瘯浜哄憳鍚嶅崟妯℃澘涓嬭浇 - */ + @GetMapping("/importTemplate") @ResponseBody public AjaxResult importTemplate() { ExcelUtil<EntTestMember> util = new ExcelUtil<EntTestMember>(EntTestMember.class); return util.importTemplateExcel("娴嬭瘯鐢ㄦ埛锛圱est-Takers锛�"); } - } -- Gitblit v1.9.1