|
@@ -1,15 +1,17 @@
|
|
|
package cn.iselab.mooctest.site.web.logic.impl;
|
|
package cn.iselab.mooctest.site.web.logic.impl;
|
|
|
|
|
|
|
|
import cn.iselab.mooctest.site.models.Manager;
|
|
import cn.iselab.mooctest.site.models.Manager;
|
|
|
|
|
+import cn.iselab.mooctest.site.models.ManagerSubsiteFeature;
|
|
|
import cn.iselab.mooctest.site.models.MobileVerification;
|
|
import cn.iselab.mooctest.site.models.MobileVerification;
|
|
|
import cn.iselab.mooctest.site.service.ManagerService;
|
|
import cn.iselab.mooctest.site.service.ManagerService;
|
|
|
|
|
+import cn.iselab.mooctest.site.service.ManagerSubsiteFeatureService;
|
|
|
import cn.iselab.mooctest.site.service.MobileVerificationService;
|
|
import cn.iselab.mooctest.site.service.MobileVerificationService;
|
|
|
import cn.iselab.mooctest.site.util.data.EncryptionUtil;
|
|
import cn.iselab.mooctest.site.util.data.EncryptionUtil;
|
|
|
-import cn.iselab.mooctest.site.web.data.AccountVO;
|
|
|
|
|
|
|
+import cn.iselab.mooctest.site.web.data.ManagerSubsiteFeatureVO;
|
|
|
import cn.iselab.mooctest.site.web.data.ManagerVO;
|
|
import cn.iselab.mooctest.site.web.data.ManagerVO;
|
|
|
|
|
+import cn.iselab.mooctest.site.web.data.wrapper.ManagerSubsiteFeatureVOWrapper;
|
|
|
import cn.iselab.mooctest.site.web.data.wrapper.ManagerVOWrapper;
|
|
import cn.iselab.mooctest.site.web.data.wrapper.ManagerVOWrapper;
|
|
|
import cn.iselab.mooctest.site.web.exception.HttpBadRequestException;
|
|
import cn.iselab.mooctest.site.web.exception.HttpBadRequestException;
|
|
|
-import cn.iselab.mooctest.site.web.exception.HttpNotFoundException;
|
|
|
|
|
import cn.iselab.mooctest.site.web.logic.ManagerLogic;
|
|
import cn.iselab.mooctest.site.web.logic.ManagerLogic;
|
|
|
import cn.iselab.mooctest.site.web.util.CaptchaUtils;
|
|
import cn.iselab.mooctest.site.web.util.CaptchaUtils;
|
|
|
import org.apache.commons.validator.routines.EmailValidator;
|
|
import org.apache.commons.validator.routines.EmailValidator;
|
|
@@ -17,6 +19,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
|
|
+import java.sql.Timestamp;
|
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -35,6 +38,12 @@ public class ManagerLogicImpl implements ManagerLogic {
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private ManagerVOWrapper managerVOWrapper;
|
|
private ManagerVOWrapper managerVOWrapper;
|
|
|
|
|
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ private ManagerSubsiteFeatureVOWrapper managerSubsiteFeatureVOWrapper;
|
|
|
|
|
+
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ private ManagerSubsiteFeatureService managerSubsiteFeatureService;
|
|
|
|
|
+
|
|
|
@Override
|
|
@Override
|
|
|
public ManagerVO getManagerDetail(long managerId) {
|
|
public ManagerVO getManagerDetail(long managerId) {
|
|
|
Manager manager = managerService.getManagerById(managerId);
|
|
Manager manager = managerService.getManagerById(managerId);
|
|
@@ -60,9 +69,35 @@ public class ManagerLogicImpl implements ManagerLogic {
|
|
|
manager.setGroupSize(managerVO.getGroupSize());
|
|
manager.setGroupSize(managerVO.getGroupSize());
|
|
|
manager.setGroupNum(managerVO.getGroupNum());
|
|
manager.setGroupNum(managerVO.getGroupNum());
|
|
|
manager.setTaskNum(managerVO.getTaskNum());
|
|
manager.setTaskNum(managerVO.getTaskNum());
|
|
|
- return managerVOWrapper.wrap(managerService.updateManager(manager));
|
|
|
|
|
|
|
+
|
|
|
|
|
+ List<ManagerSubsiteFeatureVO> managerSubsiteFeatureVOS = managerVO.getManagerSubsiteFeatures();
|
|
|
|
|
+ if (managerSubsiteFeatureVOS == null) {
|
|
|
|
|
+ return managerVOWrapper.wrap(managerService.updateManager(manager));
|
|
|
|
|
+ } else {
|
|
|
|
|
+ managerSubsiteFeatureService.deleteManagerSubsiteFeature(id);
|
|
|
|
|
+
|
|
|
|
|
+ List<ManagerSubsiteFeature> managerSubsiteFeatures = managerSubsiteFeatureVOWrapper.unwrap(managerSubsiteFeatureVOS);
|
|
|
|
|
+
|
|
|
|
|
+ for (int i = 0; i < managerSubsiteFeatures.size(); i++) {
|
|
|
|
|
+ ManagerSubsiteFeature managerSubsiteFeature = new ManagerSubsiteFeature();
|
|
|
|
|
+ ManagerSubsiteFeature managerSubsiteFeatureinList = managerSubsiteFeatures.get(i);
|
|
|
|
|
+
|
|
|
|
|
+ managerSubsiteFeature.setId(managerSubsiteFeatureinList.getId());
|
|
|
|
|
+ managerSubsiteFeature.setExpireTime(managerSubsiteFeatureinList.getExpireTime());
|
|
|
|
|
+ managerSubsiteFeature.setFeatureId(managerSubsiteFeatureinList.getFeatureId());
|
|
|
|
|
+ managerSubsiteFeature.setManagerId(id);
|
|
|
|
|
+ managerSubsiteFeature.setSubsiteId(managerSubsiteFeatureinList.getSubsiteId());
|
|
|
|
|
+
|
|
|
|
|
+ managerSubsiteFeatureService.save(managerSubsiteFeature);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ ManagerVO newManagerVO = managerVOWrapper.wrap(managerService.updateManager(manager));
|
|
|
|
|
+ newManagerVO.setManagerSubsiteFeatures(managerSubsiteFeatureVOS);
|
|
|
|
|
+ return newManagerVO;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
@Override
|
|
@Override
|
|
|
public ManagerVO editManagerEmail(long managerId, ManagerVO managerVO) {
|
|
public ManagerVO editManagerEmail(long managerId, ManagerVO managerVO) {
|
|
|
Manager manager = managerService.getManagerById(managerId);
|
|
Manager manager = managerService.getManagerById(managerId);
|
|
@@ -72,7 +107,7 @@ public class ManagerLogicImpl implements ManagerLogic {
|
|
|
if (!EmailValidator.getInstance().isValid(managerVO.getEmail())) {
|
|
if (!EmailValidator.getInstance().isValid(managerVO.getEmail())) {
|
|
|
throw new HttpBadRequestException("Invalid email");
|
|
throw new HttpBadRequestException("Invalid email");
|
|
|
}
|
|
}
|
|
|
- if(managerService.getManagerByAccount(managerVO.getEmail()) != null){
|
|
|
|
|
|
|
+ if (managerService.getManagerByAccount(managerVO.getEmail()) != null) {
|
|
|
throw new HttpBadRequestException("Email already exist");
|
|
throw new HttpBadRequestException("Email already exist");
|
|
|
}
|
|
}
|
|
|
manager.setEmail(managerVO.getEmail());
|
|
manager.setEmail(managerVO.getEmail());
|
|
@@ -87,7 +122,7 @@ public class ManagerLogicImpl implements ManagerLogic {
|
|
|
throw new HttpBadRequestException("manager not exist");
|
|
throw new HttpBadRequestException("manager not exist");
|
|
|
}
|
|
}
|
|
|
MobileVerification mobileVerification = mobileVerificationService.getVerification(newMobile);
|
|
MobileVerification mobileVerification = mobileVerificationService.getVerification(newMobile);
|
|
|
- if(!mobileVerificationService.validateMobileVerification(newMobile, mobileVerification.getCode())){
|
|
|
|
|
|
|
+ if (!mobileVerificationService.validateMobileVerification(newMobile, mobileVerification.getCode())) {
|
|
|
throw new HttpBadRequestException("Verification error");
|
|
throw new HttpBadRequestException("Verification error");
|
|
|
}
|
|
}
|
|
|
manager.setMobile(newMobile);
|
|
manager.setMobile(newMobile);
|
|
@@ -101,7 +136,7 @@ public class ManagerLogicImpl implements ManagerLogic {
|
|
|
throw new HttpBadRequestException("manager not exist");
|
|
throw new HttpBadRequestException("manager not exist");
|
|
|
}
|
|
}
|
|
|
String encryptedPwd = EncryptionUtil.encryptMD5(managerVO.getPassword());
|
|
String encryptedPwd = EncryptionUtil.encryptMD5(managerVO.getPassword());
|
|
|
- if(!CaptchaUtils.verifyPictureCaptcha(request, managerVO.getCaptcha())){
|
|
|
|
|
|
|
+ if (!CaptchaUtils.verifyPictureCaptcha(request, managerVO.getCaptcha())) {
|
|
|
throw new HttpBadRequestException("Captcha error");
|
|
throw new HttpBadRequestException("Captcha error");
|
|
|
}
|
|
}
|
|
|
manager.setPassword(encryptedPwd);
|
|
manager.setPassword(encryptedPwd);
|
|
@@ -110,7 +145,7 @@ public class ManagerLogicImpl implements ManagerLogic {
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
public boolean checkManagerExist(String username) {
|
|
public boolean checkManagerExist(String username) {
|
|
|
- if(managerService.getManagerByUsername(username) == null){
|
|
|
|
|
|
|
+ if (managerService.getManagerByUsername(username) == null) {
|
|
|
return false;
|
|
return false;
|
|
|
}
|
|
}
|
|
|
return true;
|
|
return true;
|