10 changed files with 1350 additions and 3 deletions
@ -0,0 +1,85 @@ |
|||
package com.ccsens.tcm.api; |
|||
|
|||
import com.alibaba.fastjson.JSON; |
|||
import com.alibaba.fastjson.JSONObject; |
|||
import com.ccsens.cloudutil.feign.TallFeignClient; |
|||
import com.ccsens.tcm.bean.po.CommonFile; |
|||
import com.ccsens.tcm.bean.vo.FileVo; |
|||
import com.ccsens.tcm.service.IFileService; |
|||
import com.ccsens.tcm.uitl.Constant; |
|||
import com.ccsens.util.*; |
|||
import com.ccsens.util.exception.BaseException; |
|||
import io.swagger.annotations.Api; |
|||
import io.swagger.annotations.ApiImplicitParams; |
|||
import io.swagger.annotations.ApiOperation; |
|||
import lombok.extern.slf4j.Slf4j; |
|||
import org.springframework.web.bind.annotation.*; |
|||
|
|||
import javax.annotation.Resource; |
|||
import javax.servlet.http.HttpServletRequest; |
|||
import javax.servlet.http.HttpServletResponse; |
|||
import javax.servlet.http.Part; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* @description: |
|||
* @author: whj |
|||
* @time: 2020/7/17 11:36 |
|||
*/ |
|||
@Slf4j |
|||
@Api(tags = "文件") |
|||
@RestController |
|||
@RequestMapping("/file") |
|||
public class FileController { |
|||
|
|||
@Resource |
|||
private IFileService fileService; |
|||
@Resource |
|||
private TallFeignClient tallFeignClient; |
|||
|
|||
|
|||
@ApiOperation(value = "上传文件") |
|||
@ApiImplicitParams({ |
|||
}) |
|||
@RequestMapping(value = "upload", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) |
|||
public JsonResponse<FileVo.Upload> upload(HttpServletRequest request, @RequestParam() List<Part> files) throws Exception { |
|||
log.info("文件上传:{}", files); |
|||
|
|||
String authHeader = request.getHeader(WebConstant.HEADER_KEY_TOKEN); |
|||
JsonResponse tokenRes = tallFeignClient.getUserIdByToken(authHeader); |
|||
log.info("{}查询userId返回:{}", authHeader, tokenRes); |
|||
if (tokenRes.getCode().intValue() != CodeEnum.SUCCESS.getCode().intValue()) { |
|||
return tokenRes; |
|||
} |
|||
JSONObject json = JSON.parseObject(JSON.toJSONString(tokenRes.getData())); |
|||
Long userId = json.getLong("id"); |
|||
String dir = PropUtil.path + Constant.File.UPLOAD_URL; |
|||
List<CommonFile> fileVos = fileService.saveFile(dir, files, userId); |
|||
List<FileVo.Upload> vos = FileVo.Upload.transFilePo(fileVos); |
|||
log.info("文件上传返回:{}", vos); |
|||
return JsonResponse.newInstance().ok(vos); |
|||
} |
|||
|
|||
@ApiOperation(value = "文件下载") |
|||
@GetMapping(value = "download/{id}") |
|||
public void download(HttpServletResponse response, @PathVariable("id")Long id) throws Exception { |
|||
log.info("文件下载:{}", id); |
|||
CommonFile file = fileService.getById(id); |
|||
log.info("文件信息;{}", file); |
|||
if (file == null) { |
|||
throw new BaseException(CodeEnum.FILE_NOT_FOUND); |
|||
} |
|||
UploadFileUtil_Servlet3.download(response, file.getLocation(), file.getFileName()); |
|||
log.info("文件下载结束"); |
|||
} |
|||
|
|||
@ApiOperation(value = "文件下载, 指定路径") |
|||
@GetMapping(value = "download/know") |
|||
public void downloadFile(HttpServletResponse response, String path ) throws Exception { |
|||
log.info("文件下载, 指定路径:{}", path); |
|||
UploadFileUtil_Servlet3.download(response, path, path.substring(path.lastIndexOf(java.io.File.separator) + 1)); |
|||
log.info("文件下载结束"); |
|||
} |
|||
|
|||
|
|||
} |
@ -0,0 +1,106 @@ |
|||
package com.ccsens.tcm.bean.po; |
|||
|
|||
import java.io.Serializable; |
|||
import java.util.Date; |
|||
|
|||
public class CommonFile implements Serializable { |
|||
private Long id; |
|||
|
|||
private Long userId; |
|||
|
|||
private String fileName; |
|||
|
|||
private String location; |
|||
|
|||
private String visitLocation; |
|||
|
|||
private Date createdAt; |
|||
|
|||
private Date updatedAt; |
|||
|
|||
private Byte recStatus; |
|||
|
|||
private static final long serialVersionUID = 1L; |
|||
|
|||
public Long getId() { |
|||
return id; |
|||
} |
|||
|
|||
public void setId(Long id) { |
|||
this.id = id; |
|||
} |
|||
|
|||
public Long getUserId() { |
|||
return userId; |
|||
} |
|||
|
|||
public void setUserId(Long userId) { |
|||
this.userId = userId; |
|||
} |
|||
|
|||
public String getFileName() { |
|||
return fileName; |
|||
} |
|||
|
|||
public void setFileName(String fileName) { |
|||
this.fileName = fileName == null ? null : fileName.trim(); |
|||
} |
|||
|
|||
public String getLocation() { |
|||
return location; |
|||
} |
|||
|
|||
public void setLocation(String location) { |
|||
this.location = location == null ? null : location.trim(); |
|||
} |
|||
|
|||
public String getVisitLocation() { |
|||
return visitLocation; |
|||
} |
|||
|
|||
public void setVisitLocation(String visitLocation) { |
|||
this.visitLocation = visitLocation == null ? null : visitLocation.trim(); |
|||
} |
|||
|
|||
public Date getCreatedAt() { |
|||
return createdAt; |
|||
} |
|||
|
|||
public void setCreatedAt(Date createdAt) { |
|||
this.createdAt = createdAt; |
|||
} |
|||
|
|||
public Date getUpdatedAt() { |
|||
return updatedAt; |
|||
} |
|||
|
|||
public void setUpdatedAt(Date updatedAt) { |
|||
this.updatedAt = updatedAt; |
|||
} |
|||
|
|||
public Byte getRecStatus() { |
|||
return recStatus; |
|||
} |
|||
|
|||
public void setRecStatus(Byte recStatus) { |
|||
this.recStatus = recStatus; |
|||
} |
|||
|
|||
@Override |
|||
public String toString() { |
|||
StringBuilder sb = new StringBuilder(); |
|||
sb.append(getClass().getSimpleName()); |
|||
sb.append(" ["); |
|||
sb.append("Hash = ").append(hashCode()); |
|||
sb.append(", id=").append(id); |
|||
sb.append(", userId=").append(userId); |
|||
sb.append(", fileName=").append(fileName); |
|||
sb.append(", location=").append(location); |
|||
sb.append(", visitLocation=").append(visitLocation); |
|||
sb.append(", createdAt=").append(createdAt); |
|||
sb.append(", updatedAt=").append(updatedAt); |
|||
sb.append(", recStatus=").append(recStatus); |
|||
sb.append("]"); |
|||
return sb.toString(); |
|||
} |
|||
} |
@ -0,0 +1,711 @@ |
|||
package com.ccsens.tcm.bean.po; |
|||
|
|||
import java.util.ArrayList; |
|||
import java.util.Date; |
|||
import java.util.List; |
|||
|
|||
public class CommonFileExample { |
|||
protected String orderByClause; |
|||
|
|||
protected boolean distinct; |
|||
|
|||
protected List<Criteria> oredCriteria; |
|||
|
|||
public CommonFileExample() { |
|||
oredCriteria = new ArrayList<Criteria>(); |
|||
} |
|||
|
|||
public void setOrderByClause(String orderByClause) { |
|||
this.orderByClause = orderByClause; |
|||
} |
|||
|
|||
public String getOrderByClause() { |
|||
return orderByClause; |
|||
} |
|||
|
|||
public void setDistinct(boolean distinct) { |
|||
this.distinct = distinct; |
|||
} |
|||
|
|||
public boolean isDistinct() { |
|||
return distinct; |
|||
} |
|||
|
|||
public List<Criteria> getOredCriteria() { |
|||
return oredCriteria; |
|||
} |
|||
|
|||
public void or(Criteria criteria) { |
|||
oredCriteria.add(criteria); |
|||
} |
|||
|
|||
public Criteria or() { |
|||
Criteria criteria = createCriteriaInternal(); |
|||
oredCriteria.add(criteria); |
|||
return criteria; |
|||
} |
|||
|
|||
public Criteria createCriteria() { |
|||
Criteria criteria = createCriteriaInternal(); |
|||
if (oredCriteria.size() == 0) { |
|||
oredCriteria.add(criteria); |
|||
} |
|||
return criteria; |
|||
} |
|||
|
|||
protected Criteria createCriteriaInternal() { |
|||
Criteria criteria = new Criteria(); |
|||
return criteria; |
|||
} |
|||
|
|||
public void clear() { |
|||
oredCriteria.clear(); |
|||
orderByClause = null; |
|||
distinct = false; |
|||
} |
|||
|
|||
protected abstract static class GeneratedCriteria { |
|||
protected List<Criterion> criteria; |
|||
|
|||
protected GeneratedCriteria() { |
|||
super(); |
|||
criteria = new ArrayList<Criterion>(); |
|||
} |
|||
|
|||
public boolean isValid() { |
|||
return criteria.size() > 0; |
|||
} |
|||
|
|||
public List<Criterion> getAllCriteria() { |
|||
return criteria; |
|||
} |
|||
|
|||
public List<Criterion> getCriteria() { |
|||
return criteria; |
|||
} |
|||
|
|||
protected void addCriterion(String condition) { |
|||
if (condition == null) { |
|||
throw new RuntimeException("Value for condition cannot be null"); |
|||
} |
|||
criteria.add(new Criterion(condition)); |
|||
} |
|||
|
|||
protected void addCriterion(String condition, Object value, String property) { |
|||
if (value == null) { |
|||
throw new RuntimeException("Value for " + property + " cannot be null"); |
|||
} |
|||
criteria.add(new Criterion(condition, value)); |
|||
} |
|||
|
|||
protected void addCriterion(String condition, Object value1, Object value2, String property) { |
|||
if (value1 == null || value2 == null) { |
|||
throw new RuntimeException("Between values for " + property + " cannot be null"); |
|||
} |
|||
criteria.add(new Criterion(condition, value1, value2)); |
|||
} |
|||
|
|||
public Criteria andIdIsNull() { |
|||
addCriterion("id is null"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andIdIsNotNull() { |
|||
addCriterion("id is not null"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andIdEqualTo(Long value) { |
|||
addCriterion("id =", value, "id"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andIdNotEqualTo(Long value) { |
|||
addCriterion("id <>", value, "id"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andIdGreaterThan(Long value) { |
|||
addCriterion("id >", value, "id"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andIdGreaterThanOrEqualTo(Long value) { |
|||
addCriterion("id >=", value, "id"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andIdLessThan(Long value) { |
|||
addCriterion("id <", value, "id"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andIdLessThanOrEqualTo(Long value) { |
|||
addCriterion("id <=", value, "id"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andIdIn(List<Long> values) { |
|||
addCriterion("id in", values, "id"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andIdNotIn(List<Long> values) { |
|||
addCriterion("id not in", values, "id"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andIdBetween(Long value1, Long value2) { |
|||
addCriterion("id between", value1, value2, "id"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andIdNotBetween(Long value1, Long value2) { |
|||
addCriterion("id not between", value1, value2, "id"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andUserIdIsNull() { |
|||
addCriterion("user_id is null"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andUserIdIsNotNull() { |
|||
addCriterion("user_id is not null"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andUserIdEqualTo(Long value) { |
|||
addCriterion("user_id =", value, "userId"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andUserIdNotEqualTo(Long value) { |
|||
addCriterion("user_id <>", value, "userId"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andUserIdGreaterThan(Long value) { |
|||
addCriterion("user_id >", value, "userId"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andUserIdGreaterThanOrEqualTo(Long value) { |
|||
addCriterion("user_id >=", value, "userId"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andUserIdLessThan(Long value) { |
|||
addCriterion("user_id <", value, "userId"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andUserIdLessThanOrEqualTo(Long value) { |
|||
addCriterion("user_id <=", value, "userId"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andUserIdIn(List<Long> values) { |
|||
addCriterion("user_id in", values, "userId"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andUserIdNotIn(List<Long> values) { |
|||
addCriterion("user_id not in", values, "userId"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andUserIdBetween(Long value1, Long value2) { |
|||
addCriterion("user_id between", value1, value2, "userId"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andUserIdNotBetween(Long value1, Long value2) { |
|||
addCriterion("user_id not between", value1, value2, "userId"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andFileNameIsNull() { |
|||
addCriterion("file_name is null"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andFileNameIsNotNull() { |
|||
addCriterion("file_name is not null"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andFileNameEqualTo(String value) { |
|||
addCriterion("file_name =", value, "fileName"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andFileNameNotEqualTo(String value) { |
|||
addCriterion("file_name <>", value, "fileName"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andFileNameGreaterThan(String value) { |
|||
addCriterion("file_name >", value, "fileName"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andFileNameGreaterThanOrEqualTo(String value) { |
|||
addCriterion("file_name >=", value, "fileName"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andFileNameLessThan(String value) { |
|||
addCriterion("file_name <", value, "fileName"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andFileNameLessThanOrEqualTo(String value) { |
|||
addCriterion("file_name <=", value, "fileName"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andFileNameLike(String value) { |
|||
addCriterion("file_name like", value, "fileName"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andFileNameNotLike(String value) { |
|||
addCriterion("file_name not like", value, "fileName"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andFileNameIn(List<String> values) { |
|||
addCriterion("file_name in", values, "fileName"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andFileNameNotIn(List<String> values) { |
|||
addCriterion("file_name not in", values, "fileName"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andFileNameBetween(String value1, String value2) { |
|||
addCriterion("file_name between", value1, value2, "fileName"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andFileNameNotBetween(String value1, String value2) { |
|||
addCriterion("file_name not between", value1, value2, "fileName"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andLocationIsNull() { |
|||
addCriterion("location is null"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andLocationIsNotNull() { |
|||
addCriterion("location is not null"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andLocationEqualTo(String value) { |
|||
addCriterion("location =", value, "location"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andLocationNotEqualTo(String value) { |
|||
addCriterion("location <>", value, "location"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andLocationGreaterThan(String value) { |
|||
addCriterion("location >", value, "location"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andLocationGreaterThanOrEqualTo(String value) { |
|||
addCriterion("location >=", value, "location"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andLocationLessThan(String value) { |
|||
addCriterion("location <", value, "location"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andLocationLessThanOrEqualTo(String value) { |
|||
addCriterion("location <=", value, "location"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andLocationLike(String value) { |
|||
addCriterion("location like", value, "location"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andLocationNotLike(String value) { |
|||
addCriterion("location not like", value, "location"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andLocationIn(List<String> values) { |
|||
addCriterion("location in", values, "location"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andLocationNotIn(List<String> values) { |
|||
addCriterion("location not in", values, "location"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andLocationBetween(String value1, String value2) { |
|||
addCriterion("location between", value1, value2, "location"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andLocationNotBetween(String value1, String value2) { |
|||
addCriterion("location not between", value1, value2, "location"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andVisitLocationIsNull() { |
|||
addCriterion("visit_location is null"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andVisitLocationIsNotNull() { |
|||
addCriterion("visit_location is not null"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andVisitLocationEqualTo(String value) { |
|||
addCriterion("visit_location =", value, "visitLocation"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andVisitLocationNotEqualTo(String value) { |
|||
addCriterion("visit_location <>", value, "visitLocation"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andVisitLocationGreaterThan(String value) { |
|||
addCriterion("visit_location >", value, "visitLocation"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andVisitLocationGreaterThanOrEqualTo(String value) { |
|||
addCriterion("visit_location >=", value, "visitLocation"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andVisitLocationLessThan(String value) { |
|||
addCriterion("visit_location <", value, "visitLocation"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andVisitLocationLessThanOrEqualTo(String value) { |
|||
addCriterion("visit_location <=", value, "visitLocation"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andVisitLocationLike(String value) { |
|||
addCriterion("visit_location like", value, "visitLocation"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andVisitLocationNotLike(String value) { |
|||
addCriterion("visit_location not like", value, "visitLocation"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andVisitLocationIn(List<String> values) { |
|||
addCriterion("visit_location in", values, "visitLocation"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andVisitLocationNotIn(List<String> values) { |
|||
addCriterion("visit_location not in", values, "visitLocation"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andVisitLocationBetween(String value1, String value2) { |
|||
addCriterion("visit_location between", value1, value2, "visitLocation"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andVisitLocationNotBetween(String value1, String value2) { |
|||
addCriterion("visit_location not between", value1, value2, "visitLocation"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andCreatedAtIsNull() { |
|||
addCriterion("created_at is null"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andCreatedAtIsNotNull() { |
|||
addCriterion("created_at is not null"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andCreatedAtEqualTo(Date value) { |
|||
addCriterion("created_at =", value, "createdAt"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andCreatedAtNotEqualTo(Date value) { |
|||
addCriterion("created_at <>", value, "createdAt"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andCreatedAtGreaterThan(Date value) { |
|||
addCriterion("created_at >", value, "createdAt"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andCreatedAtGreaterThanOrEqualTo(Date value) { |
|||
addCriterion("created_at >=", value, "createdAt"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andCreatedAtLessThan(Date value) { |
|||
addCriterion("created_at <", value, "createdAt"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andCreatedAtLessThanOrEqualTo(Date value) { |
|||
addCriterion("created_at <=", value, "createdAt"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andCreatedAtIn(List<Date> values) { |
|||
addCriterion("created_at in", values, "createdAt"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andCreatedAtNotIn(List<Date> values) { |
|||
addCriterion("created_at not in", values, "createdAt"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andCreatedAtBetween(Date value1, Date value2) { |
|||
addCriterion("created_at between", value1, value2, "createdAt"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andCreatedAtNotBetween(Date value1, Date value2) { |
|||
addCriterion("created_at not between", value1, value2, "createdAt"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andUpdatedAtIsNull() { |
|||
addCriterion("updated_at is null"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andUpdatedAtIsNotNull() { |
|||
addCriterion("updated_at is not null"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andUpdatedAtEqualTo(Date value) { |
|||
addCriterion("updated_at =", value, "updatedAt"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andUpdatedAtNotEqualTo(Date value) { |
|||
addCriterion("updated_at <>", value, "updatedAt"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andUpdatedAtGreaterThan(Date value) { |
|||
addCriterion("updated_at >", value, "updatedAt"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andUpdatedAtGreaterThanOrEqualTo(Date value) { |
|||
addCriterion("updated_at >=", value, "updatedAt"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andUpdatedAtLessThan(Date value) { |
|||
addCriterion("updated_at <", value, "updatedAt"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andUpdatedAtLessThanOrEqualTo(Date value) { |
|||
addCriterion("updated_at <=", value, "updatedAt"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andUpdatedAtIn(List<Date> values) { |
|||
addCriterion("updated_at in", values, "updatedAt"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andUpdatedAtNotIn(List<Date> values) { |
|||
addCriterion("updated_at not in", values, "updatedAt"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andUpdatedAtBetween(Date value1, Date value2) { |
|||
addCriterion("updated_at between", value1, value2, "updatedAt"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andUpdatedAtNotBetween(Date value1, Date value2) { |
|||
addCriterion("updated_at not between", value1, value2, "updatedAt"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andRecStatusIsNull() { |
|||
addCriterion("rec_status is null"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andRecStatusIsNotNull() { |
|||
addCriterion("rec_status is not null"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andRecStatusEqualTo(Byte value) { |
|||
addCriterion("rec_status =", value, "recStatus"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andRecStatusNotEqualTo(Byte value) { |
|||
addCriterion("rec_status <>", value, "recStatus"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andRecStatusGreaterThan(Byte value) { |
|||
addCriterion("rec_status >", value, "recStatus"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andRecStatusGreaterThanOrEqualTo(Byte value) { |
|||
addCriterion("rec_status >=", value, "recStatus"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andRecStatusLessThan(Byte value) { |
|||
addCriterion("rec_status <", value, "recStatus"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andRecStatusLessThanOrEqualTo(Byte value) { |
|||
addCriterion("rec_status <=", value, "recStatus"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andRecStatusIn(List<Byte> values) { |
|||
addCriterion("rec_status in", values, "recStatus"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andRecStatusNotIn(List<Byte> values) { |
|||
addCriterion("rec_status not in", values, "recStatus"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andRecStatusBetween(Byte value1, Byte value2) { |
|||
addCriterion("rec_status between", value1, value2, "recStatus"); |
|||
return (Criteria) this; |
|||
} |
|||
|
|||
public Criteria andRecStatusNotBetween(Byte value1, Byte value2) { |
|||
addCriterion("rec_status not between", value1, value2, "recStatus"); |
|||
return (Criteria) this; |
|||
} |
|||
} |
|||
|
|||
public static class Criteria extends GeneratedCriteria { |
|||
|
|||
protected Criteria() { |
|||
super(); |
|||
} |
|||
} |
|||
|
|||
public static class Criterion { |
|||
private String condition; |
|||
|
|||
private Object value; |
|||
|
|||
private Object secondValue; |
|||
|
|||
private boolean noValue; |
|||
|
|||
private boolean singleValue; |
|||
|
|||
private boolean betweenValue; |
|||
|
|||
private boolean listValue; |
|||
|
|||
private String typeHandler; |
|||
|
|||
public String getCondition() { |
|||
return condition; |
|||
} |
|||
|
|||
public Object getValue() { |
|||
return value; |
|||
} |
|||
|
|||
public Object getSecondValue() { |
|||
return secondValue; |
|||
} |
|||
|
|||
public boolean isNoValue() { |
|||
return noValue; |
|||
} |
|||
|
|||
public boolean isSingleValue() { |
|||
return singleValue; |
|||
} |
|||
|
|||
public boolean isBetweenValue() { |
|||
return betweenValue; |
|||
} |
|||
|
|||
public boolean isListValue() { |
|||
return listValue; |
|||
} |
|||
|
|||
public String getTypeHandler() { |
|||
return typeHandler; |
|||
} |
|||
|
|||
protected Criterion(String condition) { |
|||
super(); |
|||
this.condition = condition; |
|||
this.typeHandler = null; |
|||
this.noValue = true; |
|||
} |
|||
|
|||
protected Criterion(String condition, Object value, String typeHandler) { |
|||
super(); |
|||
this.condition = condition; |
|||
this.value = value; |
|||
this.typeHandler = typeHandler; |
|||
if (value instanceof List<?>) { |
|||
this.listValue = true; |
|||
} else { |
|||
this.singleValue = true; |
|||
} |
|||
} |
|||
|
|||
protected Criterion(String condition, Object value) { |
|||
this(condition, value, null); |
|||
} |
|||
|
|||
protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { |
|||
super(); |
|||
this.condition = condition; |
|||
this.value = value; |
|||
this.secondValue = secondValue; |
|||
this.typeHandler = typeHandler; |
|||
this.betweenValue = true; |
|||
} |
|||
|
|||
protected Criterion(String condition, Object value, Object secondValue) { |
|||
this(condition, value, secondValue, null); |
|||
} |
|||
} |
|||
} |
@ -0,0 +1,44 @@ |
|||
package com.ccsens.tcm.bean.vo; |
|||
|
|||
import com.ccsens.tcm.bean.po.CommonFile; |
|||
import io.swagger.annotations.ApiModel; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
import java.util.ArrayList; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* @description: 文件 |
|||
* @author: whj |
|||
* @time: 2020/7/17 11:39 |
|||
*/ |
|||
public class FileVo { |
|||
@ApiModel("文件上传") |
|||
@Data |
|||
public static class Upload{ |
|||
@ApiModelProperty("id") |
|||
private Long id; |
|||
@ApiModelProperty("文件名") |
|||
private String name; |
|||
@ApiModelProperty("访问路径") |
|||
private String visitUrl; |
|||
|
|||
/** |
|||
* 参数转化 |
|||
* @param files 文件对象 |
|||
* @return 文件访问 |
|||
*/ |
|||
public static List<Upload> transFilePo(List<CommonFile> files) { |
|||
List<Upload> vos = new ArrayList<>(); |
|||
files.forEach(file->{ |
|||
Upload vo = new Upload(); |
|||
vo.setId(file.getId()); |
|||
vo.setName(file.getFileName()); |
|||
vo.setVisitUrl(file.getVisitLocation()); |
|||
vos.add(vo); |
|||
}); |
|||
return vos; |
|||
} |
|||
} |
|||
} |
@ -0,0 +1,30 @@ |
|||
package com.ccsens.tcm.persist.mapper; |
|||
|
|||
import com.ccsens.tcm.bean.po.CommonFile; |
|||
import com.ccsens.tcm.bean.po.CommonFileExample; |
|||
import java.util.List; |
|||
import org.apache.ibatis.annotations.Param; |
|||
|
|||
public interface CommonFileMapper { |
|||
long countByExample(CommonFileExample example); |
|||
|
|||
int deleteByExample(CommonFileExample example); |
|||
|
|||
int deleteByPrimaryKey(Long id); |
|||
|
|||
int insert(CommonFile record); |
|||
|
|||
int insertSelective(CommonFile record); |
|||
|
|||
List<CommonFile> selectByExample(CommonFileExample example); |
|||
|
|||
CommonFile selectByPrimaryKey(Long id); |
|||
|
|||
int updateByExampleSelective(@Param("record") CommonFile record, @Param("example") CommonFileExample example); |
|||
|
|||
int updateByExample(@Param("record") CommonFile record, @Param("example") CommonFileExample example); |
|||
|
|||
int updateByPrimaryKeySelective(CommonFile record); |
|||
|
|||
int updateByPrimaryKey(CommonFile record); |
|||
} |
@ -0,0 +1,69 @@ |
|||
package com.ccsens.tcm.service; |
|||
|
|||
import cn.hutool.core.lang.Snowflake; |
|||
import com.ccsens.tcm.bean.po.CommonFile; |
|||
import com.ccsens.tcm.persist.mapper.CommonFileMapper; |
|||
import com.ccsens.tcm.uitl.Constant; |
|||
import com.ccsens.util.*; |
|||
import lombok.extern.slf4j.Slf4j; |
|||
import org.springframework.stereotype.Service; |
|||
import org.springframework.transaction.annotation.Propagation; |
|||
import org.springframework.transaction.annotation.Transactional; |
|||
|
|||
import javax.annotation.Resource; |
|||
import javax.servlet.http.Part; |
|||
import java.io.File; |
|||
import java.io.IOException; |
|||
import java.util.ArrayList; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* @description: 文件操作 |
|||
* @author: whj |
|||
* @time: 2020/7/17 14:25 |
|||
*/ |
|||
@Slf4j |
|||
@Service |
|||
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) |
|||
public class FileService implements IFileService { |
|||
|
|||
@Resource |
|||
private CommonFileMapper commonFileMapper; |
|||
@Resource |
|||
private Snowflake snowflake; |
|||
|
|||
|
|||
@Override |
|||
public List<CommonFile> saveFile(String dir, List<Part> files, Long userId) throws IOException, NotSupportedFileTypeException { |
|||
List<CommonFile> fileList = new ArrayList<>(); |
|||
String allowedExt = WebConstant.IMG_TYPE + "," + WebConstant.Wps.FILE_TYPE_ALL; |
|||
for (Part file: files) { |
|||
|
|||
log.info("文件名:{}", file.getSubmittedFileName()); |
|||
String path = UploadFileUtil_Servlet3.uploadFile(file, allowedExt, dir); |
|||
CommonFile fileDo = new CommonFile(); |
|||
String name = file.getSubmittedFileName(); |
|||
fileDo.setId(snowflake.nextId()); |
|||
fileDo.setFileName(name); |
|||
fileDo.setLocation(dir + File.separator + path); |
|||
fileDo.setUserId(userId); |
|||
if (WebConstant.IMG_TYPE.contains(name.substring(name.lastIndexOf(".") + 1))) { |
|||
fileDo.setVisitLocation(PropUtil.imgDomain + Constant.File.UPLOAD_URL + File.separator + path); |
|||
} else { |
|||
fileDo.setVisitLocation(PropUtil.domain + "file/download/"+fileDo.getId()); |
|||
} |
|||
commonFileMapper.insertSelective(fileDo); |
|||
log.info("保存文件:{}", fileDo); |
|||
fileList.add(fileDo); |
|||
} |
|||
return fileList; |
|||
} |
|||
|
|||
|
|||
@Override |
|||
public CommonFile getById(Long id) { |
|||
return commonFileMapper.selectByPrimaryKey(id); |
|||
} |
|||
|
|||
|
|||
} |
@ -0,0 +1,33 @@ |
|||
package com.ccsens.tcm.service; |
|||
|
|||
import com.ccsens.tcm.bean.po.CommonFile; |
|||
import com.ccsens.util.NotSupportedFileTypeException; |
|||
|
|||
import javax.servlet.http.Part; |
|||
import java.io.IOException; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* 文件操作 |
|||
* @author whj |
|||
*/ |
|||
public interface IFileService { |
|||
/*** |
|||
* 批量上传文件 |
|||
* @param dir 上级目录 |
|||
* @param files 文件 |
|||
* @param userId 用户id |
|||
* @return 文件信息 |
|||
* @throws IOException 文件存储异常 |
|||
* @throws NotSupportedFileTypeException 文件存储异常 |
|||
*/ |
|||
List<CommonFile> saveFile(String dir, List<Part> files, Long userId) throws IOException, NotSupportedFileTypeException; |
|||
|
|||
/** |
|||
* 根据ID查询数据 |
|||
* @param id id |
|||
* @return 文件 |
|||
*/ |
|||
CommonFile getById(Long id); |
|||
|
|||
} |
@ -0,0 +1,258 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
|||
<mapper namespace="com.ccsens.tcm.persist.mapper.CommonFileMapper"> |
|||
<resultMap id="BaseResultMap" type="com.ccsens.tcm.bean.po.CommonFile"> |
|||
<id column="id" jdbcType="BIGINT" property="id" /> |
|||
<result column="user_id" jdbcType="BIGINT" property="userId" /> |
|||
<result column="file_name" jdbcType="VARCHAR" property="fileName" /> |
|||
<result column="location" jdbcType="VARCHAR" property="location" /> |
|||
<result column="visit_location" jdbcType="VARCHAR" property="visitLocation" /> |
|||
<result column="created_at" jdbcType="TIMESTAMP" property="createdAt" /> |
|||
<result column="updated_at" jdbcType="TIMESTAMP" property="updatedAt" /> |
|||
<result column="rec_status" jdbcType="TINYINT" property="recStatus" /> |
|||
</resultMap> |
|||
<sql id="Example_Where_Clause"> |
|||
<where> |
|||
<foreach collection="oredCriteria" item="criteria" separator="or"> |
|||
<if test="criteria.valid"> |
|||
<trim prefix="(" prefixOverrides="and" suffix=")"> |
|||
<foreach collection="criteria.criteria" item="criterion"> |
|||
<choose> |
|||
<when test="criterion.noValue"> |
|||
and ${criterion.condition} |
|||
</when> |
|||
<when test="criterion.singleValue"> |
|||
and ${criterion.condition} #{criterion.value} |
|||
</when> |
|||
<when test="criterion.betweenValue"> |
|||
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} |
|||
</when> |
|||
<when test="criterion.listValue"> |
|||
and ${criterion.condition} |
|||
<foreach close=")" collection="criterion.value" item="listItem" open="(" separator=","> |
|||
#{listItem} |
|||
</foreach> |
|||
</when> |
|||
</choose> |
|||
</foreach> |
|||
</trim> |
|||
</if> |
|||
</foreach> |
|||
</where> |
|||
</sql> |
|||
<sql id="Update_By_Example_Where_Clause"> |
|||
<where> |
|||
<foreach collection="example.oredCriteria" item="criteria" separator="or"> |
|||
<if test="criteria.valid"> |
|||
<trim prefix="(" prefixOverrides="and" suffix=")"> |
|||
<foreach collection="criteria.criteria" item="criterion"> |
|||
<choose> |
|||
<when test="criterion.noValue"> |
|||
and ${criterion.condition} |
|||
</when> |
|||
<when test="criterion.singleValue"> |
|||
and ${criterion.condition} #{criterion.value} |
|||
</when> |
|||
<when test="criterion.betweenValue"> |
|||
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} |
|||
</when> |
|||
<when test="criterion.listValue"> |
|||
and ${criterion.condition} |
|||
<foreach close=")" collection="criterion.value" item="listItem" open="(" separator=","> |
|||
#{listItem} |
|||
</foreach> |
|||
</when> |
|||
</choose> |
|||
</foreach> |
|||
</trim> |
|||
</if> |
|||
</foreach> |
|||
</where> |
|||
</sql> |
|||
<sql id="Base_Column_List"> |
|||
id, user_id, file_name, location, visit_location, created_at, updated_at, rec_status |
|||
</sql> |
|||
<select id="selectByExample" parameterType="com.ccsens.tcm.bean.po.CommonFileExample" resultMap="BaseResultMap"> |
|||
select |
|||
<if test="distinct"> |
|||
distinct |
|||
</if> |
|||
<include refid="Base_Column_List" /> |
|||
from t_common_file |
|||
<if test="_parameter != null"> |
|||
<include refid="Example_Where_Clause" /> |
|||
</if> |
|||
<if test="orderByClause != null"> |
|||
order by ${orderByClause} |
|||
</if> |
|||
</select> |
|||
<select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap"> |
|||
select |
|||
<include refid="Base_Column_List" /> |
|||
from t_common_file |
|||
where id = #{id,jdbcType=BIGINT} |
|||
</select> |
|||
<delete id="deleteByPrimaryKey" parameterType="java.lang.Long"> |
|||
delete from t_common_file |
|||
where id = #{id,jdbcType=BIGINT} |
|||
</delete> |
|||
<delete id="deleteByExample" parameterType="com.ccsens.tcm.bean.po.CommonFileExample"> |
|||
delete from t_common_file |
|||
<if test="_parameter != null"> |
|||
<include refid="Example_Where_Clause" /> |
|||
</if> |
|||
</delete> |
|||
<insert id="insert" parameterType="com.ccsens.tcm.bean.po.CommonFile"> |
|||
insert into t_common_file (id, user_id, file_name, |
|||
location, visit_location, created_at, |
|||
updated_at, rec_status) |
|||
values (#{id,jdbcType=BIGINT}, #{userId,jdbcType=BIGINT}, #{fileName,jdbcType=VARCHAR}, |
|||
#{location,jdbcType=VARCHAR}, #{visitLocation,jdbcType=VARCHAR}, #{createdAt,jdbcType=TIMESTAMP}, |
|||
#{updatedAt,jdbcType=TIMESTAMP}, #{recStatus,jdbcType=TINYINT}) |
|||
</insert> |
|||
<insert id="insertSelective" parameterType="com.ccsens.tcm.bean.po.CommonFile"> |
|||
insert into t_common_file |
|||
<trim prefix="(" suffix=")" suffixOverrides=","> |
|||
<if test="id != null"> |
|||
id, |
|||
</if> |
|||
<if test="userId != null"> |
|||
user_id, |
|||
</if> |
|||
<if test="fileName != null"> |
|||
file_name, |
|||
</if> |
|||
<if test="location != null"> |
|||
location, |
|||
</if> |
|||
<if test="visitLocation != null"> |
|||
visit_location, |
|||
</if> |
|||
<if test="createdAt != null"> |
|||
created_at, |
|||
</if> |
|||
<if test="updatedAt != null"> |
|||
updated_at, |
|||
</if> |
|||
<if test="recStatus != null"> |
|||
rec_status, |
|||
</if> |
|||
</trim> |
|||
<trim prefix="values (" suffix=")" suffixOverrides=","> |
|||
<if test="id != null"> |
|||
#{id,jdbcType=BIGINT}, |
|||
</if> |
|||
<if test="userId != null"> |
|||
#{userId,jdbcType=BIGINT}, |
|||
</if> |
|||
<if test="fileName != null"> |
|||
#{fileName,jdbcType=VARCHAR}, |
|||
</if> |
|||
<if test="location != null"> |
|||
#{location,jdbcType=VARCHAR}, |
|||
</if> |
|||
<if test="visitLocation != null"> |
|||
#{visitLocation,jdbcType=VARCHAR}, |
|||
</if> |
|||
<if test="createdAt != null"> |
|||
#{createdAt,jdbcType=TIMESTAMP}, |
|||
</if> |
|||
<if test="updatedAt != null"> |
|||
#{updatedAt,jdbcType=TIMESTAMP}, |
|||
</if> |
|||
<if test="recStatus != null"> |
|||
#{recStatus,jdbcType=TINYINT}, |
|||
</if> |
|||
</trim> |
|||
</insert> |
|||
<select id="countByExample" parameterType="com.ccsens.tcm.bean.po.CommonFileExample" resultType="java.lang.Long"> |
|||
select count(*) from t_common_file |
|||
<if test="_parameter != null"> |
|||
<include refid="Example_Where_Clause" /> |
|||
</if> |
|||
</select> |
|||
<update id="updateByExampleSelective" parameterType="map"> |
|||
update t_common_file |
|||
<set> |
|||
<if test="record.id != null"> |
|||
id = #{record.id,jdbcType=BIGINT}, |
|||
</if> |
|||
<if test="record.userId != null"> |
|||
user_id = #{record.userId,jdbcType=BIGINT}, |
|||
</if> |
|||
<if test="record.fileName != null"> |
|||
file_name = #{record.fileName,jdbcType=VARCHAR}, |
|||
</if> |
|||
<if test="record.location != null"> |
|||
location = #{record.location,jdbcType=VARCHAR}, |
|||
</if> |
|||
<if test="record.visitLocation != null"> |
|||
visit_location = #{record.visitLocation,jdbcType=VARCHAR}, |
|||
</if> |
|||
<if test="record.createdAt != null"> |
|||
created_at = #{record.createdAt,jdbcType=TIMESTAMP}, |
|||
</if> |
|||
<if test="record.updatedAt != null"> |
|||
updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, |
|||
</if> |
|||
<if test="record.recStatus != null"> |
|||
rec_status = #{record.recStatus,jdbcType=TINYINT}, |
|||
</if> |
|||
</set> |
|||
<if test="_parameter != null"> |
|||
<include refid="Update_By_Example_Where_Clause" /> |
|||
</if> |
|||
</update> |
|||
<update id="updateByExample" parameterType="map"> |
|||
update t_common_file |
|||
set id = #{record.id,jdbcType=BIGINT}, |
|||
user_id = #{record.userId,jdbcType=BIGINT}, |
|||
file_name = #{record.fileName,jdbcType=VARCHAR}, |
|||
location = #{record.location,jdbcType=VARCHAR}, |
|||
visit_location = #{record.visitLocation,jdbcType=VARCHAR}, |
|||
created_at = #{record.createdAt,jdbcType=TIMESTAMP}, |
|||
updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, |
|||
rec_status = #{record.recStatus,jdbcType=TINYINT} |
|||
<if test="_parameter != null"> |
|||
<include refid="Update_By_Example_Where_Clause" /> |
|||
</if> |
|||
</update> |
|||
<update id="updateByPrimaryKeySelective" parameterType="com.ccsens.tcm.bean.po.CommonFile"> |
|||
update t_common_file |
|||
<set> |
|||
<if test="userId != null"> |
|||
user_id = #{userId,jdbcType=BIGINT}, |
|||
</if> |
|||
<if test="fileName != null"> |
|||
file_name = #{fileName,jdbcType=VARCHAR}, |
|||
</if> |
|||
<if test="location != null"> |
|||
location = #{location,jdbcType=VARCHAR}, |
|||
</if> |
|||
<if test="visitLocation != null"> |
|||
visit_location = #{visitLocation,jdbcType=VARCHAR}, |
|||
</if> |
|||
<if test="createdAt != null"> |
|||
created_at = #{createdAt,jdbcType=TIMESTAMP}, |
|||
</if> |
|||
<if test="updatedAt != null"> |
|||
updated_at = #{updatedAt,jdbcType=TIMESTAMP}, |
|||
</if> |
|||
<if test="recStatus != null"> |
|||
rec_status = #{recStatus,jdbcType=TINYINT}, |
|||
</if> |
|||
</set> |
|||
where id = #{id,jdbcType=BIGINT} |
|||
</update> |
|||
<update id="updateByPrimaryKey" parameterType="com.ccsens.tcm.bean.po.CommonFile"> |
|||
update t_common_file |
|||
set user_id = #{userId,jdbcType=BIGINT}, |
|||
file_name = #{fileName,jdbcType=VARCHAR}, |
|||
location = #{location,jdbcType=VARCHAR}, |
|||
visit_location = #{visitLocation,jdbcType=VARCHAR}, |
|||
created_at = #{createdAt,jdbcType=TIMESTAMP}, |
|||
updated_at = #{updatedAt,jdbcType=TIMESTAMP}, |
|||
rec_status = #{recStatus,jdbcType=TINYINT} |
|||
where id = #{id,jdbcType=BIGINT} |
|||
</update> |
|||
</mapper> |
Loading…
Reference in new issue