提交 | 用户 | age
|
a6a76f
|
1 |
package com.yc.sdk.shopping.service; |
F |
2 |
|
|
3 |
|
|
4 |
import java.util.ArrayList; |
|
5 |
import java.util.List; |
|
6 |
import java.util.Map; |
|
7 |
|
|
8 |
import org.springframework.context.annotation.Scope; |
|
9 |
import org.springframework.dao.DataAccessException; |
|
10 |
import org.springframework.dao.EmptyResultDataAccessException; |
|
11 |
import org.springframework.stereotype.Service; |
|
12 |
|
a92f52
|
13 |
import com.yc.action.grid.GridUtils; |
a6a76f
|
14 |
import com.yc.sdk.shopping.entity.VoucherEntity; |
F |
15 |
import com.yc.sdk.shopping.entity.VoucherThemeEntity; |
|
16 |
import com.yc.service.BaseService; |
|
17 |
|
|
18 |
@Service("VoucherImpl") |
|
19 |
@Scope("prototype") |
|
20 |
public class VoucherImpl extends BaseService implements VoucherIfc { |
|
21 |
|
|
22 |
@Override |
|
23 |
public VoucherEntity getVoucher(String code,String shopCcCode) { |
|
24 |
String sql = " set nocount on ; \n" |
a92f52
|
25 |
+ " declare @VoucherCode varchar(50) = "+GridUtils.prossSqlParm(code)+" \n" |
J |
26 |
+ " declare @ShopCcCode varchar(50) = "+GridUtils.prossSqlParm(shopCcCode)+" \n" |
a6a76f
|
27 |
+ " select DocCode,VoucherCode,FromName,FromEmail,ToName,ToEmail, \n" |
F |
28 |
+ " VoucherThemeId,Message,Amount \n" |
|
29 |
+ " from t710201H a \n " |
|
30 |
+ " where VoucherCode = @VoucherCode and isnull(Status,0) = 1 and isnull(SODocCode,'') = '' \n" |
|
31 |
+ " and (isnull(@ShopCcCode,'') = '' or a.ShopCcCode = @ShopCcCode ) \n" ; |
|
32 |
|
|
33 |
Map<String,Object> map = null ; |
|
34 |
VoucherEntity voucherEntity = null ; |
|
35 |
try { |
a92f52
|
36 |
map = this.jdbcTemplate.queryForMap(sql) ; |
a6a76f
|
37 |
voucherEntity = this.getVoucherEntity( map); |
F |
38 |
}catch(DataAccessException e ) { |
|
39 |
if (e instanceof EmptyResultDataAccessException){ |
|
40 |
return null ; |
|
41 |
}else { |
|
42 |
e.printStackTrace(); |
|
43 |
throw e; |
|
44 |
} |
|
45 |
}catch(Exception e){ |
|
46 |
e.printStackTrace(); |
|
47 |
throw e; |
|
48 |
} |
|
49 |
|
|
50 |
|
|
51 |
return voucherEntity ; |
|
52 |
} |
|
53 |
|
|
54 |
|
|
55 |
|
|
56 |
private VoucherEntity getVoucherEntity( Map<String,Object> map) { |
|
57 |
VoucherEntity voucherEntity = null ; |
|
58 |
if (map != null && map.size() > 0) { |
|
59 |
voucherEntity = new VoucherEntity() ; |
|
60 |
voucherEntity.setVoucherDocCode(map.get("DocCode") == null ? "": (String)map.get("DocCode")); |
|
61 |
voucherEntity.setFromName(map.get("FromName") == null ? "": (String)map.get("FromName")); |
|
62 |
voucherEntity.setVoucherCode(map.get("VoucherCode") == null ? "": (String)map.get("VoucherCode")); |
|
63 |
voucherEntity.setFromEmail(map.get("FromEmail") == null ? "": (String)map.get("FromEmail")); |
|
64 |
voucherEntity.setToName(map.get("ToName") == null ? "": (String)map.get("ToName")); |
|
65 |
voucherEntity.setToEmail(map.get("ToEmail") == null ? "": (String)map.get("ToEmail").toString()); |
|
66 |
voucherEntity.setVoucherThemeId(map.get("VoucherThemeId") == null ? 0: (Integer)map.get("VoucherThemeId")); |
|
67 |
voucherEntity.setMessage(map.get("Message") == null ? "": (String)map.get("Message") ); |
|
68 |
voucherEntity.setAmount(map.get("Amount") == null ? 0: Double.parseDouble(map.get("Amount").toString())); |
|
69 |
} |
|
70 |
return voucherEntity ; |
|
71 |
} |
|
72 |
|
|
73 |
|
|
74 |
|
|
75 |
@Override |
|
76 |
public List<VoucherThemeEntity> getVoucherThemes(String shopCcCode) { |
|
77 |
List<VoucherThemeEntity> themeList = null ; |
|
78 |
String sql = " set nocount on ; \n" |
a92f52
|
79 |
+ " declare @ShopCcCode varchar(50) = "+GridUtils.prossSqlParm(shopCcCode)+" \n" |
a6a76f
|
80 |
+ " select VoucherThemeId ,Name " |
F |
81 |
+ " from t710204 a \n" |
|
82 |
+ " where (isnull(@ShopCcCode,'') = '' or a.ShopCcCode = @ShopCcCode ) \n" |
|
83 |
+ " order by Name \n"; |
|
84 |
|
|
85 |
try { |
a92f52
|
86 |
List<Map<String,Object>> list = this.jdbcTemplate.queryForList(sql) ; |
a6a76f
|
87 |
|
F |
88 |
for (int i = 0 ; list != null && i < list.size();i++) { |
|
89 |
if (themeList == null) themeList = new ArrayList<VoucherThemeEntity>() ; |
|
90 |
Map<String,Object> map = list.get(i) ; |
|
91 |
VoucherThemeEntity voucherThemeEntity = new VoucherThemeEntity(); |
|
92 |
voucherThemeEntity.setVoucherThemeId(map.get("VoucherThemeId") == null?0 : (Integer)map.get("VoucherThemeId")); |
|
93 |
voucherThemeEntity.setVoucherThemeName(map.get("Name") == null?"": (String)map.get("Name")); |
|
94 |
themeList.add(voucherThemeEntity); |
|
95 |
} |
|
96 |
}catch(DataAccessException e ) { |
|
97 |
if (e instanceof EmptyResultDataAccessException){ |
|
98 |
return null ; |
|
99 |
}else { |
|
100 |
e.printStackTrace(); |
|
101 |
throw e; |
|
102 |
} |
|
103 |
}catch(Exception e){ |
|
104 |
e.printStackTrace(); |
|
105 |
throw e; |
|
106 |
} |
|
107 |
return themeList; |
|
108 |
} |
|
109 |
|
|
110 |
@Override |
|
111 |
public VoucherEntity saveVoucherEntity(VoucherEntity voucherEntity,String userCode,String shopCcCode) { |
|
112 |
String sql = " set nocount on ; \n" |
|
113 |
+ " declare @DocCode varchar(20),@DocDate datetime, @VoucherCode varchar(20),@MatCode varchar(50) ; \n" |
|
114 |
+ " declare @UserCode varchar(20) ,@UserName varchar(50) ; \n" |
|
115 |
+ " declare @FromName varchar(50) ; \n" |
|
116 |
+ " declare @FromEmail varchar(50) ,@ToName varchar(50) ,@ToEmail varchar(50) ; \n" |
|
117 |
+ " declare @VoucherThemeId int ,@Message varchar(500) ,@Amount money ; \n" |
|
118 |
|
a92f52
|
119 |
+ " select @UserCode = "+GridUtils.prossSqlParm(userCode)+" , @FromName = "+GridUtils.prossSqlParm(voucherEntity.getFromName()) |
J |
120 |
+", @FromEmail = "+GridUtils.prossSqlParm(voucherEntity.getFromEmail())+", @ToName = "+GridUtils.prossSqlParm(voucherEntity.getToName()) |
|
121 |
+",@ToEmail = "+GridUtils.prossSqlParm(voucherEntity.getToEmail())+",@VoucherThemeId = "+voucherEntity.getVoucherThemeId() |
|
122 |
+",@Message = "+GridUtils.prossSqlParm(voucherEntity.getMessage())+",@Amount = "+voucherEntity.getAmount()+"; \n" |
|
123 |
+ " declare @ShopCcCode varchar(50) = "+GridUtils.prossSqlParm(shopCcCode) +" \n" |
a6a76f
|
124 |
+ " declare @CompanyId varchar(50),@CompanyName varchar(200),@cccode varchar(20),@ccName varchar(50) ;\n" |
F |
125 |
+ " declare @formid int = 710201 ;\n" |
|
126 |
+ " select @MatCode = VoucherMatCode FROM t714001 a ; \n" |
|
127 |
+ " if (isnull(@MatCode,'') = '' ) \n" |
|
128 |
+ " begin \n" |
|
129 |
+ " raiserror('请在714001功能号中定义【礼品券物料编号】',16,1) ; \n" |
|
130 |
+ " return ; \n" |
|
131 |
+ " end \n" |
|
132 |
+ " if not exists(select 1 from t110503 a where a.MatCode = @MatCode) \n" |
|
133 |
+ " begin \n" |
|
134 |
+ " raiserror('【礼品券物料编号】【%s】不存在,请在714001功能号中重新定义【礼品券物料编号】',16,1,@MatCode) ; \n" |
|
135 |
+ " return ; \n" |
|
136 |
+ " end \n" |
|
137 |
+ " select @CompanyId = CompanyId,@CompanyName = CompanyName ,@cccode=cccode,@ccName = ccname, \n" |
|
138 |
+ " @UserName = UserName \n" |
|
139 |
+ " from _sys_LoginUser \n" |
|
140 |
+ " where UserCode = @UserCode \n" |
|
141 |
+ " select @DocDate = convert(datetime,convert(varchar(10),GETDATE(),120) ) ; \n" |
|
142 |
+ " exec sp_newdoccode @formid,@UserCode,@DocCode output ; \n" |
|
143 |
+ " select @VoucherCode = dbo.fn_randompassword(6,6 ) ; \n" |
|
144 |
+ " insert into t710201H (DocCode,FormID,DocDate,CompanyID,CompanyName, \n" |
|
145 |
+ " DocStatus,EnterCode,EnterName,EnterDate,ModifyName,ModifyDate,cccode,ccName, \n" |
|
146 |
+ " VoucherCode,FromName,FromEmail,ToName,ToEmail, \n" |
|
147 |
+ " VoucherThemeId,Message,Amount ,Status,ShopCcCode) \n" |
|
148 |
+ " values (@DocCode,@formid,@DocDate ,@CompanyID,@CompanyName, \n" |
|
149 |
+ " 0,@usercode,@UserName,getdate(),@UserName,getdate(),@cccode,@ccName, \n" |
|
150 |
+ " @VoucherCode,@FromName,@FromEmail,@ToName,@ToEmail, \n" |
|
151 |
+ " @VoucherThemeId,@Message,@Amount,0 ,@ShopCcCode ) ; \n" |
|
152 |
+ " select @DocCode as DocCode,@VoucherCode as VoucherCode,@MatCode as MatCode ; \n" ; |
|
153 |
try { |
a92f52
|
154 |
Map<String,Object> map = this.jdbcTemplate.queryForMap(sql) ; |
J |
155 |
|
a6a76f
|
156 |
voucherEntity.setVoucherDocCode(map.get("DocCode") == null ? "": (String)map.get("DocCode")); |
F |
157 |
voucherEntity.setVoucherCode(map.get("VoucherCode") == null ? "": (String)map.get("VoucherCode")); |
|
158 |
voucherEntity.setMatCode(map.get("MatCode") == null ? "": (String)map.get("MatCode")); |
|
159 |
}catch(DataAccessException e ) { |
|
160 |
if (e instanceof EmptyResultDataAccessException){ |
|
161 |
return null ; |
|
162 |
}else { |
|
163 |
e.printStackTrace(); |
|
164 |
throw e; |
|
165 |
} |
|
166 |
}catch(Exception e){ |
|
167 |
e.printStackTrace(); |
|
168 |
throw e; |
|
169 |
} |
|
170 |
return voucherEntity ; |
|
171 |
} |
|
172 |
} |