xboot-admin/test-output/test-report.html
@@ -35,7 +35,7 @@ <a href="#"><span class="badge badge-primary">XBoot</span></a> </li> <li class="m-r-10"> <a href="#"><span class="badge badge-primary">10月 27, 2020 11:47:26</span></a> <a href="#"><span class="badge badge-primary">三月 17, 2023 17:20:08</span></a> </li> </ul> </div> @@ -78,22 +78,23 @@ author="" tag="" device=""> <div class="status-avatar pass-bg"> <i class="fa fa-check text-white"></i> </div> <div class="test-detail"> <span class="meta text-white badge badge-sm"></span> <p class="name">passTest</p> <p class="text-sm"> <span>11:47:26 上午</span> / <span>00:00:007</span> <span class="badge pass-bg log float-right">Pass</span> </p> <p class="text-sm"><span>17:20:09 下午</span> / <span>0.014 secs</span></p> </div> <div class="test-contents d-none"> <div class="detail-head"> <div class="p-v-10"> <div class="info"> <div class='float-right'><span class='badge badge-default'>#test-id=1</span></div> <h5 class="test-status text-pass">passTest</h5> <span class='badge badge-success'>10.27.2020 11:47:26</span> <span class='badge badge-danger'>10.27.2020 11:47:26</span> <span class='badge badge-default'>00:00:007</span> · <span class='uri-anchor badge badge-default'>#test-id=1</span> <span class='badge badge-success'>03.17.2023 17:20:09</span> <span class='badge badge-danger'>03.17.2023 17:20:09</span> <span class='badge badge-default'>0.014 secs</span> </div> <div class="m-t-10 m-l-5"></div> </div> @@ -103,7 +104,7 @@ <tbody> <tr class="event-row"> <td><span class="badge log pass-bg">Pass</span></td> <td>上午11:47:26</td> <td>17:20:09</td> <td> Test passed </td> @@ -127,13 +128,13 @@ <div class="col-md-3"> <div class="card"><div class="card-body"> <p class="m-b-0">Started</p> <h3>10月 27, 2020 11:47:26</h3> <h3>三月 17, 2023 17:20:08</h3> </div></div> </div> <div class="col-md-3"> <div class="card"><div class="card-body"> <p class="m-b-0">Ended</p> <h3>10月 27, 2020 11:47:26</h3> <h3>三月 17, 2023 17:20:09</h3> </div></div> </div> <div class="col-md-3"> @@ -194,18 +195,6 @@ </div> </div> </div> <div class="row"><div class="col-md-12"> <div class="card"><div class="card-header"><p>Timeline</p></div> <div class="card-body pt-0"><div> <canvas id="timeline" height="120"></canvas> </div></div> </div> </div></div> <script> var timeline = { "passTest":0.007 }; </script> <div class="row"> </div> </div> xboot-core/src/main/java/cn/exrick/xboot/core/common/aop/SystemLogAspect.java
@@ -123,7 +123,7 @@ esLog.setRequestType(request.getMethod()); // 请求参数 esLog.setMapToParams(logParams); ipInfoUtil.getInfo(request, ObjectUtil.mapToStringAll(request.getParameterMap())); // ipInfoUtil.getInfo(request, ObjectUtil.mapToStringAll(request.getParameterMap())); // 请求IP esLog.setIp(ipInfoUtil.getIpAddr(request)); // IP地址 @@ -154,7 +154,7 @@ log.setRequestType(request.getMethod()); // 请求参数 log.setMapToParams(logParams); ipInfoUtil.getInfo(request, ObjectUtil.mapToStringAll(request.getParameterMap())); //ipInfoUtil.getInfo(request, ObjectUtil.mapToStringAll(request.getParameterMap())); // 请求IP log.setIp(ipInfoUtil.getIpAddr(request)); // IP地址 xboot-core/src/main/java/cn/exrick/xboot/core/config/security/jwt/AuthenticationSuccessHandler.java
@@ -66,7 +66,7 @@ for (GrantedAuthority g : authorities) { list.add(g.getAuthority()); } ipInfoUtil.getInfo(request, ""); //ipInfoUtil.getInfo(request, ""); // 登陆成功生成token String token; if (tokenProperties.getRedis()) { xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/OrderTaskController.java
@@ -26,10 +26,9 @@ import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.net.URLEncoder; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; /** * @author whj @@ -74,12 +73,34 @@ @Autowired private IOrderLogService iOrderLogService; @Autowired private IOrderTaskOriginalService iOrderTaskOriginalService; @Autowired private IOrderDetailOriginalService iOrderDetailOriginalService; @Autowired private ICustomerReceiveService iCustomerReceiveService; @RequestMapping(value = "/get/{id}", method = RequestMethod.GET) @ApiOperation(value = "通过id获取") public Result<OrderTask> get(@PathVariable String id) { OrderTask orderTask = iOrderTaskService.getById(id); return new ResultUtil<OrderTask>().setData(orderTask); } @RequestMapping(value = "/getByPage2", method = RequestMethod.GET) @ApiOperation(value = "分页获取") public Result<IPage<OrderTask>> getByPage2(PageVo page,String sendDate,String userName,String customerName,Integer status) { QueryWrapper<OrderTask> wrapper = new QueryWrapper<>(); if(StrUtil.isNotEmpty(sendDate)){ wrapper.eq("order_date",sendDate); } IPage<OrderTask> data = iOrderTaskService.page(PageUtil.initMpPage(page),wrapper); return new ResultUtil<IPage<OrderTask>>().setData(data); } // public Area getArea(String userId){ @@ -111,6 +132,20 @@ return sendTime; } else { return DateUtil.format(new Date(), "yyyy-MM-dd"); } } private Date getDate(String sendTime){ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); if (StrUtil.isNotEmpty(sendTime)) { return new Date(); } else { try { return format.parse(sendTime); } catch (ParseException e) { e.printStackTrace(); return new Date(); } } } @@ -398,6 +433,163 @@ return ResultUtil.success("批量通过id删除数据成功"); } @RequestMapping(value = "/insertOrders", method = RequestMethod.GET) @ApiOperation(value = "解析订单") public Result<Object> insertOrders(String sendTime) { String formatDate = getFormatDate(sendTime); QueryWrapper<OrderTask> wrapper2 = new QueryWrapper<OrderTask>(); wrapper2.eq("order_date", formatDate); List<OrderTask> list = iOrderTaskService.list(wrapper2); if(list.size() > 0){ return ResultUtil.error("已存在今日数据"); }else { QueryWrapper<OrderTaskOriginal> queryWrapper = new QueryWrapper<>(); queryWrapper.between("order_date",dateStringFormat(getDate(sendTime)),dateStringFormat2(getDate(sendTime))); List<OrderTaskOriginal> originals = iOrderTaskOriginalService.list(queryWrapper); int sumNum = 0; for(OrderTaskOriginal original:originals){ try { OrderTask orderTask = new OrderTask(); orderTask.setCode(original.getCode()); Area area = getArea2(original.getAreaName()); orderTask.setAreaId(area.getId()); orderTask.setCarId(area.getCarId()); orderTask.setAreaSectionId(getAreaSection(orderTask.getAreaId(),original.getAreaSection())); Customer customer = getCustomer(original.getCustomerCode(), original.getCustomerName(), original.getCustomerPhone(), original.getLinker(), orderTask.getAreaId(), orderTask.getAreaSectionId()); orderTask.setCustomerId(customer.getId()); orderTask.setCustomerName(customer.getName()); orderTask.setLinker(customer.getLinker()); orderTask.setEndDate(original.getPacketDate()); //orderTask.setSendDate(original.getSendDate()); orderTask.setSendDate(DateUtil.offsetDay(original.getOrderDate(),1)); orderTask.setOrderDate(original.getOrderDate()); if(original.getSeq()!=null){ orderTask.setSeq(original.getSeq()); }else{ orderTask.setSeq(999); } orderTask.setNum(original.getNum()); sumNum+=original.getNum(); iOrderTaskService.saveOrUpdate(orderTask); updateCustomerRecive(orderTask.getCustomerId(),original.getLinker(),original.getCustomerPhone()); QueryWrapper<OrderDetailOriginal> wrapper = new QueryWrapper<>(); wrapper.eq("order_id",original.getId()); List<OrderDetailOriginal> list1 = iOrderDetailOriginalService.list(wrapper); List<OrderDetail> detailList = new ArrayList<>(); for(OrderDetailOriginal o:list1){ OrderDetail orderDetail = new OrderDetail(); orderDetail.setNum(o.getNum()); orderDetail.setOrderId(orderTask.getId()); orderDetail.setProduct(o.getProductName()); detailList.add(orderDetail); } iOrderDetailService.saveBatch(detailList); }catch (Exception e){ System.out.println("报错了"); } } OrderLog orderLog = new OrderLog(); orderLog.setNum(sumNum); orderLog.setType(0); iOrderLogService.save(orderLog); System.out.println("处理订单结束"); return ResultUtil.success("导入成功"); } } public void updateCustomerRecive(String customerId,String linker,String phone){ QueryWrapper<CustomerReceive> wrapper = new QueryWrapper<>(); wrapper.eq("customer_id",customerId); wrapper.eq("name",linker); List<CustomerReceive> list = iCustomerReceiveService.list(wrapper); if(list.size()==0){ CustomerReceive one = new CustomerReceive(); one.setCustomerId(customerId); one.setFstatus(0); one.setStatus(1); one.setName(linker); one.setPhone(phone); iCustomerReceiveService.saveOrUpdate(one); } } public Customer getCustomer(String customerCode,String customerName,String customerPhone,String linker,String areaId,String areaSectionId){ QueryWrapper<Customer> queryWrapper = new QueryWrapper<>(); queryWrapper.eq("licence",customerCode); Customer one = iCustomerService.getOne(queryWrapper); if(one==null){ Customer customer = new Customer(); customer.setLicence(customerCode); customer.setName(customerName); customer.setPhone(customerPhone); customer.setLinker(linker); customer.setAreaId(areaId); customer.setAreaSectionId(areaSectionId); customer.setKstatus(1); iCustomerService.saveOrUpdate(customer); return customer; } one.setAreaId(areaId); one.setAreaSectionId(areaSectionId); iCustomerService.saveOrUpdate(one); return one; } public Area getArea2(String name){ QueryWrapper<Area> queryWrapper = new QueryWrapper<>(); queryWrapper.eq("name",name); Area one = iAreaService.getOne(queryWrapper); if(one==null){ Area area = new Area(); area.setName(name); iAreaService.saveOrUpdate(area); return area; } return one; } public String getAreaSection(String areaId,String name){ QueryWrapper<AreaSection> queryWrapper = new QueryWrapper<>(); queryWrapper.eq("name",name); queryWrapper.eq("area_id",areaId); AreaSection one = iAreaSectionService.getOne(queryWrapper); if(one==null){ AreaSection area = new AreaSection(); area.setName(name); area.setAreaId(areaId); iAreaSectionService.saveOrUpdate(area); return area.getId(); } return one.getId(); } public String dateStringFormat(Date strDate) { if (strDate == null) return ""; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); return sdf.format(strDate)+" 00:00:00"; } public String dateStringFormat2(Date strDate) { if (strDate == null) return ""; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); return sdf.format(strDate)+" 23:59:59"; } @GetMapping("/outExcel")// 导出的不是中间表 @ApiOperation(value = "导出签收统计信息表", notes = "导出签收统计信息表") public void export1(OrderStatusCount orderStatusCount, HttpServletResponse response) throws IOException { xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/wx/TaskController.java
@@ -1,33 +1,28 @@ package cn.exrick.xboot.your.controller.wx; import cn.exrick.xboot.core.common.utils.ObjectUtil; import cn.exrick.xboot.core.common.utils.ResultUtil; import cn.exrick.xboot.your.entity.OrderStatusCount; import cn.exrick.xboot.your.entity.SignCount; import cn.exrick.xboot.your.entity.Suggest; import cn.exrick.xboot.your.service.IOrderTaskService; import cn.exrick.xboot.your.service.ISignCountService; import lombok.AllArgsConstructor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Configuration; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import org.springframework.util.CollectionUtils; import org.springframework.util.StringUtils; import javax.rmi.CORBA.Util; import java.text.ParseException; import java.text.SimpleDateFormat; import java.time.LocalDateTime; import java.util.Calendar; import java.util.Date; import java.util.List; import java.util.UUID; @Component @Configuration //1.主要用于标记配置类,兼备Component的效果。 @EnableScheduling //@Configuration //1.主要用于标记配置类,兼备Component的效果。 //@EnableScheduling @AllArgsConstructor public class TaskController { private IOrderTaskService iOrderTaskService; @@ -37,7 +32,7 @@ // @Scheduled(cron = "0/5 * * * * ?") // @Scheduled(cron = "0 */1 * * * ?") // @Scheduled(cron = "0 0 2 * * ?")//每天凌晨两点执行一次 @Scheduled(cron = " 0 0 */1 * * ?")//每小时执行一次 //@Scheduled(cron = " 0 30 2 * * ?")//每天2.30执行一次 //或直接指定时间间隔,例如:5秒 //@Scheduled(fixedRate=5000) private void configureTasks() { @@ -111,4 +106,4 @@ } return times; } } } xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/schedulings/OrderSynScheduleImpl.java
@@ -1,6 +1,7 @@ package cn.exrick.xboot.your.schedulings; import cn.exrick.xboot.your.entity.*; import cn.exrick.xboot.your.service.*; import cn.hutool.core.date.DateUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Scheduled; @@ -42,7 +43,7 @@ @Autowired private IOrderLogService iOrderLogService; @Scheduled(cron="0 30 23 * * ?")//每晚凌晨1点执行 @Scheduled(cron="0 40 15 * * ?")//每晚凌晨1点执行 //@Scheduled(cron="0 11 15 * * ?")//每晚凌晨1点执行 public void execute(){ System.out.println("开始处理订单"); @@ -64,7 +65,8 @@ orderTask.setCustomerName(customer.getName()); orderTask.setLinker(customer.getLinker()); orderTask.setEndDate(original.getPacketDate()); orderTask.setSendDate(original.getSendDate()); //orderTask.setSendDate(original.getSendDate()); orderTask.setSendDate(DateUtil.offsetDay(original.getOrderDate(),1)); orderTask.setOrderDate(original.getOrderDate()); if(original.getSeq()!=null){ orderTask.setSeq(original.getSeq());