git %!s(int64=5) %!d(string=hai) anos
pai
achega
44366fcec9

+ 3 - 1
site/src/main/java/com/mooctest/crowd/site/controller/PersonalDataController.java

@@ -11,6 +11,8 @@ import org.codehaus.jettison.json.JSONException;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import java.io.UnsupportedEncodingException;
+
 @RestController
 @RequestMapping("/api/personal")
 public class PersonalDataController {
@@ -34,7 +36,7 @@ public class PersonalDataController {
     }
 
     @RequestMapping(value = "/addqualification/{userId:\\d+}", method = RequestMethod.POST)
-    public QualificationDTO addQualification(@PathVariable("userId") long userId, @RequestBody QualificationVO qualificationVO){
+    public QualificationDTO addQualification(@PathVariable("userId") long userId, @RequestBody QualificationVO qualificationVO) throws UnsupportedEncodingException {
         return  personalDataService.addQualification(userId,qualificationVO);
     }
 

+ 2 - 1
site/src/main/java/com/mooctest/crowd/site/data/vo/UserVO.java

@@ -12,6 +12,7 @@ import org.springframework.beans.BeanUtils;
 
 import java.io.Serializable;
 import java.sql.Date;
+import java.util.List;
 
 /**
  * @Author: xuexb
@@ -35,7 +36,7 @@ public class UserVO implements Serializable {
     private String authType;
     private Long taskCount;
     private Date birthday;
-    private String personalCompetence;
+    private List<String> personalCompetence;
     private String unit;
     private String county;
     private String address;

+ 2 - 1
site/src/main/java/com/mooctest/crowd/site/mediator/ViewMediator.java

@@ -13,6 +13,7 @@ import com.mooctest.crowd.site.data.vo.*;
 import org.codehaus.jettison.json.JSONException;
 import org.springframework.data.domain.Pageable;
 
+import java.io.UnsupportedEncodingException;
 import java.util.List;
 
 /**
@@ -85,7 +86,7 @@ public interface ViewMediator {
 
     QualificationDTO getQualification(long userId);
 
-    QualificationDTO addQualification(long userId, QualificationVO qualificationVO);
+    QualificationDTO addQualification(long userId, QualificationVO qualificationVO) throws UnsupportedEncodingException;
 
     QualificationDTO updateQualification(long id, long userId, QualificationVO qualificationVO);
 

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

@@ -1,5 +1,5 @@
 package com.mooctest.crowd.site.mediator.impl;
-
+import com.alibaba.fastjson.JSONArray;
 import com.mooctest.crowd.domain.dao.*;
 import com.mooctest.crowd.domain.domainobject.*;
 import com.mooctest.crowd.domain.exception.*;
@@ -21,7 +21,6 @@ import com.mooctest.crowd.site.data.vo.*;
 import com.mooctest.crowd.site.mediator.ViewMediator;
 import lombok.extern.slf4j.Slf4j;
 import org.codehaus.jettison.json.JSONException;
-import org.codehaus.jettison.json.JSONObject;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
@@ -30,6 +29,7 @@ import org.springframework.data.domain.Pageable;
 import org.springframework.stereotype.Component;
 import org.springframework.web.client.RestTemplate;
 
+import java.io.UnsupportedEncodingException;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -1050,7 +1050,8 @@ public class WebMediatorImpl implements ViewMediator {
             userVO.setProvince(userPO.get().getProvince());
             userVO.setCity(userPO.get().getCity());
             userVO.setCounty(userPO.get().getCounty());
-            userVO.setPersonalCompetence(userPO.get().getPersonalCompetence());
+            List<String> competence = (List<String>) JSONArray.parse(userPO.get().getPersonalCompetence());
+            userVO.setPersonalCompetence(competence);
             userDTO.setUserVO(userVO);
             return userDTO;
         }
@@ -1095,7 +1096,10 @@ public class WebMediatorImpl implements ViewMediator {
     }
 
     @Override
-    public QualificationDTO addQualification(long userId, QualificationVO qualificationVO) {
+    public QualificationDTO addQualification(long userId, QualificationVO qualificationVO) throws UnsupportedEncodingException {
+        if (qualificationVO.getNumber().getBytes("UTF-8").length != qualificationVO.getNumber().length()) {
+            throw new HttpBadRequestException("请输入正确的证书编号");
+        }
         QualificationPO qualificationPO = new QualificationPO();
         List<QualificationPO> qualificationPOList = qualificationDao.findByUserIdAndIsDeleted(userId, DeletedStatus.isNotDeleted);
         for (int i = 0; i < qualificationPOList.size(); i++) {

+ 3 - 1
site/src/main/java/com/mooctest/crowd/site/service/PersonalDataService.java

@@ -8,6 +8,8 @@ import com.mooctest.crowd.site.data.vo.QualificationVO;
 import com.mooctest.crowd.site.data.vo.UserVO;
 import org.codehaus.jettison.json.JSONException;
 
+import java.io.UnsupportedEncodingException;
+
 
 public interface PersonalDataService {
     UserDTO getInformation(long userId);
@@ -16,7 +18,7 @@ public interface PersonalDataService {
 
     QualificationDTO getQualification(long userId);
 
-    QualificationDTO addQualification(long userId,QualificationVO qualificationVO);
+    QualificationDTO addQualification(long userId,QualificationVO qualificationVO) throws UnsupportedEncodingException;
 
     QualificationDTO updateQualification(long id,long userId,QualificationVO qualificationVO);
 

+ 3 - 1
site/src/main/java/com/mooctest/crowd/site/service/impl/PersonalDataServiceImpl.java

@@ -12,6 +12,8 @@ import org.codehaus.jettison.json.JSONException;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.io.UnsupportedEncodingException;
+
 @Service
 public class PersonalDataServiceImpl implements PersonalDataService {
 
@@ -34,7 +36,7 @@ public class PersonalDataServiceImpl implements PersonalDataService {
     }
 
     @Override
-    public QualificationDTO addQualification(long userId,QualificationVO qualificationVO) {
+    public QualificationDTO addQualification(long userId,QualificationVO qualificationVO) throws UnsupportedEncodingException {
         return viewMediator.addQualification(userId,qualificationVO);
     }