发表于: 2018-03-26 20:31:41

1 372


今日完成

1.更换用户默认银行卡接口

/**
* 前台:更换默认银行卡
*
* @param model
* @param id
* @return
* @throws Exception
*/
@RequestMapping(value = "/a/u/userBank/{id}", method = RequestMethod.PUT, produces = "text/html;charset=UTF-8")
@ResponseBody

public String updateUserBankJson(@PathVariable("id") Long id, ModelMap model, Long userBankId) throws Exception {
log.info("update userBank : userBankId= " + userBankId);
   JSONObject a = new JSONObject();
   if (CommonUtil.isEmpty(id, userBankId)) {
a.put("code", -200000);
       a.put("message", "necessary param missing");
       return a.toString();
   }
try {
List<Long> userBankIds = userBankService.getUserBankIdsByUserId(id, 0, Integer.MAX_VALUE);
       List<UserBank> userBanks = userBankService.getObjectsByIds(userBankIds);
       for (UserBank bank : userBanks) {
bank.setFirst(0);
           if (bank.getId().equals(userBankId)) {
bank.setFirst(1);
           }
}
Boolean flag = userBankService.updateList(userBanks);
       if (flag) {
a.put("code", 0);
           a.put("message", "success");
       }
} catch (Throwable t) {
t.printStackTrace();
       log.error(t.getMessage());
       log.error("update userBank error,id is  " + userBankId);
       a.put("code", -100000);
       a.put("message", "Server has something wrong");
   }
return a.toString();
}

2.用户添加银行卡

/**
* 前台:用户添加银行卡
*(只能绑定两张)
* @param model
* @param id 用户id
* @return
* @throws Exception
*/
@RequestMapping(value = "/a/u/userBank/{id}", method = RequestMethod.POST)
public String addUserBankJson(@PathVariable("id") Long id, ModelMap model, String city, String bankName, String cardNo, String bankPhone, Long bankListId) throws Exception {

log.info("insert userBank : userId= " + id + " bankname= " + bankName + " cardNo= " + cardNo);
   UserBank userBank = new UserBank();
   if (CommonUtil.isEmpty(id, cardNo, city, bankName, bankPhone)) {
model.addAttribute("code", -200000);
       return "/polyFinance-lgd-server/userBank/json/userBankDetailJson";
   }
try {
userBank.setId(null);
       userBank.setUserId(id);
       userBank.setCardNo(cardNo);
       userBank.setBankName(bankName);
       userBank.setCity(city);
       userBank.setBankPhone(bankPhone);
       userBank.setCreateBy(id);
       userBank.setBankListId(bankListId);
       List<Long> ids = userBankService.getUserBankIdsByUserId(id, 0, Integer.MAX_VALUE);
       if (ids.size() == 0) {
userBank.setFirst(1);
       } else if (ids.size() == 2) {
model.addAttribute("code", -3001);
           return "/polyFinance-lgd-server/userBank/json/userBankDetailJson";
       }
userBankService.insert(userBank);
       model.addAttribute("code", 0);
       
   } catch (Throwable t) {
t.printStackTrace();
       log.error(t.getMessage());
       log.error("add userBank error ");
       model.addAttribute("code", -100000);
   }

return "/polyFinance-lgd-server/userBank/json/userBankDetailJson";
}

3.后台:解绑银行卡

/**
* 后台:解绑用户银行卡
* @param model
* @param id         用户id
* @param userBankId 用户银行卡id
* @return
* @throws Exception
*/
@RequestMapping(value = "/a/u/userBank/{id}/{userBankId}", method = RequestMethod.DELETE, produces = "text/html;charset=UTF-8")
@ResponseBody
public String deleteUserBankJson(ModelMap model, @PathVariable Long id, @PathVariable Long userBankId) throws Exception {

log.info("delete userBank : id= " + id + " ;userBankId + " + userBankId);
   JSONObject a = new JSONObject();
   if (CommonUtil.isEmpty(id, userBankId)) {
a.put("code", -200000);
       a.put("message", "necessary param missing");
       return a.toString();
   }

try {
List<Long> ids = userBankService.getUserBankIdsByUserId(id, 0, Integer.MAX_VALUE);
       List<UserBank> userBanks = userBankService.getObjectsByIds(ids);
       for (UserBank bank : userBanks) {
bank.setFirst(1);
           if (bank.getId().equals(userBankId)) {
bank.setFirst(0);
           }
}
userBankService.updateList(userBanks);
       userBankService.delete(userBankId);
       
       log.info("update userBank success");
       a.put("code", 0);
       a.put("message", "success");
       
       
   } catch (Throwable t) {
t.printStackTrace();
       log.error(t.getMessage());
       log.error("delete userBank error ,  id= " + id + " ;userBankId + " + userBankId);
       model.addAttribute("code", -6004);
   }

return a.toString();
}

4.了解了一下spring事务的使用方法

先实现,再研究一些理论知识。

(1)基于注解方式的事务管理

mybatis,jdbc 使用DataSourceTransactionManager的事务管理器,将数据源注入

<bean id="transactionManager1" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
   <property name="dataSource" ref="dataSource"/>
</bean>

   <tx:annotation-driven transaction-manager="transactionManager1"/>
</beans>

 第二步,在需要进行事务管理的类或者方法上加上@Transactional标签,相应的属性也配置在其中。

    
@Autowired
   StudentMapper studentMapper;
   @Transactional
   public void update() {
Student a = new Student();
       a.setId(1);
       a.setName("9");
       System.out.println(studentMapper.updateStudentById(a));
//        int aaa = 1 / 0;
       Student b = new Student();
       b.setId(2);
       b.setName("10");
       System.out.println(studentMapper.updateStudentById(b));
   }
}

如果在两次更新过程中出现了异常,那么将进行回滚。

遇到问题

1.公司封装的框架还没搞清楚怎么使用事务。

明日计划

1.支付接口的完成。

收获

1.了解事务的原理



返回列表 返回列表
评论

    分享到