albertshaw 8 years ago
parent
commit
21103f55da

+ 0 - 32
schema/2017-03-14.sql

@@ -1,33 +1 @@
-CREATE TABLE `aft_dev`.`copyright_info` (
-  `id` VARCHAR(36) NOT NULL COMMENT '主键',
-  `uid` VARCHAR(36) NOT NULL COMMENT '用户主键',
-  `serial_number` int(11) NOT NULL AUTO_INCREMENT COMMENT '编号',
-  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
-  `accept_time` DATETIME NULL COMMENT '受理时间',
-  `principal` VARCHAR(36) NULL COMMENT '负责人id',
-  `contact` INT(1) NULL COMMENT '联系人序号',
-  `copyright_info` VARCHAR(255) NULL COMMENT '软著简介',
-  `copyright_name` VARCHAR(60) NULL COMMENT '软著名字',
-  `status` INT(1) NULL COMMENT '申请状态',
-  `work_issue` VARCHAR(128) NULL COMMENT '派单信息',
-  `comment` VARCHAR(128) NULL COMMENT '当前备注',
-  `outsource` VARCHAR(60) NULL COMMENT '外包信息',
-  `in_urgent` INT(3) NULL COMMENT '加急天数',
-  `authorized_date` DATETIME NULL COMMENT '下证时间',
-  PRIMARY KEY (`id`),
-  UNIQUE INDEX `serial_number_UNIQUE` (`serial_number` ASC)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-
-CREATE TABLE `copyright_log` (
-  `id` varchar(36) NOT NULL COMMENT '主键',
-  `cid` varchar(36) NOT NULL COMMENT '软著申请id',
-  `record_time` datetime DEFAULT NULL COMMENT '操作时间',
-  `status` int(1) DEFAULT NULL COMMENT '状态',
-  `principal` varchar(36) DEFAULT NULL COMMENT '负责人',
-  `operator` varchar(36) DEFAULT NULL COMMENT '操作人',
-  `comment` varchar(45) DEFAULT NULL COMMENT '备注',
-  PRIMARY KEY (`id`),
-  KEY `fk_copyright_log_copyright_info1_idx` (`cid`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-
 alter table admin MODIFY COLUMN `id` VARCHAR(36) NOT NULL ;

+ 50 - 0
schema/2017-03-15.sql

@@ -0,0 +1,50 @@
+CREATE TABLE `patent_info` (
+  `id` varchar(36) NOT NULL,
+  `uid` varchar(36) NOT NULL COMMENT '用户ID',
+  `serial_number` int(8) NOT NULL AUTO_INCREMENT COMMENT '编号',
+  `patent_number` varchar(16) DEFAULT NULL COMMENT '申请号/专利号',
+  `patent_name` varchar(16) DEFAULT NULL COMMENT '专利名称',
+  `patent_catagory` int(1) DEFAULT NULL COMMENT '专利类型',
+  `patent_state` int(1) DEFAULT NULL COMMENT '专利状态',
+  `patent_field` int(2) DEFAULT NULL COMMENT '专利领域',
+  `patent_des` varchar(1000) DEFAULT NULL COMMENT '专利简介',
+  `patent_prory_statement_url` varchar(255) DEFAULT NULL COMMENT '专利代理委托书',
+  `patent_writing_url` varchar(255) DEFAULT NULL COMMENT '专利稿件',
+  `authorization_notice_url` varchar(255) DEFAULT NULL COMMENT '授权通知书',
+  `patent_certificate_url` varchar(255) DEFAULT NULL COMMENT '专利证书',
+  `patent_application_date` datetime DEFAULT NULL COMMENT '申请日/受理日',
+  `first_inventor_name` varchar(32) DEFAULT NULL COMMENT '第一发明人',
+  `first_inventor_nationality` varchar(16) DEFAULT NULL COMMENT '第一发明人国籍',
+  `first_inventor_id_number` varchar(18) DEFAULT NULL COMMENT '第一发明人身份证号',
+  `first_inventor_is_publish` int(1) DEFAULT '0' COMMENT '第一发明人是否公布(0--不公布,1--公布)',
+  `second_inventor_name` varchar(32) DEFAULT NULL COMMENT '第二发明人姓名',
+  `second_inventor_nationality` varchar(16) DEFAULT NULL COMMENT '第二发明人国际',
+  `second_inventor_is_publish` int(1) DEFAULT '0' COMMENT '第二发明人是否公布(0--不公布,1--公布)',
+  `third_inventor_name` varchar(32) DEFAULT NULL COMMENT '第三发明人姓名',
+  `third_inventor_nationality` varchar(12) DEFAULT NULL COMMENT '第三发明人国籍',
+  `third_inventor_is_publish` int(1) DEFAULT '0' COMMENT '第三发明人是否公布(0--不公布,1--公布)',
+  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
+  `author` varchar(32) DEFAULT NULL COMMENT '撰写人',
+  `authorized_date` datetime DEFAULT NULL COMMENT '授权日/发文日',
+  `office` varchar(16) DEFAULT NULL COMMENT '事务所',
+  `principal` varchar(36) DEFAULT NULL COMMENT '负责人',
+  `confirm_state` int(1) DEFAULT '0' COMMENT '用户确认申报材料',
+  `record_time` datetime DEFAULT NULL COMMENT '专利申请时间',
+  `deleted_sign` int(1) DEFAULT NULL COMMENT '删除标记',
+  PRIMARY KEY (`id`),
+  KEY `serialNumber_UNIQUE` (`serial_number`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=60000006 DEFAULT CHARSET=utf8;
+
+CREATE TABLE `copyright_log` (
+  `id` varchar(36) NOT NULL COMMENT '主键',
+  `cid` varchar(36) NOT NULL COMMENT '软著申请id',
+  `record_time` datetime DEFAULT NULL COMMENT '状态流转时间',
+  `status` int(1) DEFAULT NULL COMMENT '状态',
+  `principal` varchar(36) DEFAULT NULL COMMENT '负责人',
+  `operator` varchar(36) DEFAULT NULL COMMENT '操作人',
+  `comment` varchar(45) DEFAULT NULL COMMENT '备注',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '日志创建时间',
+  PRIMARY KEY (`id`),
+  KEY `fk_copyright_log_copyright_info1_idx` (`cid`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+

+ 133 - 0
src/main/java/com/goafanti/admin/controller/AdminCopyrightApiController.java

@@ -0,0 +1,133 @@
+package com.goafanti.admin.controller;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import javax.validation.Valid;
+
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.validation.BindingResult;
+import org.springframework.validation.FieldError;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.goafanti.common.bo.Result;
+import com.goafanti.common.constant.AFTConstants;
+import com.goafanti.common.constant.ErrorConstants;
+import com.goafanti.common.controller.CertifyApiController;
+import com.goafanti.common.enums.CopyrightFields;
+import com.goafanti.common.enums.CopyrightStatus;
+import com.goafanti.common.model.CopyrightInfo;
+import com.goafanti.common.model.CopyrightLog;
+import com.goafanti.common.model.User;
+import com.goafanti.copyright.bo.InputCopyright;
+import com.goafanti.copyright.service.CopyrightInfoService;
+import com.goafanti.core.shiro.token.TokenManager;
+import com.goafanti.user.service.UserService;
+
+@RestController
+@RequestMapping(value = "/api/admin/copyright")
+public class AdminCopyrightApiController extends CertifyApiController {
+	@Resource
+	private CopyrightInfoService	copyrightInfoService;
+	@Resource
+	private UserService				userService;
+
+	@Value(value = "${upload.private.path}")
+	private String					uploadPrivatePath	= null;
+
+	@RequestMapping(value = "/apply", method = RequestMethod.POST)
+	public Result newApply(@Valid InputCopyright inputInfo, BindingResult bindingResult) {
+		Result res = new Result();
+		if (handleBindingError(res, bindingResult)) {
+			return res;
+		}
+		if (!checkAdminLogin(res)) {
+			return res;
+		}
+		if (StringUtils.isBlank(inputInfo.getUid())) {
+			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到用户", "用户"));
+			return res;
+		}
+		User curUser = userService.selectByPrimaryKey(inputInfo.getUid());
+		if (checkCertify(res, curUser)) {
+			return res;
+		}
+		CopyrightInfo ci = new CopyrightInfo();
+		BeanUtils.copyProperties(inputInfo, ci);
+		ci.setUid(curUser.getId());
+		if (StringUtils.isBlank(ci.getPrincipal())) {
+			ci.setStatus(CopyrightStatus.CREATE.getCode());
+			ci.setPrincipal(curUser.getAid());
+		} else {
+			ci.setStatus(CopyrightStatus.DELIVERD.getCode());
+		}
+		copyrightInfoService.insert(ci);
+		res.setData(ci);
+		return res;
+	}
+
+	@RequestMapping(value = "/modify", method = RequestMethod.POST)
+	public Result modify(String id, @Valid InputCopyright inputInfo, BindingResult bindingResult) {
+		Result res = new Result();
+		if (handleBindingError(res, bindingResult)) {
+			return res;
+		}
+		if (!checkAdminLogin(res)) {
+			return res;
+		}
+		if (StringUtils.isBlank(id)) {
+			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到软著", "软著申请id"));
+			return res;
+		}
+		CopyrightInfo oci = copyrightInfoService.selectByPrimaryKey(id);
+		if (oci == null) {
+			res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "找不到软著", "软著申请"));
+			return res;
+		}
+
+		CopyrightInfo ci = new CopyrightInfo();
+		CopyrightLog cl = new CopyrightLog();
+		BeanUtils.copyProperties(inputInfo, ci);
+		BeanUtils.copyProperties(inputInfo, cl);
+		ci.setId(oci.getId());
+		ci.setUid(oci.getUid());
+		cl.setCid(oci.getId());
+		cl.setOperator(TokenManager.getAdminId());
+		copyrightInfoService.updateByPrimaryKeySelective(ci, cl);
+		res.setData(1);
+		return res;
+	}
+
+	@RequestMapping(value = "/upload", method = RequestMethod.POST)
+	public Result upload(String id, String sign, HttpServletRequest req) {
+		Result res = new Result();
+		if (!checkAdminLogin(res)) {
+			return res;
+		}
+		res.setData(handleFile(res, "/copyright/", true, req, sign));
+		return res;
+	}
+
+	private boolean handleBindingError(Result res, BindingResult bindingResult) {
+		if (bindingResult.hasErrors()) {
+			for (FieldError fe : bindingResult.getFieldErrors()) {
+				Class<?> clazz = bindingResult.getFieldType(fe.getField());
+				if (clazz != null && "java.util.Date".equals(clazz.getName())) {
+					res.getError()
+							.add(buildError(ErrorConstants.PARAM_PATTERN_ERROR, "日期格式错误",
+									CopyrightFields.getFieldDesc(fe.getField()), AFTConstants.DATE_FORMAT)
+											.buildField(fe.getField()));
+				} else {
+					res.getError()
+							.add(buildErrorByMsg(fe.getDefaultMessage(), CopyrightFields.getFieldDesc(fe.getField()))
+									.buildField(fe.getField()));
+				}
+			}
+			return true;
+		}
+		return false;
+	}
+}

+ 0 - 10
src/main/java/com/goafanti/admin/controller/CopyrightApiController.java

@@ -1,10 +0,0 @@
-package com.goafanti.admin.controller;
-
-import org.springframework.web.bind.annotation.RequestMapping;
-
-import com.goafanti.common.controller.BaseApiController;
-
-@RequestMapping(value = "/api/admin")
-public class CopyrightApiController extends BaseApiController {
-	
-}

+ 5 - 0
src/main/java/com/goafanti/common/constant/AFTConstants.java

@@ -0,0 +1,5 @@
+package com.goafanti.common.constant;
+
+public class AFTConstants {
+	public static final String DATE_FORMAT = "yyyy-MM-dd HH:mm:ss";
+}

+ 36 - 1
src/main/java/com/goafanti/common/controller/BaseApiController.java

@@ -1,6 +1,7 @@
 package com.goafanti.common.controller;
 
 import java.io.File;
+import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
@@ -14,6 +15,11 @@ import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.multipart.MultipartFile;
 import org.springframework.web.multipart.MultipartRequest;
 
+import com.goafanti.common.bo.Result;
+import com.goafanti.common.utils.FileUtils;
+import com.goafanti.common.utils.LoggerUtils;
+import com.goafanti.core.shiro.token.TokenManager;
+
 @RestController
 @RequestMapping(value = "/api")
 public class BaseApiController extends BaseController {
@@ -39,7 +45,36 @@ public class BaseApiController extends BaseController {
 		}
 		return new ArrayList<MultipartFile>();
 	}
-
+	
+	/**
+	 * 
+	 * @param res
+	 * @param path
+	 * @param isPrivate
+	 * @param req
+	 * @param sign
+	 * @return
+	 */
+	protected String handleFile(Result res, String path, boolean isPrivate, HttpServletRequest req, String sign) {
+		List<MultipartFile> files = getFiles(req);
+		MultipartFile mf = files.get(0);
+		String fileName = FileUtils.mosaicFileName(mf, isPrivate, sign, path, TokenManager.getUserId());
+		if (!files.isEmpty()) {
+			try {
+				mf.transferTo(isPrivate ? toPrivateFile(fileName) : toFile(fileName));
+				LoggerUtils.debug(getClass(), fileName + " 文件上传成功");
+			} catch (IllegalStateException | IOException e) {
+				LoggerUtils.error(getClass(), "文件上传失败", e);
+				res.getError().add(buildError("", "文件上传失败!"));
+				return "";
+			}
+		} else {
+			res.getError().add(buildError("", "文件上传失败!"));
+			return "";
+		}
+		return fileName;
+	}
+	
 	/**
 	 * 
 	 * @param fileName

+ 2 - 1
src/main/java/com/goafanti/common/controller/BaseController.java

@@ -20,6 +20,7 @@ import org.springframework.web.bind.annotation.InitBinder;
 import org.springframework.web.bind.annotation.ModelAttribute;
 
 import com.goafanti.common.bo.Error;
+import com.goafanti.common.constant.AFTConstants;
 import com.goafanti.common.model.Admin;
 import com.goafanti.common.model.User;
 import com.goafanti.core.shiro.token.TokenManager;
@@ -79,7 +80,7 @@ public class BaseController {
 
 	@InitBinder
 	public void initBinder(WebDataBinder binder) {
-		DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+		DateFormat dateFormat = new SimpleDateFormat(AFTConstants.DATE_FORMAT);
 		dateFormat.setLenient(true);
 		binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true));
 	}

+ 21 - 0
src/main/java/com/goafanti/common/controller/CertifyApiController.java

@@ -6,6 +6,7 @@ import com.goafanti.common.bo.Result;
 import com.goafanti.common.constant.ErrorConstants;
 import com.goafanti.common.enums.UserLevel;
 import com.goafanti.common.model.User;
+import com.goafanti.core.shiro.token.TokenManager;
 import com.goafanti.user.service.OrganizationIdentityService;
 import com.goafanti.user.service.UserIdentityService;
 
@@ -16,6 +17,10 @@ public class CertifyApiController extends BaseApiController {
 	private UserIdentityService			userIdentityService;
 
 	public boolean checkCertify(Result res, User user) {
+		if (user == null) {
+			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "用户未指定", "用户"));
+			return false;
+		}
 		if (UserLevel.getStatus(user.getLvl()).equals(UserLevel.GENERAL)) {
 			res.getError().add(buildError(ErrorConstants.NON_CERTIFIED, "未通过实名认证,无法操作!"));
 			return false;
@@ -23,4 +28,20 @@ public class CertifyApiController extends BaseApiController {
 		return true;
 	}
 
+	public boolean checkAdminLogin(Result res) {
+		if (TokenManager.getAdminToken() == null) {
+			res.getError().add(buildError(ErrorConstants.NON_LOGIN, "找不到登录信息"));
+			return false;
+		}
+		return true;
+	}
+
+	public boolean checkUserLogin(Result res) {
+		if (TokenManager.getUserToken() == null) {
+			res.getError().add(buildError(ErrorConstants.NON_LOGIN, "找不到登录信息"));
+			return false;
+		}
+		return true;
+	}
+
 }

+ 52 - 0
src/main/java/com/goafanti/common/enums/AttachmentType.java

@@ -0,0 +1,52 @@
+package com.goafanti.common.enums;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.commons.lang3.StringUtils;
+
+public enum AttachmentType {
+	GENERAL(0, "普通会员"), CERTIFIED(1, "认证会员");
+
+	private AttachmentType(Integer code, String desc) {
+		this.code = code;
+		this.desc = desc;
+	}
+
+	private static Map<Integer, AttachmentType> status = new HashMap<Integer, AttachmentType>();
+
+	static {
+		for (AttachmentType value : AttachmentType.values()) {
+			status.put(value.getCode(), value);
+		}
+	}
+
+	public static AttachmentType getStatus(Integer code) {
+		if (containsType(code)) {
+			return status.get(code);
+		}
+		return GENERAL;
+	}
+
+	public static AttachmentType getStatus(String code) {
+		if (StringUtils.isNumeric(code)) {
+			return getStatus(Integer.parseInt(code));
+		}
+		return GENERAL;
+	}
+
+	public static boolean containsType(Integer code) {
+		return status.containsKey(code);
+	}
+
+	private Integer	code;
+	private String	desc;
+
+	public Integer getCode() {
+		return code;
+	}
+
+	public String getDesc() {
+		return desc;
+	}
+}

+ 2 - 0
src/main/java/com/goafanti/common/enums/CopyrightFields.java

@@ -5,6 +5,7 @@ import java.util.Map;
 
 public enum CopyrightFields {
 
+	UID("uid", "用户id"),
 	ACCEPTTIME("acceptTime", "受理时间"),
 	PRINCIPAL("principal", "负责人"),
 	CONTACT("contact", "联系人"),
@@ -16,6 +17,7 @@ public enum CopyrightFields {
 	OUTSOURCE("outsource", "外包单位"),
 	INURGENT("inUrgent", "加急天数"),
 	AUTHORIZEDDATE("authorizedDate", "下证日期"),
+	RECORDTIME("recordTime", "状态流转时间"),
 	OTHER("", "未知参数");
 
 	private CopyrightFields(String code, String desc) {

+ 1 - 1
src/main/java/com/goafanti/common/utils/FileUtils.java

@@ -103,7 +103,7 @@ public class FileUtils {
 		}
 		return fileName;
 	}
-
+   
 	/**
 	 * 获取下载文件名称
 	 * 

+ 28 - 9
src/main/java/com/goafanti/copyright/bo/InputCopyright.java

@@ -4,49 +4,52 @@ import java.util.Date;
 
 import javax.validation.constraints.Max;
 import javax.validation.constraints.Min;
-import javax.validation.constraints.NotNull;
 import javax.validation.constraints.Past;
 import javax.validation.constraints.Size;
 
 import com.goafanti.common.constant.ErrorConstants;
 
 public class InputCopyright {
-	
+
+	@Size(min = 0, max = 36, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
+	private String	uid;
 	@Past(message = "{" + ErrorConstants.PARAM_ERROR + "}")
 	private Date	acceptTime;
 
 	@Size(min = 0, max = 36, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
 	private String	principal;
-	
+
 	@Max(value = 3, message = "{" + ErrorConstants.PARAM_ERROR + "}")
 	@Min(value = 1, message = "{" + ErrorConstants.PARAM_ERROR + "}")
-	@NotNull(message = "{" + ErrorConstants.PARAM_EMPTY_ERROR + "}")
 	private Integer	contact;
 
 	@Size(min = 0, max = 255, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
 	private String	copyrightInfo;
-	
+
 	@Size(min = 0, max = 60, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
 	private String	copyrightName;
-	
+
 	@Max(value = 9, message = "{" + ErrorConstants.PARAM_ERROR + "}")
 	@Min(value = 1, message = "{" + ErrorConstants.PARAM_ERROR + "}")
 	private Integer	status;
-	
+
 	@Size(min = 0, max = 128, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
 	private String	workIssue;
 	@Size(min = 0, max = 128, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
 	private String	comment;
 	@Size(min = 0, max = 60, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
 	private String	outsource;
-	
+
 	@Max(value = 30, message = "{" + ErrorConstants.PARAM_ERROR + "}")
 	@Min(value = 0, message = "{" + ErrorConstants.PARAM_ERROR + "}")
 	private Integer	inUrgent;
-	
+
 	@Past(message = "{" + ErrorConstants.PARAM_ERROR + "}")
 	private Date	authorizedDate;
 
+	@Past(message = "{" + ErrorConstants.PARAM_ERROR + "}")
+	private Date	recordTime;
+
 	public Date getAcceptTime() {
 		return acceptTime;
 	}
@@ -134,4 +137,20 @@ public class InputCopyright {
 	public void setAuthorizedDate(Date authorizedDate) {
 		this.authorizedDate = authorizedDate;
 	}
+
+	public String getUid() {
+		return uid;
+	}
+
+	public void setUid(String uid) {
+		this.uid = uid;
+	}
+
+	public Date getRecordTime() {
+		return recordTime;
+	}
+
+	public void setRecordTime(Date recordTime) {
+		this.recordTime = recordTime;
+	}
 }

+ 1 - 2
src/main/java/com/goafanti/copyright/controller/CopyrightApiController.java

@@ -44,8 +44,7 @@ public class CopyrightApiController extends CertifyApiController {
 			res.getError().add(buildError(ErrorConstants.NON_LOGIN, "找不到用户登录信息"));
 			return res;
 		}
-		checkCertify(res, curUser);
-		if (!res.getError().isEmpty()) {
+		if (!checkCertify(res, curUser)) {
 			return res;
 		}
 		CopyrightInfo ci = new CopyrightInfo();

+ 3 - 4
src/main/java/com/goafanti/copyright/service/CopyrightInfoService.java

@@ -3,14 +3,13 @@ package com.goafanti.copyright.service;
 import java.util.List;
 
 import com.goafanti.common.model.CopyrightInfo;
+import com.goafanti.common.model.CopyrightLog;
 
 public interface CopyrightInfoService {
 
-	CopyrightInfo selectPatentInfoByUserId(String userId);
+	CopyrightInfo insert(CopyrightInfo copyrightInfo);
 
-	CopyrightInfo insert(CopyrightInfo patentInfo);
-
-	int updateByPrimaryKeySelective(CopyrightInfo patentInfo);
+	void updateByPrimaryKeySelective(CopyrightInfo copyrightInfo, CopyrightLog copyrightLog);
 
 	CopyrightInfo selectByPrimaryKey(String id);
 

+ 9 - 10
src/main/java/com/goafanti/copyright/service/impl/CopyrightInfoServiceImpl.java

@@ -10,9 +10,9 @@ import com.goafanti.common.dao.CopyrightInfoMapper;
 import com.goafanti.common.dao.CopyrightLogMapper;
 import com.goafanti.common.model.CopyrightInfo;
 import com.goafanti.common.model.CopyrightLog;
+import com.goafanti.copyright.service.CopyrightInfoService;
 import com.goafanti.core.mybatis.BaseMybatisDao;
 import com.goafanti.core.shiro.token.TokenManager;
-import com.goafanti.copyright.service.CopyrightInfoService;
 
 @Service
 public class CopyrightInfoServiceImpl extends BaseMybatisDao<CopyrightInfoMapper> implements CopyrightInfoService {
@@ -22,11 +22,6 @@ public class CopyrightInfoServiceImpl extends BaseMybatisDao<CopyrightInfoMapper
 	private CopyrightLogMapper	copyrightLogMapper;
 
 	@Override
-	public CopyrightInfo selectPatentInfoByUserId(String userId) {
-		return copyrightInfoMapper.selectByPrimaryKey(userId);
-	}
-
-	@Override
 	public CopyrightInfo insert(CopyrightInfo copyrightInfo) {
 		Calendar now = Calendar.getInstance();
 		now.set(Calendar.MILLISECOND, 0);
@@ -39,18 +34,22 @@ public class CopyrightInfoServiceImpl extends BaseMybatisDao<CopyrightInfoMapper
 		log.setPrincipal(copyrightInfo.getPrincipal());
 		log.setStatus(copyrightInfo.getStatus());
 		copyrightInfoMapper.insertSelective(copyrightInfo);
-		copyrightLogMapper.insert(log);
+		copyrightLogMapper.insertSelective(log);
 		return copyrightInfo;
 	}
 
 	@Override
-	public int updateByPrimaryKeySelective(CopyrightInfo patentInfo) {
-		return 0;
+	public void updateByPrimaryKeySelective(CopyrightInfo copyrightInfo, CopyrightLog copyrightLog) {
+		copyrightInfoMapper.updateByPrimaryKeySelective(copyrightInfo);
+		if (copyrightLog.getRecordTime() != null && copyrightLog.getStatus() != null
+				&& copyrightLog.getPrincipal() != null) {
+			copyrightLogMapper.insertSelective(copyrightLog);
+		}
 	}
 
 	@Override
 	public CopyrightInfo selectByPrimaryKey(String id) {
-		return null;
+		return copyrightInfoMapper.selectByPrimaryKey(id);
 	}
 
 	@Override

+ 0 - 25
src/main/java/com/goafanti/user/controller/UserApiController.java

@@ -1,6 +1,5 @@
 package com.goafanti.user.controller;
 
-import java.io.IOException;
 import java.math.BigDecimal;
 import java.text.ParseException;
 import java.util.ArrayList;
@@ -17,7 +16,6 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.ResponseBody;
-import org.springframework.web.multipart.MultipartFile;
 
 import com.goafanti.common.bo.Result;
 import com.goafanti.common.constant.ErrorConstants;
@@ -35,8 +33,6 @@ import com.goafanti.common.model.UserEdu;
 import com.goafanti.common.model.UserIdentity;
 import com.goafanti.common.model.UserInfo;
 import com.goafanti.common.utils.DateUtils;
-import com.goafanti.common.utils.FileUtils;
-import com.goafanti.common.utils.LoggerUtils;
 import com.goafanti.common.utils.PasswordUtil;
 import com.goafanti.common.utils.TimeUtils;
 import com.goafanti.common.utils.VerifyCodeUtils;
@@ -276,27 +272,6 @@ public class UserApiController extends BaseApiController {
 		return res;
 	}
 
-
-	private String handleFile(Result res, String path, boolean isPrivate, HttpServletRequest req, String sign) {
-		List<MultipartFile> files = getFiles(req);
-		MultipartFile mf = files.get(0);
-		String fileName = FileUtils.mosaicFileName(mf, isPrivate, sign, path, TokenManager.getUserId());
-		if (!files.isEmpty()) {
-			try {
-				mf.transferTo(isPrivate ? toPrivateFile(fileName) : toFile(fileName));
-				LoggerUtils.debug(getClass(), fileName + " 文件上传成功");
-			} catch (IllegalStateException | IOException e) {
-				LoggerUtils.error(getClass(), "文件上传失败", e);
-				res.getError().add(buildError("", "文件上传失败!"));
-				return "";
-			}
-		} else {
-			res.getError().add(buildError("", "文件上传失败!"));
-			return "";
-		}
-		return fileName;
-	}
-
 	/**
 	 * 个人资料
 	 *