server/platform/src/main/java/com/doumee/api/business/BikeRepairController.java
@@ -7,6 +7,8 @@ import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.dao.business.model.BikeRepair; import com.doumee.dao.business.web.request.BikeRepairDTO; import com.doumee.dao.business.web.request.BikeRepairQuery; import com.doumee.service.business.BikeRepairService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -70,15 +72,15 @@ @ApiOperation("å页æ¥è¯¢") @PostMapping("/page") @RequiresPermissions("business:bikerepair:query") public ApiResponse<PageData<BikeRepair>> findPage (@RequestBody PageWrap<BikeRepair> pageWrap) { public ApiResponse<PageData<BikeRepairDTO>> findPage (@RequestBody PageWrap<BikeRepairQuery> pageWrap) { return ApiResponse.success(bikeRepairService.findPage(pageWrap)); } @ApiOperation("导åºExcel") @PostMapping("/exportExcel") @RequiresPermissions("business:bikerepair:exportExcel") public void exportExcel (@RequestBody PageWrap<BikeRepair> pageWrap, HttpServletResponse response) { ExcelExporter.build(BikeRepair.class).export(bikeRepairService.findPage(pageWrap).getRecords(), "车è¾é®é¢ä¸æ¥ä¿¡æ¯è¡¨", response); public void exportExcel (@RequestBody PageWrap<BikeRepairQuery> pageWrap, HttpServletResponse response) { ExcelExporter.build(BikeRepairDTO.class).export(bikeRepairService.findPage(pageWrap).getRecords(), "车è¾é®é¢ä¸æ¥ä¿¡æ¯è¡¨", response); } @ApiOperation("æ ¹æ®IDæ¥è¯¢") server/services/src/main/java/com/doumee/core/constants/Constants.java
@@ -27,6 +27,7 @@ public static final String IMG_DIR = "IMG_DIR"; public static final String FILE_DIR ="FILE_DIR" ; public static final String PRIVATE_KEY = "PRIVATE_KEY"; public static final String PROJECT_FILE = "PROJECT_FILE"; public static String REDIS_DEBUG_STR="test_"; public interface MqttTopic{ //å¼é server/services/src/main/java/com/doumee/dao/business/SitesMapper.java
@@ -2,6 +2,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.doumee.dao.business.model.Sites; import com.doumee.dao.business.web.request.SitesMonitorDTO; import org.apache.ibatis.annotations.Select; /** * @author æ±è¹è¹ @@ -9,4 +11,20 @@ */ public interface SitesMapper extends BaseMapper<Sites> { /** * @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(); } server/services/src/main/java/com/doumee/dao/business/join/BikeRepairJoinMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,12 @@ package com.doumee.dao.business.join; import com.doumee.dao.business.model.BikeRepair; import com.github.yulichang.base.mapper.MPJJoinMapper; import org.springframework.stereotype.Repository; /** * @author T14 */ @Repository public interface BikeRepairJoinMapper extends MPJJoinMapper<BikeRepair> { } server/services/src/main/java/com/doumee/dao/business/model/Multifile.java
@@ -72,6 +72,11 @@ @ExcelColumn(name="æä»¶å°å") private String fileurl; @ApiModelProperty(value = "æä»¶å°å") @ExcelColumn(name="æä»¶å°å") @TableField(exist = false) private String fileurlfull; @ApiModelProperty(value = "æåºç ") @ExcelColumn(name="æåºç ") private Integer sortnum; server/services/src/main/java/com/doumee/dao/business/model/Sites.java
@@ -1,5 +1,6 @@ package com.doumee.dao.business.model; import com.baomidou.mybatisplus.annotation.TableLogic; import com.doumee.core.annotation.excel.ExcelColumn; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -44,6 +45,7 @@ @ApiModelProperty(value = "æ¯å¦å·²å é¤ 0æªå é¤ 1å·²å é¤", example = "1") @ExcelColumn(name="æ¯å¦å·²å é¤ 0æªå é¤ 1å·²å é¤") @TableLogic private Integer isdeleted; @ApiModelProperty(value = "夿³¨") server/services/src/main/java/com/doumee/dao/business/web/request/BikeRepairDTO.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,41 @@ package com.doumee.dao.business.web.request; import com.doumee.core.annotation.excel.ExcelColumn; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; /** * @author T14 */ @Data @ApiModel("车è¾é®é¢ä¸æ¥ä¿¡æ¯å表") public class BikeRepairDTO { @ApiModelProperty(value = "ç¨æ·") private String openid; @ApiModelProperty(value = "车è¾ç±»å") private String bikeTypeName; @ApiModelProperty(value = "车è¾ç¼å·") private String bikeCode; @ApiModelProperty(value = "è系人") private String linkname; @ApiModelProperty(value = "èç³»çµè¯") private String linkphone; @ApiModelProperty(value = "é®é¢ç±»å") private String problemName; @ApiModelProperty(value = "æ¯å¦å¤ç") private Integer status; @ApiModelProperty(value = "å建æ¶é´å¼å§") private Date createDate; } server/services/src/main/java/com/doumee/dao/business/web/request/BikeRepairProblemDTO.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,23 @@ package com.doumee.dao.business.web.request; import com.doumee.dao.business.model.Multifile; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.List; /** * @author T14 */ @Data @ApiModel("车è¾é®é¢ä¸æ¥é®é¢æè¿°") public class BikeRepairProblemDTO { @ApiModelProperty(value = "ç¨æ·ä¸æ¥é®é¢") private String param; @ApiModelProperty(value = "éä»¶ä¿¡æ¯") private List<Multifile> list; } server/services/src/main/java/com/doumee/dao/business/web/request/BikeRepairQuery.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,30 @@ package com.doumee.dao.business.web.request; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; /** * @author T14 */ @Data @ApiModel("èªè¡è½¦ä¸æ¥æ¥è¯¢") public class BikeRepairQuery { @ApiModelProperty(value = "ç¨æ·") private String openid; @ApiModelProperty(value = "车è¾ç¼å·") private String bikeId; @ApiModelProperty(value = "æ¯å¦å¤ç") private Integer status; @ApiModelProperty(value = "å建æ¶é´å¼å§") private Date createDateStart; @ApiModelProperty(value = "å建æ¶é´ç»æ") private Date createDateEnd; } server/services/src/main/java/com/doumee/dao/business/web/request/SitesMonitorDTO.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,37 @@ package com.doumee.dao.business.web.request; import com.doumee.core.annotation.excel.ExcelColumn; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.math.BigDecimal; /** * @author T14 */ @Data @ApiModel("ç«ç¹ç»è®¡") public class SitesMonitorDTO { @ApiModelProperty(value = "åç§°") private String name; @ApiModelProperty(value = "ç¼å·") private String code; @ApiModelProperty(value = "鿢卿°") private Integer localCount; @ApiModelProperty(value = "卿¶è½¦è¾æ°") private Integer bikeCount; @ApiModelProperty(value = "满æ¶ç") private BigDecimal rate; } server/services/src/main/java/com/doumee/service/business/BikeRepairService.java
@@ -3,6 +3,9 @@ import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.dao.business.model.BikeRepair; import com.doumee.dao.business.web.request.BikeRepairDTO; import com.doumee.dao.business.web.request.BikeRepairProblemDTO; import com.doumee.dao.business.web.request.BikeRepairQuery; import com.doumee.dao.business.web.request.RepairRequest; import java.util.List; @@ -16,7 +19,7 @@ /** * å建 * * * @param bikeRepair å®ä½å¯¹è±¡ * @return String */ @@ -80,14 +83,21 @@ * @return List<BikeRepair> */ List<BikeRepair> findList(BikeRepair bikeRepair); /** * å页æ¥è¯¢ * * @param pageWrap å页对象 * @return PageData<BikeRepair> */ PageData<BikeRepair> findPage(PageWrap<BikeRepair> pageWrap); PageData<BikeRepairDTO> findPage(PageWrap<BikeRepairQuery> pageWrap); /** * * è·å䏿¥äººçä¿ä¿®ä¿¡æ¯ * @return BikeRepairProblemDTO */ BikeRepairProblemDTO getBikeRepairProblemDTO(String id); /** * æ¡ä»¶ç»è®¡ server/services/src/main/java/com/doumee/service/business/impl/BikeRepairServiceImpl.java
@@ -1,4 +1,6 @@ package com.doumee.service.business.impl; import com.doumee.biz.system.SystemDictDataBiz; import com.google.common.collect.Lists; import com.doumee.core.constants.Constants; import com.doumee.core.model.PageData; @@ -6,18 +8,23 @@ import com.doumee.core.utils.Utils; import com.doumee.dao.business.BikeRepairMapper; import com.doumee.dao.business.MultifileMapper; import com.doumee.dao.business.model.BikeRepair; import com.doumee.dao.business.model.Multifile; import com.doumee.dao.business.join.BikeRepairJoinMapper; import com.doumee.dao.business.model.*; import com.doumee.dao.business.web.request.BikeRepairDTO; import com.doumee.dao.business.web.request.BikeRepairProblemDTO; import com.doumee.dao.business.web.request.BikeRepairQuery; import com.doumee.dao.business.web.request.RepairRequest; import com.doumee.service.business.BikeRepairService; 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 com.github.yulichang.wrapper.MPJLambdaWrapper; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import org.springframework.util.StringUtils; import java.util.Date; import java.util.List; @@ -33,6 +40,12 @@ @Autowired private BikeRepairMapper bikeRepairMapper; @Autowired private BikeRepairJoinMapper bikeRepairJoinMapper; @Autowired SystemDictDataBiz systemDictDataBiz; @Autowired private MultifileMapper multifileMapper; @@ -93,83 +106,69 @@ QueryWrapper<BikeRepair> wrapper = new QueryWrapper<>(bikeRepair); return bikeRepairMapper.selectList(wrapper); } @Override public PageData<BikeRepair> findPage(PageWrap<BikeRepair> pageWrap) { public PageData<BikeRepairDTO> findPage(PageWrap<BikeRepairQuery> pageWrap) { IPage<BikeRepair> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); QueryWrapper<BikeRepair> queryWrapper = new QueryWrapper<>(); MPJLambdaWrapper<BikeRepair> queryWrapper = new MPJLambdaWrapper<>(); Utils.MP.blankToNull(pageWrap.getModel()); if (pageWrap.getModel().getId() != null) { queryWrapper.lambda().eq(BikeRepair::getId, pageWrap.getModel().getId()); } if (pageWrap.getModel().getCreateDate() != null) { queryWrapper.lambda().ge(BikeRepair::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate())); queryWrapper.lambda().le(BikeRepair::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate())); } if (pageWrap.getModel().getCreator() != null) { queryWrapper.lambda().eq(BikeRepair::getCreator, pageWrap.getModel().getCreator()); } if (pageWrap.getModel().getEditDate() != null) { queryWrapper.lambda().ge(BikeRepair::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate())); queryWrapper.lambda().le(BikeRepair::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate())); } if (pageWrap.getModel().getEditor() != null) { queryWrapper.lambda().eq(BikeRepair::getEditor, pageWrap.getModel().getEditor()); } if (pageWrap.getModel().getIsdeleted() != null) { queryWrapper.lambda().eq(BikeRepair::getIsdeleted, pageWrap.getModel().getIsdeleted()); } if (pageWrap.getModel().getBinkeId() != null) { queryWrapper.lambda().eq(BikeRepair::getBinkeId, pageWrap.getModel().getBinkeId()); } if (pageWrap.getModel().getLongitude() != null) { queryWrapper.lambda().eq(BikeRepair::getLongitude, pageWrap.getModel().getLongitude()); } if (pageWrap.getModel().getLatitude() != null) { queryWrapper.lambda().eq(BikeRepair::getLatitude, pageWrap.getModel().getLatitude()); } if (pageWrap.getModel().getAddr() != null) { queryWrapper.lambda().eq(BikeRepair::getAddr, pageWrap.getModel().getAddr()); } if (pageWrap.getModel().getParamId() != null) { queryWrapper.lambda().eq(BikeRepair::getParamId, pageWrap.getModel().getParamId()); } if (pageWrap.getModel().getParam() != null) { queryWrapper.lambda().eq(BikeRepair::getParam, pageWrap.getModel().getParam()); if (pageWrap.getModel().getCreateDateStart() != null && pageWrap.getModel().getCreateDateEnd() != null) { queryWrapper.ge(BikeRepair::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDateStart())); queryWrapper.le(BikeRepair::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDateEnd())); } if (pageWrap.getModel().getStatus() != null) { queryWrapper.lambda().eq(BikeRepair::getStatus, pageWrap.getModel().getStatus()); queryWrapper.eq(BikeRepair::getStatus, pageWrap.getModel().getStatus()); } if (pageWrap.getModel().getInfo() != null) { queryWrapper.lambda().eq(BikeRepair::getInfo, pageWrap.getModel().getInfo()); queryWrapper.leftJoin(Member.class,Member::getId,BikeRepair::getMemberId) .leftJoin(Bikes.class,Bikes::getId,BikeRepair::getBinkeId) .leftJoin(BaseParam.class,BaseParam::getId,Bikes::getParamId) .leftJoin("base_param bpp on b.param_id = bp.id and bp.type = 1"); queryWrapper.selectAs(Member::getOpenid,BikeRepairDTO::getOpenid) .selectAs(BikeRepair::getLinkname,BikeRepairDTO::getLinkname) .selectAs(BikeRepair::getLinkphone,BikeRepairDTO::getLinkphone) .selectAs(Bikes::getCode,BikeRepairDTO::getBikeCode) .selectAs(BikeRepair::getCreateDate,BikeRepairDTO::getCreateDate) .selectAs(BikeRepair::getStatus,BikeRepairDTO::getStatus) .selectAs(BaseParam::getName,BikeRepairDTO::getBikeTypeName) .select("bpp.name as problemName"); queryWrapper.like(!StringUtils.isEmpty(pageWrap.getModel().getOpenid()),Member::getOpenid,pageWrap.getModel().getOpenid()) .like(!StringUtils.isEmpty(pageWrap.getModel().getBikeId()),Bikes::getId,pageWrap.getModel().getBikeId()) .eq(!StringUtils.isEmpty(pageWrap.getModel().getStatus()),BikeRepair::getStatus,pageWrap.getModel().getStatus()) .ge(Objects.nonNull(pageWrap.getModel().getCreateDateStart()), BikeRepair::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDateStart())) .le(Objects.nonNull(pageWrap.getModel().getCreateDateEnd()), BikeRepair::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDateEnd())); return PageData.from(bikeRepairJoinMapper.selectJoinPage(page, BikeRepairDTO.class,queryWrapper)); } @Override public BikeRepairProblemDTO getBikeRepairProblemDTO(String id) { BikeRepairProblemDTO bikeRepairProblemDTO = new BikeRepairProblemDTO(); BikeRepair bikeRepair = bikeRepairMapper.selectById(id); bikeRepairProblemDTO.setParam(bikeRepair.getParam()); // multifileMapper.multifile); QueryWrapper<Multifile> wrapper = new QueryWrapper<>(); wrapper.lambda() .eq(Multifile::getObjId,id) .eq(Multifile::getObjType,Constants.ZERO) .eq(Multifile::getIsdeleted,Constants.ZERO); List<Multifile> multifiles = multifileMapper.selectList(wrapper); //TODO éè¦ä¿®æ¹ String path =systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode(); String projectFile = systemDictDataBiz.queryByCode(Constants.OSS, Constants.PROJECT_FILE).getCode(); if (!CollectionUtils.isEmpty(multifiles)){ multifiles.forEach(s->{ s.setFileurlfull(path+projectFile+s.getFileurl()); }); bikeRepairProblemDTO.setList(multifiles); } if (pageWrap.getModel().getLinkname() != null) { queryWrapper.lambda().eq(BikeRepair::getLinkname, pageWrap.getModel().getLinkname()); } if (pageWrap.getModel().getLinkphone() != null) { queryWrapper.lambda().eq(BikeRepair::getLinkphone, pageWrap.getModel().getLinkphone()); } if (pageWrap.getModel().getDealUser() != null) { queryWrapper.lambda().eq(BikeRepair::getDealUser, pageWrap.getModel().getDealUser()); } if (pageWrap.getModel().getDealDate() != null) { queryWrapper.lambda().ge(BikeRepair::getDealDate, Utils.Date.getStart(pageWrap.getModel().getDealDate())); queryWrapper.lambda().le(BikeRepair::getDealDate, Utils.Date.getEnd(pageWrap.getModel().getDealDate())); } if (pageWrap.getModel().getDealInfo() != null) { queryWrapper.lambda().eq(BikeRepair::getDealInfo, pageWrap.getModel().getDealInfo()); } if (pageWrap.getModel().getContent() != null) { queryWrapper.lambda().eq(BikeRepair::getContent, pageWrap.getModel().getContent()); } for(PageWrap.SortData sortData: pageWrap.getSorts()) { if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { queryWrapper.orderByDesc(sortData.getProperty()); } else { queryWrapper.orderByAsc(sortData.getProperty()); } } return PageData.from(bikeRepairMapper.selectPage(page, queryWrapper)); return null; } @Override server/services/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java
@@ -593,6 +593,7 @@ Integer durationSum = memberRides.stream().filter(s -> s.getDuration() > 0).mapToInt(s -> s.getDuration()).sum(); if (durationSum > pricingRule.getMemberRides().getBaseTime()){ BigDecimal basePrice = pricingRule.getMemberRides().getBasePrice(); //TODO åè¯ BigDecimal multiply = pricingRule.getMemberRides().getUnitPrice().multiply(new BigDecimal((durationSum - pricingRule.getMemberRides().getBaseTime())).divide(new BigDecimal(pricingRule.getMemberRides().getUnitTime())).setScale(0,BigDecimal.ROUND_CEILING)); ridesDetailResponse.setAmount(basePrice.add(multiply)); }else { server/services/src/main/java/com/doumee/service/business/impl/SitesServiceImpl.java
@@ -1,5 +1,9 @@ package com.doumee.service.business.impl; import com.doumee.core.constants.Constants; import com.doumee.core.constants.ResponseStatus; import com.doumee.core.exception.BusinessException; import com.doumee.core.model.LoginUserInfo; import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.core.utils.Utils; @@ -10,10 +14,12 @@ 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.apache.shiro.SecurityUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import java.util.Date; import java.util.List; /** @@ -29,6 +35,27 @@ @Override public String create(Sites sites) { LoginUserInfo principal = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); QueryWrapper<Sites> wrapper = new QueryWrapper<>(); wrapper.lambda() .eq(Sites::getCode,sites.getCode()); Integer count = sitesMapper.selectCount(wrapper); if (count > 0){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"ç«ç¹ç¼å·å·²åå¨"); } Sites insert = new Sites(); insert.setCreateDate(new Date()); insert.setCreator(principal.getId()); insert.setEditDate(new Date()); insert.setEditor(principal.getId()); insert.setIsdeleted(Constants.ZERO); insert.setInfo(sites.getInfo()); insert.setName(sites.getName()); insert.setCode(sites.getCode()); insert.setStatus(sites.getStatus()); insert.setLockNum(sites.getLockNum()); insert.setIp(sites.getIp()); sitesMapper.insert(sites); return sites.getId(); } @@ -54,7 +81,14 @@ @Override public void updateById(Sites sites) { sitesMapper.updateById(sites); LoginUserInfo principal = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); Sites update = new Sites(); update.setCreateDate(new Date()); update.setEditor(principal.getId()); update.setName(sites.getName()); update.setLockNum(sites.getLockNum()); update.setIp(sites.getIp()); sitesMapper.updateById(update); } @Override @@ -83,7 +117,7 @@ QueryWrapper<Sites> wrapper = new QueryWrapper<>(sites); return sitesMapper.selectList(wrapper); } @Override public PageData<Sites> findPage(PageWrap<Sites> pageWrap) { IPage<Sites> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());