Commit b8e0b2a18b00e357012ab86f465597f91108a3b0
1 parent
9b39ddcf
按需修改用户评价
Showing
8 changed files
with
98 additions
and
7 deletions
trash-garbage/src/main/java/com/trash/garbage/mapper/GarOrderEvaluateMapper.java
| ... | ... | @@ -4,6 +4,7 @@ import com.trash.garbage.pojo.domain.GarOrderEvaluate; |
| 4 | 4 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| 5 | 5 | import org.apache.ibatis.annotations.Param; |
| 6 | 6 | |
| 7 | +import java.util.Collection; | |
| 7 | 8 | import java.util.List; |
| 8 | 9 | |
| 9 | 10 | /** |
| ... | ... | @@ -15,6 +16,8 @@ import java.util.List; |
| 15 | 16 | public interface GarOrderEvaluateMapper extends BaseMapper<GarOrderEvaluate> { |
| 16 | 17 | |
| 17 | 18 | List<GarOrderEvaluate> queryEvaluateByEnterpriseIds(@Param("list") List<Long> enterpriseIds, @Param("type") Integer value); |
| 19 | + | |
| 20 | + List<GarOrderEvaluate> countIdGroupByOrderId(@Param("list") Collection<String> orderIds,@Param("type") Integer type); | |
| 18 | 21 | } |
| 19 | 22 | |
| 20 | 23 | ... | ... |
trash-garbage/src/main/java/com/trash/garbage/pojo/domain/GarOrder.java
| 1 | 1 | package com.trash.garbage.pojo.domain; |
| 2 | 2 | |
| 3 | -import com.baomidou.mybatisplus.annotation.*; | |
| 4 | - | |
| 5 | -import java.io.Serializable; | |
| 6 | -import java.util.Date; | |
| 7 | - | |
| 3 | +import com.baomidou.mybatisplus.annotation.FieldFill; | |
| 4 | +import com.baomidou.mybatisplus.annotation.TableField; | |
| 5 | +import com.baomidou.mybatisplus.annotation.TableId; | |
| 6 | +import com.baomidou.mybatisplus.annotation.TableName; | |
| 8 | 7 | import com.fasterxml.jackson.annotation.JsonFormat; |
| 9 | 8 | import com.fasterxml.jackson.annotation.JsonIgnore; |
| 10 | 9 | import lombok.Data; |
| 11 | 10 | import org.springframework.format.annotation.DateTimeFormat; |
| 12 | 11 | |
| 12 | +import java.io.Serializable; | |
| 13 | +import java.util.Date; | |
| 14 | + | |
| 13 | 15 | /** |
| 14 | 16 | * 建筑垃圾—订单表 |
| 15 | 17 | * @TableName gar_order |
| ... | ... | @@ -167,8 +169,18 @@ public class GarOrder implements Serializable { |
| 167 | 169 | |
| 168 | 170 | private Integer garTimeOutFlag; |
| 169 | 171 | |
| 172 | + /** | |
| 173 | + * 是否有用户的评价,默认值是0,默认没有 | |
| 174 | + * | |
| 175 | + * @author liujun | |
| 176 | + * @date 2024/6/20 14:39 | |
| 177 | + */ | |
| 178 | + @TableField(exist = false) | |
| 179 | + private Integer haveEvaluateOfClient = 0; | |
| 180 | + | |
| 181 | + | |
| 170 | 182 | |
| 171 | - @TableField(exist = false) | |
| 183 | + @TableField(exist = false) | |
| 172 | 184 | private static final long serialVersionUID = 1L; |
| 173 | 185 | |
| 174 | 186 | |
| ... | ... | @@ -450,4 +462,13 @@ public class GarOrder implements Serializable { |
| 450 | 462 | public void setGarTimeOutFlag(Integer garTimeOutFlag) { |
| 451 | 463 | this.garTimeOutFlag = garTimeOutFlag; |
| 452 | 464 | } |
| 465 | + | |
| 466 | + | |
| 467 | + public Integer getHaveEvaluateOfClient() { | |
| 468 | + return haveEvaluateOfClient; | |
| 469 | + } | |
| 470 | + | |
| 471 | + public void setHaveEvaluateOfClient(Integer haveEvaluateOfClient) { | |
| 472 | + this.haveEvaluateOfClient = haveEvaluateOfClient; | |
| 473 | + } | |
| 453 | 474 | } |
| 454 | 475 | \ No newline at end of file | ... | ... |
trash-garbage/src/main/java/com/trash/garbage/pojo/domain/GarOrderEvaluate.java
| ... | ... | @@ -4,9 +4,10 @@ import com.baomidou.mybatisplus.annotation.FieldFill; |
| 4 | 4 | import com.baomidou.mybatisplus.annotation.TableField; |
| 5 | 5 | import com.baomidou.mybatisplus.annotation.TableId; |
| 6 | 6 | import com.baomidou.mybatisplus.annotation.TableName; |
| 7 | +import lombok.Data; | |
| 8 | + | |
| 7 | 9 | import java.io.Serializable; |
| 8 | 10 | import java.util.Date; |
| 9 | -import lombok.Data; | |
| 10 | 11 | |
| 11 | 12 | /** |
| 12 | 13 | * 建筑垃圾-订单评分 |
| ... | ... | @@ -76,6 +77,9 @@ public class GarOrderEvaluate implements Serializable { |
| 76 | 77 | */ |
| 77 | 78 | private String garRemark; |
| 78 | 79 | |
| 80 | + @TableField(exist = false) | |
| 81 | + private Integer countTheNumber; | |
| 82 | + | |
| 79 | 83 | @TableField(exist = false) |
| 80 | 84 | private static final long serialVersionUID = 1L; |
| 81 | 85 | ... | ... |
trash-garbage/src/main/java/com/trash/garbage/service/GarOrderEvaluateService.java
| ... | ... | @@ -3,6 +3,7 @@ package com.trash.garbage.service; |
| 3 | 3 | import com.baomidou.mybatisplus.extension.service.IService; |
| 4 | 4 | import com.trash.garbage.pojo.domain.GarOrderEvaluate; |
| 5 | 5 | |
| 6 | +import java.util.Collection; | |
| 6 | 7 | import java.util.List; |
| 7 | 8 | |
| 8 | 9 | /** |
| ... | ... | @@ -15,4 +16,13 @@ public interface GarOrderEvaluateService extends IService<GarOrderEvaluate> { |
| 15 | 16 | List<GarOrderEvaluate> queryEvaluateByEnterpriseIds( List<Long> enterpriseIds, Integer value); |
| 16 | 17 | |
| 17 | 18 | Integer countId(GarOrderEvaluate evaluate); |
| 19 | + /*** | |
| 20 | + * | |
| 21 | + * 根据订单 Id分组查询评价条数, | |
| 22 | + * @author liujun | |
| 23 | + * @date 2024/6/21 9:11 | |
| 24 | + * @param orderIds | |
| 25 | + * @return java.util.List<com.trash.garbage.pojo.domain.GarOrderEvaluate> | |
| 26 | + */ | |
| 27 | + List<GarOrderEvaluate> countIdGroupByOrderId(Collection<String> orderIds,Integer type); | |
| 18 | 28 | } | ... | ... |
trash-garbage/src/main/java/com/trash/garbage/service/impl/GarOrderEvaluateServiceImpl.java
| ... | ... | @@ -9,6 +9,8 @@ import com.trash.garbage.service.GarOrderEvaluateService; |
| 9 | 9 | import org.springframework.stereotype.Service; |
| 10 | 10 | |
| 11 | 11 | import java.util.ArrayList; |
| 12 | +import java.util.Collection; | |
| 13 | +import java.util.Collections; | |
| 12 | 14 | import java.util.List; |
| 13 | 15 | |
| 14 | 16 | /** |
| ... | ... | @@ -35,6 +37,15 @@ public class GarOrderEvaluateServiceImpl extends ServiceImpl<GarOrderEvaluateMap |
| 35 | 37 | return count(wrapper); |
| 36 | 38 | } |
| 37 | 39 | |
| 40 | + @Override | |
| 41 | + public List<GarOrderEvaluate> countIdGroupByOrderId(Collection<String> orderIds,Integer type) { | |
| 42 | + if(CollectionUtil.isEmpty(orderIds)){ | |
| 43 | + return Collections.emptyList(); | |
| 44 | + } | |
| 45 | + | |
| 46 | + return baseMapper.countIdGroupByOrderId(orderIds,type); | |
| 47 | + } | |
| 48 | + | |
| 38 | 49 | |
| 39 | 50 | } |
| 40 | 51 | ... | ... |
trash-garbage/src/main/java/com/trash/garbage/service/impl/GarOrderServiceImpl.java
| ... | ... | @@ -329,12 +329,14 @@ public class GarOrderServiceImpl extends ServiceImpl<GarOrderMapper, GarOrder> |
| 329 | 329 | .eq(GarOrder::getGarTimeOutFlag, GlobalStatus.GarOrderStatus.ORDER_TIME_OUT_FLAG_NO.getValue()); |
| 330 | 330 | } |
| 331 | 331 | List<GarOrder> orderList = list(qw); |
| 332 | + orderList=queryHaveEvaluateOfClient(orderList,GlobalStatus.GarOrderStatus.EVALUATE_TYPE_COMPANY.getValue()); | |
| 332 | 333 | PageInfo<GarOrder> pageInfo = new PageInfo<GarOrder>(orderList, pageSize); |
| 333 | 334 | return pageInfo; |
| 334 | 335 | } |
| 335 | 336 | // 全部 |
| 336 | 337 | if (GlobalStatus.GarOrderStatus.ALL_ORDER.getValue().equals(type)) { |
| 337 | 338 | List<GarOrder> orderList = baseMapper.selectList(qw); |
| 339 | + orderList =queryHaveEvaluateOfClient(orderList,GlobalStatus.GarOrderStatus.EVALUATE_TYPE_COMPANY.getValue()); | |
| 338 | 340 | PageInfo<GarOrder> pageInfo = new PageInfo<GarOrder>(orderList, pageSize); |
| 339 | 341 | return pageInfo; |
| 340 | 342 | } |
| ... | ... | @@ -352,6 +354,34 @@ public class GarOrderServiceImpl extends ServiceImpl<GarOrderMapper, GarOrder> |
| 352 | 354 | return null; |
| 353 | 355 | } |
| 354 | 356 | |
| 357 | + /*** | |
| 358 | + * 查询有无评价信息 | |
| 359 | + * | |
| 360 | + * @author liujun | |
| 361 | + * @date 2024/6/21 9:08 | |
| 362 | + * @param orders 订单数据 | |
| 363 | + */ | |
| 364 | + private List<GarOrder> queryHaveEvaluateOfClient(List<GarOrder> orders, Integer type) { | |
| 365 | + if (CollectionUtils.isEmpty(orders)) { | |
| 366 | + return orders; | |
| 367 | + } | |
| 368 | + Set<String> orderIds = orders.stream().map(GarOrder::getGarOrderId).collect(Collectors.toSet()); | |
| 369 | + List<GarOrderEvaluate> garOrderEvaluates = garOrderEvaluateService.countIdGroupByOrderId(orderIds, type); | |
| 370 | + if (CollectionUtils.isEmpty(garOrderEvaluates)) { | |
| 371 | + return orders; | |
| 372 | + } | |
| 373 | + | |
| 374 | + return orders.stream().map(o -> { | |
| 375 | + if(Objects.nonNull(o)){ | |
| 376 | + Optional<GarOrderEvaluate> optional = garOrderEvaluates.stream().filter(go->Objects.equals(go.getGarOrderId(),o.getGarOrderId())).findFirst(); | |
| 377 | + if(optional.isPresent()){ | |
| 378 | + o.setHaveEvaluateOfClient(optional.get().getCountTheNumber()>0?1:0); | |
| 379 | + } | |
| 380 | + } | |
| 381 | + return o; | |
| 382 | + }).collect(Collectors.toList()); | |
| 383 | + } | |
| 384 | + | |
| 355 | 385 | @Override |
| 356 | 386 | @Transactional(rollbackFor = Exception.class) |
| 357 | 387 | public String updateOrder(OrderUpdateDto dto) { | ... | ... |
trash-garbage/src/main/java/com/trash/garbage/service/impl/GarUserServiceImpl.java
| ... | ... | @@ -17,6 +17,7 @@ import javax.servlet.http.HttpServletRequest; |
| 17 | 17 | |
| 18 | 18 | import com.trash.disposalSite.domain.DisposalSite; |
| 19 | 19 | import com.trash.disposalSite.service.IDisposalSiteService; |
| 20 | +import com.trash.garbage.utils.SMSUtils; | |
| 20 | 21 | import org.apache.commons.codec.binary.Base64; |
| 21 | 22 | import org.springframework.beans.factory.annotation.Autowired; |
| 22 | 23 | import org.springframework.security.core.authority.SimpleGrantedAuthority; |
| ... | ... | @@ -73,6 +74,9 @@ public class GarUserServiceImpl extends ServiceImpl<GarUserMapper, GarUser> |
| 73 | 74 | @Resource |
| 74 | 75 | private WxConfig wxConfig; |
| 75 | 76 | |
| 77 | + @Resource | |
| 78 | + private SMSUtils smsUtils; | |
| 79 | + | |
| 76 | 80 | @Autowired |
| 77 | 81 | private GarAddressService garAddressService; |
| 78 | 82 | ... | ... |
trash-garbage/src/main/resources/mapper/GarOrderEvaluateMapper.xml
| ... | ... | @@ -36,4 +36,12 @@ |
| 36 | 36 | #{item} |
| 37 | 37 | </foreach> |
| 38 | 38 | </select> |
| 39 | + <select id="countIdGroupByOrderId" resultType="com.trash.garbage.pojo.domain.GarOrderEvaluate"> | |
| 40 | + select count(gar_order_id) countTheNumber,gar_order_id from gar_order_evaluate WHERE | |
| 41 | + gar_order_id IN | |
| 42 | + <foreach collection="list" item="item" separator="," open="(" close=")"> | |
| 43 | + #{item} | |
| 44 | + </foreach> | |
| 45 | + AND gar_evaluate_target = #{type} GROUP BY gar_order_id | |
| 46 | + </select> | |
| 39 | 47 | </mapper> | ... | ... |