TRechargeController.java 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. package com.ylx.web.controller.massage;
  2. import com.ylx.common.core.domain.R;
  3. import com.ylx.common.exception.ServiceException;
  4. import com.ylx.massage.domain.TRecharge;
  5. import com.ylx.massage.service.TRechargeService;
  6. import io.swagger.annotations.Api;
  7. import io.swagger.annotations.ApiOperation;
  8. import lombok.extern.slf4j.Slf4j;
  9. import org.redisson.api.RLock;
  10. import org.redisson.api.RedissonClient;
  11. import org.springframework.web.bind.annotation.RequestBody;
  12. import org.springframework.web.bind.annotation.RequestMapping;
  13. import org.springframework.web.bind.annotation.RequestMethod;
  14. import org.springframework.web.bind.annotation.RestController;
  15. import javax.annotation.Resource;
  16. /**
  17. * 充值记录表 前端控制器
  18. */
  19. @RestController
  20. @Slf4j
  21. @Api(tags = {"充值记录"})
  22. @RequestMapping("api/recharge/v1")
  23. public class TRechargeController {
  24. @Resource
  25. private TRechargeService rechargeService;
  26. @Resource
  27. private RedissonClient redissonClient;
  28. @ApiOperation("微信充值")
  29. @RequestMapping(value = "wx/add", method = RequestMethod.POST)
  30. private R add(@RequestBody TRecharge recharge) {
  31. try {
  32. return R.ok(rechargeService.recharge(recharge));
  33. } catch (ServiceException s) {
  34. log.error(s.getMessage());
  35. return R.fail(s.getMessage());
  36. } catch (Exception e) {
  37. log.error(e.getMessage());
  38. return R.fail("系统异常");
  39. }
  40. }
  41. @ApiOperation("微信充值")
  42. @RequestMapping(value = "test", method = RequestMethod.POST)
  43. private R test(@RequestBody TRecharge recharge) {
  44. RLock lock = redissonClient.getLock("lock"+recharge.getRechargeNo());
  45. try {
  46. if(!lock.tryLock()){
  47. return R.ok("当前单号正在操作");
  48. }else {
  49. Thread.sleep(10000);
  50. return R.ok("好");
  51. }
  52. } catch (ServiceException s) {
  53. log.error(s.getMessage());
  54. return R.fail(s.getMessage());
  55. } catch (Exception e) {
  56. log.error(e.getMessage());
  57. return R.fail("系统异常");
  58. } finally {
  59. if(lock.isLocked() && lock.isHeldByCurrentThread()) {
  60. lock.unlock();
  61. }
  62. }
  63. }
  64. }