소스 검색

Merge branch 'feature-V2.0' of ssh://git.mooctest.com:1022/crowd-2019/crowd-test-service-backend into feature-V2.0

git 5 년 전
부모
커밋
348ced3caa
22개의 변경된 파일349개의 추가작업 그리고 91개의 파일을 삭제
  1. 0 0
      core/src/main/java/com/mooctest/crowd/domain/controller/TestUserController.java
  2. 1 0
      core/src/main/java/com/mooctest/crowd/domain/domainobject/ApplicationType.java
  3. 1 0
      core/src/main/java/com/mooctest/crowd/domain/domainobject/Competition.java
  4. 5 18
      core/src/main/java/com/mooctest/crowd/domain/domainobject/PersonalAuthentication.java
  5. 3 1
      core/src/main/java/com/mooctest/crowd/domain/model/ApplicationTypePO.java
  6. 3 0
      core/src/main/java/com/mooctest/crowd/domain/model/CompetitionPO.java
  7. 11 0
      site/pom.xml
  8. 41 0
      site/src/main/java/com/mooctest/crowd/site/anticorruption/impl/data/UserCommon.java
  9. 17 5
      site/src/main/java/com/mooctest/crowd/site/command/ApplyPersonalAuthCommand.java
  10. 20 0
      site/src/main/java/com/mooctest/crowd/site/command/RestPasswordCommand.java
  11. 36 0
      site/src/main/java/com/mooctest/crowd/site/configuration/CaptchaConfiguration.java
  12. 71 0
      site/src/main/java/com/mooctest/crowd/site/controller/CaptchaController.java
  13. 26 30
      site/src/main/java/com/mooctest/crowd/site/controller/CrowTestSquareController.java
  14. 64 28
      site/src/main/java/com/mooctest/crowd/site/controller/UserController.java
  15. 2 0
      site/src/main/java/com/mooctest/crowd/site/data/vo/ApplicationTypeVO.java
  16. 2 0
      site/src/main/java/com/mooctest/crowd/site/data/vo/CompetitionVO.java
  17. 3 0
      site/src/main/java/com/mooctest/crowd/site/data/vo/PersonalAuthVO.java
  18. 16 7
      site/src/main/java/com/mooctest/crowd/site/data/vo/UserVO.java
  19. 1 1
      site/src/main/java/com/mooctest/crowd/site/mediator/impl/WebMediatorImpl.java
  20. 0 0
      site/src/main/java/com/mooctest/crowd/site/service/UserService.java
  21. 0 0
      site/src/main/java/com/mooctest/crowd/site/service/impl/UserServiceImpl.java
  22. 26 1
      site/src/main/resources/application.yml

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
core/src/main/java/com/mooctest/crowd/domain/controller/TestUserController.java


+ 1 - 0
core/src/main/java/com/mooctest/crowd/domain/domainobject/ApplicationType.java

@@ -13,5 +13,6 @@ public class ApplicationType {
     private Long id;
     private String code;
     private String name;
+    private String image;
     private List<TestType> testTypeList;
 }

+ 1 - 0
core/src/main/java/com/mooctest/crowd/domain/domainobject/Competition.java

@@ -18,5 +18,6 @@ public class Competition {
     private String name;
     private String linkUrl;
     private Timestamp startTime;
+    private String image;
     private int isDeleted;
 }

+ 5 - 18
core/src/main/java/com/mooctest/crowd/domain/domainobject/PersonalAuthentication.java

@@ -11,13 +11,15 @@ import java.sql.Timestamp;
  * @date 2019-08-19 15:47
  */
 @Data
-public class PersonalAuthentication {
+public class PersonalAuthentication{
 
     private Long id;
     private Long userId;
     private String realName;
     private String IDCard;
-    private String IDCardPhoto;
+    private String IDCardPostivePhoto;//身份证正面照片
+    private String IDCardBackPhoto;//身份证反面照片
+    private String sex;
     private String bankAccount;
     private String address;
     private int isDeleted;
@@ -26,22 +28,7 @@ public class PersonalAuthentication {
     private Timestamp applyTime;
     private Timestamp checkTime;
 
-    @Override
-    public String toString() {
-        return "PersonalAuth{" +
-                "id=" + id +
-                ", userId=" + userId +
-                ", realName='" + realName + '\'' +
-                ", IDCard='" + IDCard + '\'' +
-                ", IDCardPhoto='" + IDCardPhoto + '\'' +
-                ", bankAccount='" + bankAccount + '\'' +
-                ", address='" + address + '\'' +
-                ", isAuthentication='" + isAuthentication + '\'' +
-                ", explain=" + explain +
-                ", applyTime='" + applyTime + '\'' +
-                ", checkTime='" + checkTime + '\'' +
-                '}';
-    }
+
 
     public PersonalAuthentication applyAuthentication(Long userId) {
         this.setUserId(userId);

+ 3 - 1
core/src/main/java/com/mooctest/crowd/domain/model/ApplicationTypePO.java

@@ -3,7 +3,6 @@ package com.mooctest.crowd.domain.model;
 import lombok.Data;
 
 import javax.persistence.*;
-import java.sql.Timestamp;
 
 /**
  * @author guochao
@@ -22,4 +21,7 @@ public class ApplicationTypePO {
 
     @Column(name = "AT_NAME")
     private String name;
+
+    @Column(name = "AT_IMAGE")
+    private String image;
 }

+ 3 - 0
core/src/main/java/com/mooctest/crowd/domain/model/CompetitionPO.java

@@ -26,6 +26,9 @@ public class CompetitionPO {
     @Column(name = "C_START_TIME")
     private Timestamp startTime;
 
+    @Column(name = "C_IMAGE")
+    private String image;
+
     @Column(name = "C_IS_DELETED")
     private int isDeleted;
 }

+ 11 - 0
site/pom.xml

@@ -121,6 +121,17 @@
 			<artifactId>shiro-ehcache</artifactId>
 			<version>1.3.2</version>
 		</dependency>
+		<dependency>
+			<groupId>commons-validator</groupId>
+			<artifactId>commons-validator</artifactId>
+			<version>1.4.1</version>
+		</dependency>
+		<!-- kaptcha verification code -->
+		<dependency>
+			<groupId>com.github.penggle</groupId>
+			<artifactId>kaptcha</artifactId>
+			<version>2.3.2</version>
+		</dependency>
 	</dependencies>
 
 	<build>

+ 41 - 0
site/src/main/java/com/mooctest/crowd/site/anticorruption/impl/data/UserCommon.java

@@ -0,0 +1,41 @@
+package com.mooctest.crowd.site.anticorruption.impl.data;
+
+import com.mooctest.crowd.site.command.RestPasswordCommand;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class UserCommon extends UserInfo {
+   private Long id;
+
+   private String password;
+
+   private String verifyCode;
+
+   private String password2;
+
+   private String oldPassword;
+
+   private String thirdPartyId;
+
+   private String thirdPartyName;
+
+   private String headImgUrl;
+
+   private String from;
+
+   private String openid;
+
+   private String unionid;
+
+   public UserCommon(RestPasswordCommand command){
+      this.password = command.getPassword();
+      this.oldPassword = command.getOldPassword();
+      this.verifyCode = command.getVerifyCode();
+      this.password2 = command.getPassword2();
+      this.id = command.getId();
+   }
+}

+ 17 - 5
site/src/main/java/com/mooctest/crowd/site/command/ApplyPersonalAuthCommand.java

@@ -22,22 +22,34 @@ public class ApplyPersonalAuthCommand {
     @NotNull(message = "请填写真实姓名")
     private String realName;
 
+    @NotNull(message = "请选择性别")
+    private String sex;
+
     @JsonProperty(value = "IDCard")
     @NotNull(message = "请填写身份证号码")
     @Pattern(regexp = "\\d{15}(\\d{2}[0-9xX])?", message = "身份证号格式错误")
     private String IDCard;
 
-    @JsonProperty(value = "IDCardPhoto")
-    @NotNull(message = "请上传身份证图片")
-    private String IDCardPhoto;
+    @JsonProperty(value = "IDCardPositivePhoto")
+    @NotNull(message = "请上传身份证正面图片")
+    private String IDCardPositivePhoto;
+
+    @JsonProperty(value = "IDCardBackPhoto")
+    @NotNull(message = "请上传身份证反面图片")
+    private String IDCardBackPhoto;
+
+    @JsonProperty(value = "IDCardDeadTime")
+    @NotNull(message = "请正确填写过期时间")
+    private Timestamp IDCardDeadTime;
+
 
     @NotNull(message = "请填写银行卡号")
     private String bankAccount;
 
-    @NotNull(message = "地址不可为空")
+    @NotNull(message = "请填写单位或者家庭地址")
     private String address;
 
-    public PersonalAuthentication toPersonalAuth(){
+    public PersonalAuthentication toPersonalAuth() {
         PersonalAuthentication personalAuthentication = new PersonalAuthentication();
         BeanUtils.copyProperties(this, personalAuthentication);
         personalAuthentication.setApplyTime(new Timestamp(System.currentTimeMillis()));

+ 20 - 0
site/src/main/java/com/mooctest/crowd/site/command/RestPasswordCommand.java

@@ -0,0 +1,20 @@
+package com.mooctest.crowd.site.command;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @Author: xuexb
+ * @Date: 2019.7.5 14:24
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class RestPasswordCommand {
+    private Long id;
+    private String oldPassword;
+    private String password;
+    private String password2;
+    private String verifyCode;
+}

+ 36 - 0
site/src/main/java/com/mooctest/crowd/site/configuration/CaptchaConfiguration.java

@@ -0,0 +1,36 @@
+package com.mooctest.crowd.site.configuration;
+
+import com.google.code.kaptcha.Constants;
+import com.google.code.kaptcha.impl.DefaultKaptcha;
+import com.google.code.kaptcha.util.Config;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+import java.util.Properties;
+
+/**
+ * @author sean
+ * @date 2017-03-21.
+ */
+@Configuration
+public class CaptchaConfiguration {
+
+    @Bean
+    public DefaultKaptcha getKaptchaBean() {
+        DefaultKaptcha defaultKaptcha = new DefaultKaptcha();
+        Properties properties = new Properties();
+        properties.setProperty(Constants.KAPTCHA_BORDER, "no");
+//        properties.setProperty(Constants.KAPTCHA_BORDER, "yes");
+//        properties.setProperty(Constants.KAPTCHA_BORDER_COLOR, "105,179,90");
+        properties.setProperty(Constants.KAPTCHA_TEXTPRODUCER_FONT_COLOR, "blue");
+        properties.setProperty(Constants.KAPTCHA_IMAGE_WIDTH, "140");
+        properties.setProperty(Constants.KAPTCHA_IMAGE_HEIGHT, "45");
+        properties.setProperty(Constants.KAPTCHA_SESSION_KEY, "code");
+        properties.setProperty(Constants.KAPTCHA_TEXTPRODUCER_CHAR_STRING, "0123456789");
+        properties.setProperty(Constants.KAPTCHA_TEXTPRODUCER_CHAR_LENGTH, "6");
+        Config config = new Config(properties);
+        defaultKaptcha.setConfig(config);
+        return defaultKaptcha;
+    }
+
+}

+ 71 - 0
site/src/main/java/com/mooctest/crowd/site/controller/CaptchaController.java

@@ -0,0 +1,71 @@
+package com.mooctest.crowd.site.controller;
+
+import com.google.code.kaptcha.impl.DefaultKaptcha;
+import com.mooctest.crowd.domain.util.EncryptionUtil;
+import org.apache.shiro.SecurityUtils;
+import org.apache.shiro.session.Session;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.servlet.ModelAndView;
+
+import javax.imageio.ImageIO;
+import javax.servlet.ServletOutputStream;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.awt.image.BufferedImage;
+
+/**
+ * @author sean
+ * @date 2017-03-21.
+ */
+@RestController
+public class CaptchaController extends BaseController {
+
+    @Autowired
+    private DefaultKaptcha captchaProducer;
+
+//    @Autowired
+//    private VerificationLogic verificationLogic;
+
+    @RequestMapping(value = "/api/common/captcha")
+    public ModelAndView getKaptchaImage(HttpServletRequest request,
+                                        HttpServletResponse response) throws Exception {
+
+        response.setDateHeader("Expires", 0);
+        response.setHeader("Cache-Control",
+                "no-store, no-cache, must-revalidate");
+        response.addHeader("Cache-Control", "post-check=0, pre-check=0");
+        response.setHeader("Pragma", "no-cache");
+        response.setContentType("image/jpeg");
+
+        String capText = captchaProducer.createText();
+
+        try {
+            Session session = SecurityUtils.getSubject().getSession();
+            String md5Captcha = EncryptionUtil.encryptMD5Hex(capText);
+            session.setAttribute("captchaCode" , md5Captcha);
+
+        } catch (Exception e) {
+            LOG.error("", e);
+        }
+
+        BufferedImage bi = captchaProducer.createImage(capText);
+        System.out.println("capText " + capText);
+        ServletOutputStream out = response.getOutputStream();
+        ImageIO.write(bi, "jpg", out);
+        try {
+            out.flush();
+        } finally {
+            out.close();
+        }
+        return null;
+
+    }
+
+//    @RequestMapping(value = UrlConstants.API_COMMON + "captcha/mobile/{mobile:\\d+}", method = RequestMethod.POST)
+//    public void sendMobileCaptcha(@PathVariable("mobile") String mobile) {
+//        verificationLogic.sendMobileVerfication(mobile);
+//    }
+
+}

+ 26 - 30
site/src/main/java/com/mooctest/crowd/site/controller/CrowTestSquareController.java

@@ -1,13 +1,11 @@
 package com.mooctest.crowd.site.controller;
 
 import com.google.gson.Gson;
-import com.mooctest.crowd.domain.domainobject.DeletedStatus;
 import com.mooctest.crowd.site.constants.CommonConstant;
 import com.mooctest.crowd.site.data.dto.CrowdTestSquareIndexDTO;
 import com.mooctest.crowd.site.data.dto.ProjectAndTaskDTO;
 import com.mooctest.crowd.site.data.response.ResponseVO;
 import com.mooctest.crowd.site.data.response.ServerCode;
-import com.mooctest.crowd.site.data.vo.CrowdProjectVO;
 import com.mooctest.crowd.site.data.vo.CrowdTaskVO;
 import com.mooctest.crowd.site.data.vo.CrowdTestProjectVO;
 import com.mooctest.crowd.site.data.vo.SearchConditionVO;
@@ -20,10 +18,7 @@ import org.springframework.data.domain.Page;
 import org.springframework.data.domain.PageRequest;
 import org.springframework.data.domain.Pageable;
 import org.springframework.data.domain.Sort;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -37,7 +32,7 @@ import java.util.List;
 
 @RestController
 @RequestMapping("/api/square")
-public class CrowTestSquareController {
+public class CrowTestSquareController extends  BaseController{
 
     @Autowired
     private CrowdProjectService crowdProjectService;
@@ -67,12 +62,12 @@ public class CrowTestSquareController {
      * 众测项目分页查询接口
      */
     @GetMapping("/project/list")
-    public ResponseVO findAllprojectByPage(@RequestParam(name = "searchCondition") String searchCondition){
+    public ResponseVO findAllprojectByPage(@RequestParam(name = "searchCondition") String searchCondition) {
         Gson gson = new Gson();
         SearchConditionVO searchConditionVO = gson.fromJson(searchCondition, SearchConditionVO.class);
         Pageable pageable = this.getPageable(searchConditionVO);
         String keyword = searchConditionVO.getKeyword();
-       List<CrowdTestProjectVO> list = crowdProjectService.findAll(pageable);
+        List<CrowdTestProjectVO> list = crowdProjectService.findAll(pageable);
         Page<CrowdTestProjectVO> page = DataUtils.listToPage(list, pageable);
         return new ResponseVO<>(ServerCode.SUCCESS, page);
     }
@@ -93,27 +88,28 @@ public class CrowTestSquareController {
     /**
      * 搜索框模糊查询接口
      */
-    @GetMapping("search/list")
-    public ResponseVO<Page<ProjectAndTaskDTO>> findByNameLike(@RequestParam("searchCondition") String searchCondition,
-                                                              @RequestParam("pageNum") int pageNum,
-                                                              @RequestParam("pageSize") int pageSize){
-        ProjectAndTaskDTO projectAndTaskDTO = new ProjectAndTaskDTO();
-        List<CrowdTestProjectVO> list = crowdProjectService.findByNameLike(searchCondition);
-        List<CrowdTaskVO> taskVOList = crowdTaskService.findByNameLike(searchCondition);
-        projectAndTaskDTO.setCrowdTaskVOList(taskVOList);
-        projectAndTaskDTO.setProjectVOList(list);
-        List projectAndTaskDTOList = new ArrayList<>();
-        projectAndTaskDTOList.addAll(list);
-        projectAndTaskDTOList.addAll(taskVOList);
-        Pageable pageable = PageRequest.of(pageNum - 1, pageSize);
-        Page<ProjectAndTaskDTO> projectAndTaskDTOPage = DataUtils.listToPage(projectAndTaskDTOList, pageable);
-        return new ResponseVO<>(ServerCode.SUCCESS, projectAndTaskDTOPage);
-    }
-
-    Pageable getPageable(SearchConditionVO searchConditionVO){
-        int activePage = searchConditionVO.getActivePage() == 0?1:searchConditionVO.getActivePage();
-        Sort sort = new Sort(Sort.Direction.DESC,"id");
-        return new PageRequest(activePage-1, CommonConstant.DEFAULT_ROWS_ON_PAGE, sort);
+    @PostMapping("search/list")
+    public ResponseVO<Page<ProjectAndTaskDTO>> findByNameLike(@RequestParam("searchCondition")String searchCondition){
+            Gson gson = new Gson();
+            SearchConditionVO searchConditionVO = gson.fromJson(searchCondition, SearchConditionVO.class);
+            Pageable pageable = this.getPageable(searchConditionVO);
+            String keyword = searchConditionVO.getKeyword();
+            ProjectAndTaskDTO projectAndTaskDTO = new ProjectAndTaskDTO();
+            List<CrowdTestProjectVO> list = crowdProjectService.findByNameLike(keyword);
+            List<CrowdTaskVO> taskVOList = crowdTaskService.findByNameLike(keyword);
+            projectAndTaskDTO.setCrowdTaskVOList(taskVOList);
+            projectAndTaskDTO.setProjectVOList(list);
+            List projectAndTaskDTOList = new ArrayList<>();
+            projectAndTaskDTOList.addAll(list);
+            projectAndTaskDTOList.addAll(taskVOList);
+            Page<ProjectAndTaskDTO> projectAndTaskDTOPage = DataUtils.listToPage(projectAndTaskDTOList, pageable);
+            return new ResponseVO<>(ServerCode.SUCCESS, projectAndTaskDTOPage);
+        }
+
+    Pageable getPageable(SearchConditionVO searchConditionVO) {
+        int activePage = searchConditionVO.getActivePage() == 0 ? 1 : searchConditionVO.getActivePage();
+        Sort sort = new Sort(Sort.Direction.DESC, "id");
+        return new PageRequest(activePage - 1, CommonConstant.DEFAULT_ROWS_ON_PAGE, sort);
     }
 
 }

+ 64 - 28
site/src/main/java/com/mooctest/crowd/site/controller/UserController.java

@@ -3,17 +3,24 @@ package com.mooctest.crowd.site.controller;
 import com.mooctest.crowd.domain.exception.*;
 import com.mooctest.crowd.site.annotation.LoginRequired;
 import com.mooctest.crowd.site.annotation.SysAdminRequired;
+import com.mooctest.crowd.site.anticorruption.impl.data.UserCommon;
+import com.mooctest.crowd.site.anticorruption.impl.data.UserInfo;
 import com.mooctest.crowd.site.command.*;
 import com.mooctest.crowd.site.data.dto.UserDTO;
+import com.mooctest.crowd.site.data.response.ResponseVO;
+import com.mooctest.crowd.site.data.response.ServerCode;
 import com.mooctest.crowd.site.data.vo.BaseAuthVO;
 import com.mooctest.crowd.site.data.vo.EnterpriseAuthVO;
 import com.mooctest.crowd.site.data.vo.PersonalAuthVO;
 import com.mooctest.crowd.site.service.UserService;
+import org.apache.juli.logging.Log;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpRequest;
 import org.springframework.validation.BindingResult;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
+import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpSession;
 import java.util.List;
 
@@ -24,7 +31,7 @@ import java.util.List;
  */
 @RestController
 @RequestMapping("/api")
-public class UserController {
+public class UserController extends BaseController {
 
     @Autowired
     private UserService userService;
@@ -37,34 +44,53 @@ public class UserController {
     }
 
     @RequestMapping(value = "/user", method = RequestMethod.PUT)
-    public UserDTO updateUser(@Validated UserUpdateCommand command, BindingResult result){
+    public UserDTO updateUser(@Validated UserUpdateCommand command, BindingResult result) {
         return null;
     }
 
     @RequestMapping(value = "/user/{userId}", method = RequestMethod.DELETE)
-    public boolean deleteUser(@PathVariable("userId") Long userId){
+    public boolean deleteUser(@PathVariable("userId") Long userId) {
         return true;
     }
 
     @RequestMapping(value = "/user/{userId}", method = RequestMethod.GET)
-    public UserDTO getUser(@PathVariable Long userId){
+    public UserDTO getUser(@PathVariable Long userId) {
         return userService.getUser(userId);
     }
 
     @RequestMapping(value = "/user", method = RequestMethod.GET)
-    public List<UserDTO> getUsers(){
+    public List<UserDTO> getUsers() {
         return null;
     }
 
     @RequestMapping(value = "/login", method = RequestMethod.GET)
-    public UserDTO loginByMobileAndPwd(@Validated LoginCommand loginCommand, BindingResult result) throws PasswordErrorException, AccountNotExistException, BadRequestException {
+    public UserDTO loginByMobileAndPwd(@Validated @RequestBody LoginCommand loginCommand, BindingResult result, HttpServletRequest request) throws PasswordErrorException, AccountNotExistException, BadRequestException {
         if (result.hasErrors())
             throw new BadRequestException(result.getFieldError().getDefaultMessage());
         return userService.loginByMobileAndPwd(loginCommand);
     }
 
     /**
+     * 修改密码
+     */
+    @RequestMapping(value = "/password/reset", method = RequestMethod.PUT)
+    public ResponseVO<UserCommon> resetPassword(@RequestBody RestPasswordCommand restPasswordCommand, BindingResult result) {
+        if (result.hasErrors())
+            throw new BadRequestException(result.getFieldError().getDefaultMessage());
+        return new ResponseVO<>(ServerCode.SUCCESS, userService.restPassword(restPasswordCommand));
+    }
+
+    /**
+     * 获取邮箱验证码
+     */
+    @RequestMapping(value = "/verify/email", method = RequestMethod.PUT)
+    public ResponseVO<Boolean> verifyMail(@RequestBody UserInfo userInfo) {
+        return new ResponseVO<>(ServerCode.SUCCESS, userService.verifyMail(userInfo.getEmail()));
+    }
+
+    /**
      * 申请个人实名认证
+     *
      * @param userId
      * @param command
      * @param result
@@ -73,19 +99,20 @@ public class UserController {
      */
     @LoginRequired
     @RequestMapping(value = "/user/{userId}/personalAuth", method = RequestMethod.POST)
-    public PersonalAuthVO applyPersonalAuthentication(@PathVariable("userId")Long userId,
+    public PersonalAuthVO applyPersonalAuthentication(@PathVariable("userId") Long userId,
                                                       @Validated @RequestBody ApplyPersonalAuthCommand command,
-                                                      BindingResult result, HttpSession session){
-        if (!userId.equals(Long.parseLong((String)session.getAttribute("userId"))))
+                                                      BindingResult result, HttpSession session) {
+
+        if (!userId.equals(Long.parseLong((String) session.getAttribute("userId"))))
             throw new UnauthorizedException("没有权限对他人账号进行操作!");
         if (result.hasErrors())
             throw new BaseException(result.getFieldError().getDefaultMessage());
-
         return userService.applyPersonalAuth(userId, command);
     }
 
     /**
      * 修改个人认证信息
+     *
      * @param userId
      * @param command
      * @param result
@@ -93,64 +120,70 @@ public class UserController {
      */
     @LoginRequired
     @RequestMapping(value = "/user/{userId}/personalAuth", method = RequestMethod.PUT)
-    public PersonalAuthVO updatePersonalAuthInfo(@PathVariable("userId")Long userId,
+    public PersonalAuthVO updatePersonalAuthInfo(@PathVariable("userId") Long userId,
                                                  @Validated @RequestBody ApplyPersonalAuthCommand command,
                                                  HttpSession session,
-                                                 BindingResult result){
-        if (result.hasErrors())
+                                                 BindingResult result) {
+        if (result.hasErrors()) {
             throw new BaseException(result.getFieldError().getDefaultMessage());
+        }
         return userService.updatePersonalAuthInfo(userId, command);
     }
 
 
     /**
      * 个人认证:通过审核
+     *
      * @param userId
      * @return
      */
     @LoginRequired
     @SysAdminRequired
     @RequestMapping(value = "/user/{userId}/personalAuth/status/accept", method = RequestMethod.PUT)
-    public PersonalAuthVO passPersonalAuth(@PathVariable("userId") Long userId){
+    public PersonalAuthVO passPersonalAuth(@PathVariable("userId") Long userId) {
         return userService.passPersonalAuth(userId);
     }
 
     /**
      * 个人认证:审核未通过
+     *
      * @param userId
      * @return
      */
     @LoginRequired
     @SysAdminRequired
     @RequestMapping(value = "/user/{userId}/personalAuth/status/reject", method = RequestMethod.PUT)
-    public PersonalAuthVO rejectPersonalAuth(@PathVariable("userId") Long userId, @RequestBody @Validated AuthRejectCommand command){
+    public PersonalAuthVO rejectPersonalAuth(@PathVariable("userId") Long userId, @RequestBody @Validated AuthRejectCommand command) {
         return userService.rejectPersonalAuth(userId, command.getExplain());
     }
 
     /**
      * 查看个人认证信息
+     *
      * @param userId
      * @return
      */
     @LoginRequired
     @RequestMapping(value = "/user/{userId}/personalAuth", method = RequestMethod.GET)
-    public PersonalAuthVO getPersonalAuthInfo(@PathVariable("userId") Long userId){
+    public PersonalAuthVO getPersonalAuthInfo(@PathVariable("userId") Long userId) {
         return userService.getPersonalAuthInfo(userId);
     }
 
     /**
      * 获取企业认证信息
+     *
      * @param userId
      * @return
      */
     @LoginRequired
     @RequestMapping(value = "/user/{userId}/enterpriseAuth", method = RequestMethod.GET)
-    public EnterpriseAuthVO getEnterpriseAuthInfo(@PathVariable("userId") Long userId){
+    public EnterpriseAuthVO getEnterpriseAuthInfo(@PathVariable("userId") Long userId) {
         return userService.getEnterpriseAuthInfo(userId);
     }
 
     /**
      * 申请企业认证接口
+     *
      * @param userId
      * @param command
      * @param result
@@ -159,10 +192,10 @@ public class UserController {
      */
     @LoginRequired
     @RequestMapping(value = "/user/{userId}/enterpriseAuth", method = RequestMethod.POST)
-    public EnterpriseAuthVO applyEnterpriseAuth(@PathVariable("userId")Long userId,
-                                                  @Validated @RequestBody ApplyEnterpriseAuthCommand command,
-                                                  BindingResult result, HttpSession session){
-        if (!userId.equals(Long.parseLong((String)session.getAttribute("userId"))))
+    public EnterpriseAuthVO applyEnterpriseAuth(@PathVariable("userId") Long userId,
+                                                @Validated @RequestBody ApplyEnterpriseAuthCommand command,
+                                                BindingResult result, HttpSession session) {
+        if (!userId.equals(Long.parseLong((String) session.getAttribute("userId"))))
             throw new UnauthorizedException("没有权限对他人账号进行操作!");
         if (result.hasErrors())
             throw new BaseException(result.getFieldError().getDefaultMessage());
@@ -171,6 +204,7 @@ public class UserController {
 
     /**
      * 更新企业认证信息
+     *
      * @param userId
      * @param command
      * @param result
@@ -178,9 +212,9 @@ public class UserController {
      */
     @LoginRequired
     @RequestMapping(value = "/user/{userId}/enterpriseAuth", method = RequestMethod.PUT)
-    public EnterpriseAuthVO updatePersonalAuthInfo(@PathVariable("userId")Long userId,
-                                                 @Validated @RequestBody ApplyEnterpriseAuthCommand command,
-                                                 BindingResult result){
+    public EnterpriseAuthVO updatePersonalAuthInfo(@PathVariable("userId") Long userId,
+                                                   @Validated @RequestBody ApplyEnterpriseAuthCommand command,
+                                                   BindingResult result) {
         if (result.hasErrors())
             throw new BaseException(result.getFieldError().getDefaultMessage());
         return userService.updateEnterpriseAuthInfo(userId, command);
@@ -188,38 +222,40 @@ public class UserController {
 
     /**
      * 企业认证:审核通过
+     *
      * @param userId
      * @return
      */
     @LoginRequired
     @SysAdminRequired
     @RequestMapping(value = "/user/{userId}/enterpriseAuth/status/accept", method = RequestMethod.PUT)
-    public EnterpriseAuthVO passEnterpriseAuth(@PathVariable("userId") Long userId){
+    public EnterpriseAuthVO passEnterpriseAuth(@PathVariable("userId") Long userId) {
         return userService.passEnterpriseAuth(userId);
     }
 
     /**
      * 企业认证:审核未通过
+     *
      * @param userId
      * @return
      */
     @LoginRequired
     @RequestMapping(value = "/user/{userId}/enterpriseAuth/status/reject", method = RequestMethod.PUT)
-    public EnterpriseAuthVO rejectEnterpriseAuth(@PathVariable("userId") Long userId, @RequestBody @Validated AuthRejectCommand command){
+    public EnterpriseAuthVO rejectEnterpriseAuth(@PathVariable("userId") Long userId, @RequestBody @Validated AuthRejectCommand command) {
         return userService.rejectEnterpriseAuth(userId, command.getExplain());
     }
 
     @LoginRequired
     @SysAdminRequired
     @RequestMapping(value = "/user/authentication/handling", method = RequestMethod.GET)
-    public List<BaseAuthVO> getAuthingList(){
+    public List<BaseAuthVO> getAuthingList() {
         return userService.getAuthingList();
     }
 
     @LoginRequired
     @SysAdminRequired
     @RequestMapping(value = "/user/authentication/handled", method = RequestMethod.GET)
-    public List<BaseAuthVO> getAuthedList(){
+    public List<BaseAuthVO> getAuthedList() {
         return userService.getAuthedList();
     }
 

+ 2 - 0
site/src/main/java/com/mooctest/crowd/site/data/vo/ApplicationTypeVO.java

@@ -14,10 +14,12 @@ public class ApplicationTypeVO {
     private String code;
     private String name;
     private Long count;
+    private String image;
     private List<TestTypeVO> testTypeList;
 
     public ApplicationTypeVO(ApplicationType applicationType){
         code = applicationType.getCode();
         name = applicationType.getName();
+        image = applicationType.getImage();
     }
 }

+ 2 - 0
site/src/main/java/com/mooctest/crowd/site/data/vo/CompetitionVO.java

@@ -15,6 +15,7 @@ public class CompetitionVO {
     private String name;
     private String linkUrl;
     private Timestamp startTime;
+    private String image;
     private int isDeleted;
 
     public CompetitionVO(Competition competition){
@@ -22,6 +23,7 @@ public class CompetitionVO {
         name = competition.getName();
         linkUrl = competition.getLinkUrl();
         startTime = competition.getStartTime();
+        image = competition.getImage();
         isDeleted = competition.getIsDeleted();
     }
 }

+ 3 - 0
site/src/main/java/com/mooctest/crowd/site/data/vo/PersonalAuthVO.java

@@ -29,6 +29,9 @@ public class PersonalAuthVO {
     private Timestamp applyTime;
     private Timestamp checkTime;
     private StatusVO authStatus;
+    private String IDCardPostivePhoto;//身份证正面照片
+    private String IDCardBackPhoto;//身份证反面照片
+    private  String sex;
 
     public PersonalAuthVO(PersonalAuthentication personalAuthentication){
         BeanUtils.copyProperties(personalAuthentication, this);

+ 16 - 7
site/src/main/java/com/mooctest/crowd/site/data/vo/UserVO.java

@@ -2,6 +2,7 @@ package com.mooctest.crowd.site.data.vo;
 
 import com.mooctest.crowd.domain.domainobject.Account;
 import com.mooctest.crowd.domain.domainobject.User;
+import com.mooctest.crowd.domain.model.UserPO;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 import org.springframework.beans.BeanUtils;
@@ -34,26 +35,34 @@ public class UserVO {
     private String unit;
     private String county;
 
-    public UserVO(User user){
+    public UserVO(User user) {
         BeanUtils.copyProperties(user, this);
-        this.password="********";
-        if (user.getEvaluationAgency() != null){
+        this.password = "********";
+        if (user.getEvaluationAgency() != null) {
             this.authType = "agency";
-        } else if (user.getEnterpriseAuthentication() != null){
+        } else if (user.getEnterpriseAuthentication() != null) {
             this.authType = "enterprise";
-        } else if (user.getPersonalAuthentication() != null){
+        } else if (user.getPersonalAuthentication() != null) {
             this.authType = "personal";
         } else
             this.authType = "noAuth";
     }
 
-    public void toUser(User user){
+    public void toUser(User user) {
         id = user.getId();
         name = user.getName();
         userName = user.getUserName();
     }
 
-    public UserVO(Account account){
+    public UserVO(UserPO userPO) {
+
+        BeanUtils.copyProperties(userPO, this);
+
+
+    }
+
+
+    public UserVO(Account account) {
         BeanUtils.copyProperties(account, this);
     }
 }

+ 1 - 1
site/src/main/java/com/mooctest/crowd/site/mediator/impl/WebMediatorImpl.java

@@ -92,7 +92,7 @@ public class WebMediatorImpl implements ViewMediator {
 
     @Override
     public UserDTO loginByMobileAndPwd(LoginCommand cmd) {
-        return null;
+          return null;
     }
 
     @Override

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
site/src/main/java/com/mooctest/crowd/site/service/UserService.java


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
site/src/main/java/com/mooctest/crowd/site/service/impl/UserServiceImpl.java


+ 26 - 1
site/src/main/resources/application.yml

@@ -1,6 +1,6 @@
 spring:
   profiles:
-    active: dev
+    active: dev-localhost
   cache:
     guava:
       spec: expireAfterWrite=30s
@@ -82,6 +82,31 @@ website:
 
 ---
 spring:
+  profiles: dev-localhost
+  datasource:
+    url: jdbc:mysql://101.37.175.111:3306/crowd-test-service?useSSL=false&useUnicode=yes&characterEncoding=UTF-8
+    username: mooctest
+    password: secr3t!
+  redis:
+    host: 59.42.10.53
+    pool: 6379
+    password: '#2019@callforttest@!'
+    jedis:
+      pool:
+        max-active: 8
+        max-idle: 8
+        max-wait: -1
+        min-idle: 0
+    database: 6
+user:
+  service:
+    baseUrl: http://127.0.0.1:8081
+
+website:
+  domain: mooctest.net
+
+---
+spring:
   profiles: dev-pre
   datasource:
     url: jdbc:mysql://101.37.175.111:3306/crowd-test-service-pre?useSSL=false&useUnicode=yes&characterEncoding=UTF-8

이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.