PickUpCodeController.java 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218
  1. package com.kmall.admin.controller;
  2. import java.text.DateFormat;
  3. import java.text.SimpleDateFormat;
  4. import java.util.Date;
  5. import java.util.List;
  6. import java.util.Map;
  7. import java.util.Objects;
  8. import java.util.regex.Matcher;
  9. import java.util.regex.Pattern;
  10. import com.kmall.admin.entity.PickUpCodeEntity;
  11. import com.kmall.admin.service.PickUpCodeService;
  12. import com.kmall.admin.utils.ParamUtils;
  13. import com.kmall.admin.utils.SessionUtils;
  14. import com.kmall.admin.utils.ShiroUtils;
  15. import com.kmall.common.utils.PageUtils;
  16. import com.kmall.common.utils.Query;
  17. import com.kmall.common.utils.R;
  18. import org.apache.commons.lang.StringUtils;
  19. import org.apache.shiro.authz.annotation.RequiresPermissions;
  20. import org.springframework.beans.factory.annotation.Autowired;
  21. import org.springframework.stereotype.Controller;
  22. import org.springframework.web.bind.annotation.*;
  23. /**
  24. * 取货码信息表Controller
  25. *
  26. * @author emato
  27. * @email admin@qhdswl.com
  28. * @date 2020-05-19 09:11:26
  29. */
  30. @Controller
  31. @RequestMapping("pickupcode")
  32. public class PickUpCodeController {
  33. @Autowired
  34. private PickUpCodeService pickUpCodeService;
  35. /**
  36. * 查看列表
  37. */
  38. @RequestMapping("/list")
  39. @RequiresPermissions("pickupcode:list")
  40. @ResponseBody
  41. public R list(@RequestParam Map<String, Object> params) {
  42. ParamUtils.setName(params, "name");
  43. String name = (String)params.get("name");
  44. if(org.apache.commons.lang3.StringUtils.isNotEmpty(name)){
  45. params.put("orderSn", name);
  46. }
  47. //查询列表数据
  48. Query query = new Query(params);
  49. List<PickUpCodeEntity> pickUpCodeList = pickUpCodeService.queryList(query);
  50. int total = pickUpCodeService.queryTotal(query);
  51. PageUtils pageUtil = new PageUtils(pickUpCodeList, total, query.getLimit(), query.getPage());
  52. return R.ok().put("page", pageUtil);
  53. }
  54. @RequestMapping("/queryByPickTime")
  55. @RequiresPermissions("pickupcode:list")
  56. @ResponseBody
  57. public R queryByPickTime(@RequestParam Map<String, Object> params) {
  58. String pickTime = (String)params.get("pickTime");
  59. //有日期检查格式,没有生成当天日期
  60. if (org.apache.commons.lang3.StringUtils.isNotEmpty(pickTime)){
  61. try{
  62. String regEx = "\\d{4}(\\-)\\d{2}\\1\\d{2}";
  63. // 编译正则表达式
  64. Pattern pattern = Pattern.compile(regEx);
  65. Matcher matcher = pattern.matcher(pickTime);
  66. // 字符串是否与正则表达式相匹配
  67. boolean rs = matcher.matches();
  68. if (!rs){
  69. throw new Exception();
  70. }
  71. }catch(Exception e){
  72. return R.error("传入日期格式错误,请修改日期格式为'yyyy-MM-dd'!");
  73. }
  74. } else {
  75. DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
  76. pickTime = formatter.format(new Date());
  77. }
  78. params.put("pickUpCodeCreatetime", pickTime);
  79. //查询列表数据
  80. Query query = new Query(params);
  81. List<PickUpCodeEntity> pickUpCodeList = pickUpCodeService.queryList(query);
  82. int total = pickUpCodeService.queryTotal(query);
  83. PageUtils pageUtil = new PageUtils(pickUpCodeList, total, query.getLimit(), query.getPage());
  84. return R.ok().put("page", pageUtil);
  85. }
  86. /**
  87. * 查看信息
  88. */
  89. @RequestMapping("/info/{orderSn}")
  90. @RequiresPermissions("pickupcode:info")
  91. @ResponseBody
  92. public R info(@PathVariable("orderSn") String orderSn) {
  93. PickUpCodeEntity pickUpCode = pickUpCodeService.queryObject(orderSn);
  94. return R.ok().put("pickUpCode", pickUpCode);
  95. }
  96. /**
  97. * 生成取货码
  98. */
  99. @RequestMapping("/save")
  100. @RequiresPermissions("pickupcode:save")
  101. @ResponseBody
  102. public R save(@RequestBody PickUpCodeEntity pickUpCode) {
  103. if(org.apache.commons.lang3.StringUtils.isEmpty(pickUpCode.getOrderSn())){
  104. return R.error("订单编号为空!");
  105. }
  106. int result = pickUpCodeService.save(pickUpCode);
  107. if (result <= 0 ){
  108. return R.error("生成取货码失败!");
  109. }
  110. return R.ok().put("pickUpCode",pickUpCode );
  111. }
  112. /**
  113. * 取货码核销
  114. */
  115. @RequestMapping("/verification")
  116. @RequiresPermissions("pickupcode:update")
  117. @ResponseBody
  118. public R Verification(@RequestBody PickUpCodeEntity pickUpCode) {
  119. if(org.apache.commons.lang3.StringUtils.isEmpty(pickUpCode.getOrderSn())){
  120. return R.error("订单编号为空!");
  121. }
  122. String status = pickUpCodeService.queryPickUpCodeStatus(pickUpCode.getOrderSn());
  123. if(status.equals("1")){
  124. return R.error("取货码已核销过!");
  125. }
  126. pickUpCode.setPickUpCodeStatus("1");
  127. if (pickUpCode.getPickUpCodeCreatetime()==null){
  128. SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
  129. pickUpCode.setPickUpCodeVerificationtime(df.format(new Date()));// new Date()为获取当前系统时间
  130. }
  131. pickUpCode.setModerSn(ShiroUtils.getUserEntity().getUserId().toString());
  132. pickUpCode.setModTime(new Date());
  133. int result = pickUpCodeService.update(pickUpCode);
  134. if (result <= 0 ){
  135. return R.error("取货码核销失败!");
  136. }
  137. PickUpCodeEntity pickUpCodeEntity = pickUpCodeService.queryObject(pickUpCode.getOrderSn());
  138. return R.ok().put("pickUpCode",pickUpCodeEntity );
  139. }
  140. /**
  141. * 确认提货
  142. * @param orderSn
  143. * @return
  144. */
  145. @RequestMapping("/confirmDelivery/{orderSn}")
  146. public R confirmDelivery(@PathVariable("orderSn") String orderSn){
  147. if(StringUtils.isEmpty(orderSn)){
  148. return R.error("订单编号为空!");
  149. }
  150. PickUpCodeEntity pickUpCodeEntity = pickUpCodeService.queryObject(orderSn);
  151. if(Objects.isNull(pickUpCodeEntity)){
  152. return R.error("没有查找到该订单!");
  153. }
  154. if(!"1".equals(pickUpCodeEntity.getPickUpCodeStatus())){
  155. return R.error("该订单还不能提货!");
  156. }
  157. pickUpCodeEntity.setPickUpCodeStatus("5");
  158. pickUpCodeEntity.setModerSn(String.valueOf(ShiroUtils.getUserId()));
  159. pickUpCodeEntity.setModTime(new Date());
  160. pickUpCodeService.update(pickUpCodeEntity);
  161. return R.ok("提货成功!");
  162. }
  163. /**
  164. * 删除
  165. */
  166. @RequestMapping("/delete")
  167. @RequiresPermissions("pickupcode:delete")
  168. @ResponseBody
  169. public R delete(@RequestBody String[]orderSns) {
  170. int result = pickUpCodeService.deleteBatch(orderSns);
  171. return R.ok().put("result", result);
  172. }
  173. /**
  174. * 查看所有列表
  175. */
  176. @RequestMapping("/queryAll")
  177. @ResponseBody
  178. public R queryAll(@RequestParam Map<String, Object> params) {
  179. List<PickUpCodeEntity> list = pickUpCodeService.queryList(params);
  180. return R.ok().put("list", list);
  181. }
  182. }