0ebd1e21a20c38c15e39eab2d93f211272f42c08.svn-base
5.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
package yxy.timer.service.impl;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import yxy.timer.dao.YxySysParamaterDao;
import yxy.timer.dao.YxySysParamatersValueDao;
import yxy.timer.pojo.YxySysParamaters;
import yxy.timer.pojo.YxySysParamatersValue;
import yxy.timer.service.YxySysParamaterService;
/**
* 程序名称: EspeedMail_时速邮箱
* 程序版本: V1.0
* 作 者: 深圳市科飞时速网络技术有限公司(0755-88843776)
* 版权所有: 深圳市科飞时速网络技术有限公司
* 技术支持: Tech@21gmail.com
* 单元名称: 控制参数Service实现类(营销游)
* 开始时间: 2013.12.09
* 程 序 员: 谢勇
* 最后修改:
* 备 注: 如需修改请通知程序员
*/
public class YxySysParamaterServiceImpl implements YxySysParamaterService{
/**通过level查询控制参数*/
public Map<String,String> findParamaterByLevel(int level,String loginid,String domain) throws Exception {
//返回一个map集合
Map<String,String> paraMap=new HashMap<String,String>();
//查询控制参数(所有level的默认参数)
String parahql="from YxySysParamaters where owner_type="+level;
List<YxySysParamaters> paras=yxysysparamaterdao.findByHql(parahql);
if(level==1){//系统级
for(int j=0;j<paras.size();j++){
paraMap.put(paras.get(j).getPara_code(), paras.get(j).getDefault_value());
}
}else if(level==2){//企业级
//查询控制参数值(所有用户控制参数的配置值)
String paravaluehql="from YxySysParamatersValue where company_domain='"+domain+"' and owner_type=2";
List<YxySysParamatersValue> paraValue=yxysysparamatersvaluedao.findByHql(paravaluehql);
//循环赋值
int isexits=0;
for(int j=0;j<paras.size();j++){
isexits=0;
if(paraValue.size()>0){
our:for(int i=0;i<paraValue.size();i++){
if(paras.get(j).getPara_id()==paraValue.get(i).getPara_id()){
isexits++;
if(paraValue.get(i).getPara_value()!=null||paraValue.get(i).getPara_value().equals("")){
paraMap.put(paras.get(j).getPara_code(), paraValue.get(i).getPara_value());
}else{
paraMap.put(paras.get(j).getPara_code(), paras.get(j).getDefault_value());
}
break our;
}
}
if(isexits==0){
paraMap.put(paras.get(j).getPara_code(), paras.get(j).getDefault_value());
}
}else{
paraMap.put(paras.get(j).getPara_code(), paras.get(j).getDefault_value());
}
}
}else if(level==4){//用户级
//查询控制参数值(所有用户控制参数的配置值)
String paravaluehql="from YxySysParamatersValue where owner_loginid='"+loginid+"' and company_domain='"+domain+"' and owner_type=4";
List<YxySysParamatersValue> paraValue=yxysysparamatersvaluedao.findByHql(paravaluehql);
//循环赋值
int isexits=0;
for(int j=0;j<paras.size();j++){
isexits=0;
if(paraValue.size()>0){
our:for(int i=0;i<paraValue.size();i++){
if(paras.get(j).getPara_id()==paraValue.get(i).getPara_id()){
isexits++;
if(paraValue.get(i).getPara_value()!=null||paraValue.get(i).getPara_value().equals("")){
paraMap.put(paras.get(j).getPara_code(), paraValue.get(i).getPara_value());
}
break our;
}
}
if(isexits==0){
paraMap.put(paras.get(j).getPara_code(), paras.get(j).getDefault_value());
}
}
}
}
return paraMap;
}
/**通过code查询控制参数,如果用户参数不存在则查企业控制参数,企业控制参数不存在则查询企业默认参数(用户级)*/
public String findUserParamValue(String loginid,String domain,String usercode,String syscode)throws Exception{
//根据code查询paraid
String usercodehql="from YxySysParamaters where para_code='"+usercode+"'";
List<YxySysParamaters> paramlist=yxysysparamaterdao.findByHql(usercodehql);
int paramid=paramlist.get(0).getPara_id();
//根据paramid查询值
String paravaluehql="from YxySysParamatersValue where owner_loginid='"+loginid+"' and company_domain='"+domain+"' and para_id="+paramid;
List<YxySysParamatersValue> paramvlist=yxysysparamatersvaluedao.findByHql(paravaluehql);
if(paramvlist.size()>0){
return paramvlist.get(0).getPara_value();
}else{
//查询系统参数
String syscodehql="from YxySysParamaters where para_code='"+syscode+"'";
List<YxySysParamaters> sysparamlist=yxysysparamaterdao.findByHql(syscodehql);
int sysparamid=sysparamlist.get(0).getPara_id();
//根据paramid查询值
String sysparavaluehql="from YxySysParamatersValue where owner_loginid='"+loginid+"' and company_domain='"+domain+"' and para_id="+sysparamid;
List<YxySysParamatersValue> sysparamvlist=yxysysparamatersvaluedao.findByHql(sysparavaluehql);
if(sysparamvlist.size()>0){
return sysparamvlist.get(0).getPara_value();
}else{
return sysparamlist.get(0).getDefault_value();
}
}
}
/**查询用户总分配量*/
public int findTolFenPeiCount(String loginid,String domain)throws Exception{
String hql="select count(*) from YxySysParamatersValue where para_id=34 and owner_loginid='"+loginid+"' and company_domain='"+domain+"'";
return yxysysparamatersvaluedao.findByHqlCount(hql);
}
private YxySysParamaterDao yxysysparamaterdao;
private YxySysParamatersValueDao yxysysparamatersvaluedao;
public YxySysParamaterDao getYxysysparamaterdao() {
return yxysysparamaterdao;
}
public void setYxysysparamaterdao(YxySysParamaterDao yxysysparamaterdao) {
this.yxysysparamaterdao = yxysysparamaterdao;
}
public YxySysParamatersValueDao getYxysysparamatersvaluedao() {
return yxysysparamatersvaluedao;
}
public void setYxysysparamatersvaluedao(
YxySysParamatersValueDao yxysysparamatersvaluedao) {
this.yxysysparamatersvaluedao = yxysysparamatersvaluedao;
}
}