Showing
2 changed files
with
53 additions
and
31 deletions
... | @@ -14,6 +14,8 @@ import org.apache.commons.lang3.StringUtils; | ... | @@ -14,6 +14,8 @@ import org.apache.commons.lang3.StringUtils; |
14 | import org.apache.logging.log4j.LogManager; | 14 | import org.apache.logging.log4j.LogManager; |
15 | import org.apache.logging.log4j.Logger; | 15 | import org.apache.logging.log4j.Logger; |
16 | import org.springframework.beans.factory.annotation.Autowired; | 16 | import org.springframework.beans.factory.annotation.Autowired; |
17 | +import org.springframework.beans.factory.annotation.Qualifier; | ||
18 | +import org.springframework.jdbc.datasource.DataSourceTransactionManager; | ||
17 | import org.springframework.stereotype.Service; | 19 | import org.springframework.stereotype.Service; |
18 | 20 | ||
19 | import com.cjs.site.biz.ServiceException; | 21 | import com.cjs.site.biz.ServiceException; |
... | @@ -38,7 +40,11 @@ import com.cjs.site.util.redis.JedisTemplate; | ... | @@ -38,7 +40,11 @@ import com.cjs.site.util.redis.JedisTemplate; |
38 | import com.cjs.site.util.t2.T2Result; | 40 | import com.cjs.site.util.t2.T2Result; |
39 | import com.cjs.site.util.t2.T2Util; | 41 | import com.cjs.site.util.t2.T2Util; |
40 | import com.cjs.site.util.web.ActionUtil; | 42 | import com.cjs.site.util.web.ActionUtil; |
43 | +import org.springframework.transaction.TransactionDefinition; | ||
44 | +import org.springframework.transaction.TransactionStatus; | ||
41 | import org.springframework.transaction.annotation.Transactional; | 45 | import org.springframework.transaction.annotation.Transactional; |
46 | +import org.springframework.transaction.interceptor.TransactionAspectSupport; | ||
47 | +import org.springframework.transaction.support.DefaultTransactionDefinition; | ||
42 | 48 | ||
43 | /** | 49 | /** |
44 | * 提货 | 50 | * 提货 |
... | @@ -78,7 +84,9 @@ public class PickBiz { | ... | @@ -78,7 +84,9 @@ public class PickBiz { |
78 | private InventoryDao inventoryDao; | 84 | private InventoryDao inventoryDao; |
79 | @Autowired | 85 | @Autowired |
80 | private PickPackDao pickPackDao; | 86 | private PickPackDao pickPackDao; |
81 | - | 87 | + @Autowired |
88 | + @Qualifier("transactionManagerOracle") | ||
89 | + private DataSourceTransactionManager transactionManager; | ||
82 | /** | 90 | /** |
83 | * 封装费用汇总 | 91 | * 封装费用汇总 |
84 | */ | 92 | */ |
... | @@ -181,6 +189,7 @@ public class PickBiz { | ... | @@ -181,6 +189,7 @@ public class PickBiz { |
181 | /* if (resultInfo.getCode() == 0) { | 189 | /* if (resultInfo.getCode() == 0) { |
182 | return resultInfo; | 190 | return resultInfo; |
183 | }*/ | 191 | }*/ |
192 | + ResultInfo resultInfo; | ||
184 | if (pickInfo.getInsuranceType() == null) { | 193 | if (pickInfo.getInsuranceType() == null) { |
185 | return new ResultInfo(0, "请选择投保方式"); | 194 | return new ResultInfo(0, "请选择投保方式"); |
186 | } | 195 | } |
... | @@ -189,37 +198,47 @@ public class PickBiz { | ... | @@ -189,37 +198,47 @@ public class PickBiz { |
189 | return new ResultInfo(0, "投保金额不能低于1000元"); | 198 | return new ResultInfo(0, "投保金额不能低于1000元"); |
190 | } | 199 | } |
191 | } | 200 | } |
192 | - HttpSession session = ActionUtil.getRequest().getSession(); | 201 | + DefaultTransactionDefinition def = new DefaultTransactionDefinition(); |
193 | - UserAddressInfo addressInfo = userAddressDao.queryById(addressId); | 202 | + def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED); |
194 | - OutpropApplyInfo applyInfo = new OutpropApplyInfo(); | 203 | + TransactionStatus status = transactionManager.getTransaction(def); |
195 | - String pickDate = this.createPickDate(""); | 204 | + try{ |
196 | - String pack = (String) session.getAttribute("pack"); //0:普通自提;1:封装自提 | 205 | + HttpSession session = ActionUtil.getRequest().getSession(); |
197 | - | 206 | + UserAddressInfo addressInfo = userAddressDao.queryById(addressId); |
198 | - if (addressInfo == null) { | 207 | + OutpropApplyInfo applyInfo = new OutpropApplyInfo(); |
199 | - return new ResultInfo(0, "收货地址不存在"); | 208 | + String pickDate = this.createPickDate(""); |
200 | - } | 209 | + String pack = (String) session.getAttribute("pack"); //0:普通自提;1:封装自提 |
201 | - //提货详细信息 | 210 | + |
202 | - applyInfo.setPickType("02"); | 211 | + if (addressInfo == null) { |
203 | - applyInfo.setPhoneCode(addressInfo.getMobileNo()); | 212 | + return new ResultInfo(0, "收货地址不存在"); |
204 | - applyInfo.setExpressAddress(addressInfo.getAddress()); | ||
205 | - applyInfo.setPickingName(addressInfo.getUserName()); | ||
206 | - pickInfo.setPickType("2"); | ||
207 | - pickInfo.setPickDate(pickDate); | ||
208 | - | ||
209 | - //普通自提时检查是否需要合并取货单 | ||
210 | - if ("0".equals(pack)) { | ||
211 | - Map<String, Object> params = new HashMap<String, Object>(); | ||
212 | - params.put("pickingName", addressInfo.getUserName()); | ||
213 | - params.put("expressAddress", addressInfo.getAddress()); | ||
214 | - params.put("phoneCode", addressInfo.getMobileNo()); | ||
215 | - params.put("initDate", DateUtil.getNow(DateEnum.UNSIGNED_DATE)); | ||
216 | - List<OutpropApplyInfo> beforeApplys = outpropApplyDao.search(params); | ||
217 | - if (!beforeApplys.isEmpty()) { | ||
218 | - pickInfo.setPickNo(beforeApplys.get(0).getOpStation()); | ||
219 | - pickInfo.setMerge(true); | ||
220 | } | 213 | } |
214 | + //提货详细信息 | ||
215 | + applyInfo.setPickType("02"); | ||
216 | + applyInfo.setPhoneCode(addressInfo.getMobileNo()); | ||
217 | + applyInfo.setExpressAddress(addressInfo.getAddress()); | ||
218 | + applyInfo.setPickingName(addressInfo.getUserName()); | ||
219 | + pickInfo.setPickType("2"); | ||
220 | + pickInfo.setPickDate(pickDate); | ||
221 | + | ||
222 | + //普通自提时检查是否需要合并取货单 | ||
223 | + if ("0".equals(pack)) { | ||
224 | + Map<String, Object> params = new HashMap<String, Object>(); | ||
225 | + params.put("pickingName", addressInfo.getUserName()); | ||
226 | + params.put("expressAddress", addressInfo.getAddress()); | ||
227 | + params.put("phoneCode", addressInfo.getMobileNo()); | ||
228 | + params.put("initDate", DateUtil.getNow(DateEnum.UNSIGNED_DATE)); | ||
229 | + List<OutpropApplyInfo> beforeApplys = outpropApplyDao.search(params); | ||
230 | + if (!beforeApplys.isEmpty()) { | ||
231 | + pickInfo.setPickNo(beforeApplys.get(0).getOpStation()); | ||
232 | + pickInfo.setMerge(true); | ||
233 | + } | ||
234 | + } | ||
235 | + resultInfo = this.pick(pickInfo, applyInfo); | ||
236 | + transactionManager.commit(status); | ||
237 | + }catch (Exception e){ | ||
238 | + transactionManager.rollback(status); | ||
239 | + return new ResultInfo(0, "数据异常,请联系客服!"); | ||
221 | } | 240 | } |
222 | - return this.pick(pickInfo, applyInfo); | 241 | + return resultInfo; |
223 | } | 242 | } |
224 | 243 | ||
225 | /**转赵涌在线拍卖*/ | 244 | /**转赵涌在线拍卖*/ |
... | @@ -254,7 +273,6 @@ public class PickBiz { | ... | @@ -254,7 +273,6 @@ public class PickBiz { |
254 | * @return code(0:全部失败;1:成功;2:部分失败) | 273 | * @return code(0:全部失败;1:成功;2:部分失败) |
255 | */ | 274 | */ |
256 | @SuppressWarnings("unchecked") | 275 | @SuppressWarnings("unchecked") |
257 | - @Transactional | ||
258 | public ResultInfo pick(OutpropApplyPickInfo pickInfo, OutpropApplyInfo applyInfo) { | 276 | public ResultInfo pick(OutpropApplyPickInfo pickInfo, OutpropApplyInfo applyInfo) { |
259 | UserInfo user = ActionUtil.getUser(); | 277 | UserInfo user = ActionUtil.getUser(); |
260 | HttpSession session = ActionUtil.getRequest().getSession(); | 278 | HttpSession session = ActionUtil.getRequest().getSession(); | ... | ... |
... | @@ -186,6 +186,10 @@ | ... | @@ -186,6 +186,10 @@ |
186 | <property name="dataSource" ref="dataSourceMySql" /> | 186 | <property name="dataSource" ref="dataSourceMySql" /> |
187 | </bean> | 187 | </bean> |
188 | 188 | ||
189 | + <bean id="transactionManagerOracle" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> | ||
190 | + <property name="dataSource" ref="dataSourceOracle" /> | ||
191 | + </bean> | ||
192 | + | ||
189 | <tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="true" /> | 193 | <tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="true" /> |
190 | 194 | ||
191 | </beans> | 195 | </beans> | ... | ... |
-
Please register or login to post a comment