| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006 |
- package com.template.controller;
- import com.alibaba.fastjson.JSON;
- import com.baomidou.mybatisplus.core.metadata.IPage;
- import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
- import com.google.gson.Gson;
- import com.google.gson.reflect.TypeToken;
- import com.template.annotation.PassToken;
- import com.template.api.LoginControllerAPI;
- import com.template.common.utils.*;
- import com.template.config.WxOpenidConfig;
- import com.template.model.enumModel.*;
- import com.template.model.pojo.*;
- import com.template.model.request.changePasswordRequest;
- import com.template.model.request.loginRequest;
- import com.template.model.result.CommonResult;
- import com.template.model.result.PageUtils;
- import com.template.model.result.Wx_user;
- import com.template.model.vo.*;
- import com.template.services.*;
- import org.apache.commons.io.IOUtils;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.transaction.annotation.Transactional;
- import org.springframework.util.StringUtils;
- import org.springframework.validation.BindingResult;
- import org.springframework.web.bind.annotation.RequestBody;
- import org.springframework.web.bind.annotation.RestController;
- import javax.imageio.ImageIO;
- import javax.servlet.ServletOutputStream;
- import javax.servlet.http.HttpServletResponse;
- import java.awt.image.BufferedImage;
- import java.io.IOException;
- import java.net.URLEncoder;
- import java.util.*;
- /**
- * @Author: xwt
- * @Date: 2023/7/5 星期三 9:28
- * @Description: com.template.controller
- * @Version: 1.0
- */
- @RestController
- public class LoginController implements LoginControllerAPI {
- @Autowired
- private WeiXiaoUtil weiXiaoUtil;
- @Autowired
- private WxOpenidConfig wxOpenidConfig;
- @Autowired
- private AlumniUserService alumniUserService;
- @Autowired
- private AlumniOrgService alumniOrgService;
- @Autowired
- private SysCaptchaService sysCaptchaService;
- @Autowired
- private AlumniClubApplyService alumniClubApplyService;
- @Autowired
- private AlumniActivityService alumniActivityService;
- @Autowired
- private AlumniEndorseService alumniEndorseService;
- @Autowired
- private AlumniImageService alumniImageService;
- @Autowired
- private ActivityImageService activityImageService;
- @Autowired
- private AlumniClubService alumniClubService;
- private static Logger logger = LoggerFactory.getLogger(LoginController.class);
- @Override
- @PassToken
- @Transactional(rollbackFor = {Exception.class})
- public CommonResult Openid(String wxcode, String urlstr,String state, HttpServletResponse response) throws Exception {
- logger.info("微校授权:" + wxcode +";redirect_uri:" +urlstr+ ";H5:" + state);
- Gson gson = new Gson();
- String tokenUrl = "https://open.wecard.qq.com/connect/oauth2/token";
- Map<String, String> tokenParams = new HashMap<>();
- tokenParams.put("wxcode", wxcode);
- tokenParams.put("app_key", wxOpenidConfig.getAppid());
- tokenParams.put("app_secret", wxOpenidConfig.getAppkey());
- tokenParams.put("grant_type", wxOpenidConfig.getGranttype());
- tokenParams.put("redirect_uri", state); // H5
- logger.info("微校授权1:");
- // wecode换取token
- String respon = HttpsClient.post(tokenUrl, tokenParams);
- logger.info("微校授权2:" + respon);
- if (!StringUtils.hasText(respon)) {
- logger.info("微校授权异常信息:respon为空" + respon);
- return CommonResult.fail("微校授权异常信息");
- }
- HashMap<String, Object> tokenMap = gson.fromJson(respon, new TypeToken<HashMap<String, Object>>() {
- }.getType());
- logger.info("微校授权3");
- String accessToken = (String) tokenMap.get("access_token");
- logger.info("微校授权4");
- // token换取用户信息
- String userInfoUrl = "https://open.wecard.qq.com/connect/oauth/get-user-info";
- logger.info("微校授权5");
- Map<String, String> userInfoParam = new HashMap<>();
- logger.info("微校授权6");
- userInfoParam.put("access_token", accessToken);
- logger.info("微校授权7");
- String userinfo = HttpsClient.post(userInfoUrl, userInfoParam);
- logger.info("微校授权8");
- String card_number = null;
- String user_name = null;
- String phone = null;
- int identity_type = 0;
- String college = null;
- String grade = null;
- String profession = null;
- String campus = null;
- String classStr = null;
- Wx_user userinfos = gson.fromJson(userinfo, new TypeToken<Wx_user>() {
- }.getType());
- logger.info("微校授权9");
- logger.info("微校授权获取用户信息:" + userinfo);
- logger.info("微校授权获取用户信息类别:" + userinfos.getIdentity_type());
- try {
- card_number = userinfos.getCard_number();
- user_name = userinfos.getName();
- phone = userinfos.getTelephone();
- identity_type = userinfos.getIdentity_type();
- college = userinfos.getCollege();//学院
- grade = userinfos.getGrade();//学段 年级
- profession = userinfos.getProfession();//专业
- campus = userinfos.getCampus();
- classStr = userinfos.getClassStr();//班级
- } catch (Exception e) {
- logger.info("微校授权异常信息:" + e.getMessage());
- response.sendRedirect(wxOpenidConfig.getIp() + "/#/pages/404/404/?message=" + URLEncoder.encode("获取用户信息失败", "UTF-8"));
- return CommonResult.fail(e.getMessage());
- }
- if (card_number == null || card_number.equals("")) {
- response.sendRedirect(wxOpenidConfig.getIp() + "/#/pages/404/404/?message=" + URLEncoder.encode("获取用户信息失败", "UTF-8"));
- return CommonResult.fail("卡号为空,授权失败");
- }
- //根据卡号判断用户是否存在 根据卡号查询alumni_user表中的用户信息
- AlumniUser user = alumniUserService.queryDataByCardNumber(card_number);
- //region 学院 学段 专业 班级
- Integer collegeId = null;
- String collegeName = null;
- Integer gradeId = null;
- String gradeName = null;
- Integer professId = null;
- String professName = null;
- Integer classId = null;
- String className = null;
- //endregion
- //上下级关系 学院 -》 学段 -》 专业 -》 班级
- List<String> orgNames = new ArrayList<>();
- orgNames.add(college);//学院
- orgNames.add(grade);//学段 年级
- orgNames.add(profession);//专业
- orgNames.add(classStr);//班级
- List<AlumniOrg> aos = alumniOrgService.queryAlumniOrgsByName(orgNames);
- //region 原来的学院学段专业班级赋值
- //学段得拿父级做筛选 因为会有重名的
- // String collegeStr = college;
- // Optional<AlumniOrg> oCollege = aos.stream().filter(e -> e.getName().equals(collegeStr)).findFirst();
- // if (oCollege == null) {
- // CommonResult result = weiXiaoUtil.queryOrgs();
- // aos = new ArrayList<>();
- // aos = alumniOrgService.queryAlumniOrgsByName(orgNames);
- // }
- // Optional<AlumniOrg> fCollege = aos.stream().filter(e -> e.getName().equals(collegeStr)).findFirst();
- // if (fCollege != null && fCollege.isPresent()) {
- // collegeId = fCollege.get().getId();
- // collegeName = fCollege.get().getName();
- //
- // Optional<AlumniOrg> oG = aos.stream().filter(e -> e.getParentId().intValue() == fCollege.get().getId().intValue()).findFirst();
- // if (oG != null && oG.isPresent()) {
- // gradeId = oG.get().getId();
- // gradeName = oG.get().getName();
- //
- // Optional<AlumniOrg> pG = aos.stream().filter(e -> e.getParentId().intValue() == oG.get().getId().intValue()).findFirst();
- // if (pG != null && pG.isPresent()) {
- // professId = pG.get().getId();
- // professName = pG.get().getName();
- //
- // Optional<AlumniOrg> cG = aos.stream().filter(e -> e.getParentId().intValue() == pG.get().getId().intValue()).findFirst();
- // if (cG != null && cG.isPresent()) {
- // classId = cG.get().getId();
- // className = cG.get().getName();
- // }
- // }
- // }
- // }
- //endregion
- //region 学院学段专业班级赋值
- if (StringUtils.hasText(college)) {
- String collegeStr = college;
- Optional<AlumniOrg> oCollege = aos.stream().filter(e -> e.getName().equals(collegeStr)).findFirst();
- if (oCollege != null && oCollege.isPresent()) {
- collegeId = oCollege.get().getId();
- collegeName = college;
- } else if (StringUtils.hasText(college)) {
- AlumniOrg insertData = new AlumniOrg();
- insertData.setParentId(1);//父级是南昌交通学院
- insertData.setName(college);
- insertData.setTypeId(eOrgType.College.getValue());
- collegeId = alumniOrgService.insertOrg(insertData);
- collegeName = college;
- }
- if (collegeId != null && collegeId.intValue() != 0) {
- int cid = collegeId.intValue();
- Optional<AlumniOrg> oG = aos.stream().filter(e -> e.getParentId().intValue() == cid).findFirst();
- if (oG != null && oG.isPresent()) {
- gradeId = oG.get().getId();
- gradeName = oG.get().getName();
- } else if (StringUtils.hasText(grade)) {
- AlumniOrg insertData = new AlumniOrg();
- insertData.setParentId(cid);
- insertData.setName(grade);
- insertData.setTypeId(eOrgType.Period.getValue());
- gradeId = alumniOrgService.insertOrg(insertData);
- gradeName = grade;
- }
- if (gradeId != null && gradeId.intValue() != 0) {
- int gid = gradeId.intValue();
- Optional<AlumniOrg> pG = aos.stream().filter(e -> e.getParentId().intValue() == gid).findFirst();
- if (pG != null && pG.isPresent()) {
- professId = pG.get().getId();
- professName = pG.get().getName();
- } else if (StringUtils.hasText(profession)) {
- AlumniOrg insertData = new AlumniOrg();
- insertData.setParentId(gid);
- insertData.setName(profession);
- insertData.setTypeId(eOrgType.Major.getValue());
- professId = alumniOrgService.insertOrg(insertData);
- professName = profession;
- }
- if (professId != null && professId.intValue() != 0) {
- int pid = professId.intValue();
- Optional<AlumniOrg> cG = aos.stream().filter(e -> e.getParentId().intValue() == pid).findFirst();
- if (cG != null && cG.isPresent()) {
- classId = cG.get().getId();
- className = cG.get().getName();
- } else if (StringUtils.hasText(classStr)) {
- AlumniOrg insertData = new AlumniOrg();
- insertData.setParentId(pid);
- insertData.setName(classStr);
- insertData.setTypeId(eOrgType.ClassStr.getValue());
- classId = alumniOrgService.insertOrg(insertData);
- className = classStr;
- }
- }
- }
- }
- }
- //endregion
- logger.info("微校授权校区:" + campus);
- if (user == null) {
- try {
- user = new AlumniUser();
- user.setName(user_name);
- user.setCardNumber(card_number);
- user.setCollegeId(collegeId);
- user.setCollegeName(collegeName);
- user.setPeriodId(gradeId);
- user.setPeriodName(gradeName);
- user.setMajorId(professId);
- user.setMajorName(professName);
- user.setClassId(classId);
- user.setClassName(className);
- user.setPhone(phone);
- user.setTypeId(eAccountType.User.getValue());
- int num = alumniUserService.insertAlumniUser(user);
- if (num <= 0) {
- logger.info("微校授权失败,用户信息新增异常:" + user_name + "" + card_number);
- response.sendRedirect(wxOpenidConfig.getIp() + "/#/pages/404/404/?message=" + URLEncoder.encode("用户新增异常", "UTF-8"));
- throw new Exception("微校授权失败!");
- }
- user.setId(num);
- } catch (Exception e) {
- logger.info("微校授权异常信息:" + e.getMessage());
- response.sendRedirect(wxOpenidConfig.getIp() + "/#/pages/404/404/?message=" + URLEncoder.encode("获取用户信息失败", "UTF-8"));
- throw new Exception("微校授权失败!");
- }
- } else {
- //更新微校获取的学段(年级) 班级 学院 专业信息
- user.setCollegeId(collegeId);
- user.setCollegeName(collegeName);
- user.setPeriodId(gradeId);
- user.setPeriodName(gradeName);
- user.setMajorId(professId);
- user.setMajorName(professName);
- user.setClassId(classId);
- user.setClassName(className);
- user.setPhone(phone);
- int num = alumniUserService.updateAlumniUser(user);
- if (num <= 0) {
- logger.info("微校授权失败,用户信息更新异常:" + user_name + "" + card_number);
- response.sendRedirect(wxOpenidConfig.getIp() + "/#/pages/404/404/?message=" + URLEncoder.encode("用户更新异常", "UTF-8"));
- throw new Exception("微校授权失败!");
- }
- }
- wxLoginVo wlv = new wxLoginVo();
- wlv.setUserId(user.getId());
- wlv.setUserName(user.getName());
- wlv.setCardNumber(user.getCardNumber());
- wlv.setUserPhone(user.getPhone().replace("(+86)", ""));
- long expired = 1000 * 60 * 60 * 24 * 365;
- String token = JWTUtil.getToken(user, expired);
- wlv.setToken(token);
- logger.info("微校授权成功:" + user_name + "" + card_number);
- response.sendRedirect(wxOpenidConfig.getIp() + "/#/pages/index/index/?urlstr=" + urlstr+ "&token=" + token);
- return CommonResult.ok(wlv);
- }
- @Override
- @PassToken
- public void captcha(HttpServletResponse response, String uuid) throws IOException {
- response.setHeader("Cache-Control", "no-store, no-cache");
- response.setContentType("image/jpeg");
- //获取图片验证码
- BufferedImage image = sysCaptchaService.getCaptcha(uuid);
- if (image == null) {
- logger.info("验证码图片生成失败:" + uuid);
- }
- ServletOutputStream out = response.getOutputStream();
- ImageIO.write(image, "jpg", out);
- IOUtils.closeQuietly(out);
- }
- /**
- * 查看系统版本号
- *
- * @return
- */
- @Override
- @PassToken
- public CommonResult queryReduce() {
- //alumniUserService.createUser("yahahah",16);
- return CommonResult.ok("当前系统版本为:1V");
- }
- /**
- * 登录接口
- *
- * @param loginRequest
- * @return
- */
- /**
- * @param loginRequest account 账号
- * password 密码
- * uuid 唯一标识
- * captcha 验证码
- * @param bindingResult
- * @return
- */
- @Override
- @PassToken
- public CommonResult Login(@RequestBody loginRequest loginRequest, BindingResult bindingResult) {
- if (loginRequest == null) {
- return CommonResult.fail("请传递参数");
- }
- if (bindingResult.hasErrors()) {
- String st = paramUtils.getParamError(bindingResult);
- return CommonResult.fail(st);
- }
- AlumniUser result = alumniUserService.queryDataByAccount(loginRequest.getAccount());
- if (result == null) {
- return CommonResult.fail("账号或密码错误");
- }
- String encPassword = AesUtils.encrypt(loginRequest.getPassword());
- if (!encPassword.equals(result.getPassword())) {
- return CommonResult.fail("密码错误");
- }
- String token = JWTUtil.getToken(result, null);
- LoginVO login = new LoginVO();
- login.setToken(token);
- login.setTokenTtl(JWTUtil.getExpired());
- login.setUserId(result.getId());
- login.setUserName(result.getName());
- login.setPhone(result.getPhone());
- return CommonResult.ok("登录成功", login);
- }
- /**
- * 修改密码
- *
- * @param cpr oldPassword 旧密码
- * newPassword 新密码
- * confirmPassword 确认密码
- * @param userId
- * @param bindingResult
- * @return
- */
- @Override
- public CommonResult ChangePassword(Integer userId, changePasswordRequest cpr, BindingResult bindingResult) {
- if (bindingResult.hasErrors()) {
- String st = paramUtils.getParamError(bindingResult);
- return CommonResult.fail(st);
- }
- if (!cpr.getNewPassword().equals(cpr.getConfirmPassword())) {
- return CommonResult.fail("确认密码和新密码不一致!");
- }
- AlumniUser operateData = alumniUserService.getById(userId);
- if (operateData == null) {
- return CommonResult.fail("当前账号不合法!");
- }
- String encPassword = AesUtils.encrypt(cpr.getOldPassword());
- if (!encPassword.equals(operateData.getPassword())) {
- return CommonResult.fail("原密码错误!");
- }
- operateData.setPassword(cpr.getNewPassword());
- int result = alumniUserService.updateAlumniUser(operateData);
- return result > 0 ? CommonResult.ok("修改成功") : CommonResult.fail("修改失败");
- }
- @Override
- public CommonResult queryTypes() {
- List<ListDataVO> result = new ArrayList<>();
- for (int i = 1; i <= eApplyType.values().length; i++) {
- ListDataVO data = new ListDataVO();
- data.setId(i);
- data.setName(eApplyType.stringOf(i));
- result.add(data);
- }
- return CommonResult.ok(result);
- }
- //我发起的
- @Override
- public CommonResult queryIinitiatedApply(int currentPage, int pageCount, Integer userId, int typeId, String keyword) {
- AlumniUser au = alumniUserService.queryDataById(userId);
- if (au == null) {
- return CommonResult.fail("当前操作人已失效,无法查看数据");
- }
- IPage<InitiatedPageVo> accountData = new Page<>();
- PageUtils<InitiatedPageVo> finallResult = new PageUtils<InitiatedPageVo>(accountData);
- List<InitiatedPageVo> datas = new ArrayList<>();
- if (typeId == eApplyType.Org.getValue()) {//组织
- PageUtils<ApplyClubVo> pages = alumniClubApplyService.queryMyClubApplys(userId, currentPage, pageCount, keyword);
- for (ApplyClubVo pg : pages.getList()) {
- InitiatedPageVo data = new InitiatedPageVo();
- data.setId(pg.getId());
- data.setModelId(typeId);
- data.setModelName(eApplyType.stringOf(typeId));
- data.setUserName(au.getName());
- data.setPhone(au.getPhone());
- data.setOrgName(pg.getName());
- data.setIsPass(pg.getIsPass());
- data.setPassName(ePassType.stringOf(pg.getIsPass()));
- data.setCreateTime(pg.getCreateTime());
- datas.add(data);
- }
- finallResult.setList(datas);
- finallResult.setTotalPage(pages.getTotalPage());
- finallResult.setPageSize(pages.getPageSize());
- finallResult.setCurrentPage(pages.getCurrentPage());
- finallResult.setTotalCount(pages.getTotalCount());
- } else if (typeId == eApplyType.Activity.getValue()) {//活动
- PageUtils<AlumniMyActivityPageVo> pages = alumniActivityService.queryMyActivityApplyPages(currentPage, pageCount, userId, keyword);
- for (AlumniMyActivityPageVo pg : pages.getList()) {
- InitiatedPageVo data = new InitiatedPageVo();
- data.setId(pg.getId());
- data.setModelId(typeId);
- data.setModelName(eApplyType.stringOf(typeId));
- data.setUserName(au.getName());
- data.setPhone(au.getPhone());
- data.setOrgName(pg.getOrgName());
- data.setIsPass(pg.getIsPass());
- data.setPassName(ePassType.stringOf(pg.getIsPass()));
- data.setCreateTime(TimeExchange.DateToString(pg.getCreateTime(), "yyyy-MM-dd HH:mm:ss"));
- datas.add(data);
- }
- finallResult.setList(datas);
- finallResult.setTotalPage(pages.getTotalPage());
- finallResult.setPageSize(pages.getPageSize());
- finallResult.setCurrentPage(pages.getCurrentPage());
- finallResult.setTotalCount(pages.getTotalCount());
- } else if (typeId == eApplyType.Endorse.getValue()) {//母校代言
- PageUtils<ApplicationRecordPageVo> pages = alumniEndorseService.applicationMyRecordDatas(currentPage, pageCount, userId, keyword);
- for (ApplicationRecordPageVo pg : pages.getList()) {
- InitiatedPageVo data = new InitiatedPageVo();
- data.setId(pg.getId());
- data.setModelId(typeId);
- data.setModelName(eApplyType.stringOf(typeId));
- data.setUserName(au.getName());
- data.setPhone(au.getPhone());
- data.setOrgName(au.getOrgName());
- data.setIsPass(pg.getIsPass());
- data.setPassName(ePassType.stringOf(pg.getIsPass()));
- data.setCreateTime(pg.getCreateTime());
- datas.add(data);
- }
- finallResult.setList(datas);
- finallResult.setTotalPage(pages.getTotalPage());
- finallResult.setPageSize(pages.getPageSize());
- finallResult.setCurrentPage(pages.getCurrentPage());
- finallResult.setTotalCount(pages.getTotalCount());
- } else if (typeId == eApplyType.Image.getValue()) {//相册
- PageUtils<ImageMyPageVo> pages = alumniImageService.imageMyApplyPageDatas(currentPage, pageCount, userId, keyword);
- for (ImageMyPageVo pg : pages.getList()) {
- InitiatedPageVo data = new InitiatedPageVo();
- data.setId(pg.getId());
- data.setModelId(typeId);
- data.setModelName(eApplyType.stringOf(typeId));
- data.setUserName(au.getName());
- data.setPhone(au.getPhone());
- data.setOrgName(au.getOrgName());
- data.setIsPass(pg.getIsPass());
- data.setPassName(ePassType.stringOf(pg.getIsPass()));
- data.setCreateTime(TimeExchange.DateToString(pg.getCreateTime(), "yyyy-MM-dd HH:mm:ss"));
- datas.add(data);
- }
- finallResult.setList(datas);
- finallResult.setTotalPage(pages.getTotalPage());
- finallResult.setPageSize(pages.getPageSize());
- finallResult.setCurrentPage(pages.getCurrentPage());
- finallResult.setTotalCount(pages.getTotalCount());
- } else {//活动相册
- PageUtils<ActivityMyImageApplyVo> pages = activityImageService.activityMyImagePageDatas(currentPage, pageCount, userId, keyword);
- for (ActivityMyImageApplyVo pg : pages.getList()) {
- InitiatedPageVo data = new InitiatedPageVo();
- data.setId(pg.getId());
- data.setModelId(typeId);
- data.setModelName(eApplyType.stringOf(typeId));
- data.setUserName(au.getName());
- data.setPhone(au.getPhone());
- data.setOrgName(au.getOrgName());
- data.setIsPass(pg.getIsPass());
- data.setPassName(ePassType.stringOf(pg.getIsPass()));
- data.setCreateTime(pg.getCreateTime());
- datas.add(data);
- }
- finallResult.setList(datas);
- finallResult.setTotalPage(pages.getTotalPage());
- finallResult.setPageSize(pages.getPageSize());
- finallResult.setCurrentPage(pages.getCurrentPage());
- finallResult.setTotalCount(pages.getTotalCount());
- }
- return CommonResult.ok(finallResult);
- }
- //我审核的
- @Override
- public CommonResult queryIapproveApply(int currentPage, int pageCount, Integer userId, int typeId, String keyword) {
- AlumniUser au = alumniUserService.queryDataById(userId);
- if (au == null) {
- return CommonResult.fail("当前操作人已失效,无法查看数据");
- }
- if(au.getRoleId().intValue() == eRoleType.Super.getValue()){
- userId = null;
- }
- IPage<ApprovePageVo> accountData = new Page<>();
- PageUtils<ApprovePageVo> finallResult = new PageUtils<ApprovePageVo>(accountData);
- List<ApprovePageVo> datas = new ArrayList<>();
- if (typeId == eApplyType.Org.getValue()) {//组织
- PageUtils<ApplyClubVo> pages = alumniClubApplyService.queryApproveClubApplys(currentPage, pageCount, userId, keyword);
- for (ApplyClubVo pg : pages.getList()) {
- ApprovePageVo data = new ApprovePageVo();
- data.setId(pg.getId());
- data.setModelId(typeId);
- data.setModelName(eApplyType.stringOf(typeId));
- data.setUserName(au.getName());
- data.setPhone(au.getPhone());
- data.setOrgName(pg.getName());
- data.setIsPass(pg.getIsPass());
- String collegeName = au.getCollegeName() == null ? "" : au.getCollegeName();
- String periodName = au.getPeriodName() == null ? "" : "/" + au.getPeriodName();
- String majorName = au.getMajorName() == null ? "" : "/" + au.getMajorName();
- String className = au.getClassName() == null ? "" : "/" + au.getClassName();
- data.setCollegeName(collegeName + "" + periodName + "" + majorName + "" + className);
- data.setPassName(ePassType.stringOf(pg.getIsPass()));
- data.setCreateTime(pg.getCreateTime());
- datas.add(data);
- }
- finallResult.setList(datas);
- finallResult.setTotalPage(pages.getTotalPage());
- finallResult.setPageSize(pages.getPageSize());
- finallResult.setCurrentPage(pages.getCurrentPage());
- finallResult.setTotalCount(pages.getTotalCount());
- } else if (typeId == eApplyType.Activity.getValue()) {//活动
- PageUtils<AlumniMyActivityPageVo> pages = alumniActivityService.queryApproveActivityApplyPages(currentPage, pageCount, userId, keyword);
- for (AlumniMyActivityPageVo pg : pages.getList()) {
- ApprovePageVo data = new ApprovePageVo();
- data.setId(pg.getId());
- data.setModelId(typeId);
- data.setModelName(eApplyType.stringOf(typeId));
- data.setUserName(au.getName());
- data.setPhone(au.getPhone());
- data.setOrgName(pg.getOrgName());
- data.setTheme(pg.getTheme());
- data.setIsPass(pg.getIsPass());
- String collegeName = au.getCollegeName() == null ? "" : au.getCollegeName();
- String periodName = au.getPeriodName() == null ? "" : "/" + au.getPeriodName();
- String majorName = au.getMajorName() == null ? "" : "/" + au.getMajorName();
- String className = au.getClassName() == null ? "" : "/" + au.getClassName();
- data.setCollegeName(collegeName + "" + periodName + "" + majorName + "" + className);
- data.setPassName(ePassType.stringOf(pg.getIsPass()));
- data.setCreateTime(TimeExchange.DateToString(pg.getCreateTime(), "yyyy-MM-dd HH:mm:ss"));
- datas.add(data);
- }
- finallResult.setList(datas);
- finallResult.setTotalPage(pages.getTotalPage());
- finallResult.setPageSize(pages.getPageSize());
- finallResult.setCurrentPage(pages.getCurrentPage());
- finallResult.setTotalCount(pages.getTotalCount());
- } else if (typeId == eApplyType.Endorse.getValue()) {//母校代言
- PageUtils<ApplicationRecordPageVo> pages = alumniEndorseService.applicationApproveRecordDatas(currentPage, pageCount, userId, keyword);
- for (ApplicationRecordPageVo pg : pages.getList()) {
- ApprovePageVo data = new ApprovePageVo();
- data.setId(pg.getId());
- data.setModelId(typeId);
- data.setModelName(eApplyType.stringOf(typeId));
- data.setUserName(au.getName());
- data.setPhone(au.getPhone());
- data.setOrgName(au.getOrgName());
- data.setIsPass(pg.getIsPass());
- String collegeName = au.getCollegeName() == null ? "" : au.getCollegeName();
- String periodName = au.getPeriodName() == null ? "" : "/" + au.getPeriodName();
- String majorName = au.getMajorName() == null ? "" : "/" + au.getMajorName();
- String className = au.getClassName() == null ? "" : "/" + au.getClassName();
- data.setCollegeName(collegeName + "" + periodName + "" + majorName + "" + className);
- data.setPassName(ePassType.stringOf(pg.getIsPass()));
- data.setCreateTime(pg.getCreateTime());
- datas.add(data);
- }
- finallResult.setList(datas);
- finallResult.setTotalPage(pages.getTotalPage());
- finallResult.setPageSize(pages.getPageSize());
- finallResult.setCurrentPage(pages.getCurrentPage());
- finallResult.setTotalCount(pages.getTotalCount());
- } else if (typeId == eApplyType.Image.getValue()) {//相册
- PageUtils<ImageMyPageVo> pages = alumniImageService.imageApproveApplyPageDatas(currentPage, pageCount, userId, keyword);
- for (ImageMyPageVo pg : pages.getList()) {
- ApprovePageVo data = new ApprovePageVo();
- data.setId(pg.getId());
- data.setModelId(typeId);
- data.setModelName(eApplyType.stringOf(typeId));
- data.setUserName(au.getName());
- data.setPhone(au.getPhone());
- data.setOrgName(au.getOrgName());
- data.setIsPass(pg.getIsPass());
- String collegeName = au.getCollegeName() == null ? "" : au.getCollegeName();
- String periodName = au.getPeriodName() == null ? "" : "/" + au.getPeriodName();
- String majorName = au.getMajorName() == null ? "" : "/" + au.getMajorName();
- String className = au.getClassName() == null ? "" : "/" + au.getClassName();
- data.setCollegeName(collegeName + "" + periodName + "" + majorName + "" + className);
- data.setPassName(ePassType.stringOf(pg.getIsPass()));
- data.setCreateTime(TimeExchange.DateToString(pg.getCreateTime(), "yyyy-MM-dd HH:mm:ss"));
- datas.add(data);
- }
- finallResult.setList(datas);
- finallResult.setTotalPage(pages.getTotalPage());
- finallResult.setPageSize(pages.getPageSize());
- finallResult.setCurrentPage(pages.getCurrentPage());
- finallResult.setTotalCount(pages.getTotalCount());
- } else {//活动相册
- PageUtils<ActivityMyImageApplyVo> pages = activityImageService.activityApproveImagePageDatas(currentPage, pageCount, userId, keyword);
- for (ActivityMyImageApplyVo pg : pages.getList()) {
- ApprovePageVo data = new ApprovePageVo();
- data.setId(pg.getId());
- data.setModelId(typeId);
- data.setModelName(eApplyType.stringOf(typeId));
- data.setUserName(au.getName());
- data.setPhone(au.getPhone());
- data.setOrgName(au.getOrgName());
- data.setTheme(pg.getTheme());
- data.setIsPass(pg.getIsPass());
- String collegeName = au.getCollegeName() == null ? "" : au.getCollegeName();
- String periodName = au.getPeriodName() == null ? "" : "/" + au.getPeriodName();
- String majorName = au.getMajorName() == null ? "" : "/" + au.getMajorName();
- String className = au.getClassName() == null ? "" : "/" + au.getClassName();
- data.setCollegeName(collegeName + "" + periodName + "" + majorName + "" + className);
- data.setPassName(ePassType.stringOf(pg.getIsPass()));
- data.setCreateTime(pg.getCreateTime());
- datas.add(data);
- }
- finallResult.setList(datas);
- finallResult.setTotalPage(pages.getTotalPage());
- finallResult.setPageSize(pages.getPageSize());
- finallResult.setCurrentPage(pages.getCurrentPage());
- finallResult.setTotalCount(pages.getTotalCount());
- }
- return CommonResult.ok(finallResult);
- }
- @Override
- public CommonResult toExamineData(Integer userId, int typeId, int id, int isPass, String passValue) throws Exception {
- if (typeId == eApplyType.Org.getValue()) {//组织
- if (isPass == ePassType.Rejected.getValue() && !org.springframework.util.StringUtils.hasText(passValue)) {
- return CommonResult.fail("审批意见必填");
- }
- AlumniUser au = alumniUserService.queryDataById(userId);
- if (au == null) {
- return CommonResult.fail("当前操作人已失效,无法进行审核操作");
- }
- AlumniClubApply aca = alumniClubApplyService.queryDataById(id);
- if (aca == null) {
- return CommonResult.fail("组织审核数据已失效,无法进行审核操作");
- }
- if (aca.getIsPass().intValue() != ePassType.Approval.getValue()) {
- return CommonResult.fail("只有待审核数据能被审核");
- }
- AlumniUser cau = alumniUserService.queryDataById(Integer.valueOf(aca.getCreateUser()));
- if (cau == null) {
- return CommonResult.fail("申请人已失效,无法审核");
- }
- List<String> userIds = Arrays.asList(aca.getApplyUser().split(","));
- if (userIds != null && userIds.size() > 0) {
- if (!userIds.contains(String.valueOf(userId))) {
- return CommonResult.fail("当前操作人无法操作此审核单");
- }
- } else {
- return CommonResult.fail("当前操作人无法操作此审核单");
- }
- AlumniClub ac = alumniClubService.queryDataById(aca.getClubId());
- if (ac == null) {
- return CommonResult.fail("组织数据已失效,无法进行审核操作");
- }
- if (isPass == ePassType.Passed.getValue()) {
- au.setOrgId(ac.getId());
- au.setOrgName(ac.getName());
- }
- aca.setIsPass(isPass);
- aca.setPassValue(passValue);
- try {
- int result = alumniClubApplyService.updateAlumniClubApply(aca);
- if (result <= 0) {
- logger.info("审核更新失败,审核失败!");
- throw new Exception("审核更新失败,审核失败!");
- }
- int updateUser = alumniUserService.updateAlumniUser(au);
- if (updateUser <= 0) {
- logger.info("用户更新失败,审核失败!");
- throw new Exception("用户更新失败,审核失败!");
- }
- } catch (Exception e) {
- logger.info("入会审核组织异常信息:" + e.getMessage());
- throw new Exception("入会审核失败!");
- }
- //发送微校通知
- //审核完成后系统生成通知发送给用户:“
- // [申请人姓名],申请加入组织名称 [组织名称]。已通过或已拒绝”。
- List<String> cardnumbers = new ArrayList<>();
- cardnumbers.add(cau.getCardNumber());
- String content = cau.getName() + ",申请加入组织名称 " + ac.getName() + "。" + ePassType.stringOf(aca.getIsPass());
- CommonResult sendMessage = weiXiaoUtil.sendNotice(cardnumbers, "加入组织审核结果", "加入组织审核结果", content, null);
- if (!sendMessage.getCode().equals("200")) {
- logger.info("微校通知发送失败,cardnumber:" + JSON.toJSON(cardnumbers) + ",Content:" + content + ",id" + id);
- }
- } else if (typeId == eApplyType.Activity.getValue()) {//活动
- if (isPass == ePassType.Rejected.getValue() && !org.springframework.util.StringUtils.hasText(passValue)) {
- return CommonResult.fail("审批意见必填");
- }
- AlumniUser au = alumniUserService.queryDataById(userId);
- if (au == null) {
- return CommonResult.fail("当前操作人已失效,无法进行审核操作");
- }
- AlumniActivity aa = alumniActivityService.queryDataById(id);
- if (aa == null) {
- return CommonResult.fail("活动数据已失效,无法进行审核操作");
- }
- if (aa.getIsPass().intValue() != ePassType.Approval.getValue()) {
- return CommonResult.fail("只有待审核数据能被审核");
- }
- AlumniUser cau = alumniUserService.queryDataById(Integer.valueOf(aa.getCreateUser()));
- if (cau == null) {
- return CommonResult.fail("申请人已失效,无法审核");
- }
- //查看当前操作人是否在
- List<String> userIds = Arrays.asList(aa.getApplyUser().split(","));
- if (userIds != null && userIds.size() > 0) {
- if (!userIds.contains(String.valueOf(userId))) {
- return CommonResult.fail("当前操作人无法操作此审核单");
- }
- } else {
- return CommonResult.fail("当前操作人无法操作此审核单");
- }
- aa.setIsPass(isPass);
- aa.setPassTime(new Date());
- aa.setPassValue(passValue);
- int result = alumniActivityService.updateAlumniActivity(aa);
- if (result <= 0) {
- return CommonResult.fail("审核失败");
- }
- //发送微校通知
- //审核完成后系统生成通知发送给用户:“
- // [上传人姓名],母校代言。已通过或已拒绝。”
- List<String> cardnumbers = new ArrayList<>();
- cardnumbers.add(cau.getCardNumber());
- String content = cau.getName() + "," + aa.getTheme() + "活动。" + ePassType.stringOf(aa.getIsPass());
- CommonResult sendMessage = weiXiaoUtil.sendNotice(cardnumbers, "活动审核结果", "活动审核结果", content, null);
- if (!sendMessage.getCode().equals("200")) {
- logger.info("微校通知发送失败,cardnumber:" + JSON.toJSON(cardnumbers) + ",Content:" + content + ",id" + id);
- }
- } else if (typeId == eApplyType.Endorse.getValue()) {//母校代言
- if (isPass == ePassType.Rejected.getValue() && !org.springframework.util.StringUtils.hasText(passValue)) {
- return CommonResult.fail("审批意见必填");
- }
- AlumniUser au = alumniUserService.queryDataById(userId);
- if (au == null) {
- return CommonResult.fail("当前操作人已失效,无法进行审核操作");
- }
- AlumniEndorse ai = alumniEndorseService.queryDataById(id);
- if (ai == null) {
- return CommonResult.fail("母校代言审核数据已失效,无法进行审核操作");
- }
- AlumniUser cau = alumniUserService.queryDataById(Integer.valueOf(ai.getCreateUser()));
- if (cau == null) {
- return CommonResult.fail("申请人已失效,无法审核");
- }
- if (ai.getIsPass().intValue() != ePassType.Approval.getValue()) {
- return CommonResult.fail("只有待审核数据能被审核");
- }
- List<String> userIds = Arrays.asList(ai.getApplyUser().split(","));
- if (userIds != null && userIds.size() > 0) {
- if (!userIds.contains(String.valueOf(userId))) {
- return CommonResult.fail("当前操作人无法操作此审核单");
- }
- } else {
- return CommonResult.fail("当前操作人无法操作此审核单");
- }
- ai.setIsPass(isPass);
- ai.setPassValue(passValue);
- int result = alumniEndorseService.updateAlumniEndorse(ai);
- if (result <= 0) {
- return CommonResult.fail("审核失败");
- }
- //发送微校通知
- //审核完成后系统生成通知发送给用户:“
- // [上传人姓名],母校代言。已通过或已拒绝。”
- List<String> cardnumbers = new ArrayList<>();
- cardnumbers.add(cau.getCardNumber());
- String content = cau.getName() + ",母校代言。" + ePassType.stringOf(ai.getIsPass());
- CommonResult sendMessage = weiXiaoUtil.sendNotice(cardnumbers, "母校代言审核结果", "母校代言审核结果", content, null);
- if (!sendMessage.getCode().equals("200")) {
- logger.info("微校通知发送失败,cardnumber:" + JSON.toJSON(cardnumbers) + ",Content:" + content + ",id" + id);
- }
- } else if (typeId == eApplyType.Image.getValue()) {//相册
- if (isPass == ePassType.Rejected.getValue() && !org.springframework.util.StringUtils.hasText(passValue)) {
- return CommonResult.fail("审批意见必填");
- }
- AlumniUser au = alumniUserService.queryDataById(userId);
- if (au == null) {
- return CommonResult.fail("当前操作人已失效,无法进行审核操作");
- }
- AlumniImage ai = alumniImageService.queryDataById(id);
- if (ai == null) {
- return CommonResult.fail("校友相册审核数据已失效,无法进行审核操作");
- }
- AlumniUser cau = alumniUserService.queryDataById(Integer.valueOf(ai.getCreateUser()));
- if (cau == null) {
- return CommonResult.fail("申请人已失效,无法审核");
- }
- if (ai.getIsPass().intValue() != ePassType.Approval.getValue()) {
- return CommonResult.fail("只有待审核数据能被审核");
- }
- List<String> userIds = Arrays.asList(ai.getApplyUser().split(","));
- if (userIds != null && userIds.size() > 0) {
- if (!userIds.contains(String.valueOf(userId))) {
- return CommonResult.fail("当前操作人无法操作此审核单");
- }
- } else {
- return CommonResult.fail("当前操作人无法操作此审核单");
- }
- ai.setIsPass(isPass);
- ai.setPassValue(passValue);
- int result = alumniImageService.updateAlumniImage(ai);
- if (result <= 0) {
- return CommonResult.fail("审核失败");
- }
- //发送微校通知
- //审核完成后系统生成通知发送给用户:“
- // [上传人姓名],相册分类为 [相册分类]。已通过或已拒绝。”
- List<String> cardnumbers = new ArrayList<>();
- cardnumbers.add(cau.getCardNumber());
- String content = cau.getName() + ",相册分类为 " + ai.getCategoryName() + "。" + ePassType.stringOf(ai.getIsPass());
- CommonResult sendMessage = weiXiaoUtil.sendNotice(cardnumbers, "校友相册审核结果", "校友相册审核结果", content, null);
- if (!sendMessage.getCode().equals("200")) {
- logger.info("微校通知发送失败,cardnumber:" + JSON.toJSON(cardnumbers) + ",Content:" + content + ",id" + id);
- }
- } else {//活动相册
- if (isPass == ePassType.Rejected.getValue() && !org.springframework.util.StringUtils.hasText(passValue)) {
- return CommonResult.fail("审批意见必填");
- }
- AlumniUser au = alumniUserService.queryDataById(userId);
- if (au == null) {
- return CommonResult.fail("当前操作人已失效,无法进行审核操作");
- }
- ActivityImage ai = activityImageService.queryDataById(id);
- if (ai == null) {
- return CommonResult.fail("活动相册审核数据已失效,无法进行审核操作");
- }
- AlumniUser cau = alumniUserService.queryDataById(Integer.valueOf(ai.getCreateUser()));
- if (cau == null) {
- return CommonResult.fail("申请人已失效,无法审核");
- }
- if (ai.getIsPass().intValue() != ePassType.Approval.getValue()) {
- return CommonResult.fail("只有待审核数据能被审核");
- }
- List<String> userIds = Arrays.asList(ai.getApplyUser().split(","));
- if (userIds != null && userIds.size() > 0) {
- if (!userIds.contains(String.valueOf(userId))) {
- return CommonResult.fail("当前操作人无法操作此审核单");
- }
- } else {
- return CommonResult.fail("当前操作人无法操作此审核单");
- }
- ai.setIsPass(isPass);
- ai.setPassValue(passValue);
- int result = activityImageService.updateActivityImage(ai);
- if (result <= 0) {
- return CommonResult.fail("审核失败");
- }
- //发送微校通知
- //审核完成后系统生成通知发送给用户:“
- // [上传人姓名],母校代言。已通过或已拒绝。”
- // List<String> cardnumbers= new ArrayList<>();
- // cardnumbers.add(cau.getCardNumber());
- // String content = cau.getName()+",活动照片。"+ePassType.stringOf(ai.getIsPass());
- // CommonResult sendMessage = weiXiaoUtil.sendNotice(cardnumbers, "活动照片审核结果", "活动照片审核结果", content, null);
- // if (!sendMessage.getCode().equals("200")) {
- // logger.info("微校通知发送失败,cardnumber:"+ JSON.toJSON(cardnumbers)+",Content:"+content+",id"+id);
- // }
- }
- return CommonResult.ok("操作成功");
- }
- }
|