From fb53a9997de491c3d0a30ed333a6bd3b24877b82 Mon Sep 17 00:00:00 2001 From: wang-hao-jie <1550036656@qq.com> Date: 星期一, 27 十二月 2021 11:43:58 +0800 Subject: [PATCH] 违章记录 --- xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/entity/OrderDetailOriginal.java | 40 ++ xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/serviceimpl/IOrderDetailOriginalServiceImpl.java | 26 + xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/entity/OrderTaskOriginal.java | 64 +++ xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/OrderDetailOriginalController.java | 77 ++++ xboot-modules/xboot-your/src/main/resources/mapper/OrderDetailOriginalMapper.xml | 5 xboot-modules/xboot-file/src/main/java/cn/exrick/xboot/file/manage/impl/LocalFileManage.java | 3 xboot-modules/xboot-your/src/main/resources/mapper/OrderTaskOriginalMapper.xml | 5 xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/entity/Alarm.java | 3 xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/service/IOrderDetailOriginalService.java | 14 xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/schedulings/StatisticScheduleImpl.java | 2 xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/schedulings/StatisticPc2ScheduleImpl.java | 2 xboot-admin/pom.xml | 3 xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/service/IOrderTaskOriginalService.java | 14 xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/util/FaceSystem.java | 127 ++++++ xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/mapper/OrderTaskOriginalMapper.java | 14 xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/serviceimpl/IOrderTaskOriginalServiceImpl.java | 26 + xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/entity/OrderDetail.java | 2 xboot-modules/xboot-your/pom.xml | 7 xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/schedulings/OrderSynScheduleImpl.java | 175 +++++++++ xboot-modules/xboot-file/src/main/java/cn/exrick/xboot/file/manage/FileManage.java | 1 xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/mapper/OrderDetailOriginalMapper.java | 14 xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/OrderTaskOriginalController.java | 77 ++++ xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/wx/IndexController.java | 102 +++++ xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/orderSyn/OrderSynController.java | 43 ++ xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/util/HttpUtil.java | 121 ++++++ xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/face/FaceImgController.java | 161 ++++++++ xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/schedulings/StatisticPcScheduleImpl.java | 2 27 files changed, 1,122 insertions(+), 8 deletions(-) diff --git a/xboot-admin/pom.xml b/xboot-admin/pom.xml index 7aea03e..dc86bc1 100644 --- a/xboot-admin/pom.xml +++ b/xboot-admin/pom.xml @@ -82,6 +82,9 @@ </goals> </execution> </executions> + <configuration> + <includeSystemScope>true</includeSystemScope> + </configuration> </plugin> </plugins> </build> diff --git a/xboot-modules/xboot-file/src/main/java/cn/exrick/xboot/file/manage/FileManage.java b/xboot-modules/xboot-file/src/main/java/cn/exrick/xboot/file/manage/FileManage.java index b8add9f..6462eea 100644 --- a/xboot-modules/xboot-file/src/main/java/cn/exrick/xboot/file/manage/FileManage.java +++ b/xboot-modules/xboot-file/src/main/java/cn/exrick/xboot/file/manage/FileManage.java @@ -3,6 +3,7 @@ import cn.exrick.xboot.core.vo.OssSetting; import org.springframework.web.multipart.MultipartFile; +import javax.servlet.http.Part; import java.io.InputStream; /** diff --git a/xboot-modules/xboot-file/src/main/java/cn/exrick/xboot/file/manage/impl/LocalFileManage.java b/xboot-modules/xboot-file/src/main/java/cn/exrick/xboot/file/manage/impl/LocalFileManage.java index 5913343..19a64b7 100644 --- a/xboot-modules/xboot-file/src/main/java/cn/exrick/xboot/file/manage/impl/LocalFileManage.java +++ b/xboot-modules/xboot-file/src/main/java/cn/exrick/xboot/file/manage/impl/LocalFileManage.java @@ -17,6 +17,7 @@ import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.Part; import java.io.*; /** @@ -60,7 +61,7 @@ if (f.exists()) { throw new XbootException("鏂囦欢鍚嶅凡瀛樺湪"); } - try { + try{ file.transferTo(f); return path + "/" + key; } catch (IOException e) { diff --git a/xboot-modules/xboot-your/pom.xml b/xboot-modules/xboot-your/pom.xml index 4714278..24826c6 100644 --- a/xboot-modules/xboot-your/pom.xml +++ b/xboot-modules/xboot-your/pom.xml @@ -25,9 +25,10 @@ </dependency> <dependency> - <groupId>com.rabbitmq</groupId> - <artifactId>amqp-client</artifactId> - <version>5.7.0</version> + <groupId>cn.exrick</groupId> + <artifactId>xboot-file</artifactId> + <version>1.0-SNAPSHOT</version> + <scope>compile</scope> </dependency> </dependencies> </project> \ No newline at end of file diff --git a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/OrderDetailOriginalController.java b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/OrderDetailOriginalController.java new file mode 100644 index 0000000..af17739 --- /dev/null +++ b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/OrderDetailOriginalController.java @@ -0,0 +1,77 @@ +package cn.exrick.xboot.your.controller; + +import cn.exrick.xboot.core.common.utils.PageUtil; +import cn.exrick.xboot.core.common.utils.ResultUtil; +import cn.exrick.xboot.core.common.vo.PageVo; +import cn.exrick.xboot.core.common.vo.Result; +import cn.exrick.xboot.your.entity.OrderDetailOriginal; +import cn.exrick.xboot.your.service.IOrderDetailOriginalService; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +/** + * @author whj + */ +@Slf4j +@RestController +@Api(tags = "璁㈠崟璇︽儏鍘熷琛ㄧ鐞嗘帴鍙�") +@RequestMapping("/xboot/orderDetailOriginal") +@Transactional +public class OrderDetailOriginalController { + + @Autowired + private IOrderDetailOriginalService iOrderDetailOriginalService; + + @RequestMapping(value = "/get/{id}", method = RequestMethod.GET) + @ApiOperation(value = "閫氳繃id鑾峰彇") + public Result<OrderDetailOriginal> get(@PathVariable String id) { + + OrderDetailOriginal orderDetailOriginal = iOrderDetailOriginalService.getById(id); + return new ResultUtil<OrderDetailOriginal>().setData(orderDetailOriginal); + } + + @RequestMapping(value = "/getAll", method = RequestMethod.GET) + @ApiOperation(value = "鑾峰彇鍏ㄩ儴鏁版嵁") + public Result<List<OrderDetailOriginal>> getAll() { + + List<OrderDetailOriginal> list = iOrderDetailOriginalService.list(); + return new ResultUtil<List<OrderDetailOriginal>>().setData(list); + } + + @RequestMapping(value = "/getByPage", method = RequestMethod.GET) + @ApiOperation(value = "鍒嗛〉鑾峰彇") + public Result<IPage<OrderDetailOriginal>> getByPage(PageVo page) { + + IPage<OrderDetailOriginal> data = iOrderDetailOriginalService.page(PageUtil.initMpPage(page)); + return new ResultUtil<IPage<OrderDetailOriginal>>().setData(data); + } + + @RequestMapping(value = "/insertOrUpdate", method = RequestMethod.POST) + @ApiOperation(value = "缂栬緫鎴栨洿鏂版暟鎹�") + public Result<OrderDetailOriginal> saveOrUpdate(OrderDetailOriginal orderDetailOriginal) { + + if (iOrderDetailOriginalService.saveOrUpdate(orderDetailOriginal)) { + return new ResultUtil<OrderDetailOriginal>().setData(orderDetailOriginal); + } + return new ResultUtil<OrderDetailOriginal>().setErrorMsg("鎿嶄綔澶辫触"); + } + + @RequestMapping(value = "/delByIds", method = RequestMethod.POST) + @ApiOperation(value = "鎵归噺閫氳繃id鍒犻櫎") + public Result<Object> delAllByIds(@RequestParam String[] ids) { + + for (String id : ids) { + iOrderDetailOriginalService.removeById(id); + } + return ResultUtil.success("鎵归噺閫氳繃id鍒犻櫎鏁版嵁鎴愬姛"); + } +} diff --git a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/OrderTaskOriginalController.java b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/OrderTaskOriginalController.java new file mode 100644 index 0000000..b07d9b2 --- /dev/null +++ b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/OrderTaskOriginalController.java @@ -0,0 +1,77 @@ +package cn.exrick.xboot.your.controller; + +import cn.exrick.xboot.core.common.utils.PageUtil; +import cn.exrick.xboot.core.common.utils.ResultUtil; +import cn.exrick.xboot.core.common.vo.PageVo; +import cn.exrick.xboot.core.common.vo.Result; +import cn.exrick.xboot.your.entity.OrderTaskOriginal; +import cn.exrick.xboot.your.service.IOrderTaskOriginalService; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +/** + * @author whj + */ +@Slf4j +@RestController +@Api(tags = "璁㈠崟浠诲姟鍘熷琛ㄧ鐞嗘帴鍙�") +@RequestMapping("/xboot/orderTaskOriginal") +@Transactional +public class OrderTaskOriginalController { + + @Autowired + private IOrderTaskOriginalService iOrderTaskOriginalService; + + @RequestMapping(value = "/get/{id}", method = RequestMethod.GET) + @ApiOperation(value = "閫氳繃id鑾峰彇") + public Result<OrderTaskOriginal> get(@PathVariable String id) { + + OrderTaskOriginal orderTaskOriginal = iOrderTaskOriginalService.getById(id); + return new ResultUtil<OrderTaskOriginal>().setData(orderTaskOriginal); + } + + @RequestMapping(value = "/getAll", method = RequestMethod.GET) + @ApiOperation(value = "鑾峰彇鍏ㄩ儴鏁版嵁") + public Result<List<OrderTaskOriginal>> getAll() { + + List<OrderTaskOriginal> list = iOrderTaskOriginalService.list(); + return new ResultUtil<List<OrderTaskOriginal>>().setData(list); + } + + @RequestMapping(value = "/getByPage", method = RequestMethod.GET) + @ApiOperation(value = "鍒嗛〉鑾峰彇") + public Result<IPage<OrderTaskOriginal>> getByPage(PageVo page) { + + IPage<OrderTaskOriginal> data = iOrderTaskOriginalService.page(PageUtil.initMpPage(page)); + return new ResultUtil<IPage<OrderTaskOriginal>>().setData(data); + } + + @RequestMapping(value = "/insertOrUpdate", method = RequestMethod.POST) + @ApiOperation(value = "缂栬緫鎴栨洿鏂版暟鎹�") + public Result<OrderTaskOriginal> saveOrUpdate(OrderTaskOriginal orderTaskOriginal) { + + if (iOrderTaskOriginalService.saveOrUpdate(orderTaskOriginal)) { + return new ResultUtil<OrderTaskOriginal>().setData(orderTaskOriginal); + } + return new ResultUtil<OrderTaskOriginal>().setErrorMsg("鎿嶄綔澶辫触"); + } + + @RequestMapping(value = "/delByIds", method = RequestMethod.POST) + @ApiOperation(value = "鎵归噺閫氳繃id鍒犻櫎") + public Result<Object> delAllByIds(@RequestParam String[] ids) { + + for (String id : ids) { + iOrderTaskOriginalService.removeById(id); + } + return ResultUtil.success("鎵归噺閫氳繃id鍒犻櫎鏁版嵁鎴愬姛"); + } +} diff --git a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/face/FaceImgController.java b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/face/FaceImgController.java new file mode 100644 index 0000000..88a6fc6 --- /dev/null +++ b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/face/FaceImgController.java @@ -0,0 +1,161 @@ +package cn.exrick.xboot.your.controller.face; + +import cn.exrick.xboot.core.common.constant.CommonConstant; +import cn.exrick.xboot.core.common.constant.SettingConstant; +import cn.exrick.xboot.core.common.redis.RedisTemplateHelper; +import cn.exrick.xboot.core.common.utils.CommonUtil; +import cn.exrick.xboot.core.entity.User; +import cn.exrick.xboot.core.service.SettingService; +import cn.exrick.xboot.core.service.UserService; +import cn.exrick.xboot.core.vo.OssSetting; +import cn.exrick.xboot.file.entity.File; +import cn.exrick.xboot.file.manage.FileManageFactory; +import cn.exrick.xboot.file.service.FileService; +import cn.exrick.xboot.your.entity.Alarm; +import cn.exrick.xboot.your.entity.Car; +import cn.exrick.xboot.your.service.IAlarmService; +import cn.exrick.xboot.your.service.ICarService; +import cn.exrick.xboot.your.util.FaceSystem; +import cn.hutool.core.util.StrUtil; +import cn.hutool.json.JSONArray; +import cn.hutool.json.JSONObject; +import cn.hutool.json.JSONUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.google.gson.Gson; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.MultipartHttpServletRequest; + +import javax.servlet.ServletException; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.Part; +import java.io.IOException; +import java.io.InputStream; +import java.util.Collection; +import java.util.Iterator; +import java.util.List; + +@RestController +@RequestMapping("/hk") +public class FaceImgController { + + @Autowired + private FileManageFactory fileManageFactory; + @Autowired + private FileService fileService; + @Autowired + private ICarService iCarService; + @Autowired + private UserService userService; + @Autowired + private SettingService settingService; + @Autowired + private IAlarmService iAlarmService; + @Autowired + private RedisTemplateHelper redisTemplate; + + + @RequestMapping(value = "/faceImg", method = RequestMethod.POST) + public void saveOrUpdate(HttpServletRequest request) throws IOException, ServletException { + OssSetting os = new Gson().fromJson(settingService.get(SettingConstant.LOCAL_OSS).getValue(), OssSetting.class); + + String faceCapture = request.getParameter("faceCapture"); + if(StrUtil.isNotEmpty(faceCapture)){ + JSONObject jsonObject = JSONUtil.parseObj(faceCapture); + String faceCaptures = jsonObject.get("faceCapture").toString(); + JSONArray objects = JSONUtil.parseArray(faceCaptures); + JSONObject jsonObject1 = objects.getJSONObject(0); + String targetAttrs = jsonObject1.get("targetAttrs").toString(); + JSONObject jsonObject2 = JSONUtil.parseObj(targetAttrs); + String deviceName = jsonObject2.get("deviceName").toString(); + System.out.println(deviceName); + + QueryWrapper<Car> wrapper = new QueryWrapper<Car>(); + wrapper.eq("car_no",deviceName.substring(0,deviceName.length()-1)); + Car one = iCarService.getOne(wrapper); + + User user = userService.get(one.getUserId()); + User user1 = userService.get(one.getFollowUserId()); + + Collection parts = request.getParts(); + for (Iterator iterator = parts.iterator(); iterator.hasNext();) { + Part part = (Part) iterator.next(); + if(part.getContentType().equals("image/jpeg")){ + MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; + List<MultipartFile> imgs = multipartRequest.getFiles(part.getName()); + for(MultipartFile multipartFile:imgs){ + String result = ""; + String fKey = CommonUtil.renamePic(part.getName())+".jpeg"; + File f = new File(); + try { + InputStream inputStream = part.getInputStream(); + result = fileManageFactory.getFileManage(null).inputStreamUpload(inputStream, fKey, multipartFile); + f.setLocation(0).setName(multipartFile.getOriginalFilename()).setSize(multipartFile.getSize()).setType(multipartFile.getContentType()).setFKey(fKey).setUrl(result); + fileService.save(f); + + int flag = 0; + String avatar2 = os.getHttp() + os.getEndpoint() + "/" + f.getId(); + if(user!=null){ + String avatar = user.getAvatar(); + int result1 = FaceSystem.getResult(avatar, avatar2); + if(result1<70){ + flag++; + }else{ + deleteFile(f.getId()); + } + } + + if(user1!=null){ + String avatar = user1.getAvatar(); + int result1 = FaceSystem.getResult(avatar, avatar2); + if(result1<70){ + flag++; + }else{ + deleteFile(f.getId()); + } + } + + if(flag>0){ + Alarm alarm = new Alarm(); + alarm.setCarNo(one.getCarNo()); + alarm.setCarId(one.getId()); + alarm.setCarUserId(one.getUserId()); + alarm.setFollowUserId(one.getFollowUserId()); + alarm.setType(5); + alarm.setValue("杞﹀帰寮傚父寮�鍚�"); + alarm.setAlarmImg(avatar2); + iAlarmService.saveOrUpdate(alarm); + } + + } catch (Exception e) { + System.out.println(e.toString()); + } + } + } + } + + } + + } + + + public void deleteFile(String id){ + File file = fileService.get(id); + // 鐗规畩澶勭悊鏈湴鏈嶅姟鍣� + String key = file.getFKey(); + if (CommonConstant.OSS_LOCAL.equals(file.getLocation())) { + key = file.getUrl(); + } + fileManageFactory.getFileManage(file.getLocation()).deleteFile(key); + fileService.delete(id); + redisTemplate.delete("file::" + id); + } + + // System.out.println("-----绫诲瀷鍚嶇О------->"+part.getName()); +// System.out.println("-----鎻愪氦鐨勭被鍨嬪悕绉�------->"+part.getSubmittedFileName()); +// System.out.println("----娴�-------->"+part.getInputStream()); + +} diff --git a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/orderSyn/OrderSynController.java b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/orderSyn/OrderSynController.java new file mode 100644 index 0000000..96d8bf3 --- /dev/null +++ b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/orderSyn/OrderSynController.java @@ -0,0 +1,43 @@ +package cn.exrick.xboot.your.controller.orderSyn; + +import cn.exrick.xboot.core.common.utils.ResultUtil; +import cn.exrick.xboot.your.entity.*; +import cn.exrick.xboot.your.service.*; +import io.swagger.annotations.Api; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * @author whj + */ +@Slf4j +@RestController +@Api(tags = "璁㈠崟鍚屾鎺ュ彛") +@RequestMapping("/xboot/orderSyn") +@Transactional +public class OrderSynController { + + @Autowired + private IOrderTaskOriginalService iOrderTaskOriginalService; + + @Autowired + private IOrderDetailOriginalService iOrderDetailOriginalService; + + @RequestMapping(value = "/insert", method = RequestMethod.POST) + public Object saveOrUpdate(@RequestBody List<OrderTaskOriginal> list) { + System.out.println(list.size()); + iOrderTaskOriginalService.saveBatch(list); + return ResultUtil.success("鎴愬姛"); + } + + @RequestMapping(value = "/insert2", method = RequestMethod.POST) + public Object saveOrUpdate2(@RequestBody List<OrderDetailOriginal> list) { + System.out.println(list.size()); + iOrderDetailOriginalService.saveBatch(list); + return ResultUtil.success("鎴愬姛"); + } +} diff --git a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/wx/IndexController.java b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/wx/IndexController.java new file mode 100644 index 0000000..2a455f2 --- /dev/null +++ b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/wx/IndexController.java @@ -0,0 +1,102 @@ +package cn.exrick.xboot.your.controller.wx; + +import cn.exrick.xboot.core.common.utils.ResultUtil; +import cn.exrick.xboot.your.entity.*; +import cn.exrick.xboot.your.service.*; +import cn.exrick.xboot.your.util.HttpUtil; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.StrUtil; +import cn.hutool.json.JSONObject; +import cn.hutool.json.JSONUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.Api; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.*; + +import java.util.*; + +/** + * @author whj + */ +@Slf4j +@RestController +@Api(tags = "璁㈠崟鎺ュ彛") +@RequestMapping("/xboot/wx") +@Transactional +public class IndexController { + + @Autowired + private IOrderTaskService iOrderTaskService; + + @Autowired + private ICustomerService iCustomerService; + + @Autowired + private IOrderDetailService iOrderDetailService; + + + //鑾峰彇浠婃棩閰嶉�佽鍗� + @RequestMapping("/getTodayOrder") + public Object getTodayOrder(String customerId){ + QueryWrapper<OrderTask> wrapper2 = new QueryWrapper<OrderTask>(); + String format = DateUtil.format(new Date(), "yyyy-MM-dd"); + wrapper2.eq("customer_id",customerId); + wrapper2.eq("send_date",format); + OrderTask orderTask = iOrderTaskService.getOne(wrapper2); + if(orderTask==null){ + return ResultUtil.data(new ArrayList<>()); + }else{ + QueryWrapper<OrderDetail> wrapper = new QueryWrapper<OrderDetail>(); + wrapper.eq("order_id",orderTask.getId()); + List<OrderDetail> list = iOrderDetailService.list(wrapper); + return ResultUtil.data(list); + } + } + + //寰俊缁戝畾闆跺敭璁稿彲璇� + @RequestMapping("/bindWx") + public Object bindWx(String licence,String openId){ + QueryWrapper<Customer> wrapper = new QueryWrapper<>(); + wrapper.eq("licence",licence); + Customer one = iCustomerService.getOne(wrapper); + if(one==null){ + return ResultUtil.error("闆跺敭璁稿彲璇佹棤鏁�");//棣栨鐧婚檰闇�缁戝畾闆跺敭璁稿彲璇� + }else { + one.setOpenId(openId); + iCustomerService.saveOrUpdate(one); + return ResultUtil.data(one,"鐧诲綍鎴愬姛"); + } + } + + //寰俊鐧婚檰 + @RequestMapping("/login") + public Object doLogin(String code){ + + JSONObject SessionKeyOpenId = getSessionKeyOrOpenId( code ); + + String openid = SessionKeyOpenId.getStr("openid"); + + if(StrUtil.isEmpty(openid)){ + return ResultUtil.error(SessionKeyOpenId.toString()); + } + + QueryWrapper<Customer> wrapper = new QueryWrapper<>(); + wrapper.eq("open_id",openid); + Customer one = iCustomerService.getOne(wrapper); + if(one==null){ + return ResultUtil.error(openid);//棣栨鐧婚檰闇�缁戝畾闆跺敭璁稿彲璇� + }else { + return ResultUtil.data(one,"鐧诲綍鎴愬姛"); + } + } + + public static JSONObject getSessionKeyOrOpenId(String code){ + //寰俊绔櫥褰昪ode + String wxCode = code; + String requestUrl = "https://api.weixin.qq.com/sns/jscode2session?appid=wx0f10f6d253f3ee6b&secret=4d4cbc8da31a96559114ad693de70631&grant_type=authorization_code&js_code="+code; + JSONObject jsonObject = JSONUtil.parseObj( HttpUtil.get(requestUrl)); + return jsonObject; + } +} diff --git a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/entity/Alarm.java b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/entity/Alarm.java index e344a0e..0ca8451 100644 --- a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/entity/Alarm.java +++ b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/entity/Alarm.java @@ -53,4 +53,7 @@ @ApiModelProperty(value = "杞︽満鎶ヨid") private String alarmId; + + @ApiModelProperty(value = "寮傚父寮�鍚浘鐗�") + private String alarmImg; } \ No newline at end of file diff --git a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/entity/OrderDetail.java b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/entity/OrderDetail.java index f3fd58f..5f867b5 100644 --- a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/entity/OrderDetail.java +++ b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/entity/OrderDetail.java @@ -35,6 +35,6 @@ private String product; @ApiModelProperty(value = "鏁伴噺") - private String num; + private Integer num; } \ No newline at end of file diff --git a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/entity/OrderDetailOriginal.java b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/entity/OrderDetailOriginal.java new file mode 100644 index 0000000..23d3d42 --- /dev/null +++ b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/entity/OrderDetailOriginal.java @@ -0,0 +1,40 @@ +package cn.exrick.xboot.your.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import lombok.Data; +import org.hibernate.annotations.DynamicInsert; +import org.hibernate.annotations.DynamicUpdate; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.Table; +import java.util.Date; + +@Data +@Entity +@DynamicInsert +@DynamicUpdate +@Table(name = "t_order_detail_original") +@TableName("t_order_detail_original") +@ApiModel(value = "璁㈠崟璇︽儏鍘熷琛�") +public class OrderDetailOriginal { + + @Id + private String id; + + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + protected Date createTime;//鍒涘缓鏃堕棿 + + private String orderId;//璁㈠崟id + + private String orderCode;//璁㈠崟code鍞竴鏍囪瘑 + + private Integer num;//鏉℃暟 + + private String productName;//浜у搧鍚嶇О + +} \ No newline at end of file diff --git a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/entity/OrderTaskOriginal.java b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/entity/OrderTaskOriginal.java new file mode 100644 index 0000000..544f9f2 --- /dev/null +++ b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/entity/OrderTaskOriginal.java @@ -0,0 +1,64 @@ +package cn.exrick.xboot.your.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import lombok.Data; +import org.hibernate.annotations.DynamicInsert; +import org.hibernate.annotations.DynamicUpdate; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.Table; +import java.util.Date; +@Data +@DynamicInsert +@DynamicUpdate +@Table(name = "t_order_task_original") +@TableName("t_order_task_original") +@Entity +@ApiModel(value = "璁㈠崟浠诲姟鍘熷琛�") +public class OrderTaskOriginal { + + @Id + private String id; + + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + protected Date createTime; + + private String code;//璁㈠崟缂栧彿 + + private String customerName;//瀹㈡埛鍚嶇О + + private String customerCode;//瀹㈡埛浠e彿 + + private String customerPhone;//瀹㈡埛鐢佃瘽 + + private String linker;//娉曚汉 + + private Integer seq;//閫佽揣椤哄簭 + + private Integer num;//鍖呮暟 + + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private Date orderDate;//璁㈣揣鏃ユ湡 + + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private Date packetDate;//灏佸寘鏃ユ湡 + + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private Date sendDate;//閰嶉�佹棩鏈� + + private String areaName;//鐗囧尯鍚嶇О + + private String areaCode;//鐗囧尯缂栧彿 + + private String areaSection;//鐗囧尯娈靛悕绉� + + private String sectionCode;//鐗囧尯娈电紪鍙� +} diff --git a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/mapper/OrderDetailOriginalMapper.java b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/mapper/OrderDetailOriginalMapper.java new file mode 100644 index 0000000..0d22729 --- /dev/null +++ b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/mapper/OrderDetailOriginalMapper.java @@ -0,0 +1,14 @@ +package cn.exrick.xboot.your.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import cn.exrick.xboot.your.entity.OrderDetailOriginal; + +import java.util.List; + +/** + * 璁㈠崟璇︽儏鍘熷琛ㄦ暟鎹鐞嗗眰 + * @author whj + */ +public interface OrderDetailOriginalMapper extends BaseMapper<OrderDetailOriginal> { + +} \ No newline at end of file diff --git a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/mapper/OrderTaskOriginalMapper.java b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/mapper/OrderTaskOriginalMapper.java new file mode 100644 index 0000000..a2a21e3 --- /dev/null +++ b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/mapper/OrderTaskOriginalMapper.java @@ -0,0 +1,14 @@ +package cn.exrick.xboot.your.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import cn.exrick.xboot.your.entity.OrderTaskOriginal; + +import java.util.List; + +/** + * 璁㈠崟浠诲姟鍘熷琛ㄦ暟鎹鐞嗗眰 + * @author whj + */ +public interface OrderTaskOriginalMapper extends BaseMapper<OrderTaskOriginal> { + +} \ No newline at end of file diff --git a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/schedulings/OrderSynScheduleImpl.java b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/schedulings/OrderSynScheduleImpl.java new file mode 100644 index 0000000..5099fcd --- /dev/null +++ b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/schedulings/OrderSynScheduleImpl.java @@ -0,0 +1,175 @@ +package cn.exrick.xboot.your.schedulings; +import cn.exrick.xboot.your.entity.*; +import cn.exrick.xboot.your.service.*; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; + +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.List; + +//璁㈠崟澶勭悊 +@Component +public class OrderSynScheduleImpl { + + @Autowired + private IOrderTaskOriginalService iOrderTaskOriginalService; + + @Autowired + private IOrderDetailOriginalService iOrderDetailOriginalService; + + @Autowired + private IOrderTaskService iOrderTaskService; + + @Autowired + private IOrderDetailService iOrderDetailService; + + @Autowired + private IAreaService iAreaService; + + @Autowired + private IAreaSectionService iAreaSectionService; + + @Autowired + private ICustomerService iCustomerService; + + @Autowired + private ICarService iCarService; + + @Autowired + private ICustomerReceiveService iCustomerReceiveService; + + @Scheduled(cron="0 30 23 * * ?")//姣忔櫄鍑屾櫒1鐐规墽琛� + public void execute(){ + QueryWrapper<OrderTaskOriginal> queryWrapper = new QueryWrapper<>(); + queryWrapper.between("create_time",dateStringFormat(new Date()),dateStringFormat2(new Date())); + List<OrderTaskOriginal> list = iOrderTaskOriginalService.list(); + + for(OrderTaskOriginal original:list){ + OrderTask orderTask = new OrderTask(); + orderTask.setCode(original.getCode()); + orderTask.setAreaId(getArea(original.getAreaName())); + orderTask.setAreaSectionId(getAreaSection(orderTask.getAreaId(),original.getAreaSection())); + orderTask.setCustomerId(getCustomer(original.getCustomerCode(),original.getCustomerName(),original.getCustomerPhone(),original.getLinker(),orderTask.getAreaId(),orderTask.getAreaSectionId())); + orderTask.setEndDate(original.getPacketDate()); + orderTask.setSendDate(original.getSendDate()); + orderTask.setOrderDate(original.getOrderDate()); + orderTask.setSeq(original.getSeq()); + orderTask.setNum(original.getNum()); + orderTask.setCarId(orderTask.getAreaId()); + iOrderTaskService.saveOrUpdate(orderTask); + + updateCustomerRecive(orderTask.getCustomerId(),original.getLinker(),original.getCustomerPhone()); + + QueryWrapper<OrderDetailOriginal> wrapper = new QueryWrapper<>(); + wrapper.between("create_time",dateStringFormat(new Date()),dateStringFormat2(new Date())); + wrapper.eq("orderId",original.getId()); + List<OrderDetailOriginal> list1 = iOrderDetailOriginalService.list(wrapper); + for(OrderDetailOriginal o:list1){ + OrderDetail orderDetail = new OrderDetail(); + orderDetail.setNum(o.getNum()); + orderDetail.setOrderId(orderTask.getId()); + orderDetail.setProduct(o.getProductName()); + iOrderDetailService.saveOrUpdate(orderDetail); + } + + } + + } + + public void updateCustomerRecive(String customerId,String linker,String phone){ + QueryWrapper<CustomerReceive> wrapper = new QueryWrapper<>(); + wrapper.eq("customer_id",customerId); + wrapper.eq("name",linker); + CustomerReceive one = iCustomerReceiveService.getOne(wrapper); + if(one==null){ + one = new CustomerReceive(); + one.setCustomerId(customerId); + one.setFstatus(0); + one.setStatus(1); + one.setName(linker); + one.setPhone(phone); + iCustomerReceiveService.saveOrUpdate(one); + } + } + + public String 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.getId(); + } + one.setAreaId(areaId); + one.setAreaSectionId(areaSectionId); + iCustomerService.saveOrUpdate(one); + return one.getId(); + } + + public String getArea(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.getId(); + } + return one.getId(); + } + + 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 getCarId(String areaId){ + Area area = iAreaService.getById(areaId); + String userId = area.getUserId(); + if(StrUtil.isNotEmpty(userId)){ + QueryWrapper<Car> queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("follow_user_id",userId); + Car one = iCarService.getOne(queryWrapper); + return one.getId(); + }else{ + return null; + } + } + + 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"; + } +} diff --git a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/schedulings/StatisticPc2ScheduleImpl.java b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/schedulings/StatisticPc2ScheduleImpl.java index ffe5cb1..691c5b0 100644 --- a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/schedulings/StatisticPc2ScheduleImpl.java +++ b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/schedulings/StatisticPc2ScheduleImpl.java @@ -34,7 +34,7 @@ @Autowired private IOrderTaskService iOrderTaskService; - @Scheduled(cron="0 * * * * ?")//姣忓皬鏃舵墽琛屼竴娆� + @Scheduled(cron="0 0 * * * ?")//姣忓皬鏃舵墽琛屼竴娆� public void execute(){ List<Area> list = iAreaService.list(); for(Area area:list){ diff --git a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/schedulings/StatisticPcScheduleImpl.java b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/schedulings/StatisticPcScheduleImpl.java index 2545605..040a25a 100644 --- a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/schedulings/StatisticPcScheduleImpl.java +++ b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/schedulings/StatisticPcScheduleImpl.java @@ -53,7 +53,7 @@ public static final String HEAD = "statistic1::"; - @Scheduled(cron="0 */10 * * * ?")//姣忓皬鏃� + @Scheduled(cron="0 0 * * * ?")//姣忓皬鏃� public void execute(){ redisTemplate.set(HEAD+"car",iCarService.count()+"");//杞﹁締 redisTemplate.set(HEAD+"user",userService.countByType(0)+"");//鍙告満 diff --git a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/schedulings/StatisticScheduleImpl.java b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/schedulings/StatisticScheduleImpl.java index 155494d..2fae93d 100644 --- a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/schedulings/StatisticScheduleImpl.java +++ b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/schedulings/StatisticScheduleImpl.java @@ -36,7 +36,7 @@ @Autowired private IAlarmService iAlarmService; - @Scheduled(cron="0 0 * * * ?")//姣忔櫄鍑屾櫒1鐐规墽琛� + @Scheduled(cron="0 0 1 * * ?")//姣忔櫄鍑屾櫒1鐐规墽琛� public void execute(){ List<User> all = userService.findAll(); for(User user:all){ diff --git a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/service/IOrderDetailOriginalService.java b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/service/IOrderDetailOriginalService.java new file mode 100644 index 0000000..18e33f8 --- /dev/null +++ b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/service/IOrderDetailOriginalService.java @@ -0,0 +1,14 @@ +package cn.exrick.xboot.your.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import cn.exrick.xboot.your.entity.OrderDetailOriginal; + +import java.util.List; + +/** + * 璁㈠崟璇︽儏鍘熷琛ㄦ帴鍙� + * @author whj + */ +public interface IOrderDetailOriginalService extends IService<OrderDetailOriginal> { + +} \ No newline at end of file diff --git a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/service/IOrderTaskOriginalService.java b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/service/IOrderTaskOriginalService.java new file mode 100644 index 0000000..0eb1b25 --- /dev/null +++ b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/service/IOrderTaskOriginalService.java @@ -0,0 +1,14 @@ +package cn.exrick.xboot.your.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import cn.exrick.xboot.your.entity.OrderTaskOriginal; + +import java.util.List; + +/** + * 璁㈠崟浠诲姟鍘熷琛ㄦ帴鍙� + * @author whj + */ +public interface IOrderTaskOriginalService extends IService<OrderTaskOriginal> { + +} \ No newline at end of file diff --git a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/serviceimpl/IOrderDetailOriginalServiceImpl.java b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/serviceimpl/IOrderDetailOriginalServiceImpl.java new file mode 100644 index 0000000..b9ec341 --- /dev/null +++ b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/serviceimpl/IOrderDetailOriginalServiceImpl.java @@ -0,0 +1,26 @@ +package cn.exrick.xboot.your.serviceimpl; + +import cn.exrick.xboot.your.mapper.OrderDetailOriginalMapper; +import cn.exrick.xboot.your.entity.OrderDetailOriginal; +import cn.exrick.xboot.your.service.IOrderDetailOriginalService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.ArrayList; +import java.util.List; + +/** + * 璁㈠崟璇︽儏鍘熷琛ㄦ帴鍙e疄鐜� + * @author whj + */ +@Slf4j +@Service +@Transactional +public class IOrderDetailOriginalServiceImpl extends ServiceImpl<OrderDetailOriginalMapper, OrderDetailOriginal> implements IOrderDetailOriginalService { + + @Autowired + private OrderDetailOriginalMapper orderDetailOriginalMapper; +} \ No newline at end of file diff --git a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/serviceimpl/IOrderTaskOriginalServiceImpl.java b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/serviceimpl/IOrderTaskOriginalServiceImpl.java new file mode 100644 index 0000000..c8c78d1 --- /dev/null +++ b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/serviceimpl/IOrderTaskOriginalServiceImpl.java @@ -0,0 +1,26 @@ +package cn.exrick.xboot.your.serviceimpl; + +import cn.exrick.xboot.your.mapper.OrderTaskOriginalMapper; +import cn.exrick.xboot.your.entity.OrderTaskOriginal; +import cn.exrick.xboot.your.service.IOrderTaskOriginalService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.ArrayList; +import java.util.List; + +/** + * 璁㈠崟浠诲姟鍘熷琛ㄦ帴鍙e疄鐜� + * @author whj + */ +@Slf4j +@Service +@Transactional +public class IOrderTaskOriginalServiceImpl extends ServiceImpl<OrderTaskOriginalMapper, OrderTaskOriginal> implements IOrderTaskOriginalService { + + @Autowired + private OrderTaskOriginalMapper orderTaskOriginalMapper; +} \ No newline at end of file diff --git a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/util/FaceSystem.java b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/util/FaceSystem.java new file mode 100644 index 0000000..70b0805 --- /dev/null +++ b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/util/FaceSystem.java @@ -0,0 +1,127 @@ +package cn.exrick.xboot.your.util; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; + +import org.json.JSONObject; + +import java.io.BufferedReader; +import java.io.InputStreamReader; +import java.net.HttpURLConnection; +import java.net.URL; +import java.util.Map; + +/** + * 浜鸿劯绯荤粺 + * + * @author Administrator + * + */ +public class FaceSystem { + + private static final String APP_ID = "10545313"; + private static final String API_KEY = "QSh91rzoNgFvUum4ww34aVoS"; + private static final String SECRET_KEY = "ln6sHT70qoFNEg6VmbvZ6XGvd3PF9KQg"; + private static final String BAIDU_REG_GROUP = "hebeiboying"; + + + public static int getResult(String img1,String img2) { + List<Object> list = new ArrayList<>(); + Map<String,String> map = new HashMap<>(); + map.put("image",img1); + map.put("image_type","URL"); + + Map<String,String> map2 = new HashMap<>(); + map2.put("image",img2); + map2.put("image_type","URL"); + list.add(map); + list.add(map2); + String s = JSONObject.valueToString(list); + return face(s); + } + + public static int face(String jsonBody) { + String result = HttpUtil.jsonPost2(jsonBody, "https://aip.baidubce.com/rest/2.0/face/v3/match?access_token=" + getAuth()); + try { + JSONObject jsonObject = new JSONObject(result); + String access_token = jsonObject.getString("error_msg"); + if(access_token.equals("SUCCESS")){ + String result2 = jsonObject.get("result").toString(); + JSONObject jsonObject2 = new JSONObject(result2); + int score = jsonObject2.getInt("score"); + return score; + } + } catch (Exception e) { + e.printStackTrace(); + } + return 0; + } + + /** + * 鑾峰彇鏉冮檺token + * @return 杩斿洖绀轰緥锛� + * { + * "access_token": "24.460da4889caad24cccdb1fea17221975.2592000.1491995545.282335-1234567", + * "expires_in": 2592000 + * } + */ + public static String getAuth() { + // 瀹樼綉鑾峰彇鐨� API Key 鏇存柊涓轰綘娉ㄥ唽鐨� + String clientId = API_KEY; + // 瀹樼綉鑾峰彇鐨� Secret Key 鏇存柊涓轰綘娉ㄥ唽鐨� + String clientSecret = SECRET_KEY; + return getAuth(clientId, clientSecret); + } + + /** + * 鑾峰彇API璁块棶token + * 璇oken鏈変竴瀹氱殑鏈夋晥鏈燂紝闇�瑕佽嚜琛岀鐞嗭紝褰撳け鏁堟椂闇�閲嶆柊鑾峰彇. + * @param ak - 鐧惧害浜戝畼缃戣幏鍙栫殑 API Key + * @param sk - 鐧惧害浜戝畼缃戣幏鍙栫殑 Securet Key + * @return assess_token 绀轰緥锛� + * "24.460da4889caad24cccdb1fea17221975.2592000.1491995545.282335-1234567" + */ + public static String getAuth(String ak, String sk) { + // 鑾峰彇token鍦板潃 + String authHost = "https://aip.baidubce.com/oauth/2.0/token?"; + String getAccessTokenUrl = authHost + // 1. grant_type涓哄浐瀹氬弬鏁� + + "grant_type=client_credentials" + // 2. 瀹樼綉鑾峰彇鐨� API Key + + "&client_id=" + ak + // 3. 瀹樼綉鑾峰彇鐨� Secret Key + + "&client_secret=" + sk; + try { + URL realUrl = new URL(getAccessTokenUrl); + // 鎵撳紑鍜孶RL涔嬮棿鐨勮繛鎺� + HttpURLConnection connection = (HttpURLConnection) realUrl.openConnection(); + connection.setRequestMethod("GET"); + connection.connect(); + // 鑾峰彇鎵�鏈夊搷搴斿ご瀛楁 + Map<String, List<String>> map = connection.getHeaderFields(); + // 閬嶅巻鎵�鏈夌殑鍝嶅簲澶村瓧娈� +// for (String key : map.keySet()) { +// System.err.println(key + "--->" + map.get(key)); +// } + // 瀹氫箟 BufferedReader杈撳叆娴佹潵璇诲彇URL鐨勫搷搴� + BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream())); + String result = ""; + String line; + while ((line = in.readLine()) != null) { + result += line; + } + /** + * 杩斿洖缁撴灉绀轰緥 + */ + //System.err.println("result:" + result); + JSONObject jsonObject = new JSONObject(result); + String access_token = jsonObject.getString("access_token"); + return access_token; + } catch (Exception e) { + System.err.printf("鑾峰彇token澶辫触锛�"); + e.printStackTrace(System.err); + } + return null; + } +} diff --git a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/util/HttpUtil.java b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/util/HttpUtil.java new file mode 100644 index 0000000..f437597 --- /dev/null +++ b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/util/HttpUtil.java @@ -0,0 +1,121 @@ +package cn.exrick.xboot.your.util; +import java.io.*; +import java.net.HttpURLConnection; +import java.net.URL; +import java.net.URLConnection; + +public class HttpUtil { + + public static String get(String url) { + BufferedReader in = null; + try { + URL realUrl = new URL(url); + // 鎵撳紑鍜孶RL涔嬮棿鐨勮繛鎺� + URLConnection connection = realUrl.openConnection(); + // 璁剧疆閫氱敤鐨勮姹傚睘鎬� + connection.setRequestProperty("accept", "*/*"); + connection.setRequestProperty("connection", "Keep-Alive"); + connection.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)"); + connection.setConnectTimeout(5000); + connection.setReadTimeout(5000); + // 寤虹珛瀹為檯鐨勮繛鎺� + connection.connect(); + // 瀹氫箟 BufferedReader杈撳叆娴佹潵璇诲彇URL鐨勫搷搴� + in = new BufferedReader(new InputStreamReader(connection.getInputStream())); + StringBuffer sb = new StringBuffer(); + String line; + while ((line = in.readLine()) != null) { + sb.append(line); + } + return sb.toString(); + } catch (Exception e) { + } + // 浣跨敤finally鍧楁潵鍏抽棴杈撳叆娴� + finally { + try { + if (in != null) { + in.close(); + } + } catch (Exception e2) { + e2.printStackTrace(); + } + } + return null; + } + + public static String jsonPost2(String params,String strURL) { + try { + URL url = new URL(strURL);// 鍒涘缓杩炴帴 + HttpURLConnection connection = (HttpURLConnection) url.openConnection(); + connection.setDoOutput(true); + connection.setDoInput(true); + connection.setUseCaches(false); + connection.setInstanceFollowRedirects(true); + connection.setRequestMethod("POST"); // 璁剧疆璇锋眰鏂瑰紡 + connection.setRequestProperty("Accept", "application/json"); // 璁剧疆鎺ユ敹鏁版嵁鐨勬牸寮� + connection.setRequestProperty("Content-Type", "application/json"); // 璁剧疆鍙戦�佹暟鎹殑鏍煎紡 + connection.connect(); + OutputStreamWriter out = new OutputStreamWriter(connection.getOutputStream(), "UTF-8"); // utf-8缂栫爜 + out.append(params); + out.flush(); + out.close(); + + int code = connection.getResponseCode(); + InputStream is = null; + if (code == 200) { + is = connection.getInputStream(); + } else { + is = connection.getErrorStream(); + } + BufferedReader bReader = new BufferedReader(new InputStreamReader(is, "UTF-8")); + String line, resultStr = ""; + while (null != (line = bReader.readLine())) { + resultStr += line; + } + bReader.close(); + return resultStr; + } catch (IOException e) { + return "error"; + } + } + + public static String jsonPost3(StringBuffer params,String strURL) { + try { + URL url = new URL(strURL);// 鍒涘缓杩炴帴 + HttpURLConnection connection = (HttpURLConnection) url.openConnection(); + connection.setDoOutput(true); + connection.setDoInput(true); + connection.setUseCaches(false); + connection.setInstanceFollowRedirects(true); + connection.setRequestMethod("POST"); // 璁剧疆璇锋眰鏂瑰紡 + connection.setRequestProperty("Accept", "application/json"); // 璁剧疆鎺ユ敹鏁版嵁鐨勬牸寮� + connection.setRequestProperty("Content-Type", "application/json"); // 璁剧疆鍙戦�佹暟鎹殑鏍煎紡 + connection.connect(); + OutputStreamWriter out = new OutputStreamWriter(connection.getOutputStream(), "UTF-8"); // utf-8缂栫爜 + out.append(params); + out.flush(); + out.close(); + + int code = connection.getResponseCode(); + InputStream is = null; + if (code == 200) { + is = connection.getInputStream(); + } else { + is = connection.getErrorStream(); + } + + BufferedReader bReader = new BufferedReader(new InputStreamReader(is, "UTF-8")); + String line, resultStr = ""; + while (null != (line = bReader.readLine())) { + resultStr += line; + } + //System.out.println(resultStr); + bReader.close(); + return resultStr; + } catch (IOException e) { + return "error"; + } + } + +} + diff --git a/xboot-modules/xboot-your/src/main/resources/mapper/OrderDetailOriginalMapper.xml b/xboot-modules/xboot-your/src/main/resources/mapper/OrderDetailOriginalMapper.xml new file mode 100644 index 0000000..07e3f7c --- /dev/null +++ b/xboot-modules/xboot-your/src/main/resources/mapper/OrderDetailOriginalMapper.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="cn.exrick.xboot.your.mapper.OrderDetailOriginalMapper"> + +</mapper> \ No newline at end of file diff --git a/xboot-modules/xboot-your/src/main/resources/mapper/OrderTaskOriginalMapper.xml b/xboot-modules/xboot-your/src/main/resources/mapper/OrderTaskOriginalMapper.xml new file mode 100644 index 0000000..6e0103f --- /dev/null +++ b/xboot-modules/xboot-your/src/main/resources/mapper/OrderTaskOriginalMapper.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="cn.exrick.xboot.your.mapper.OrderTaskOriginalMapper"> + +</mapper> \ No newline at end of file -- Gitblit v1.9.1