Quellcode durchsuchen

--add queryByPro();add queryInvite();add queryScore();

zzy.zhiyuan.foxmail vor 8 Jahren
Ursprung
Commit
c8e7f173da

+ 65 - 2
src/main/java/com/ekexiu/portal/dao/GrowthLogDao.java

@ -1,18 +1,27 @@
1 1
package com.ekexiu.portal.dao;
2 2

3 3
import java.sql.Connection;
4
import java.sql.PreparedStatement;
5
import java.sql.ResultSet;
4 6
import java.sql.SQLException;
7
import java.util.ArrayList;
8
import java.util.HashMap;
5 9
import java.util.List;
10
import java.util.Map;
6 11

7 12
import org.jfw.apt.annotation.Nullable;
8 13
import org.jfw.apt.orm.annotation.dao.DAO;
14
import org.jfw.apt.orm.annotation.dao.method.OrderBy;
9 15
import org.jfw.apt.orm.annotation.dao.method.Where;
10 16
import org.jfw.apt.orm.annotation.dao.method.operator.Insert;
17
import org.jfw.apt.orm.annotation.dao.method.operator.LimitSelect;
11 18
import org.jfw.apt.orm.annotation.dao.method.operator.SelectList;
12 19
import org.jfw.apt.orm.annotation.dao.method.operator.SelectOne;
20
import org.jfw.apt.orm.annotation.dao.param.LessThan;
13 21
import org.jfw.apt.orm.annotation.dao.param.Like;
14 22

15 23
import com.ekexiu.portal.po.GrowthLog;
24
import com.ekexiu.portal.pojo.InviteUserScore;
16 25

17 26
@DAO
18 27
public abstract class GrowthLogDao {
@ -26,8 +35,62 @@ public abstract class GrowthLogDao {
26 35
	@Nullable
27 36
	public abstract GrowthLog querySignIn(Connection con,String professorId,String operate,@Like String createTime)throws SQLException;
28 37
	
29
	@SelectList
30
	public abstract List<GrowthLog> queryList(Connection con,String professorId)throws SQLException;
38
	@LimitSelect
39
	@OrderBy("ORDER BY CREATE_TIME DESC")
40
	@Where("INVITE_PRO IS NULL")
41
	public abstract List<GrowthLog> queryList(Connection con,String professorId,@LessThan String createTime,int rows)throws SQLException;
42
	
43
	public List<InviteUserScore> queryInvite(Connection con,String professorId) throws SQLException{
44
        int index = 1;
45
        String sql = "SELECT INVITE_PRO,SUM(SCORE) S FROM GROWTH_LOG WHERE PROFESSOR_ID = ? AND INVITE_PRO IS NOT NULL GROUP BY INVITE_PRO ORDER BY S DESC";
46
        PreparedStatement ps = con.prepareStatement(sql);
47
        try{
48
            ps.setString(index++,professorId);
49
            ResultSet rs = ps.executeQuery();
50
            try{
51
                List<InviteUserScore> inviteUserScores = new ArrayList<InviteUserScore>();
52
                while(rs.next()){
53
                    InviteUserScore inviteUserScore =  new InviteUserScore();
54
                    inviteUserScore.setInviteUser(rs.getString(1));
55
                    inviteUserScore.setScore(rs.getInt(2));
56
                    inviteUserScores.add(inviteUserScore);
57
                }
58
                return inviteUserScores;
59
            }finally{
60
                try{rs.close();}catch(Exception e1){}
61
            }
62
        }finally{
63
            try{ps.close();}catch(Exception e2){}
64
        }
65
    }
66
	
67
	public Map<String, Integer> queryScore(Connection con,String professorId)throws SQLException{
68
		int index = 1;
69
		String sql = "SELECT INVITE_PRO,SUM(SCORE) FROM GROWTH_LOG WHERE PROFESSOR_ID = ? GROUP BY INVITE_PRO ORDER BY INVITE_PRO";
70
		PreparedStatement ps = con.prepareStatement(sql);
71
		try{
72
			ps.setString(index++, professorId);
73
			ResultSet rs = ps.executeQuery();
74
			try{
75
				Map<String, Integer> map = new HashMap<String, Integer>();
76
				while(rs.next()){
77
					String invitePro = rs.getString(1);
78
					if(rs.wasNull()){
79
						invitePro = "myScore";
80
					}else{
81
						invitePro = "inviteScore";
82
					}
83
					Integer sum = rs.getInt(2);
84
					map.put(invitePro, sum);
85
				}
86
				return map;
87
			}finally{
88
				try{rs.close();}catch(Exception e1){}
89
			}
90
		}finally{
91
			try{ps.close();}catch(Exception e2){}
92
		}
93
	}
31 94
	
32 95
	@SelectList
33 96
	@Where("(OPERATE = '2' OR OPERATE = '3' OR OPERATE = '4')")

+ 9 - 0
src/main/java/com/ekexiu/portal/po/GrowthLog.java

@ -3,6 +3,7 @@ package com.ekexiu.portal.po;
3 3
import org.jfw.apt.orm.annotation.entry.Column;
4 4
import org.jfw.apt.orm.annotation.entry.PrimaryKey;
5 5
import org.jfw.apt.orm.annotation.entry.Table;
6
import org.jfw.apt.orm.core.defaultImpl.FixLenStringHandler;
6 7
import org.jfw.apt.orm.core.defaultImpl.StringHandler;
7 8
import org.jfw.apt.orm.core.defaultImpl.WIntHandler;
8 9
import org.jfw.apt.orm.core.enums.DE;
@ -18,6 +19,7 @@ public class GrowthLog implements CreateTimeSupported {
18 19
	private Integer score;
19 20
	private Integer signInDays;
20 21
	private String createTime;
22
	private String invitePro;
21 23
	@Column(DE.id_32)
22 24
	public String getId() {
23 25
		return id;
@ -59,5 +61,12 @@ public class GrowthLog implements CreateTimeSupported {
59 61
	public void setCreateTime(String createTime) {
60 62
		this.createTime = createTime;
61 63
	}
64
	@Column(handlerClass=FixLenStringHandler.class,dbType="CHAR(32)",nullable=true,renewable=false)
65
	public String getInvitePro() {
66
		return invitePro;
67
	}
68
	public void setInvitePro(String invitePro) {
69
		this.invitePro = invitePro;
70
	}
62 71
	
63 72
}

+ 57 - 0
src/main/java/com/ekexiu/portal/service/GrowthLogService.java

@ -6,9 +6,12 @@ import java.text.SimpleDateFormat;
6 6
import java.util.Calendar;
7 7
import java.util.Date;
8 8
import java.util.List;
9
import java.util.Map;
9 10

10 11
import org.jfw.apt.annotation.Autowrie;
12
import org.jfw.apt.annotation.DefaultValue;
11 13
import org.jfw.apt.web.annotation.Path;
14
import org.jfw.apt.web.annotation.operate.Get;
12 15
import org.jfw.apt.web.annotation.operate.Post;
13 16
import org.jfw.apt.web.annotation.param.JdbcConn;
14 17
import org.jfw.util.StringUtil;
@ -18,10 +21,13 @@ import com.ekexiu.portal.dao.GrowthLogDao;
18 21
import com.ekexiu.portal.dao.ProfessorDao;
19 22
import com.ekexiu.portal.dao.UserDao;
20 23
import com.ekexiu.portal.po.GrowthLog;
24
import com.ekexiu.portal.po.Professor;
21 25
import com.ekexiu.portal.po.User;
26
import com.ekexiu.portal.pojo.InviteUserScore;
22 27

23 28
@Path("/growth")
24 29
public class GrowthLogService {
30
	public static final String MAX_CREATE_TIME = "9";
25 31
	private String dateFormat = "yyyyMMdd";
26 32
	@Autowrie
27 33
	private GrowthLogDao growthLogDao;
@ -71,6 +77,42 @@ public class GrowthLogService {
71 77
	public void setRule(GrowthRuleService rule) {
72 78
		this.rule = rule;
73 79
	}
80
	
81
	@Post
82
	@Path("/updateData")
83
	public boolean updateData(@JdbcConn(true) Connection con)throws SQLException{
84
		List<Professor> professors = this.professorDao.queryList(con);
85
		for (Professor professor : professors) {
86
			User user = this.userDao.query(con, professor.getId());
87
			if(user != null){
88
				if(user.getMobilePhone() != null && user.getMobilePhone().trim().length() == 11){
89
					this.bindMobile(con, professor.getId());
90
				}
91
				if(user.getEmail() != null && !"".equals(user.getEmail())){
92
					this.bindEmail(con, professor.getId());
93
				}
94
			}
95
		}
96
		return true;
97
	}
98
	
99
	@Get
100
	@Path("/queryByPro")
101
	public List<GrowthLog> queryByPro(@JdbcConn Connection con,String professorId,@DefaultValue("com.ekexiu.portal.service.GrowthLogService.MAX_CREATE_TIME") String createTime,@DefaultValue("20") int rows)throws SQLException{
102
		return this.growthLogDao.queryList(con, professorId, createTime, rows);
103
	}
104
	
105
	@Get
106
	@Path("/queryInvite")
107
	public List<InviteUserScore> queryInvite(@JdbcConn Connection con,String professorId)throws SQLException{
108
		return this.growthLogDao.queryInvite(con, professorId);
109
	}
110
	
111
	@Get
112
	@Path("/queryScore")
113
	public Map<String, Integer> queryScore(@JdbcConn Connection con,String professorId)throws SQLException{
114
		return this.growthLogDao.queryScore(con, professorId);
115
	}
74 116

75 117
	/**
76 118
	 * 分享专家
@ -228,6 +270,7 @@ public class GrowthLogService {
228 270
			log.setProfessorId(user.getInviterId());
229 271
			log.setOperate("101");
230 272
			log.setScore(this.rule.getInviteProfessorForInviter());
273
			log.setInvitePro(professorId);
231 274
			this.growthLogDao.insert(con, log);
232 275
			this.professorDao.updateScoreValue(con, user.getInviterId(), log.getScore());
233 276
			this.professorDao.updateGrowthValue(con, user.getInviterId(), log.getScore());
@ -252,6 +295,7 @@ public class GrowthLogService {
252 295
			log.setProfessorId(user.getInviterId());
253 296
			log.setOperate("102");
254 297
			log.setScore(this.rule.getAddResearchAreaForInviter());
298
			log.setInvitePro(professorId);
255 299
			this.growthLogDao.insert(con, log);
256 300
			this.professorDao.updateScoreValue(con, user.getInviterId(), log.getScore());
257 301
			this.professorDao.updateGrowthValue(con, user.getInviterId(), log.getScore());
@ -302,6 +346,7 @@ public class GrowthLogService {
302 346
			log.setProfessorId(user.getInviterId());
303 347
			log.setOperate("103");
304 348
			log.setScore(this.rule.getAddArticleForInviter());
349
			log.setInvitePro(professorId);
305 350
			this.growthLogDao.insert(con, log);
306 351
			this.professorDao.updateScoreValue(con, user.getInviterId(), log.getScore());
307 352
			this.professorDao.updateGrowthValue(con, user.getInviterId(), log.getScore());
@ -356,6 +401,7 @@ public class GrowthLogService {
356 401
			log.setProfessorId(user.getInviterId());
357 402
			log.setOperate("104");
358 403
			log.setScore(this.rule.getAddResourceForInviter());
404
			log.setInvitePro(professorId);
359 405
			this.growthLogDao.insert(con, log);
360 406
			this.professorDao.updateScoreValue(con, user.getInviterId(), log.getScore());
361 407
			this.professorDao.updateGrowthValue(con, user.getInviterId(), log.getScore());
@ -384,6 +430,7 @@ public class GrowthLogService {
384 430
			log.setProfessorId(user.getInviterId());
385 431
			log.setOperate("-104");
386 432
			log.setScore(-this.rule.getAddResourceForInviter());
433
			log.setInvitePro(professorId);
387 434
			this.growthLogDao.insert(con, log);
388 435
			this.professorDao.updateScoreValue(con, user.getInviterId(), log.getScore());
389 436
			this.professorDao.updateGrowthValue(con, user.getInviterId(), log.getScore());
@ -417,6 +464,7 @@ public class GrowthLogService {
417 464
				log.setProfessorId(user.getInviterId());
418 465
				log.setOperate("105");
419 466
				log.setScore(this.rule.getAuthRealNameForInviter());
467
				log.setInvitePro(professorId);
420 468
				this.growthLogDao.insert(con, log);
421 469
				this.professorDao.updateScoreValue(con, user.getInviterId(), log.getScore());
422 470
				this.professorDao.updateGrowthValue(con, user.getInviterId(), log.getScore());
@ -451,6 +499,7 @@ public class GrowthLogService {
451 499
				log.setProfessorId(user.getInviterId());
452 500
				log.setOperate("106");
453 501
				log.setScore(this.rule.getAuthExpertForInviter());
502
				log.setInvitePro(professorId);
454 503
				this.growthLogDao.insert(con, log);
455 504
				this.professorDao.updateScoreValue(con, user.getInviterId(), log.getScore());
456 505
				this.professorDao.updateGrowthValue(con, user.getInviterId(), log.getScore());
@ -485,6 +534,7 @@ public class GrowthLogService {
485 534
				log.setProfessorId(user.getInviterId());
486 535
				log.setOperate("107");
487 536
				log.setScore(this.rule.getAuthOrgForInviter());
537
				log.setInvitePro(professorId);
488 538
				this.growthLogDao.insert(con, log);
489 539
				this.professorDao.updateScoreValue(con, user.getInviterId(), log.getScore());
490 540
				this.professorDao.updateGrowthValue(con, user.getInviterId(), log.getScore());
@ -514,6 +564,7 @@ public class GrowthLogService {
514 564
			log.setProfessorId(user.getInviterId());
515 565
			log.setOperate("108");
516 566
			log.setScore(this.rule.getConsultReceiveForInviter());
567
			log.setInvitePro(professorId);
517 568
			this.growthLogDao.insert(con, log);
518 569
			this.professorDao.updateScoreValue(con, user.getInviterId(), log.getScore());
519 570
			this.professorDao.updateGrowthValue(con, user.getInviterId(), log.getScore());
@ -542,6 +593,7 @@ public class GrowthLogService {
542 593
			log.setProfessorId(user.getInviterId());
543 594
			log.setOperate("109");
544 595
			log.setScore(this.rule.getConsultFinishForInviter());
596
			log.setInvitePro(professorId);
545 597
			this.growthLogDao.insert(con, log);
546 598
			this.professorDao.updateScoreValue(con, user.getInviterId(), log.getScore());
547 599
			this.professorDao.updateGrowthValue(con, user.getInviterId(), log.getScore());
@ -570,6 +622,7 @@ public class GrowthLogService {
570 622
			log.setProfessorId(user.getInviterId());
571 623
			log.setOperate("110");
572 624
			log.setScore(this.rule.getReceiveFourStarForInviter());
625
			log.setInvitePro(professorId);
573 626
			this.growthLogDao.insert(con, log);
574 627
			this.professorDao.updateScoreValue(con, user.getInviterId(), log.getScore());
575 628
			this.professorDao.updateGrowthValue(con, user.getInviterId(), log.getScore());
@ -598,6 +651,7 @@ public class GrowthLogService {
598 651
			log.setProfessorId(user.getInviterId());
599 652
			log.setOperate("111");
600 653
			log.setScore(this.rule.getConsultAssessForInviter());
654
			log.setInvitePro(professorId);
601 655
			this.growthLogDao.insert(con, log);
602 656
			this.professorDao.updateScoreValue(con, user.getInviterId(), log.getScore());
603 657
			this.professorDao.updateGrowthValue(con, user.getInviterId(), log.getScore());
@ -626,6 +680,7 @@ public class GrowthLogService {
626 680
			log.setProfessorId(user.getInviterId());
627 681
			log.setOperate("112");
628 682
			log.setScore(this.rule.getAddProDemandForInviter());
683
			log.setInvitePro(professorId);
629 684
			this.growthLogDao.insert(con, log);
630 685
			this.professorDao.updateScoreValue(con, user.getInviterId(), log.getScore());
631 686
			this.professorDao.updateGrowthValue(con, user.getInviterId(), log.getScore());
@ -654,6 +709,7 @@ public class GrowthLogService {
654 709
			log.setProfessorId(user.getInviterId());
655 710
			log.setOperate("113");
656 711
			log.setScore(this.rule.getAddOrgDemandForInviter());
712
			log.setInvitePro(professorId);
657 713
			this.growthLogDao.insert(con, log);
658 714
			this.professorDao.updateScoreValue(con, user.getInviterId(), log.getScore());
659 715
			this.professorDao.updateGrowthValue(con, user.getInviterId(), log.getScore());
@ -682,6 +738,7 @@ public class GrowthLogService {
682 738
			log.setProfessorId(user.getInviterId());
683 739
			log.setOperate("114");
684 740
			log.setScore(this.rule.getDemandConfirmForInviter());
741
			log.setInvitePro(professorId);
685 742
			this.growthLogDao.insert(con, log);
686 743
			this.professorDao.updateScoreValue(con, user.getInviterId(), log.getScore());
687 744
			this.professorDao.updateGrowthValue(con, user.getInviterId(), log.getScore());