浏览代码

--add OperateServiceLog.java and OperateServiceFile.java
--运营服务记录和运营服务附件相关功能。

zzy.zhiyuan.foxmail 8 年之前
父节点
当前提交
8995b5ec51

+ 20 - 0
src/main/java/com/ekexiu/portal/dao/OperateServiceFileDao.java

@ -0,0 +1,20 @@
1
package com.ekexiu.portal.dao;
2

3
import java.sql.Connection;
4
import java.sql.SQLException;
5
import java.util.List;
6

7
import org.jfw.apt.orm.annotation.dao.DAO;
8
import org.jfw.apt.orm.annotation.dao.method.operator.Insert;
9
import org.jfw.apt.orm.annotation.dao.method.operator.SelectList;
10

11
import com.ekexiu.portal.po.OperateServiceFile;
12

13
@DAO
14
public abstract class OperateServiceFileDao {
15
	@Insert
16
	public abstract int insert(Connection con,OperateServiceFile serviceFile)throws SQLException;
17
	
18
	@SelectList
19
	public abstract List<OperateServiceFile> queryByServiceLogId(Connection con,String serviceLogId)throws SQLException;
20
}

+ 28 - 0
src/main/java/com/ekexiu/portal/dao/OperateServiceLogDao.java

@ -0,0 +1,28 @@
1
package com.ekexiu.portal.dao;
2

3
import java.sql.Connection;
4
import java.sql.SQLException;
5
import java.util.List;
6

7
import org.jfw.apt.annotation.Nullable;
8
import org.jfw.apt.orm.annotation.dao.DAO;
9
import org.jfw.apt.orm.annotation.dao.method.OrderBy;
10
import org.jfw.apt.orm.annotation.dao.method.operator.Insert;
11
import org.jfw.apt.orm.annotation.dao.method.operator.SelectList;
12
import org.jfw.apt.orm.annotation.dao.method.operator.SelectOne;
13

14
import com.ekexiu.portal.po.OperateServiceLog;
15

16
@DAO
17
public abstract class OperateServiceLogDao {
18
	@Insert
19
	public abstract int insert(Connection con,OperateServiceLog serviceLog)throws SQLException;
20
	
21
	@SelectOne
22
	@Nullable
23
	public abstract OperateServiceLog queryOne(Connection con,String serviceLogId)throws SQLException;
24
	
25
	@SelectList
26
	@OrderBy("ORDER BY CREATE_TIME DESC")
27
	public abstract List<OperateServiceLog> queryByServiceUser(Connection con,String serviceUser)throws SQLException;
28
}

+ 48 - 0
src/main/java/com/ekexiu/portal/po/OperateServiceFile.java

@ -0,0 +1,48 @@
1
package com.ekexiu.portal.po;
2

3
import org.jfw.apt.orm.annotation.entry.Column;
4
import org.jfw.apt.orm.annotation.entry.PrimaryKey;
5
import org.jfw.apt.orm.annotation.entry.Table;
6
import org.jfw.apt.orm.core.enums.DE;
7

8
@Table
9
@PrimaryKey("serviceFileId")
10
public class OperateServiceFile {
11
	private String serviceFileId;
12
	private String serviceLogId;
13
	private String fileSrc;
14
	private String fileName;
15
	
16
	@Column(DE.id_32)
17
	public String getServiceFileId() {
18
		return serviceFileId;
19
	}
20
	public void setServiceFileId(String serviceFileId) {
21
		this.serviceFileId = serviceFileId;
22
	}
23
	
24
	@Column(DE.id_32)
25
	public String getServiceLogId() {
26
		return serviceLogId;
27
	}
28
	public void setServiceLogId(String serviceLogId) {
29
		this.serviceLogId = serviceLogId;
30
	}
31
	
32
	@Column(DE.string_de)
33
	public String getFileSrc() {
34
		return fileSrc;
35
	}
36
	public void setFileSrc(String fileSrc) {
37
		this.fileSrc = fileSrc;
38
	}
39
	
40
	@Column(DE.string_de)
41
	public String getFileName() {
42
		return fileName;
43
	}
44
	public void setFileName(String fileName) {
45
		this.fileName = fileName;
46
	}
47
	
48
}

+ 68 - 0
src/main/java/com/ekexiu/portal/po/OperateServiceLog.java

@ -0,0 +1,68 @@
1
package com.ekexiu.portal.po;
2

3
import java.util.List;
4

5
import org.jfw.apt.orm.annotation.entry.Column;
6
import org.jfw.apt.orm.annotation.entry.PrimaryKey;
7
import org.jfw.apt.orm.annotation.entry.Table;
8
import org.jfw.apt.orm.core.enums.DE;
9

10
import com.ekexiu.portal.basepo.CreateTimeSupported;
11

12
@Table
13
@PrimaryKey("serviceLogId")
14
public class OperateServiceLog implements CreateTimeSupported {
15
	private String serviceLogId;
16
	private String serviceUser;
17
	private String servant;
18
	private String serviceContent;
19
	private String createTime;
20
	private List<OperateServiceFile> operateServiceFiles;
21
	
22
	public List<OperateServiceFile> getOperateServiceFiles() {
23
		return operateServiceFiles;
24
	}
25
	public void setOperateServiceFiles(List<OperateServiceFile> operateServiceFiles) {
26
		this.operateServiceFiles = operateServiceFiles;
27
	}
28
	
29
	@Column(DE.id_32)
30
	public String getServiceLogId() {
31
		return serviceLogId;
32
	}
33
	public void setServiceLogId(String serviceLogId) {
34
		this.serviceLogId = serviceLogId;
35
	}
36
	
37
	@Column(DE.id_32)
38
	public String getServiceUser() {
39
		return serviceUser;
40
	}
41
	public void setServiceUser(String serviceUser) {
42
		this.serviceUser = serviceUser;
43
	}
44
	
45
	@Column(DE.String_de)
46
	public String getServant() {
47
		return servant;
48
	}
49
	public void setServant(String servant) {
50
		this.servant = servant;
51
	}
52
	
53
	@Column(DE.String_de)
54
	public String getServiceContent() {
55
		return serviceContent;
56
	}
57
	public void setServiceContent(String serviceContent) {
58
		this.serviceContent = serviceContent;
59
	}
60
	
61
	public String getCreateTime() {
62
		return createTime;
63
	}
64
	public void setCreateTime(String createTime) {
65
		this.createTime = createTime;
66
	}
67
	
68
}

+ 74 - 0
src/main/java/com/ekexiu/portal/service/OperateServiceFileService.java

@ -0,0 +1,74 @@
1
package com.ekexiu.portal.service;
2

3
import java.io.File;
4
import java.io.FileInputStream;
5
import java.io.FileOutputStream;
6
import java.io.IOException;
7
import java.io.InputStream;
8
import java.sql.Connection;
9
import java.sql.SQLException;
10
import java.text.SimpleDateFormat;
11
import java.util.Date;
12

13
import org.jfw.apt.annotation.Autowrie;
14
import org.jfw.apt.web.annotation.Path;
15
import org.jfw.apt.web.annotation.operate.Post;
16
import org.jfw.apt.web.annotation.param.JdbcConn;
17
import org.jfw.util.StringUtil;
18
import org.jfw.util.io.IoUtil;
19

20
import com.ekexiu.portal.dao.OperateServiceFileDao;
21
import com.ekexiu.portal.po.OperateServiceFile;
22

23
@Path("/operateServiceFile")
24
public class OperateServiceFileService {
25
	private File tmpPath;
26
	private File serviceFilePath;
27
	@Autowrie
28
	private OperateServiceFileDao serviceFileDao;
29
	public File getTmpPath() {
30
		return tmpPath;
31
	}
32
	public void setTmpPath(File tmpPath) {
33
		this.tmpPath = tmpPath;
34
	}
35
	public File getServiceFilePath() {
36
		return serviceFilePath;
37
	}
38
	public void setServiceFilePath(File serviceFilePath) {
39
		this.serviceFilePath = serviceFilePath;
40
	}
41
	public OperateServiceFileDao getServiceFileDao() {
42
		return serviceFileDao;
43
	}
44
	public void setServiceFileDao(OperateServiceFileDao serviceFileDao) {
45
		this.serviceFileDao = serviceFileDao;
46
	}
47
	
48
	@Post
49
	@Path
50
	public String insert(@JdbcConn(true) Connection con,String serviceLogId,String fn,String fileName)throws SQLException, IOException{
51
		String serviceFileId = StringUtil.buildUUID();
52
		InputStream in = new FileInputStream(new File(this.tmpPath, fn));
53
		SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd");
54
		String date = df.format(new Date());
55
		File dateFile = new File(this.serviceFilePath + "/" + date);
56
		if (!dateFile.exists()) {
57
			dateFile.mkdirs();
58
		}
59
		try {
60
			IoUtil.copy(in, new FileOutputStream(new File(dateFile, serviceFileId)), false, true);
61
		} finally {
62
			in.close();
63
		}
64
		String src = date + "/" + serviceFileId;
65
		OperateServiceFile serviceFile = new OperateServiceFile();
66
		serviceFile.setServiceFileId(serviceFileId);
67
		serviceFile.setFileSrc(src);
68
		serviceFile.setFileName(fileName);
69
		serviceFile.setServiceLogId(serviceLogId);
70
		this.serviceFileDao.insert(con, serviceFile);
71
		return serviceFileId;
72
	}
73
	
74
}

+ 69 - 0
src/main/java/com/ekexiu/portal/service/OperateServiceLogService.java

@ -0,0 +1,69 @@
1
package com.ekexiu.portal.service;
2

3
import java.io.IOException;
4
import java.sql.Connection;
5
import java.sql.SQLException;
6
import java.util.List;
7

8
import org.jfw.apt.annotation.Autowrie;
9
import org.jfw.apt.web.annotation.Path;
10
import org.jfw.apt.web.annotation.operate.Get;
11
import org.jfw.apt.web.annotation.operate.Post;
12
import org.jfw.apt.web.annotation.param.JdbcConn;
13
import org.jfw.util.StringUtil;
14

15
import com.ekexiu.portal.dao.OperateServiceFileDao;
16
import com.ekexiu.portal.dao.OperateServiceLogDao;
17
import com.ekexiu.portal.po.OperateServiceLog;
18

19
@Path("/operateServiceLog")
20
public class OperateServiceLogService {
21
	@Autowrie
22
	private OperateServiceLogDao serviceLogDao;
23
	@Autowrie
24
	private OperateServiceFileDao serviceFileDao;
25
	@Autowrie
26
	private OperateServiceFileService serviceFileService;
27
	public OperateServiceLogDao getServiceLogDao() {
28
		return serviceLogDao;
29
	}
30
	public void setServiceLogDao(OperateServiceLogDao serviceLogDao) {
31
		this.serviceLogDao = serviceLogDao;
32
	}
33
	public OperateServiceFileDao getServiceFileDao() {
34
		return serviceFileDao;
35
	}
36
	public void setServiceFileDao(OperateServiceFileDao serviceFileDao) {
37
		this.serviceFileDao = serviceFileDao;
38
	}
39
	public OperateServiceFileService getServiceFileService() {
40
		return serviceFileService;
41
	}
42
	public void setServiceFileService(OperateServiceFileService serviceFileService) {
43
		this.serviceFileService = serviceFileService;
44
	}
45
	
46
	@Post
47
	@Path
48
	public String add(@JdbcConn(true) Connection con,OperateServiceLog serviceLog)throws SQLException, IOException{
49
		String serviceLogId = StringUtil.buildUUID();
50
		serviceLog.setServiceLogId(serviceLogId);
51
		this.serviceLogDao.insert(con, serviceLog);
52
		return serviceLogId;
53
	}
54
	
55
	@Get
56
	@Path("/queryOne")
57
	public OperateServiceLog queryOne(@JdbcConn Connection con,String serviceLogId)throws SQLException{
58
		OperateServiceLog serviceLog = this.serviceLogDao.queryOne(con, serviceLogId);
59
		serviceLog.setOperateServiceFiles(this.serviceFileDao.queryByServiceLogId(con, serviceLogId));
60
		return serviceLog;
61
	}
62
	
63
	@Get
64
	@Path("/queryByServiceUser")
65
	public List<OperateServiceLog> queryByServiceUser(@JdbcConn Connection con,String serviceUser)throws SQLException{
66
		return this.serviceLogDao.queryByServiceUser(con, serviceUser);
67
	}
68
	
69
}