| | |
| | | public ApiResponse<PageData<Refund>> findPage (@RequestBody PageWrap<Refund> pageWrap) { |
| | | return ApiResponse.success(refundService.findPage(pageWrap)); |
| | | } |
| | | @ApiOperation("åå°ç»ç®è®°å½_å页æ¥è¯¢") |
| | | @PostMapping("/pagePlat") |
| | | @ApiOperation("åå°ç»ç®è®°å½") |
| | | @PostMapping("/findPlatPage") |
| | | @RequiresPermissions("business:refund:query") |
| | | public ApiResponse<PageData<Refund>> findPlatPage (@RequestBody PageWrap<Refund> pageWrap) { |
| | | return ApiResponse.success(refundService.findPlatPage(pageWrap)); |
| | |
| | | import com.doumee.core.model.PageData; |
| | | import com.doumee.core.model.PageWrap; |
| | | import com.doumee.dao.business.model.Sites; |
| | | import com.doumee.dao.business.web.request.SitesMonitorBikeDTO; |
| | | import com.doumee.dao.business.web.request.SitesMonitorDTO; |
| | | import com.doumee.service.business.SitesService; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | |
| | | public ApiResponse findById(@PathVariable String id) { |
| | | return ApiResponse.success(sitesService.findById(id)); |
| | | } |
| | | |
| | | |
| | | @ApiOperation("ç«ç¹å¨è½¦çæ§") |
| | | @PostMapping("/findSitesMonitorDTOPage") |
| | | @RequiresPermissions("business:sites:query") |
| | | public ApiResponse<PageData<SitesMonitorDTO>> findSitesMonitorDTOPage(@RequestBody PageWrap<SitesMonitorDTO> pageWrap){ |
| | | return ApiResponse.success(sitesService.findSitesMonitorDTOPage(pageWrap)); |
| | | } |
| | | |
| | | @ApiOperation("宿¶è½¦ä½ä¿¡æ¯") |
| | | @PostMapping("/findSitesMonitorDTOPage") |
| | | @RequiresPermissions("business:sites:query") |
| | | public ApiResponse<PageData<SitesMonitorBikeDTO>> getSitesMonitorBikeDTO(@RequestBody PageWrap<SitesMonitorDTO> pageWrap){ |
| | | return ApiResponse.success(sitesService.getSitesMonitorBikeDTO(pageWrap)); |
| | | } |
| | | } |
| | |
| | | public static final String FALSE = "f"; |
| | | public static final String TOKEN ="TOKEN" ; |
| | | public static final String SYSTEM ="SYSTEM" ; |
| | | public static final String DINGDING ="DINGDING" ; |
| | | public static final String MINI_PROGRAMME ="MINI_PROGRAMME" ; |
| | | public static final String IMG_DIR = "IMG_DIR"; |
| | | public static final String FILE_DIR ="FILE_DIR" ; |
| | |
| | | //å°ç¨åºæ¯æ¥æå¡ç»ææ¶é´ |
| | | public static final String BUSINESS_ENDTIME = "BUSINESS_ENDTIME"; |
| | | |
| | | //éééç¥å°å |
| | | public static final String DINGDING_URL = "DINGDING_URL"; |
| | | //ééç¾å |
| | | public static final String DINGDING_SECRET = "DINGDING_SECRET"; |
| | | |
| | | //å°ç¨åºæ»¡è½½é¢è¦(%)æå¤§å¼ |
| | | public static final String WARN_MAX = "WARN_MAX"; |
| | | //å°ç¨åºæ»¡è½½é¢è¦(%)æå°å¼ |
| | | public static final String WARN_MIN = "WARN_MIN"; |
| | | |
| | | |
| | | public static final String FILES_DIR = "FILES_DIR"; |
| | | public static final String SCRATCH_REDIRECT_URL = "SCRATCH_REDIRECT_URL"; |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.core.dingding; |
| | | |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.doumee.core.constants.Constants; |
| | | import com.doumee.core.utils.HttpsUtil; |
| | | import com.doumee.dao.business.model.BikeRepair; |
| | | import com.doumee.dao.business.web.request.RepairRequest; |
| | | import org.apache.commons.codec.binary.Base64; |
| | | |
| | | import javax.crypto.Mac; |
| | | import javax.crypto.spec.SecretKeySpec; |
| | | import java.math.BigDecimal; |
| | | import java.net.URLEncoder; |
| | | import java.util.HashMap; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * Created by IntelliJ IDEA. |
| | | * |
| | | * @Author : Rk |
| | | * @create 2022/12/7 11:16 |
| | | */ |
| | | public class DingDingNotice { |
| | | |
| | | |
| | | /** |
| | | * ééæºå¨äºº å ç¾ |
| | | * @param timestamp |
| | | * @param secret |
| | | * @return |
| | | * @throws Exception |
| | | */ |
| | | public static String getSign(Long timestamp, String secret) throws Exception{ |
| | | String stringToSign = timestamp + "\n" + secret; |
| | | Mac mac = Mac.getInstance("HmacSHA256"); |
| | | mac.init(new SecretKeySpec(secret.getBytes("UTF-8"), "HmacSHA256")); |
| | | byte[] signData = mac.doFinal(stringToSign.getBytes("UTF-8")); |
| | | String sign = URLEncoder.encode(new String(Base64.encodeBase64(signData)),"UTF-8"); |
| | | return sign; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * éééç¥ - 车è¾å¼å¸¸ä¸æ¥ |
| | | * @param repairRequest |
| | | * @param ddUrl |
| | | * @throws Exception |
| | | */ |
| | | public static void bikeRepair(RepairRequest repairRequest, String ddUrl , String secret) throws Exception{ |
| | | Long timestamp = System.currentTimeMillis(); |
| | | Map<String,Object> content = new HashMap<>(); |
| | | content.put("msgtype","text"); |
| | | Map<String,String> text = new HashMap<>(); |
| | | text.put("content","ãæ
é䏿¥ã车è¾ç¼å·ï¼"+repairRequest.getBikeCode()+"ï¼ä½ç½®ï¼"+repairRequest.getAddr()+"ï¼èç³»çµè¯ï¼"+repairRequest.getLinkphone()+"ï¼è¯·åæ¶æ¥çå¤çã"); |
| | | content.put("text",text); |
| | | HttpsUtil.post(ddUrl+"×tamp="+timestamp+"&sign="+getSign(timestamp,secret), JSONObject.toJSONString(content),"application/json",false); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * éééç¥ - ç«ç¹å¨è½¦åè¦ |
| | | * @param siteName |
| | | * @param ddUrl |
| | | * @param secret |
| | | * @param type 0=è¶
åº 1=ä½äº |
| | | * @param warnVal æ¥è¦å¼ |
| | | * @throws Exception |
| | | */ |
| | | public static void reservesNotice(String siteName, String ddUrl , String secret, Integer type, BigDecimal warnVal) throws Exception{ |
| | | Long timestamp = System.currentTimeMillis(); |
| | | Map<String,Object> content = new HashMap<>(); |
| | | content.put("msgtype","text"); |
| | | Map<String,String> text = new HashMap<>(); |
| | | //text.put("content","ãç«ç¹å¨è½¦åè¦ã"+siteName+"ï¼å¨è½¦éè¶
è¿80%/ä½äº20%ï¼è¯·åæ¶è¿è¡è½¦è¾è°é
"); |
| | | |
| | | text.put("content","ãç«ç¹å¨è½¦åè¦ã"+siteName+"ï¼å¨è½¦é"+(type.equals(Constants.ZERO)?"è¶
åº":"ä½äº")+warnVal+"%ï¼è¯·åæ¶è¿è¡è½¦è¾è°é
"); |
| | | content.put("text",text); |
| | | HttpsUtil.post(ddUrl+"×tamp="+timestamp+"&sign="+getSign(timestamp,secret), JSONObject.toJSONString(content),"application/json",false); |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.core.utils; |
| | | |
| | | import javax.net.ssl.*; |
| | | import java.io.ByteArrayOutputStream; |
| | | import java.io.InputStream; |
| | | import java.io.OutputStream; |
| | | import java.net.URL; |
| | | import java.security.KeyManagementException; |
| | | import java.security.NoSuchAlgorithmException; |
| | | import java.security.SecureRandom; |
| | | import java.security.cert.CertificateException; |
| | | import java.security.cert.X509Certificate; |
| | | |
| | | public class HttpsUtil { |
| | | |
| | | public static String get(String url,boolean ignoreSSL) { |
| | | return connection(url, "GET", null, null,ignoreSSL); |
| | | } |
| | | |
| | | public static String post(String url, String data, String contentType, boolean ignoreSSL) { |
| | | return connection(url, "POST", data, contentType, ignoreSSL); |
| | | } |
| | | |
| | | public static String connection(String url,String method,String data,String contentType,boolean ignoreSSL){ |
| | | HttpsURLConnection connection = null; |
| | | try { |
| | | URL _url = new URL(url); |
| | | connection = (HttpsURLConnection) _url.openConnection(); |
| | | connection.setRequestMethod(method); |
| | | connection.setDoOutput(true); |
| | | connection.setDoInput(true); |
| | | connection.setUseCaches(false); |
| | | if(contentType != null){ |
| | | connection.setRequestProperty("Content-Type", contentType); |
| | | } |
| | | |
| | | if(ignoreSSL){ |
| | | //ä¿¡ä»»ææsslè¯ä¹¦åä¸»æº |
| | | TrustManager[] trustManagers = {new HttpsTrustManager()}; |
| | | SSLContext context = SSLContext.getInstance("TLS"); |
| | | context.init(null, trustManagers, new SecureRandom()); |
| | | connection.setSSLSocketFactory(context.getSocketFactory()); |
| | | connection.setHostnameVerifier(new HostnameVerifier() { |
| | | @Override |
| | | public boolean verify(String hostname, SSLSession session) { |
| | | return true; |
| | | } |
| | | }); |
| | | } |
| | | |
| | | |
| | | connection.connect(); |
| | | |
| | | if(data != null){ |
| | | OutputStream outputStream = connection.getOutputStream(); |
| | | outputStream.write(data.getBytes("utf-8")); |
| | | outputStream.close(); |
| | | } |
| | | |
| | | int responseCode = connection.getResponseCode(); |
| | | if (responseCode == HttpsURLConnection.HTTP_OK) { |
| | | InputStream is = connection.getInputStream(); |
| | | byte[] b = new byte[4096]; |
| | | ByteArrayOutputStream baos = new ByteArrayOutputStream(b.length); |
| | | int len; |
| | | while ((len = is.read(b)) != -1) { |
| | | baos.write(b, 0, len); |
| | | } |
| | | is.close(); |
| | | return baos.toString("utf-8"); |
| | | } |
| | | return connection.getResponseMessage(); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } finally { |
| | | if(connection != null){ |
| | | connection.disconnect(); |
| | | } |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | |
| | | public static void main(String[] args) { |
| | | //å±é¨ä¿¡ä»»ææè¯ä¹¦åä¸»æº |
| | | String result = HttpsUtil.get("https://127.0.0.1:8443/ssl-test/test01.do",true); |
| | | System.out.println(result); |
| | | |
| | | //å¤é¨ä¿¡ä»»ææè¯ä¹¦åä¸»æº |
| | | HttpsTrustManager.allowAllSSL(); |
| | | String response = HttpsUtil.get("https://127.0.0.1:8443/ssl-test/test01.do", false); |
| | | System.out.println(result); |
| | | |
| | | } |
| | | } |
| | | |
| | | class HttpsTrustManager implements X509TrustManager { |
| | | |
| | | private static TrustManager[] trustManagers = {new HttpsTrustManager()}; |
| | | |
| | | @Override |
| | | public void checkClientTrusted(X509Certificate[] arg0, String arg1) throws CertificateException { |
| | | // TODO Auto-generated method stub |
| | | |
| | | } |
| | | |
| | | @Override |
| | | public void checkServerTrusted(X509Certificate[] arg0, String arg1) throws CertificateException { |
| | | // TODO Auto-generated method stub |
| | | |
| | | } |
| | | |
| | | @Override |
| | | public X509Certificate[] getAcceptedIssuers() { |
| | | // TODO Auto-generated method stub |
| | | return null; |
| | | } |
| | | |
| | | public static void allowAllSSL() { |
| | | try { |
| | | SSLContext context = SSLContext.getInstance("TLS"); |
| | | context.init(null, trustManagers, new SecureRandom()); |
| | | HttpsURLConnection.setDefaultSSLSocketFactory(context.getSocketFactory()); |
| | | HttpsURLConnection.setDefaultHostnameVerifier(new HostnameVerifier() { |
| | | @Override |
| | | public boolean verify(String hostname, SSLSession session) { |
| | | return true; |
| | | } |
| | | }); |
| | | } catch (NoSuchAlgorithmException | KeyManagementException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | |
| | | } |
| | |
| | | package com.doumee.dao.business; |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.doumee.dao.business.model.Sites; |
| | | import com.doumee.dao.business.web.request.SitesMonitorBikeDTO; |
| | | import com.doumee.dao.business.web.request.SitesMonitorDTO; |
| | | import com.doumee.dao.system.dto.QuerySystemUserDTO; |
| | | import org.apache.ibatis.annotations.Param; |
| | | import org.apache.ibatis.annotations.Select; |
| | | |
| | | /** |
| | |
| | | /** |
| | | * @return |
| | | */ |
| | | @Select("SELECT \n" + |
| | | "sites.id,\n" + |
| | | "sites.name as name,\n" + |
| | | "sites.code as code,\n" + |
| | | "count(l.id) as lid,\n" + |
| | | "count(l.bike_code ) as lbikeCount\n" + |
| | | "from \n" + |
| | | "sites sites\n" + |
| | | "LEFT JOIN locks l on sites.id = l.site_id\n" + |
| | | "GROUP BY sites.id ") |
| | | SitesMonitorDTO getSitesMonitorDTO(); |
| | | Page<SitesMonitorDTO> getSitesMonitorDTO(IPage page, @Param("code") String code, @Param("name") String name); |
| | | |
| | | |
| | | Page<SitesMonitorBikeDTO> getSitesMonitorBikeDTO(IPage page, |
| | | @Param("code") String code, |
| | | @Param("name") String name, |
| | | @Param("lockCode") String lockCode, |
| | | @Param("hasBike") Boolean hasBike ); |
| | | } |
| | |
| | | @ApiModel("æ¥ä¿®ä¸å¡è¯·æ±ç±»") |
| | | public class RepairRequest { |
| | | |
| | | @ApiModelProperty(value = "车è¾ç¼ç ") |
| | | @ApiModelProperty(value = "车è¾ä¸»é®") |
| | | private String binkeId; |
| | | |
| | | @ApiModelProperty(value = "车è¾ç¼ç ") |
| | | private String bikeCode; |
| | | |
| | | @ApiModelProperty(value = "ç»åº¦", example = "1") |
| | | private BigDecimal longitude; |
| | | |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.dao.business.web.request; |
| | | |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.math.BigDecimal; |
| | | |
| | | /** |
| | | * @author T14 |
| | | */ |
| | | @Data |
| | | @ApiModel("ç«ç¹è½¦è¾çæ§") |
| | | public class SitesMonitorBikeDTO { |
| | | |
| | | @ApiModelProperty(value = "åç§°") |
| | | private String name; |
| | | |
| | | @ApiModelProperty(value = "ç¼å·") |
| | | private String code; |
| | | |
| | | @ApiModelProperty(value = "鿢卿°") |
| | | private Integer localCode; |
| | | |
| | | @ApiModelProperty(value = "卿¶è½¦è¾æ°") |
| | | private Integer bikeCode; |
| | | |
| | | @ApiModelProperty(value = "车è¾ç±»å") |
| | | private String bikeType; |
| | | |
| | | } |
| | |
| | | private BigDecimal rate; |
| | | |
| | | |
| | | @ApiModelProperty(value = "é头æ¯å¦æè½¦") |
| | | private Boolean hasBike ; |
| | | |
| | | @ApiModelProperty(value = "满æ¶ç") |
| | | private String lockCode; |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | |
| | | */ |
| | | long count(BikeRepair bikeRepair); |
| | | |
| | | void saveRepair(RepairRequest repairRequest); |
| | | void saveRepair(RepairRequest repairRequest) throws Exception; |
| | | } |
| | |
| | | package com.doumee.service.business; |
| | | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.doumee.core.model.PageData; |
| | | import com.doumee.core.model.PageWrap; |
| | | import com.doumee.dao.business.model.Sites; |
| | | import com.doumee.dao.business.web.request.SitesMonitorBikeDTO; |
| | | import com.doumee.dao.business.web.request.SitesMonitorDTO; |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | |
| | | * @return long |
| | | */ |
| | | long count(Sites sites); |
| | | |
| | | /** |
| | | * ç«ç¹é¢è¦ |
| | | * @param siteId |
| | | * @throws Exception |
| | | */ |
| | | void siteReservesNotice(String siteId) throws Exception; |
| | | |
| | | |
| | | /** |
| | | * å页æ¥è¯¢ç«ç¹å¨è½¦çæ§ |
| | | * |
| | | * @param pageWrap å页对象 |
| | | * @return PageData<Sites> |
| | | */ |
| | | PageData<SitesMonitorDTO> findSitesMonitorDTOPage(PageWrap<SitesMonitorDTO> pageWrap); |
| | | |
| | | |
| | | PageData<SitesMonitorBikeDTO> getSitesMonitorBikeDTO(PageWrap<SitesMonitorDTO> pageWrap); |
| | | |
| | | } |
| | |
| | | import com.doumee.biz.system.SystemDictDataBiz; |
| | | import com.google.common.collect.Lists; |
| | | |
| | | import com.doumee.biz.system.SystemDictDataBiz; |
| | | import com.doumee.core.constants.Constants; |
| | | import com.doumee.core.dingding.DingDingNotice; |
| | | import com.doumee.core.model.PageData; |
| | | import com.doumee.core.model.PageWrap; |
| | | import com.doumee.core.utils.Utils; |
| | |
| | | |
| | | @Autowired |
| | | private MultifileMapper multifileMapper; |
| | | |
| | | @Autowired |
| | | private SystemDictDataBiz systemDictDataBiz; |
| | | |
| | | @Override |
| | | public String create(BikeRepair bikeRepair) { |
| | |
| | | |
| | | |
| | | @Override |
| | | public void saveRepair(RepairRequest repairRequest){ |
| | | public void saveRepair(RepairRequest repairRequest) throws Exception{ |
| | | BikeRepair bikeRepair = new BikeRepair(); |
| | | BeanUtils.copyProperties(repairRequest,bikeRepair); |
| | | bikeRepair.setCreateDate(new Date()); |
| | |
| | | multifileMapper.insert(multifile); |
| | | } |
| | | } |
| | | //åééééç¥ |
| | | DingDingNotice.bikeRepair(repairRequest, |
| | | systemDictDataBiz.queryByCode(Constants.DINGDING,Constants.DINGDING_URL).getCode(), |
| | | systemDictDataBiz.queryByCode(Constants.DINGDING,Constants.DINGDING_SECRET).getCode()); |
| | | |
| | | } |
| | | |
| | | |
| | |
| | | package com.doumee.service.business.impl; |
| | | |
| | | import com.doumee.biz.system.SystemDictDataBiz; |
| | | import com.doumee.core.constants.Constants; |
| | | import com.doumee.core.dingding.DingDingNotice; |
| | | import com.doumee.core.constants.Constants; |
| | | import com.doumee.core.constants.ResponseStatus; |
| | | import com.doumee.core.exception.BusinessException; |
| | |
| | | import com.doumee.core.model.PageData; |
| | | import com.doumee.core.model.PageWrap; |
| | | import com.doumee.core.utils.Utils; |
| | | import com.doumee.dao.business.LocksMapper; |
| | | import com.doumee.dao.business.SitesMapper; |
| | | import com.doumee.dao.business.model.Locks; |
| | | import com.doumee.dao.business.model.Sites; |
| | | import com.doumee.dao.business.web.request.SitesMonitorBikeDTO; |
| | | import com.doumee.dao.business.web.request.SitesMonitorDTO; |
| | | import com.doumee.service.business.SitesService; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import org.checkerframework.checker.units.qual.C; |
| | | import org.apache.shiro.SecurityUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.scheduling.annotation.Async; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.util.CollectionUtils; |
| | | import org.springframework.util.StringUtils; |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * ç«ç¹ä¿¡æ¯è¡¨Serviceå®ç° |
| | |
| | | |
| | | @Autowired |
| | | private SitesMapper sitesMapper; |
| | | |
| | | @Autowired |
| | | private LocksMapper locksMapper; |
| | | |
| | | @Autowired |
| | | private SystemDictDataBiz systemDictDataBiz; |
| | | |
| | | @Override |
| | | public String create(Sites sites) { |
| | |
| | | QueryWrapper<Sites> wrapper = new QueryWrapper<>(sites); |
| | | return sitesMapper.selectCount(wrapper); |
| | | } |
| | | |
| | | @Override |
| | | public PageData<SitesMonitorDTO> findSitesMonitorDTOPage(PageWrap<SitesMonitorDTO> pageWrap) { |
| | | |
| | | IPage page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); |
| | | Page<SitesMonitorDTO> sitesMonitorDTO = sitesMapper.getSitesMonitorDTO(page, pageWrap.getModel().getCode(), pageWrap.getModel().getName()); |
| | | |
| | | if (!CollectionUtils.isEmpty(sitesMonitorDTO.getRecords())){ |
| | | sitesMonitorDTO.getRecords().forEach(s->{ |
| | | s.setRate(new BigDecimal(s.getBikeCount()).divide(new BigDecimal(s.getLocalCount()).setScale(2))); |
| | | }); |
| | | } |
| | | |
| | | return PageData.from(sitesMonitorDTO); |
| | | } |
| | | |
| | | @Override |
| | | public void siteReservesNotice(String siteId) throws Exception { |
| | | |
| | | } |
| | | |
| | | @Override |
| | | public PageData<SitesMonitorBikeDTO> getSitesMonitorBikeDTO(PageWrap<SitesMonitorDTO> pageWrap) { |
| | | IPage page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); |
| | | Page<SitesMonitorBikeDTO> sitesMonitorDTO = sitesMapper.getSitesMonitorBikeDTO(page, |
| | | pageWrap.getModel().getCode(), |
| | | pageWrap.getModel().getName(), |
| | | pageWrap.getModel().getLockCode(), |
| | | pageWrap.getModel().getHasBike()); |
| | | |
| | | |
| | | return PageData.from(sitesMonitorDTO); |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <?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="com.doumee.dao.business.SitesMapper"> |
| | | |
| | | <select id="getSitesMonitorDTO" resultType="com.doumee.dao.business.web.request.SitesMonitorDTO"> |
| | | |
| | | SELECT |
| | | sites.id, |
| | | sites.name as name, |
| | | sites.code as code, |
| | | count(l.id) as lid, |
| | | count(l.bike_code ) as lbikeCount |
| | | from |
| | | sites sites |
| | | LEFT JOIN locks l on sites.id = l.site_id |
| | | <where> |
| | | sites.isdeleted = 0 |
| | | <if test="code != null and code != ''"> |
| | | and sites.code like LIKE '%'||#{code}||'%' |
| | | </if> |
| | | <if test="name != null and name != ''"> |
| | | and sites.name like LIKE '%'||#{name}||'%' |
| | | </if> |
| | | </where> |
| | | |
| | | GROUP BY sites.id |
| | | |
| | | </select> |
| | | |
| | | <select id="getSitesMonitorBikeDTO" resultType="com.doumee.dao.business.web.request.SitesMonitorBikeDTO"> |
| | | SELECT |
| | | sites.id, |
| | | sites.name as name, |
| | | sites.code as code, |
| | | l.name as locksName, |
| | | l.bike_code as bike_code, |
| | | bp.name as bikeType |
| | | from |
| | | sites sites |
| | | LEFT JOIN locks l on sites.id = l.site_id |
| | | LEFT JOIN base_param bp on bp.id = l.param_id |
| | | <where> |
| | | sites.isdeleted = 0 |
| | | <if test="code != null and code != ''"> |
| | | and sites.code like LIKE '%'||#{code}||'%' |
| | | </if> |
| | | <if test="name != null and name != ''"> |
| | | and sites.name like LIKE '%'||#{name}||'%' |
| | | </if> |
| | | <if test="lockCode != null and lockCode != ''"> |
| | | and l.code like LIKE '%'||#{lockCode}||'%' |
| | | </if> |
| | | <if test="hasBike != null and hasBike != false"> |
| | | l.bike_code isnull |
| | | </if> |
| | | <if test="hasBike != null and hasBike != true"> |
| | | l.bike_code notnull |
| | | </if> |
| | | </where> |
| | | </select> |
| | | |
| | | </mapper> |
| | |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "ç¨æ·tokenå¼", required = true) |
| | | }) |
| | | public ApiResponse transactionsPage (@RequestBody RepairRequest repairRequest) { |
| | | public ApiResponse transactionsPage (@RequestBody RepairRequest repairRequest) throws Exception{ |
| | | repairRequest.setMemberId(getMemberId()); |
| | | bikeRepairService.saveRepair(repairRequest); |
| | | return ApiResponse.success("æä½æå"); |