PickUpCodeController.java 6.8 KB

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