TbBusinessController.java 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200
  1. package com.pj.project.tb_business;
  2. import java.util.Date;
  3. import java.util.List;
  4. import cn.dev33.satoken.stp.StpUtil;
  5. import cn.hutool.core.util.StrUtil;
  6. import com.pj.constants.UserTypeEnum;
  7. import com.pj.project.tb_business_item.TbBusinessItem;
  8. import com.pj.project.tb_business_item.TbBusinessItemService;
  9. import com.pj.project.tb_pass_record.TbPassRecord;
  10. import com.pj.project.tb_pass_record.TbPassRecordService;
  11. import com.pj.utils.so.SoMap;
  12. import org.springframework.beans.factory.annotation.Autowired;
  13. import org.springframework.transaction.annotation.Transactional;
  14. import org.springframework.web.bind.annotation.*;
  15. import com.pj.utils.sg.*;
  16. import com.pj.project4sp.SP;
  17. import com.pj.current.satoken.StpUserUtil;
  18. import cn.dev33.satoken.annotation.SaCheckPermission;
  19. import javax.annotation.Resource;
  20. /**
  21. * Controller: tb_business -- 入境登记
  22. * @author qzy
  23. */
  24. @RestController
  25. @RequestMapping("/TbBusiness/")
  26. public class TbBusinessController {
  27. /** 底层 Service 对象 */
  28. @Autowired
  29. TbBusinessService tbBusinessService;
  30. @Resource
  31. private TbBusinessItemService tbBusinessItemService;
  32. @Resource
  33. private TbPassRecordService tbPassRecordService;
  34. /** 增 */
  35. @RequestMapping("add")
  36. @SaCheckPermission(TbBusiness.PERMISSION_CODE)
  37. @Transactional(rollbackFor = Exception.class)
  38. public AjaxJson add(TbBusiness t){
  39. return tbBusinessService.addOrUpdate(t);
  40. }
  41. /** 删 */
  42. @RequestMapping("delete")
  43. @SaCheckPermission(TbBusiness.PERMISSION_INPUT)
  44. @Transactional(rollbackFor = Exception.class)
  45. public AjaxJson delete(String id){
  46. tbBusinessService.removeById(id);
  47. tbBusinessItemService.removeByBusinessId(id);
  48. return AjaxJson.getSuccess();
  49. }
  50. /** 删 - 根据id列表 */
  51. @RequestMapping("deleteByIds")
  52. @SaCheckPermission(TbBusiness.PERMISSION_CODE)
  53. @Transactional(rollbackFor = Exception.class)
  54. public AjaxJson deleteByIds(){
  55. List<Long> ids = SoMap.getRequestSoMap().getListByComma("ids", long.class);
  56. ids.forEach(id->{
  57. tbBusinessItemService.removeByBusinessId(id+"");
  58. });
  59. int line = SP.publicMapper.deleteByIds(TbBusiness.TABLE_NAME, ids);
  60. return AjaxJson.getByLine(line);
  61. }
  62. /** 改 */
  63. @RequestMapping("update")
  64. @SaCheckPermission(TbBusiness.PERMISSION_CODE)
  65. public AjaxJson update(TbBusiness t){
  66. tbBusinessService.addOrUpdate(t);
  67. return AjaxJson.getSuccess();
  68. }
  69. /** 确认业务 */
  70. @RequestMapping("confirm")
  71. @Transactional(rollbackFor = Exception.class)
  72. public AjaxJson confirm(){
  73. if (!StpUtil.hasPermissionAnd(TbBusiness.PERMISSION_CONFIRM)&&!
  74. StrUtil.equals(StpUserUtil.getCustomerId(), UserTypeEnum.PLATFORM_ADMIN.getCustomerId())) {
  75. return AjaxJson.getError("无确认业务权限");
  76. }
  77. SoMap so = SoMap.getRequestSoMap();
  78. List<String>ids=so.getListByComma("ids",String.class);
  79. tbBusinessService.confirm(ids);
  80. return AjaxJson.getSuccess();
  81. }
  82. /** 确认业务 */
  83. @RequestMapping("adminConfirmPay")
  84. @Transactional(rollbackFor = Exception.class)
  85. public AjaxJson adminConfirmPay(){
  86. if (!StrUtil.equals(StpUserUtil.getCustomerId(), UserTypeEnum.PLATFORM_ADMIN.getCustomerId())) {
  87. return AjaxJson.getError("无确认支付权限");
  88. }
  89. SoMap so = SoMap.getRequestSoMap();
  90. List<String>ids=so.getListByComma("ids",String.class);
  91. String ticket=so.getString("payTicket");
  92. tbBusinessService.adminConfirmPay(ids,ticket);
  93. return AjaxJson.getSuccess();
  94. }
  95. /** 手动入场确认 */
  96. @RequestMapping("adminConfirmIn")
  97. @Transactional(rollbackFor = Exception.class)
  98. public AjaxJson adminConfirmIn(){
  99. if (!StrUtil.equals(StpUserUtil.getCustomerId(), UserTypeEnum.PLATFORM_ADMIN.getCustomerId())) {
  100. return AjaxJson.getError("无确认入场权限");
  101. }
  102. SoMap so = SoMap.getRequestSoMap();
  103. String id=so.getString("id");
  104. String inChannel=so.getString("inChannel");
  105. tbBusinessService.adminConfirmIn(id,inChannel);
  106. return AjaxJson.getSuccess();
  107. }
  108. /** 查 - 根据id */
  109. @RequestMapping("getById")
  110. public AjaxJson getById(String id){
  111. TbBusiness t = tbBusinessService.getById(id);
  112. List<TbBusinessItem>items=tbBusinessItemService.findByBusinessId(id);
  113. t.setItems(items);
  114. return AjaxJson.getSuccessData(t);
  115. }
  116. /** 查集合 - 根据条件(参数为空时代表忽略指定条件) */
  117. @RequestMapping("getList")
  118. public AjaxJson getList() {
  119. SoMap so = SoMap.getRequestSoMap();
  120. String currentCustomerId=StpUserUtil.getCustomerId();
  121. if (!currentCustomerId.equals(UserTypeEnum.PLATFORM_ADMIN.getCustomerId())) {
  122. so.put("customerId",currentCustomerId);
  123. }
  124. List<TbBusiness> list = tbBusinessService.getList(so.startPage());
  125. return AjaxJson.getPageData(so.getDataCount(), list);
  126. }
  127. /** 改 */
  128. @RequestMapping("pay")
  129. public AjaxJson pay(){
  130. if (!StpUtil.hasPermissionAnd("tb-business-pay")&&!
  131. StrUtil.equals(StpUserUtil.getCustomerId(), UserTypeEnum.PLATFORM_ADMIN.getCustomerId())) {
  132. return AjaxJson.getError("无支付权限");
  133. }
  134. SoMap so = SoMap.getRequestSoMap();
  135. String id=so.getString("id");
  136. String payTicket=so.getString("payTicket");
  137. tbBusinessService.pay(id,payTicket);
  138. return AjaxJson.getSuccess();
  139. }
  140. @RequestMapping("adminSetIn")
  141. public AjaxJson adminSetIn(){
  142. if (!StrUtil.equals(StpUserUtil.getCustomerId(), UserTypeEnum.PLATFORM_ADMIN.getCustomerId())) {
  143. return AjaxJson.getError("无入场权限");
  144. }
  145. SoMap so = SoMap.getRequestSoMap();
  146. String id=so.getString("id");
  147. Date inTime=so.getDateTime("realInTime");
  148. TbBusiness tbBusiness=tbBusinessService.getById(id);
  149. tbBusiness.setRealInTime(inTime).setInChannel(so.getString("inChannel"));
  150. tbBusinessService.updateById(tbBusiness);
  151. //更新放行记录
  152. TbPassRecord record = tbPassRecordService.getByBusinessId(tbBusiness.getId());
  153. record.setStatus(2).setInTime(tbBusiness.getRealInTime()).setUpdateTime(new Date());
  154. tbPassRecordService.saveOrUpdate(record);
  155. return AjaxJson.getSuccess();
  156. }
  157. @RequestMapping("adminOut")
  158. public AjaxJson adminOut()throws Exception{
  159. if (!StrUtil.equals(StpUserUtil.getCustomerId(), UserTypeEnum.PLATFORM_ADMIN.getCustomerId())) {
  160. return AjaxJson.getError("无离场权限");
  161. }
  162. SoMap so = SoMap.getRequestSoMap();
  163. String id=so.getString("id");
  164. tbBusinessService.adminOut(id,so.getDateTime("outDayTime"),so.getString("outChannel"));
  165. return AjaxJson.getSuccess();
  166. }
  167. // ------------------------- 前端接口 -------------------------
  168. }