From ae41759bafec1c2a1e8858fcdcda4272ed4eb84c Mon Sep 17 00:00:00 2001 From: jiangqs <jiangqs> Date: 星期五, 16 六月 2023 17:43:47 +0800 Subject: [PATCH] 联调bug和订单管理 --- ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/MemberService.java | 27 ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml | 240 +++++++ ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/pojo/order/Order.java | 29 ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/ConsumerGoodsMapper.xml | 38 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteMemberService.java | 23 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/MemberTaskRecordServiceImpl.java | 12 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtOrderTotal.java | 47 + ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/BrowseRecordMapper.xml | 8 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/ShopTaskServiceImpl.java | 12 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/pojo/order/ConsumerGoods.java | 25 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/MgtMemberServiceRecordPageDto.java | 5 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteMemberFallbackFactory.java | 13 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java | 12 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java | 58 + ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/task/MemberTaskRecordMapper.java | 2 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtOrderGoodsDetailVo.java | 43 + ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtShopOrderPageVo.java | 67 ++ ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MgtMemberBrowsePageVo.java | 2 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderGoodsServiceImpl.java | 23 ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderGoodsMapper.xml | 22 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/MgtShopOrderPageDto.java | 49 + ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/MgtUserIdByKeywordVo.java | 18 ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/UserServiceRecordMapper.xml | 12 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/pojo/task/ShopTask.java | 19 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/task/MemberTaskRecordService.java | 10 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MgtMemberTaskPageDto.java | 7 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/management/MgtOrderController.java | 47 + ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/MgtSimpleMemberVo.java | 27 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/OrderService.java | 44 + ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MgtMemberBrowsePageDto.java | 6 ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberMapper.xml | 28 ruoyi-modules/ruoyi-shop/src/main/resources/mapper/task/ShopTaskRecordMapper.xml | 2 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/OrderMapper.java | 68 + ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/task/ShopTaskRecordMapper.java | 4 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/task/ShopTaskRecordService.java | 6 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MgtMemberPageVo.java | 5 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtOrderDetailVo.java | 102 +++ ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/MgtUserIdByKeywordDto.java | 29 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtMemberOrderPageVo.java | 2 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/OrderGoodsMapper.java | 12 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/task/AgencyTaskRecordMapper.java | 3 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/MgtMemberOrderPageDto.java | 2 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/ShopTaskRecordServiceImpl.java | 8 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtActivityOrderPageVo.java | 75 ++ ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/management/MgtTaskController.java | 28 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MgtShopTaskPageDto.java | 6 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java | 529 ++++++++++++--- ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/task/AgencyTaskRecordService.java | 5 /dev/null | 22 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/OrderGoodsService.java | 18 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/business/MerOrderController.java | 2 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/member/MemberMapper.java | 20 ruoyi-modules/ruoyi-shop/src/main/resources/mapper/task/AgencyTaskRecordMapper.xml | 2 ruoyi-modules/ruoyi-shop/src/main/resources/mapper/task/MemberTaskRecordMapper.xml | 2 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/AgencyTaskRecordServiceImpl.java | 9 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/console/MemberController.java | 33 + 56 files changed, 1,656 insertions(+), 313 deletions(-) diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/MgtUserIdByKeywordDto.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/MgtUserIdByKeywordDto.java new file mode 100644 index 0000000..da5440c --- /dev/null +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/MgtUserIdByKeywordDto.java @@ -0,0 +1,29 @@ +package com.ruoyi.system.api.domain.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @ClassName MgtUserIdByKeyword + * @Description TODO + * @Author jqs + * @Date 2023/6/16 12:38 + * @Version 1.0 + */ +@Data +public class MgtUserIdByKeywordDto { + + @ApiModelProperty(value = "关键词") + private String keyword; + + @ApiModelProperty(value = "用户昵称") + private String nickName; + + @ApiModelProperty(value = "用户姓名") + private String userName; + + @ApiModelProperty(value = "用户电话") + private String userMobile; + + +} diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/MgtSimpleMemberVo.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/MgtSimpleMemberVo.java new file mode 100644 index 0000000..1b998d0 --- /dev/null +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/MgtSimpleMemberVo.java @@ -0,0 +1,27 @@ +package com.ruoyi.system.api.domain.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @ClassName MgtSimpleMemberVo + * @Description TODO + * @Author jqs + * @Date 2023/6/16 11:03 + * @Version 1.0 + */ +@Data +public class MgtSimpleMemberVo { + + @ApiModelProperty(value = "用户id") + private Long userId; + + @ApiModelProperty(value = "用户昵称") + private String nickName; + + @ApiModelProperty(value = "用户姓名") + private String userName; + + @ApiModelProperty(value = "用户电话") + private String userMobile; +} diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/MgtUserIdByKeywordVo.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/MgtUserIdByKeywordVo.java new file mode 100644 index 0000000..3537882 --- /dev/null +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/MgtUserIdByKeywordVo.java @@ -0,0 +1,18 @@ +package com.ruoyi.system.api.domain.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @ClassName MgtUserIdByKeywordVo + * @Description TODO + * @Author jqs + * @Date 2023/6/16 12:38 + * @Version 1.0 + */ +@Data +public class MgtUserIdByKeywordVo { + + @ApiModelProperty(value = "用户ids") + private String userIds; +} diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteMemberFallbackFactory.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteMemberFallbackFactory.java index d3379d1..666112d 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteMemberFallbackFactory.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteMemberFallbackFactory.java @@ -2,7 +2,10 @@ import com.ruoyi.common.core.domain.R; import com.ruoyi.system.api.domain.dto.AppMiniRegisterDto; +import com.ruoyi.system.api.domain.dto.MgtUserIdByKeywordDto; import com.ruoyi.system.api.domain.vo.AppMiniRegisterVo; +import com.ruoyi.system.api.domain.vo.MgtSimpleMemberVo; +import com.ruoyi.system.api.domain.vo.MgtUserIdByKeywordVo; import com.ruoyi.system.api.service.RemoteMemberService; import com.ruoyi.system.api.domain.dto.AppMemberBindingDto; import com.ruoyi.system.api.domain.dto.AppMemberGoodsTypeDto; @@ -84,6 +87,16 @@ public R deleteMemberSuggestTag(String suggestTag) { return R.fail("删除用户建议标签失败:" + throwable.getMessage()); } + + @Override + public R<List<MgtSimpleMemberVo>> listSimpleVoByIds(String userIds) { + return R.fail("获取用户列表失败:" + throwable.getMessage()); + } + + @Override + public R<MgtUserIdByKeywordVo> getUserIdByKeyword(MgtUserIdByKeywordDto mgtUserIdByKeywordDto) { + return R.fail("获取用户列表失败:" + throwable.getMessage()); + } }; } } diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteMemberService.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteMemberService.java index 5e7c143..4bca511 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteMemberService.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteMemberService.java @@ -5,9 +5,12 @@ import com.ruoyi.system.api.domain.dto.AppMemberBindingDto; import com.ruoyi.system.api.domain.dto.AppMemberGoodsTypeDto; import com.ruoyi.system.api.domain.dto.AppMiniRegisterDto; +import com.ruoyi.system.api.domain.dto.MgtUserIdByKeywordDto; import com.ruoyi.system.api.domain.poji.member.Member; import com.ruoyi.system.api.domain.vo.AppMiniRegisterVo; import com.ruoyi.system.api.domain.vo.AppMemberCouponVo; +import com.ruoyi.system.api.domain.vo.MgtSimpleMemberVo; +import com.ruoyi.system.api.domain.vo.MgtUserIdByKeywordVo; import com.ruoyi.system.api.factory.RemoteMemberFallbackFactory; import com.ruoyi.system.api.model.AppMiniLoginDto; import com.ruoyi.system.api.model.AppMiniLoginVo; @@ -98,4 +101,24 @@ */ @PostMapping("/member/deleteMemberSuggestTag") public R deleteMemberSuggestTag(@RequestBody String suggestTag); + + /** + * @description 通过ids获取用户简易返回 + * @author jqs + * @date 2023/6/16 11:05 + * @param userIds + * @return R<List<MgtSimpleMemberVo>> + */ + @PostMapping("/member/listSimpleVoByIds") + public R<List<MgtSimpleMemberVo>> listSimpleVoByIds(@RequestBody String userIds); + + /** + * @description + * @author jqs + * @date 2023/6/16 12:47 + * @param mgtUserIdByKeywordDto + * @return R<MgtUserIdByKeywordVo> + */ + @PostMapping("/member/getUserIdByKeyword") + public R<MgtUserIdByKeywordVo> getUserIdByKeyword(@RequestBody MgtUserIdByKeywordDto mgtUserIdByKeywordDto); } diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/console/MemberController.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/console/MemberController.java index 1e929ae..e911272 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/console/MemberController.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/console/MemberController.java @@ -8,9 +8,12 @@ import com.ruoyi.system.api.domain.dto.AppMemberBindingDto; import com.ruoyi.system.api.domain.dto.AppMemberGoodsTypeDto; import com.ruoyi.system.api.domain.dto.AppMiniRegisterDto; +import com.ruoyi.system.api.domain.dto.MgtUserIdByKeywordDto; import com.ruoyi.system.api.domain.poji.member.Member; import com.ruoyi.system.api.domain.vo.AppMemberCouponVo; import com.ruoyi.system.api.domain.vo.AppMiniRegisterVo; +import com.ruoyi.system.api.domain.vo.MgtSimpleMemberVo; +import com.ruoyi.system.api.domain.vo.MgtUserIdByKeywordVo; import com.ruoyi.system.api.model.AppMiniLoginDto; import com.ruoyi.system.api.model.AppMiniLoginVo; import io.swagger.annotations.ApiOperation; @@ -165,4 +168,34 @@ memberSuggestService.deleteMemberSuggestTag(suggestTag); return R.ok(); } + + + /** + * @description 通过ids获取用户简易返回 + * @author jqs + * @date 2023/6/16 11:05 + * @param userIds + * @return R<List<MgtSimpleMemberVo>> + */ + @PostMapping("/listSimpleVoByIds") + public R<List<MgtSimpleMemberVo>> listSimpleVoByIds(@RequestBody String userIds) + { + List<MgtSimpleMemberVo> simpleMemberVoList = memberService.listSimpleVoByIds(userIds); + return R.ok(simpleMemberVoList); + } + + /** + * @description + * @author jqs + * @date 2023/6/16 12:47 + * @param mgtUserIdByKeywordDto + * @return R<MgtUserIdByKeywordVo> + */ + @PostMapping("/getUserIdByKeyword") + public R<MgtUserIdByKeywordVo> getUserIdByKeyword(@RequestBody MgtUserIdByKeywordDto mgtUserIdByKeywordDto) + { + MgtUserIdByKeywordVo mgtUserIdByKeywordVo = memberService.getUserIdByKeyword(mgtUserIdByKeywordDto); + return R.ok(mgtUserIdByKeywordVo); + } + } diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MgtMemberBrowsePageDto.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MgtMemberBrowsePageDto.java index cb2b6f9..b339c49 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MgtMemberBrowsePageDto.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MgtMemberBrowsePageDto.java @@ -4,8 +4,6 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; -import java.util.Date; - /** * @author jqs34 * @ClassName MgtMemberIntegralPageDto @@ -23,6 +21,10 @@ @ApiModelProperty(value = "浏览类型 1鸿瑞学堂2营销活动3商城商品4关于鸿瑞堂5申请加盟") private Integer browseType; + @ApiModelProperty(value = "创建开始时间") + private String createStartTime; + @ApiModelProperty(value = "创建结束时间") + private String createEndTime; } diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MgtMemberBrowsePageVo.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MgtMemberBrowsePageVo.java index 5971f45..100dc57 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MgtMemberBrowsePageVo.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MgtMemberBrowsePageVo.java @@ -1,6 +1,5 @@ package com.ruoyi.member.domain.vo; -import com.baomidou.mybatisplus.annotation.TableField; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -27,5 +26,6 @@ private String browseTime; @ApiModelProperty(value = "创建时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date createTime; } diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MgtMemberPageVo.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MgtMemberPageVo.java index 9eced00..9af2f5c 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MgtMemberPageVo.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MgtMemberPageVo.java @@ -1,7 +1,5 @@ package com.ruoyi.member.domain.vo; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -80,4 +78,7 @@ @ApiModelProperty(value = "消费总金额") private BigDecimal totalPayMoney; + + @ApiModelProperty(value = "活动参与次数") + private Integer activityTotal; } diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/member/MemberMapper.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/member/MemberMapper.java index e5e1dd9..eaa6253 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/member/MemberMapper.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/member/MemberMapper.java @@ -8,7 +8,9 @@ import com.ruoyi.member.domain.vo.MerCashMemberPageVo; import com.ruoyi.member.domain.vo.MerMemberPageVo; import com.ruoyi.member.domain.vo.MgtMemberPageVo; +import com.ruoyi.system.api.domain.dto.MgtUserIdByKeywordDto; import com.ruoyi.system.api.domain.poji.member.Member; +import com.ruoyi.system.api.domain.vo.MgtSimpleMemberVo; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -92,6 +94,24 @@ * @return List<Long> */ List<Long> listIdBySendType(@Param("sendType")Integer sendType); + + /** + * @description 通过ids获取用户简易返回 + * @author jqs + * @date 2023/6/16 11:06 + * @param userIds + * @return List<MgtSimpleMemberVo> + */ + List<MgtSimpleMemberVo> listSimpleVoByIds(@Param("userIds")String userIds); + + /** + * @description + * @author jqs + * @date 2023/6/16 12:42 + * @param mgtUserIdByKeywordDto + * @return MgtUserIdByKeywordVo + */ + List<Long> getUserIdByKeyword(MgtUserIdByKeywordDto mgtUserIdByKeywordDto); } diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java index 59cfbb1..8645b64 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java @@ -25,17 +25,13 @@ import com.ruoyi.member.util.HttpUtils; import com.ruoyi.system.api.constant.AppErrorConstant; import com.ruoyi.system.api.constant.SecurityConstant; -import com.ruoyi.system.api.domain.dto.AppEditUserDto; -import com.ruoyi.system.api.domain.dto.AppMemberBindingDto; -import com.ruoyi.system.api.domain.dto.AppMemberGoodsTypeDto; -import com.ruoyi.system.api.domain.dto.AppMiniRegisterDto; +import com.ruoyi.system.api.domain.dto.*; import com.ruoyi.system.api.domain.poji.config.Activeness; import com.ruoyi.system.api.domain.poji.config.SysTag; import com.ruoyi.system.api.domain.poji.member.Member; import com.ruoyi.system.api.domain.poji.shop.Shop; import com.ruoyi.system.api.domain.poji.sys.SysUser; -import com.ruoyi.system.api.domain.vo.AppMiniRegisterVo; -import com.ruoyi.system.api.domain.vo.AppOrderTotalVo; +import com.ruoyi.system.api.domain.vo.*; import com.ruoyi.system.api.model.AppMiniLoginDto; import com.ruoyi.system.api.model.AppMiniLoginVo; import com.ruoyi.system.api.service.RemoteConfigService; @@ -661,14 +657,16 @@ public List<MgtMemberPageVo> pageMgtMember(Page page,MgtMemberPageDto merMemberPageDto){ List<Activeness> activenessList = remoteConfigService.listActiveness().getData(); Date nowDay = new Date(); - //处理活跃度筛选 - activenessList.stream() - .filter(activeness -> activeness.getActivenessId().equals(merMemberPageDto.getActivenessId())) - .findFirst() - .ifPresent(activeness -> { - merMemberPageDto.setActStartDate(DateUtils.addDays(nowDay, activeness.getEndDay())); - merMemberPageDto.setActEndDate(DateUtils.addDays(nowDay, activeness.getStartDay())); - }); + if(merMemberPageDto.getActivenessId()!=null){ + //处理活跃度筛选 + activenessList.stream() + .filter(activeness -> activeness.getActivenessId().equals(merMemberPageDto.getActivenessId())) + .findFirst() + .ifPresent(activeness -> { + merMemberPageDto.setActStartDate(DateUtils.parseDateToStr("yyyy-MM-dd",DateUtils.addDays(nowDay, activeness.getEndDay()))); + merMemberPageDto.setActEndDate(DateUtils.parseDateToStr("yyyy-MM-dd",DateUtils.addDays(nowDay, activeness.getStartDay()))); + }); + } //处理标签为正则表达 if(StringUtils.isNotBlank(merMemberPageDto.getMemberTags())){ merMemberPageDto.setMemberTags(merMemberPageDto.getMemberTags().replace(",","|")); @@ -899,4 +897,36 @@ //1.手动领取2.全部用户3.会员用户4非会员用户5自定义 return memberMapper.listIdBySendType(sendType); } + + /** + * @description 通过ids获取用户简易返回 + * @author jqs + * @date 2023/6/16 11:06 + * @param userIds + * @return List<MgtSimpleMemberVo> + */ + @Override + public List<MgtSimpleMemberVo> listSimpleVoByIds(String userIds){ + return memberMapper.listSimpleVoByIds(userIds); + } + + /** + * @description + * @author jqs + * @date 2023/6/16 12:41 + * @param mgtUserIdByKeywordDto + * @return MgtUserIdByKeywordVo + */ + @Override + public MgtUserIdByKeywordVo getUserIdByKeyword(MgtUserIdByKeywordDto mgtUserIdByKeywordDto){ + MgtUserIdByKeywordVo mgtUserIdByKeywordVo = new MgtUserIdByKeywordVo(); + List<Long> userIdList = memberMapper.getUserIdByKeyword(mgtUserIdByKeywordDto); + if(userIdList!=null&&!userIdList.isEmpty()){ + String userIdStr = userIdList.stream() + .map(Object::toString) + .collect(Collectors.joining(",")); + mgtUserIdByKeywordVo.setUserIds(userIdStr); + } + return mgtUserIdByKeywordVo; + } } diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/MemberService.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/MemberService.java index 9b336bf..771742c 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/MemberService.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/MemberService.java @@ -1,17 +1,16 @@ package com.ruoyi.member.service.member; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.member.domain.dto.*; import com.ruoyi.member.domain.vo.*; -import com.ruoyi.system.api.domain.dto.AppEditUserDto; -import com.ruoyi.system.api.domain.dto.AppMemberBindingDto; -import com.ruoyi.system.api.domain.dto.AppMemberGoodsTypeDto; -import com.ruoyi.system.api.domain.dto.AppMiniRegisterDto; +import com.ruoyi.system.api.domain.dto.*; import com.ruoyi.system.api.domain.poji.member.Member; import com.ruoyi.system.api.domain.vo.AppMiniRegisterVo; +import com.ruoyi.system.api.domain.vo.MgtSimpleMemberVo; +import com.ruoyi.system.api.domain.vo.MgtUserIdByKeywordVo; import com.ruoyi.system.api.model.AppMiniLoginDto; import com.ruoyi.system.api.model.AppMiniLoginVo; -import com.baomidou.mybatisplus.extension.service.IService; import java.util.List; @@ -197,4 +196,22 @@ * @return List<Long> */ List<Long> listIdBySendType(Integer sendType); + + /** + * @description 通过ids获取用户简易返回 + * @author jqs + * @date 2023/6/16 11:06 + * @param userIds + * @return List<MgtSimpleMemberVo> + */ + List<MgtSimpleMemberVo> listSimpleVoByIds(String userIds); + + /** + * @description + * @author jqs + * @date 2023/6/16 12:42 + * @param mgtUserIdByKeywordDto + * @return MgtUserIdByKeywordVo + */ + MgtUserIdByKeywordVo getUserIdByKeyword(MgtUserIdByKeywordDto mgtUserIdByKeywordDto); } diff --git a/ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/BrowseRecordMapper.xml b/ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/BrowseRecordMapper.xml index 66ea8d3..b1a6435 100644 --- a/ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/BrowseRecordMapper.xml +++ b/ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/BrowseRecordMapper.xml @@ -17,7 +17,13 @@ FROM t_browse_record tbr WHERE tbr.del_flag = 0 AND tbr.user_id = #{param.memberUserId} <if test="param.browseType !=null and param.browseType != ''"> - tbr.browse_type = #{param.browseType} + AND tbr.browse_type = #{param.browseType} + </if> + <if test="param.createStartTime!=null and param.createStartTime!=''"> + AND tbr.create_time >= #{param.createStartTime} + </if> + <if test="param.createEndTime!=null and param.createEndTime!=''"> + AND tbr.create_time <= #{param.createEndTime} </if> ORDER BY tbr.create_time DESC </select> diff --git a/ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberMapper.xml b/ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberMapper.xml index 5ffe6ac..59808a5 100644 --- a/ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberMapper.xml +++ b/ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberMapper.xml @@ -213,10 +213,11 @@ tmt.total_integral integral, tm.referrer referrer, tm.customer_source memberFrom, - tmt.total_pay_money totalPayMoney + tmt.total_pay_money totalPayMoney, + tmt.total_activity_count activityTotal FROM t_member tm - INNER JOIN t_member_total tmt ON tm.member_id = tmt.member_id - WHERE del_flag = 0 + LEFT JOIN t_member_total tmt ON tm.member_id = tmt.member_id + WHERE tm.del_flag = 0 <if test="param.keyword != null and param.keyword != ''"> AND (tm.member_no LIKE CONCAT('%',#{param.keyword},'%') OR tm.mobile LIKE CONCAT('%',#{param.keyword},'%') OR tm.real_name LIKE CONCAT('%',#{param.keyword},'%') OR tm.nick_name LIKE CONCAT('%',#{param.keyword},'%') OR FIND_IN_SET(#{param.keyword},tm.member_nurse) > 0) </if> @@ -271,8 +272,8 @@ <if test="param.endPayCount != null and param.endPayCount != ''"> AND tmt.total_pay_count <= #{param.endPayCount} </if> - <if test="param.memberTag != null and param.memberTag != ''"> - AND tm.user_tags REGEXP #{param.memberTag} + <if test="param.memberTags != null and param.memberTags != ''"> + AND tm.user_tags REGEXP #{param.memberTags} </if> ORDER BY tm.create_time DESC </select> @@ -295,5 +296,22 @@ </if> </select> + <select id="listSimpleVoByIds" resultType="com.ruoyi.system.api.domain.vo.MgtSimpleMemberVo"> + SELECT + tm.user_id userId, + tm.real_name realName, + tm.nick_name nickName, + tm.mobile mobile + FROM t_member tm + WHERE tm.del_flag = 0 AND tm.user_id IN (#{userIds}) + </select> + <select id="getUserIdByKeyword" resultType="java.lang.Long"> + SELECT + tm.user_id + FROM t_member tm tm.del_flag = 0 + <if test="param.keyword != null and param.keyword != ''"> + AND (tm.mobile LIKE CONCAT('%',#{param.keyword},'%') OR tm.real_name LIKE CONCAT('%',#{param.keyword},'%') OR tm.nick_name LIKE CONCAT('%',#{param.keyword},'%')) + </if> + </select> </mapper> diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/business/MerOrderController.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/business/MerOrderController.java index ec29164..b8c7168 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/business/MerOrderController.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/business/MerOrderController.java @@ -134,4 +134,6 @@ List<MerMemberNoClearOrderVo> merMemberNoClearOrderVoList = orderService.pageMerMemberOrder(page,merMemberNoClearOrderDto); return R.ok(page.setRecords(merMemberNoClearOrderVoList)); } + + } diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/management/MgtOrderController.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/management/MgtOrderController.java index 0e8591e..5f0f69c 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/management/MgtOrderController.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/management/MgtOrderController.java @@ -5,9 +5,10 @@ import com.ruoyi.common.security.utils.SecurityUtils; import com.ruoyi.order.domain.dto.MgtMemberOrderPageDto; import com.ruoyi.order.domain.dto.MgtMemberOrderTotalDto; -import com.ruoyi.order.domain.vo.MgtMemberOrderPageVo; -import com.ruoyi.order.domain.vo.MgtMemberOrderTotalVo; +import com.ruoyi.order.domain.dto.MgtShopOrderPageDto; +import com.ruoyi.order.domain.vo.*; import com.ruoyi.order.service.order.OrderService; +import com.ruoyi.system.api.domain.dto.MgtBaseGetDto; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.RequestBody; @@ -54,5 +55,47 @@ return R.ok(page.setRecords(mgtMemberOrderPageVoList)); } + @RequestMapping(value = "/getMgtOrderTotal", method = RequestMethod.POST) + @ApiOperation(value = "获取订单统计") + public R<MgtOrderTotal> getMgtOrderTotal(@RequestBody MgtShopOrderPageDto mgtShopOrderPageDto) { + Long userId = SecurityUtils.getUserId(); + mgtShopOrderPageDto.setUserId(userId); + MgtOrderTotal mgtOrderTotal = orderService.getMgtOrderTotal(mgtShopOrderPageDto); + return R.ok(mgtOrderTotal); + } + + @RequestMapping(value = "/pageMgtActivityOrder", method = RequestMethod.POST) + @ApiOperation(value = "平台获取秒杀订单列表") + public R<Page<MgtActivityOrderPageVo>> pageMgtActivityOrder(@RequestBody MgtShopOrderPageDto mgtShopOrderPageDto) { + Long userId = SecurityUtils.getUserId(); + mgtShopOrderPageDto.setUserId(userId); + Page<MgtActivityOrderPageVo> page = new Page<>(); + page.setSize(mgtShopOrderPageDto.getPageSize()); + page.setCurrent(mgtShopOrderPageDto.getPageNum()); + List<MgtActivityOrderPageVo> mgtActivityOrderPageVos = orderService.pageMgtActivityOrder(page,mgtShopOrderPageDto); + return R.ok(page.setRecords(mgtActivityOrderPageVos)); + } + + @RequestMapping(value = "/pageMgtShopOrder", method = RequestMethod.POST) + @ApiOperation(value = "平台获取门店订单列表") + public R<Page<MgtShopOrderPageVo>> pageMgtShopOrder(@RequestBody MgtShopOrderPageDto mgtShopOrderPageDto) { + Long userId = SecurityUtils.getUserId(); + mgtShopOrderPageDto.setUserId(userId); + Page<MgtShopOrderPageVo> page = new Page<>(); + page.setSize(mgtShopOrderPageDto.getPageSize()); + page.setCurrent(mgtShopOrderPageDto.getPageNum()); + List<MgtShopOrderPageVo> shopOrderPageVoList = orderService.pageMgtShopOrder(page,mgtShopOrderPageDto); + return R.ok(page.setRecords(shopOrderPageVoList)); + } + + + @RequestMapping(value = "/getMgtOrderDetail", method = RequestMethod.POST) + @ApiOperation(value = "获取订单详情") + public R<MgtOrderDetailVo> getMgtOrderDetail(@RequestBody MgtBaseGetDto mgtBaseGetDto) { + Long userId = SecurityUtils.getUserId(); + mgtBaseGetDto.setUserId(userId); + MgtOrderDetailVo mgtOrderDetail = orderService.getMgtOrderDetail(mgtBaseGetDto.getId()); + return R.ok(mgtOrderDetail); + } } diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/MgtMemberOrderPageDto.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/MgtMemberOrderPageDto.java index da83c8c..af0eb8a 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/MgtMemberOrderPageDto.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/MgtMemberOrderPageDto.java @@ -15,7 +15,7 @@ public class MgtMemberOrderPageDto extends MgtPageDto { @ApiModelProperty(value = "用户id") - private Long userId; + private Long memberUserId; @ApiModelProperty(value = "搜索关键词") private String keyword; diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/MgtMemberServiceRecordPageDto.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/MgtMemberServiceRecordPageDto.java index 84456b0..c218bc2 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/MgtMemberServiceRecordPageDto.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/MgtMemberServiceRecordPageDto.java @@ -20,4 +20,9 @@ @ApiModelProperty(value = "关键词") private String keyword; + @ApiModelProperty(value = "创建开始时间") + private String createStartTime; + + @ApiModelProperty(value = "创建结束时间") + private String createEndTime; } diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/MgtShopOrderPageDto.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/MgtShopOrderPageDto.java new file mode 100644 index 0000000..dbfd007 --- /dev/null +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/MgtShopOrderPageDto.java @@ -0,0 +1,49 @@ +package com.ruoyi.order.domain.dto; + +import com.ruoyi.system.api.domain.dto.MgtPageDto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @ClassName MgtShopOrderPageDto + * @Description TODO + * @Author jqs + * @Date 2023/6/15 17:07 + * @Version 1.0 + */ +@Data +public class MgtShopOrderPageDto extends MgtPageDto { + + @ApiModelProperty(value = "关键词") + private String keyword; + + @ApiModelProperty(value = "订单状态0.已取消1.待支付2.待核销3.已完成") + private Integer orderStatus; + + @ApiModelProperty(value = "商品类型1周期2服务3体验4单品") + private Integer goodsType; + + @ApiModelProperty(value = "商户id") + private Long shopId; + + @ApiModelProperty(value = "核销开始时间") + private String verifyStartTime; + + @ApiModelProperty(value = "核销结束时间") + private String verifyEndTime; + + @ApiModelProperty(value = "keyword转换用户ids",hidden = true) + private String userIds; + + @ApiModelProperty(value = "code转换商户ids",hidden = true) + private String shopIds; + + @ApiModelProperty("店铺地址省code") + private String shopProvinceCode; + + @ApiModelProperty("店铺地址市code") + private String shopCityCode; + + @ApiModelProperty("店铺地址区code") + private String shopAreaCode; +} diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/pojo/order/ConsumerGoods.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/pojo/order/ConsumerGoods.java index ec2560f..56159f0 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/pojo/order/ConsumerGoods.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/pojo/order/ConsumerGoods.java @@ -1,15 +1,15 @@ package com.ruoyi.order.domain.pojo.order; -import java.util.Date; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.activerecord.Model; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; -import java.io.Serializable; - import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.util.Date; /** * <p> @@ -108,6 +108,21 @@ */ @TableField("goods_type") private Integer goodsType; + /** + * 商品名称 + */ + @TableField("goods_introduction") + private String goodsIntroduction; + /** + * 商品名称 + */ + @TableField("goods_picture") + private String goodsPicture; + /** + * 商品名称 + */ + @TableField("goods_nurses") + private String goodsNurses; @Override protected Serializable pkVal() { diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/pojo/order/Order.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/pojo/order/Order.java index fb86dcf..a2912c3 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/pojo/order/Order.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/pojo/order/Order.java @@ -1,16 +1,16 @@ package com.ruoyi.order.domain.pojo.order; -import java.math.BigDecimal; -import java.util.Date; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.activerecord.Model; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; -import java.io.Serializable; - import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; /** * <p> @@ -136,6 +136,11 @@ @TableField("use_time") private Date useTime; /** + * 线下支付时间 + */ + @TableField("off_pay_time") + private Date offPayTime; + /** * 取消时间 */ @TableField("cancel_time") @@ -156,6 +161,18 @@ @TableField("close_flag") private Integer closeFlag; + /** + * 活动id + */ + @TableField("activity_id") + private Long activityId; + + /** + * 活动名称 + */ + @TableField("activity_name") + private String activityName; + @Override protected Serializable pkVal() { return this.orderId; diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtActivityOrderPageVo.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtActivityOrderPageVo.java new file mode 100644 index 0000000..ad3fe57 --- /dev/null +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtActivityOrderPageVo.java @@ -0,0 +1,75 @@ +package com.ruoyi.order.domain.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * @ClassName MgtActivityOrderPageVo + * @Description TODO + * @Author jqs + * @Date 2023/6/16 9:49 + * @Version 1.0 + */ +@Data +public class MgtActivityOrderPageVo { + + @ApiModelProperty("订单id") + private String orderId; + + @ApiModelProperty("订单编号") + private String orderNo; + + @ApiModelProperty("秒杀活动") + private String activityName; + + @ApiModelProperty(value = "用户id") + private Long userId; + + @ApiModelProperty(value = "用户昵称") + private String nickName; + + @ApiModelProperty(value = "用户姓名") + private String userName; + + @ApiModelProperty(value = "用户电话") + private String userMobile; + + @ApiModelProperty("商品名称") + private String goodsName; + + @ApiModelProperty(value = "秒杀价格") + private BigDecimal activityPrice; + + @ApiModelProperty("购买数量") + private Integer buyNum; + + @ApiModelProperty("订单金额") + private BigDecimal orderMoney; + + @ApiModelProperty("应付金额") + private BigDecimal receivableMoney; + + @ApiModelProperty("创建时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date createTime; + + @ApiModelProperty("订单实际支付金额") + private BigDecimal payMoney; + + @ApiModelProperty("订单未支付金额") + private BigDecimal unPaidMoney; + + @ApiModelProperty("核销店铺id") + private Long shopId; + + @ApiModelProperty("核销店铺") + private String shopName; + + @ApiModelProperty("核销时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date verifyTime; +} diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtMemberOrderPageVo.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtMemberOrderPageVo.java index 6524455..34d0e29 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtMemberOrderPageVo.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtMemberOrderPageVo.java @@ -31,7 +31,7 @@ private String shopName; @ApiModelProperty(value = "订单状态0.已取消1.待支付2.待核销3.已完成") - private Integer orderStatus; + private String orderStatus; @ApiModelProperty(value = "订单总价") private BigDecimal orderMoney; diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtOrderDetailVo.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtOrderDetailVo.java new file mode 100644 index 0000000..0c826e2 --- /dev/null +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtOrderDetailVo.java @@ -0,0 +1,102 @@ +package com.ruoyi.order.domain.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + +/** + * @ClassName MgtOrderDetailVo + * @Description TODO + * @Author jqs + * @Date 2023/6/16 16:03 + * @Version 1.0 + */ +@Data +public class MgtOrderDetailVo { + + @ApiModelProperty("订单id") + private String orderId; + + @ApiModelProperty(value = "用户id") + private Long userId; + + @ApiModelProperty(value = "用户昵称") + private String nickName; + + @ApiModelProperty(value = "用户姓名") + private String userName; + + @ApiModelProperty(value = "用户电话") + private String userMobile; + + @ApiModelProperty("订单商品列表") + private List<MgtOrderGoodsDetailVo> orderGoodsDetailVoList; + + @ApiModelProperty(value = "订单状态0.已取消1.待支付2.待核销3.已完成") + private String orderStatus; + + @ApiModelProperty("订单编号") + private String orderNo; + + @ApiModelProperty("订单来源1.商城2.秒杀活动3.线下创建") + private String orderFrom; + + @ApiModelProperty("订单金额") + private BigDecimal orderMoney; + + @ApiModelProperty("应付金额") + private BigDecimal receivableMoney; + + @ApiModelProperty("订单实际支付金额") + private BigDecimal payMoney; + + @ApiModelProperty("订单未支付金额") + private BigDecimal unPaidMoney; + + @ApiModelProperty("秒杀活动") + private String activityName; + + @ApiModelProperty("创建时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date createTime; + + @ApiModelProperty("线上支付金额") + private BigDecimal onlinePayMoney; + + @ApiModelProperty("线下支付金额") + private BigDecimal offlinePayMoney; + + @ApiModelProperty("线上支付时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date payTime; + + @ApiModelProperty("线下支付时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date offPayTime; + + @ApiModelProperty("完成时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date completeTime; + + @ApiModelProperty("取消时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date cancelTime; + + @ApiModelProperty("订单备注") + private String orderRemark; + + @ApiModelProperty("核销店铺id") + private Long shopId; + + @ApiModelProperty("核销店铺") + private String shopName; + + @ApiModelProperty("核销时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date verifyTime; + +} diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtOrderGoodsDetailVo.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtOrderGoodsDetailVo.java new file mode 100644 index 0000000..84a7422 --- /dev/null +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtOrderGoodsDetailVo.java @@ -0,0 +1,43 @@ +package com.ruoyi.order.domain.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * @ClassName MgtOrderGoodsDetailVo + * @Description TODO + * @Author jqs + * @Date 2023/6/16 16:12 + * @Version 1.0 + */ +@Data +public class MgtOrderGoodsDetailVo { + + + @ApiModelProperty("订单商品id") + private String orderGoodsId; + + @ApiModelProperty("商品id") + private String goodsId; + + @ApiModelProperty("商品名称") + private String goodsName; + + @ApiModelProperty("商品图片") + private String goodsPicture; + + @ApiModelProperty(value = "商品类型1周期2服务3体验4单品") + private String goodsType; + + @ApiModelProperty(value = "购买数量") + private Integer buyNum; + + @ApiModelProperty(value = "商品售价") + private BigDecimal goodsPrice; + + @ApiModelProperty(value = "商品总价") + private BigDecimal goodsTotalPrice; + +} diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtOrderTotal.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtOrderTotal.java new file mode 100644 index 0000000..f32be20 --- /dev/null +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtOrderTotal.java @@ -0,0 +1,47 @@ +package com.ruoyi.order.domain.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * @ClassName MgtOrderTotal + * @Description TODO + * @Author jqs + * @Date 2023/6/16 11:36 + * @Version 1.0 + */ +@Data +public class MgtOrderTotal { + + @ApiModelProperty("订单总数") + private Integer orderTotal; + + @ApiModelProperty("订单金额总数") + private BigDecimal orderMoneyTotal; + + @ApiModelProperty("门店订单总数") + private Integer shopOrderTotal; + + @ApiModelProperty("门店订单金额总数") + private BigDecimal shopOrderMoneyTotal; + + @ApiModelProperty("门店订单已付金额总数") + private BigDecimal shopPayMoneyTotal; + + @ApiModelProperty("门店订单未付金额总数") + private BigDecimal shopUnPayMoneyTotal; + + @ApiModelProperty("活动订单总数") + private Integer activityOrderTotal; + + @ApiModelProperty("活动订单金额总数") + private BigDecimal activityOrderMoneyTotal; + + @ApiModelProperty("活动订单已付金额总数") + private BigDecimal activityPayMoneyTotal; + + @ApiModelProperty("活动订单未付金额总数") + private BigDecimal activityUnPayMoneyTotal; +} diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtShopOrderPageDto.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtShopOrderPageDto.java deleted file mode 100644 index 0638a94..0000000 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtShopOrderPageDto.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.ruoyi.order.domain.vo; - -import com.ruoyi.system.api.domain.dto.MgtPageDto; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @ClassName MgtShopOrderPageDto - * @Description TODO - * @Author jqs - * @Date 2023/6/15 17:07 - * @Version 1.0 - */ -@Data -public class MgtShopOrderPageDto extends MgtPageDto { - - @ApiModelProperty(value = "关键词") - private String keyword; - - - -} diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtShopOrderPageVo.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtShopOrderPageVo.java new file mode 100644 index 0000000..2c84fcd --- /dev/null +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MgtShopOrderPageVo.java @@ -0,0 +1,67 @@ +package com.ruoyi.order.domain.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + +/** + * @ClassName MgtShopOrderPageVo + * @Description TODO + * @Author jqs + * @Date 2023/6/16 9:49 + * @Version 1.0 + */ +@Data +public class MgtShopOrderPageVo { + + @ApiModelProperty("订单id") + private String orderId; + + @ApiModelProperty("订单编号") + private String orderNo; + + @ApiModelProperty(value = "用户id") + private Long userId; + + @ApiModelProperty(value = "用户昵称") + private String nickName; + + @ApiModelProperty(value = "用户姓名") + private String userName; + + @ApiModelProperty("订单商品列表") + private List<MgtOrderGoodsPageVo> mgtOrderGoodsPageVoList; + + @ApiModelProperty("订单金额") + private BigDecimal orderMoney; + + @ApiModelProperty("创建时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date createTime; + + @ApiModelProperty("应付金额") + private BigDecimal receivableMoney; + + @ApiModelProperty("订单实际支付金额") + private BigDecimal payMoney; + + @ApiModelProperty("订单未支付金额") + private BigDecimal unPaidMoney; + + @ApiModelProperty("订单来源") + private String orderFrom; + + @ApiModelProperty("核销店铺id") + private Long shopId; + + @ApiModelProperty("核销店铺") + private String shopName; + + @ApiModelProperty("核销时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date verifyTime; +} diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/OrderGoodsMapper.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/OrderGoodsMapper.java index 7d714db..011c397 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/OrderGoodsMapper.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/OrderGoodsMapper.java @@ -3,6 +3,7 @@ import com.ruoyi.order.domain.pojo.order.OrderGoods; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.order.domain.vo.AppUserOrderGoodsPageVo; +import com.ruoyi.order.domain.vo.MgtOrderGoodsDetailVo; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -22,6 +23,15 @@ * @param orderId * @return */ - List<AppUserOrderGoodsPageVo> listVoByOrderId(@Param("orderId") String orderId); + List<AppUserOrderGoodsPageVo> listAppVoByOrderId(@Param("orderId") String orderId); + + /** + * @description 平台通过id获取VO + * @author jqs + * @date 2023/6/16 16:53 + * @param orderId + * @return List<MgtOrderGoodsDetailVo> + */ + List<MgtOrderGoodsDetailVo> listMgtVoByOrderId(@Param("orderId")String orderId); } diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/OrderMapper.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/OrderMapper.java index ed87d0e..0c0d230 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/OrderMapper.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/OrderMapper.java @@ -1,14 +1,10 @@ package com.ruoyi.order.mapper.order; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.ruoyi.order.domain.dto.AppUserOrderPageDto; -import com.ruoyi.order.domain.dto.MerOrderPageDto; -import com.ruoyi.order.domain.dto.MgtMemberOrderPageDto; -import com.ruoyi.order.domain.dto.MgtMemberOrderTotalDto; -import com.ruoyi.order.domain.pojo.order.Order; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.order.domain.dto.*; +import com.ruoyi.order.domain.pojo.order.Order; import com.ruoyi.order.domain.vo.*; -import com.ruoyi.system.api.domain.dto.MerPageDto; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -71,4 +67,62 @@ * @return */ List<MgtMemberOrderPageVo> pageMgtMemberOrder(Page page, @Param("param") MgtMemberOrderPageDto mgtMemberOrderPageDto); + + + /** + * @description 分页获取活动订单列表 + * @author jqs + * @date 2023/6/16 10:43 + * @param page + * @param mgtShopOrderPageDto + * @return List<MgtActivityOrderPageVo> + */ + List<MgtActivityOrderPageVo> pageMgtActivityOrder(Page page, @Param("param")MgtShopOrderPageDto mgtShopOrderPageDto); + + /** + * @description 统计订单总数 + * @author jqs + * @date 2023/6/16 13:39 + * @param + * @return MgtOrderTotal + */ + MgtOrderTotal totalOrderFirst(); + + /** + * @description 统计门店订单总数 + * @author jqs + * @date 2023/6/16 13:53 + * @param mgtShopOrderPageDto + * @return MgtOrderTotal + */ + MgtOrderTotal totalOrderSecond(@Param("param")MgtShopOrderPageDto mgtShopOrderPageDto); + + /** + * @description 统计活动订单总数 + * @author jqs + * @date 2023/6/16 13:53 + * @param mgtShopOrderPageDto + * @return MgtOrderTotal + */ + MgtOrderTotal totalOrderThird(@Param("param")MgtShopOrderPageDto mgtShopOrderPageDto); + + /** + * @description 统计订单总数 + * @author jqs + * @date 2023/6/16 13:53 + * @param mgtShopOrderPageDto + * @return MgtOrderTotal + */ + MgtOrderTotal totalOrder(@Param("param")MgtShopOrderPageDto mgtShopOrderPageDto); + + + /** + * @description 分页获取门店订单列表 + * @author jqs + * @date 2023/6/16 14:57 + * @param page + * @param mgtShopOrderPageDto + * @return List<MgtShopOrderPageVo> + */ + List<MgtShopOrderPageVo> pageMgtShopOrder(Page page, @Param("param")MgtShopOrderPageDto mgtShopOrderPageDto); } diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderGoodsServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderGoodsServiceImpl.java index ad208de..9517583 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderGoodsServiceImpl.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderGoodsServiceImpl.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.order.domain.pojo.order.OrderGoods; import com.ruoyi.order.domain.vo.AppUserOrderGoodsPageVo; +import com.ruoyi.order.domain.vo.MgtOrderGoodsDetailVo; import com.ruoyi.order.mapper.order.OrderGoodsMapper; import com.ruoyi.order.service.order.OrderGoodsService; import org.springframework.stereotype.Service; @@ -27,12 +28,26 @@ /** - * + * @description 用户通过id获取VO + * @author jqs + * @date 2023/6/16 16:53 * @param orderId - * @return + * @return List<AppUserOrderGoodsPageVo> */ @Override - public List<AppUserOrderGoodsPageVo> listVoByOrderId(String orderId){ - return orderGoodsMapper.listVoByOrderId(orderId); + public List<AppUserOrderGoodsPageVo> listAppVoByOrderId(String orderId){ + return orderGoodsMapper.listAppVoByOrderId(orderId); + } + + /** + * @description 平台通过id获取VO + * @author jqs + * @date 2023/6/16 16:53 + * @param orderId + * @return List<MgtOrderGoodsDetailVo> + */ + @Override + public List<MgtOrderGoodsDetailVo> listMgtVoByOrderId(String orderId){ + return orderGoodsMapper.listMgtVoByOrderId(orderId); } } diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java index 4b80802..4a625f9 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java @@ -18,6 +18,7 @@ import com.ruoyi.order.service.order.OrderGoodsService; import com.ruoyi.common.security.utils.CodeFactoryUtil; import com.ruoyi.system.api.domain.dto.*; +import com.ruoyi.system.api.domain.vo.*; import com.ruoyi.system.api.service.*; import com.ruoyi.system.api.constant.AppErrorConstant; import com.ruoyi.system.api.domain.poji.goods.Goods; @@ -26,11 +27,8 @@ import com.ruoyi.system.api.domain.poji.member.Member; import com.ruoyi.system.api.domain.poji.shop.Shop; import com.ruoyi.system.api.domain.poji.sys.SysUser; -import com.ruoyi.system.api.domain.vo.AppOrderTotalVo; -import com.ruoyi.system.api.domain.vo.AppMemberCouponVo; import com.ruoyi.order.mapper.order.OrderMapper; import com.ruoyi.order.service.order.OrderService; -import com.ruoyi.system.api.domain.vo.MerHomeShopTotalVo; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -83,7 +81,7 @@ * @date: 2023/5/3 0:07 */ @Override - public AppSureOrderVo buyGoods(AppSureOrderDto appSureOrderDto){ + public AppSureOrderVo buyGoods(AppSureOrderDto appSureOrderDto) { Long userId = appSureOrderDto.getUserId(); AppSureOrderVo appSureOrderVo = new AppSureOrderVo(); List<AppSureOrderGoodsVo> appSureOrderGoodsVoList = new ArrayList<>(); @@ -99,7 +97,7 @@ BigDecimal goodsRealPrice; List<AppMemberCouponVo> appMemberCouponVoList = remoteMemberService.listVoMemberCouponByUserId(userId).getData(); List<AppMemberCouponVo> appGoodsMemberCouponVoList; - Map<Long,AppMemberCouponVo> appMemberCouponVoMap = appMemberCouponVoList.stream().collect(Collectors.toMap(AppMemberCouponVo::getMemberCouponId, Function.identity())); + Map<Long, AppMemberCouponVo> appMemberCouponVoMap = appMemberCouponVoList.stream().collect(Collectors.toMap(AppMemberCouponVo::getMemberCouponId, Function.identity())); AppMemberCouponVo appMemberCouponVo; Integer couponType; BigDecimal moneyThreshold; @@ -112,7 +110,7 @@ BigDecimal couponDiscount = new BigDecimal("0.00"); BigDecimal orderPayDeposit = new BigDecimal("0.00"); BigDecimal orderPayMoney = new BigDecimal("0.00"); - for(AppBuyGoodsDto appBuyGoodsDto : appBuyGoodsDtoList){ + for (AppBuyGoodsDto appBuyGoodsDto : appBuyGoodsDtoList) { appSureOrderGoodsVo = new AppSureOrderGoodsVo(); useCoupon = 0; goodsId = appBuyGoodsDto.getGoodsId(); @@ -134,30 +132,30 @@ appShopGoodsGetDto.setGoodsId(goods.getGoodsId()); appShopGoodsGetDto.setShopId(appSureOrderDto.getShopId()); ShopGoods shopGoods = remoteGoodsService.getShopGoods(appShopGoodsGetDto).getData(); - if(shopGoods!=null){ + if (shopGoods != null) { goodsPrice = shopGoods.getSalesPrice(); } appSureOrderGoodsVo.setGoodsPrice(goodsPrice); buyNumBig = BigDecimal.valueOf(buyNum); goodsTotalPrice = goodsPrice.multiply(buyNumBig); goodsRealPrice = goodsTotalPrice; - if(memberCouponId!=null){ + if (memberCouponId != null) { appMemberCouponVo = appMemberCouponVoMap.get(memberCouponId); - if(StringUtils.isBlank(appMemberCouponVo.getRelGoodsIds()) || appMemberCouponVo.getRelGoodsIds().contains(goodsId)){ + if (StringUtils.isBlank(appMemberCouponVo.getRelGoodsIds()) || appMemberCouponVo.getRelGoodsIds().contains(goodsId)) { couponType = appMemberCouponVo.getCouponType(); - if(couponType == 1 && appMemberCouponVo.getMoneyThreshold()!=null && appMemberCouponVo.getDiscountMoney()!=null){ + if (couponType == 1 && appMemberCouponVo.getMoneyThreshold() != null && appMemberCouponVo.getDiscountMoney() != null) { moneyThreshold = appMemberCouponVo.getMoneyThreshold(); - if(goodsTotalPrice.compareTo(moneyThreshold)>=0){ + if (goodsTotalPrice.compareTo(moneyThreshold) >= 0) { discountMoney = appMemberCouponVo.getDiscountMoney(); goodsRealPrice = goodsTotalPrice.subtract(discountMoney); useCoupon = 1; } - }else if(couponType == 2 && appMemberCouponVo.getDiscountPercent()!=null){ + } else if (couponType == 2 && appMemberCouponVo.getDiscountPercent() != null) { discountPercent = appMemberCouponVo.getDiscountPercent(); - goodsRealPrice = goodsTotalPrice.multiply(discountPercent).divide(BigDecimal.TEN).setScale(2,BigDecimal.ROUND_HALF_UP); + goodsRealPrice = goodsTotalPrice.multiply(discountPercent).divide(BigDecimal.TEN).setScale(2, BigDecimal.ROUND_HALF_UP); discountMoney = goodsRealPrice.subtract(goodsTotalPrice); useCoupon = 1; - }else if(couponType == 3 && appMemberCouponVo.getDiscountMoney()!=null){ + } else if (couponType == 3 && appMemberCouponVo.getDiscountMoney() != null) { discountMoney = appMemberCouponVo.getDiscountMoney(); goodsRealPrice = goodsTotalPrice.subtract(discountMoney); useCoupon = 1; @@ -169,7 +167,7 @@ appSureOrderGoodsVo.setCouponDiscount(discountMoney); appSureOrderGoodsVo.setGoodsRealPrice(goodsRealPrice); goodsDeposit = goods.getSubscription(); - if(goodsDeposit == null){ + if (goodsDeposit == null) { goodsDeposit = new BigDecimal("0.00"); } appSureOrderGoodsVo.setGoodsDeposit(goodsDeposit); @@ -179,11 +177,11 @@ orderPayMoney = orderPayMoney.add(goodsRealPrice); //商品关联优惠券 appGoodsMemberCouponVoList = new ArrayList<>(); - if(appMemberCouponVoList!=null && !appMemberCouponVoList.isEmpty()){ - for(AppMemberCouponVo entity : appMemberCouponVoList){ - if(StringUtils.isBlank(entity.getRelGoodsIds())){ + if (appMemberCouponVoList != null && !appMemberCouponVoList.isEmpty()) { + for (AppMemberCouponVo entity : appMemberCouponVoList) { + if (StringUtils.isBlank(entity.getRelGoodsIds())) { appGoodsMemberCouponVoList.add(entity); - }else if(entity.getRelGoodsIds().contains(goodsId)){ + } else if (entity.getRelGoodsIds().contains(goodsId)) { appGoodsMemberCouponVoList.add(entity); } } @@ -201,11 +199,12 @@ /** * 创建订单 + * * @param appPlaceOrderDto * @return */ @Override - public AppPlaceOrderVo placeOrder(AppPlaceOrderDto appPlaceOrderDto){ + public AppPlaceOrderVo placeOrder(AppPlaceOrderDto appPlaceOrderDto) { Long userId = appPlaceOrderDto.getUserId(); AppPlaceOrderVo appPlaceOrderVo = new AppPlaceOrderVo(); List<AppSureOrderGoodsVo> appSureOrderGoodsVoList = new ArrayList<>(); @@ -222,7 +221,7 @@ BigDecimal goodsTotalPrice; BigDecimal goodsRealPrice; List<AppMemberCouponVo> appMemberCouponVoList = remoteMemberService.listVoMemberCouponByUserId(userId).getData(); - Map<Long,AppMemberCouponVo> appMemberCouponVoMap = appMemberCouponVoList.stream().collect(Collectors.toMap(AppMemberCouponVo::getMemberCouponId, Function.identity())); + Map<Long, AppMemberCouponVo> appMemberCouponVoMap = appMemberCouponVoList.stream().collect(Collectors.toMap(AppMemberCouponVo::getMemberCouponId, Function.identity())); AppMemberCouponVo appMemberCouponVo; Integer couponType; BigDecimal moneyThreshold; @@ -240,7 +239,7 @@ OrderGoods orderGoods; String orderGoodsId; HashSet<String> goodsTypeSet = new HashSet<>(); - for(AppBuyGoodsDto appBuyGoodsDto : appBuyGoodsDtoList){ + for (AppBuyGoodsDto appBuyGoodsDto : appBuyGoodsDtoList) { appSureOrderGoodsVo = new AppSureOrderGoodsVo(); useCoupon = 0; goodsId = appBuyGoodsDto.getGoodsId(); @@ -262,7 +261,7 @@ appShopGoodsGetDto.setGoodsId(goods.getGoodsId()); appShopGoodsGetDto.setShopId(appPlaceOrderDto.getShopId()); ShopGoods shopGoods = remoteGoodsService.getShopGoods(appShopGoodsGetDto).getData(); - if(shopGoods!=null){ + if (shopGoods != null) { goodsPrice = shopGoods.getSalesPrice(); serviceNum = shopGoods.getServiceNum(); } @@ -270,23 +269,23 @@ buyNumBig = BigDecimal.valueOf(buyNum); goodsTotalPrice = goodsPrice.multiply(buyNumBig); goodsRealPrice = goodsTotalPrice; - if(memberCouponId!=null){ + if (memberCouponId != null) { appMemberCouponVo = appMemberCouponVoMap.get(memberCouponId); - if(StringUtils.isBlank(appMemberCouponVo.getRelGoodsIds()) || appMemberCouponVo.getRelGoodsIds().contains(goodsId)){ + if (StringUtils.isBlank(appMemberCouponVo.getRelGoodsIds()) || appMemberCouponVo.getRelGoodsIds().contains(goodsId)) { couponType = appMemberCouponVo.getCouponType(); - if(couponType == 1 && appMemberCouponVo.getMoneyThreshold()!=null && appMemberCouponVo.getDiscountMoney()!=null){ + if (couponType == 1 && appMemberCouponVo.getMoneyThreshold() != null && appMemberCouponVo.getDiscountMoney() != null) { moneyThreshold = appMemberCouponVo.getMoneyThreshold(); - if(goodsTotalPrice.compareTo(moneyThreshold)>=0){ + if (goodsTotalPrice.compareTo(moneyThreshold) >= 0) { discountMoney = appMemberCouponVo.getDiscountMoney(); goodsRealPrice = goodsTotalPrice.subtract(discountMoney); useCoupon = 1; } - }else if(couponType == 2 && appMemberCouponVo.getDiscountPercent()!=null){ + } else if (couponType == 2 && appMemberCouponVo.getDiscountPercent() != null) { discountPercent = appMemberCouponVo.getDiscountPercent(); - goodsRealPrice = goodsTotalPrice.multiply(discountPercent).divide(BigDecimal.TEN).setScale(2,BigDecimal.ROUND_HALF_UP); + goodsRealPrice = goodsTotalPrice.multiply(discountPercent).divide(BigDecimal.TEN).setScale(2, BigDecimal.ROUND_HALF_UP); discountMoney = goodsRealPrice.subtract(goodsTotalPrice); useCoupon = 1; - }else if(couponType == 3 && appMemberCouponVo.getDiscountMoney()!=null){ + } else if (couponType == 3 && appMemberCouponVo.getDiscountMoney() != null) { discountMoney = appMemberCouponVo.getDiscountMoney(); goodsRealPrice = goodsTotalPrice.subtract(discountMoney); useCoupon = 1; @@ -298,7 +297,7 @@ appSureOrderGoodsVo.setCouponDiscount(discountMoney); appSureOrderGoodsVo.setGoodsRealPrice(goodsRealPrice); goodsDeposit = goods.getSubscription(); - if(goodsDeposit == null){ + if (goodsDeposit == null) { goodsDeposit = new BigDecimal("0.00"); } appSureOrderGoodsVo.setGoodsDeposit(goodsDeposit); @@ -315,7 +314,7 @@ orderGoods.setOrderId(orderId); orderGoods.setGoodsId(goodsId); orderGoods.setBuyNum(buyNum); - if(memberCouponId!=null){ + if (memberCouponId != null) { orderGoods.setCouponId(memberCouponId.toString()); } orderGoods.setGoodsPrice(goodsPrice); @@ -330,13 +329,13 @@ appShoppingCartDelDto.setGoodsId(goodsId); appShoppingCartDelDto.setUserId(userId); remoteShoppingCartService.deleteShoppingCart(appShoppingCartDelDto); - if(goods.getGoodsType()==1){ + if (goods.getGoodsType() == 1) { goodsTypeSet.add("周期"); - }else if(goods.getGoodsType()==2){ + } else if (goods.getGoodsType() == 2) { goodsTypeSet.add("服务"); - }else if(goods.getGoodsType()==3){ + } else if (goods.getGoodsType() == 3) { goodsTypeSet.add("体验"); - }else if(goods.getGoodsType()==4){ + } else if (goods.getGoodsType() == 4) { goodsTypeSet.add("单品"); } } @@ -355,13 +354,13 @@ order.setReceivableMoney(orderPayMoney); order.setReceivableDeposit(orderPayDeposit); order.setPayType(appPlaceOrderDto.getPayType()); - if(order.getPayType()==1){ + if (order.getPayType() == 1) { order.setPayMoney(orderPayMoney); order.setOnlinePayMoney(orderPayMoney); appPlaceOrderVo.setPayMoney(orderPayMoney); appPlaceOrderVo.setUnpaidMoney(order.getReceivableMoney().subtract(order.getPayMoney())); order.setCloseFlag(1); - }else if(order.getPayType()==2){ + } else if (order.getPayType() == 2) { order.setPayMoney(orderPayDeposit); order.setOnlinePayMoney(orderPayDeposit); appPlaceOrderVo.setPayMoney(orderPayDeposit); @@ -373,7 +372,7 @@ order.setCreateTime(new Date()); this.save(order); //更新用户商品类型 - if(goodsTypeSet!=null&&goodsTypeSet.size()>0){ + if (goodsTypeSet != null && goodsTypeSet.size() > 0) { AppMemberGoodsTypeDto appMemberGoodsTypeDto = new AppMemberGoodsTypeDto(); appMemberGoodsTypeDto.setUserId(userId); appMemberGoodsTypeDto.setGoodsTypeSet(goodsTypeSet); @@ -390,18 +389,19 @@ /** * 分页获取用户订单 + * * @param page * @param appUserOrderPageDto * @return */ @Override - public List<AppUserOrderPageVo> pageUserOrder(Page page, AppUserOrderPageDto appUserOrderPageDto){ - List<AppUserOrderPageVo> appUserOrderPageVoList = orderMapper.pageUserOrder(page,appUserOrderPageDto); - if(appUserOrderPageVoList!=null&&!appUserOrderPageVoList.isEmpty()){ + public List<AppUserOrderPageVo> pageUserOrder(Page page, AppUserOrderPageDto appUserOrderPageDto) { + List<AppUserOrderPageVo> appUserOrderPageVoList = orderMapper.pageUserOrder(page, appUserOrderPageDto); + if (appUserOrderPageVoList != null && !appUserOrderPageVoList.isEmpty()) { Long shopId; Shop shop; - HashSet<Long> set=new HashSet<Long>(); - for(AppUserOrderPageVo appUserOrderPageVo : appUserOrderPageVoList){ + HashSet<Long> set = new HashSet<Long>(); + for (AppUserOrderPageVo appUserOrderPageVo : appUserOrderPageVoList) { shopId = appUserOrderPageVo.getShopId(); set.add(shopId); } @@ -410,16 +410,16 @@ Shop shopTemp = remoteShopService.getShop(shopIdLong).getData(); shopMap.put(shopIdLong, shopTemp); }); - for(AppUserOrderPageVo appUserOrderPageVo : appUserOrderPageVoList){ + for (AppUserOrderPageVo appUserOrderPageVo : appUserOrderPageVoList) { shop = shopMap.get(appUserOrderPageVo.getShopId()); appUserOrderPageVo.setShopName(shop.getShopName()); appUserOrderPageVo.setShopServicePhone(shop.getShopServicePhone()); - if(appUserOrderPageVo.getShopId().equals(appUserOrderPageDto.getShopId())){ + if (appUserOrderPageVo.getShopId().equals(appUserOrderPageDto.getShopId())) { appUserOrderPageVo.setSameShop(1); - }else{ + } else { appUserOrderPageVo.setSameShop(0); } - appUserOrderPageVo.setVerifyCode("1-"+appUserOrderPageVo.getOrderId()); + appUserOrderPageVo.setVerifyCode("1-" + appUserOrderPageVo.getOrderId()); } } return appUserOrderPageVoList; @@ -427,15 +427,14 @@ /** - * * @param appBaseGetDto * @return */ @Override - public AppUserOrderGetVo getAppOrderDetail(AppBaseGetDto appBaseGetDto){ + public AppUserOrderGetVo getAppOrderDetail(AppBaseGetDto appBaseGetDto) { String orderId = appBaseGetDto.getId(); Order order = this.getById(orderId); - List<AppUserOrderGoodsPageVo> appUserOrderGoodsPageVoList = orderGoodsService.listVoByOrderId(orderId); + List<AppUserOrderGoodsPageVo> appUserOrderGoodsPageVoList = orderGoodsService.listAppVoByOrderId(orderId); AppUserOrderGetVo appUserOrderGetVo = new AppUserOrderGetVo(); appUserOrderGetVo.setOrderId(orderId); appUserOrderGetVo.setOrderNo(order.getOrderNo()); @@ -456,18 +455,19 @@ Shop shop = remoteShopService.getShop(order.getShopId()).getData(); appUserOrderGetVo.setShopName(shop.getShopName()); appUserOrderGetVo.setAppUserOrderGoodsPageVoList(appUserOrderGoodsPageVoList); - appUserOrderGetVo.setVerifyCode("1-"+orderId); + appUserOrderGetVo.setVerifyCode("1-" + orderId); return appUserOrderGetVo; } /** * 取消订单 + * * @param orderId */ @Override - public void cancelOrder(String orderId){ + public void cancelOrder(String orderId) { Order order = this.getById(orderId); - if(order.getOrderStatus()!=1){ + if (order.getOrderStatus() != 1) { throw new ServiceException(AppErrorConstant.CANCEL_ERROR_ORDER); } order.setOrderStatus(0); @@ -477,6 +477,7 @@ /** * 获取用户订单统计 + * * @param userId * @return */ @@ -496,11 +497,12 @@ /** * 获取B端首页统计 + * * @param merHomeShopTotalVo * @return */ @Override - public MerHomeShopTotalVo getMerHomeTotal(MerHomeShopTotalVo merHomeShopTotalVo){ + public MerHomeShopTotalVo getMerHomeTotal(MerHomeShopTotalVo merHomeShopTotalVo) { Long shopId = merHomeShopTotalVo.getShopId(); Integer todayShop = 0; Integer unHandleOrder = 0; @@ -517,14 +519,15 @@ /** * 核销订单 + * * @param orderId * @return */ @Override - public MerVerifyOrderVo verifyOrder(String orderId){ + public MerVerifyOrderVo verifyOrder(String orderId) { MerVerifyOrderVo merVerifyOrderVo = new MerVerifyOrderVo(); Order order = this.getById(orderId); - List<AppUserOrderGoodsPageVo> appUserOrderGoodsPageVoList = orderGoodsService.listVoByOrderId(orderId); + List<AppUserOrderGoodsPageVo> appUserOrderGoodsPageVoList = orderGoodsService.listAppVoByOrderId(orderId); merVerifyOrderVo.setOrderId(orderId); merVerifyOrderVo.setOrderNo(order.getOrderNo()); merVerifyOrderVo.setOrderStatus(order.getOrderStatus()); @@ -548,11 +551,12 @@ /** * 确认核销订单 + * * @param merVerifyOrderDto * @return */ @Override - public MerVerifyOrderVo sureVerifyOrder(MerVerifyOrderDto merVerifyOrderDto){ + public MerVerifyOrderVo sureVerifyOrder(MerVerifyOrderDto merVerifyOrderDto) { String orderId = merVerifyOrderDto.getOrderId(); BigDecimal relReceiveMoney = merVerifyOrderDto.getRelReceiveMoney(); BigDecimal relPayMoney = merVerifyOrderDto.getRelPayMoney(); @@ -563,15 +567,18 @@ order.setUseTime(nowTime); order.setUseUserId(merVerifyOrderDto.getUserId()); order.setOfflinePayMoney(relPayMoney); + order.setOffPayTime(nowTime); order.setPayMoney(relReceiveMoney.add(relPayMoney)); order.setCloseFlag(1); this.saveOrUpdate(order); //创建服务商品 - List<AppUserOrderGoodsPageVo> appUserOrderGoodsPageVoList = orderGoodsService.listVoByOrderId(orderId); + List<AppUserOrderGoodsPageVo> appUserOrderGoodsPageVoList = orderGoodsService.listAppVoByOrderId(orderId); ConsumerGoods consumerGoods; String consumerGoodsId; - for(AppUserOrderGoodsPageVo appUserOrderGoodsPageVo : appUserOrderGoodsPageVoList){ + Goods goods; + for (AppUserOrderGoodsPageVo appUserOrderGoodsPageVo : appUserOrderGoodsPageVoList) { consumerGoods = new ConsumerGoods(); + goods = remoteGoodsService.getGoods(appUserOrderGoodsPageVo.getGoodsId()).getData(); consumerGoodsId = IdUtils.simpleUUID(); consumerGoods.setConsumerGoodsId(consumerGoodsId); consumerGoods.setDelFlag(0); @@ -587,6 +594,9 @@ consumerGoods.setUsedNum(0); consumerGoods.setGoodsType(appUserOrderGoodsPageVo.getGoodsType()); consumerGoods.setCreateTime(nowTime); + consumerGoods.setGoodsIntroduction(goods.getGoodsIntroduction()); + consumerGoods.setGoodsPicture(appUserOrderGoodsPageVo.getGoodsPicture()); + consumerGoods.setGoodsNurses(goods.getGoodsNurses()); consumerGoodsService.save(consumerGoods); } //生成返回 @@ -613,18 +623,19 @@ /** * 收银未结清订单列表 + * * @param page * @param merMemberNoClearOrderDto * @return */ @Override - public List<MerMemberNoClearOrderVo> pageMerMemberNoClearOrder(Page page, MerMemberNoClearOrderDto merMemberNoClearOrderDto){ - List<MerMemberNoClearOrderVo> merMemberNoClearOrderVoList = orderMapper.pageMerMemberNoClearOrder(page,merMemberNoClearOrderDto.getMemberUserId()); - if(merMemberNoClearOrderVoList!=null&&!merMemberNoClearOrderVoList.isEmpty()){ + public List<MerMemberNoClearOrderVo> pageMerMemberNoClearOrder(Page page, MerMemberNoClearOrderDto merMemberNoClearOrderDto) { + List<MerMemberNoClearOrderVo> merMemberNoClearOrderVoList = orderMapper.pageMerMemberNoClearOrder(page, merMemberNoClearOrderDto.getMemberUserId()); + if (merMemberNoClearOrderVoList != null && !merMemberNoClearOrderVoList.isEmpty()) { BigDecimal zeroBig = new BigDecimal("0.00"); - for(MerMemberNoClearOrderVo merMemberNoClearOrderVo : merMemberNoClearOrderVoList){ + for (MerMemberNoClearOrderVo merMemberNoClearOrderVo : merMemberNoClearOrderVoList) { merMemberNoClearOrderVo.setUnPaidMoney(merMemberNoClearOrderVo.getReceivableMoney().subtract(merMemberNoClearOrderVo.getPayMoney())); - if(merMemberNoClearOrderVo.getUnPaidMoney()==null){ + if (merMemberNoClearOrderVo.getUnPaidMoney() == null) { merMemberNoClearOrderVo.setUnPaidMoney(zeroBig); } } @@ -634,12 +645,14 @@ /** * 结清订单 + * * @param merCloseOrderDto */ @Override - public void merCloseOrder(MerCloseOrderDto merCloseOrderDto){ + public void merCloseOrder(MerCloseOrderDto merCloseOrderDto) { Order order = this.getById(merCloseOrderDto.getOrderId()); order.setOfflinePayMoney(merCloseOrderDto.getPayMoney()); + order.setOffPayTime(new Date()); order.setPayMoney(order.getPayMoney().add(merCloseOrderDto.getPayMoney())); order.setCloseFlag(1); this.saveOrUpdate(order); @@ -647,20 +660,22 @@ /** * 创建新订单 + * * @param merNewOrderDto */ @Override - public void createNewOrder(MerNewOrderDto merNewOrderDto){ + public void createNewOrder(MerNewOrderDto merNewOrderDto) { Long userId = merNewOrderDto.getBuyUserId(); + Date nowTime = new Date(); //如果非指定用户判断是否需要通过手机号创建新用户 - if(userId==null){ + if (userId == null) { String name = merNewOrderDto.getName(); String mobile = merNewOrderDto.getMobile(); Member member = remoteMemberService.getMemberByMobile(mobile).getData(); SysUser sysUser; - if(member!=null){ + if (member != null) { sysUser = remoteUserService.getSysUser(member.getUserId()).getData(); - }else{ + } else { //创建新用户 String memberId = IdUtils.simpleUUID(); sysUser = new SysUser(); @@ -671,7 +686,7 @@ sysUser.setAvatar("https://hongruitang.oss-cn-beijing.aliyuncs.com/default.png"); String password = "hongruitang"; sysUser.setPassword(SecurityUtils.encryptPassword(password)); - log.debug("sysUser"+sysUser.toString()); + log.debug("sysUser" + sysUser.toString()); sysUser = remoteUserService.registerUser(sysUser).getData(); member = new Member(); member.setMemberId(memberId); @@ -698,8 +713,8 @@ Long shopId = merNewOrderDto.getShopId(); Shop shop = remoteShopService.getShop(shopId).getData(); List<AppMemberCouponVo> appMemberCouponVoList = remoteMemberService.listVoMemberCouponByUserId(userId).getData(); - Map<Long,AppMemberCouponVo> appMemberCouponVoMap = new HashMap<>(); - if(null != appMemberCouponVoList){ + Map<Long, AppMemberCouponVo> appMemberCouponVoMap = new HashMap<>(); + if (null != appMemberCouponVoList) { appMemberCouponVoMap = appMemberCouponVoList.stream().collect(Collectors.toMap(AppMemberCouponVo::getMemberCouponId, Function.identity())); } @@ -717,7 +732,7 @@ String orderNo = CodeFactoryUtil.getShopOrderNo(); OrderGoods orderGoods; String orderGoodsId; - for(AppBuyGoodsDto appBuyGoodsDto : appBuyGoodsDtoList){ + for (AppBuyGoodsDto appBuyGoodsDto : appBuyGoodsDtoList) { goodsId = appBuyGoodsDto.getGoodsId(); memberCouponId = appBuyGoodsDto.getMemberCouponId(); goods = remoteGoodsService.getGoods(goodsId).getData(); @@ -729,7 +744,7 @@ appShopGoodsGetDto.setGoodsId(goods.getGoodsId()); appShopGoodsGetDto.setShopId(shopId); ShopGoods shopGoods = remoteGoodsService.getShopGoods(appShopGoodsGetDto).getData(); - if(shopGoods!=null){ + if (shopGoods != null) { goodsPrice = shopGoods.getSalesPrice(); serviceNum = shopGoods.getServiceNum(); } @@ -737,21 +752,21 @@ goodsTotalPrice = goodsPrice.multiply(buyNumBig); goodsRealPrice = goodsTotalPrice; //优惠券计算 - if(memberCouponId!=null){ + if (memberCouponId != null) { appMemberCouponVo = appMemberCouponVoMap.get(memberCouponId); - if(null != appMemberCouponVo && (StringUtils.isBlank(appMemberCouponVo.getRelGoodsIds()) || appMemberCouponVo.getRelGoodsIds().contains(goodsId))){ + if (null != appMemberCouponVo && (StringUtils.isBlank(appMemberCouponVo.getRelGoodsIds()) || appMemberCouponVo.getRelGoodsIds().contains(goodsId))) { couponType = appMemberCouponVo.getCouponType(); - if(couponType == 1 && appMemberCouponVo.getMoneyThreshold()!=null && appMemberCouponVo.getDiscountMoney()!=null){ + if (couponType == 1 && appMemberCouponVo.getMoneyThreshold() != null && appMemberCouponVo.getDiscountMoney() != null) { moneyThreshold = appMemberCouponVo.getMoneyThreshold(); - if(goodsTotalPrice.compareTo(moneyThreshold)>=0){ + if (goodsTotalPrice.compareTo(moneyThreshold) >= 0) { discountMoney = appMemberCouponVo.getDiscountMoney(); goodsRealPrice = goodsTotalPrice.subtract(discountMoney); } - }else if(couponType == 2 && appMemberCouponVo.getDiscountPercent()!=null){ + } else if (couponType == 2 && appMemberCouponVo.getDiscountPercent() != null) { discountPercent = appMemberCouponVo.getDiscountPercent(); - goodsRealPrice = goodsTotalPrice.multiply(discountPercent).divide(BigDecimal.TEN).setScale(2,BigDecimal.ROUND_HALF_UP); + goodsRealPrice = goodsTotalPrice.multiply(discountPercent).divide(BigDecimal.TEN).setScale(2, BigDecimal.ROUND_HALF_UP); discountMoney = goodsRealPrice.subtract(goodsTotalPrice); - }else if(couponType == 3 && appMemberCouponVo.getDiscountMoney()!=null){ + } else if (couponType == 3 && appMemberCouponVo.getDiscountMoney() != null) { discountMoney = appMemberCouponVo.getDiscountMoney(); goodsRealPrice = goodsTotalPrice.subtract(discountMoney); } @@ -759,7 +774,7 @@ } goodsDeposit = goods.getSubscription(); - if(goodsDeposit == null){ + if (goodsDeposit == null) { goodsDeposit = new BigDecimal("0.00"); } goodsNum = goodsNum + buyNum; @@ -775,7 +790,7 @@ orderGoods.setOrderId(orderId); orderGoods.setGoodsId(goodsId); orderGoods.setBuyNum(buyNum); - if(null != memberCouponId){ + if (null != memberCouponId) { orderGoods.setCouponId(memberCouponId.toString()); } orderGoods.setGoodsPrice(goodsPrice); @@ -801,32 +816,34 @@ order.setReceivableMoney(orderPayMoney); order.setReceivableDeposit(new BigDecimal("0.00")); order.setPayType(1); - if(order.getPayType()==1){ + if (order.getPayType() == 1) { order.setPayMoney(orderPayMoney); order.setOnlinePayMoney(orderPayMoney); order.setCloseFlag(1); - }else if(order.getPayType()==2){ + } else if (order.getPayType() == 2) { order.setPayMoney(orderPayDeposit); order.setOnlinePayMoney(orderPayDeposit); order.setCloseFlag(0); } order.setOrderRemark(merNewOrderDto.getOrderRemark()); order.setGoodsNum(goodsNum); - order.setCreateTime(new Date()); - order.setPayTime(new Date()); - order.setUseTime(new Date()); + order.setCreateTime(nowTime); + order.setPayTime(nowTime); + order.setUseTime(nowTime); order.setUseUserId(merNewOrderDto.getUserId()); order.setPayMoney(merNewOrderDto.getPayMoney()); order.setOnlinePayMoney(new BigDecimal("0.00")); order.setOfflinePayMoney(merNewOrderDto.getPayMoney()); + order.setOffPayTime(nowTime); order.setCloseFlag(1); this.save(order); //创建服务 - List<AppUserOrderGoodsPageVo> appUserOrderGoodsPageVoList = orderGoodsService.listVoByOrderId(orderId); + List<AppUserOrderGoodsPageVo> appUserOrderGoodsPageVoList = orderGoodsService.listAppVoByOrderId(orderId); ConsumerGoods consumerGoods; String consumerGoodsId; - for(AppUserOrderGoodsPageVo appUserOrderGoodsPageVo : appUserOrderGoodsPageVoList){ + for (AppUserOrderGoodsPageVo appUserOrderGoodsPageVo : appUserOrderGoodsPageVoList) { consumerGoods = new ConsumerGoods(); + goods = remoteGoodsService.getGoods(appUserOrderGoodsPageVo.getGoodsId()).getData(); consumerGoodsId = IdUtils.simpleUUID(); consumerGoods.setConsumerGoodsId(consumerGoodsId); consumerGoods.setDelFlag(0); @@ -841,11 +858,14 @@ consumerGoods.setServiceNum(appUserOrderGoodsPageVo.getServiceNum()); consumerGoods.setUsedNum(0); consumerGoods.setGoodsType(appUserOrderGoodsPageVo.getGoodsType()); - consumerGoods.setCreateTime(new Date()); + consumerGoods.setCreateTime(nowTime); + consumerGoods.setGoodsIntroduction(goods.getGoodsIntroduction()); + consumerGoods.setGoodsPicture(appUserOrderGoodsPageVo.getGoodsPicture()); + consumerGoods.setGoodsNurses(goods.getGoodsNurses()); consumerGoodsService.save(consumerGoods); } Member member = remoteMemberService.getMember(userId).getData(); - if(member!=null&&member.getBindingFlag()!=1){ + if (member != null && member.getBindingFlag() != 1) { //绑定商户 AppMemberBindingDto appMemberBindingDto = new AppMemberBindingDto(); appMemberBindingDto.setShopId(shopId); @@ -858,47 +878,46 @@ /** - * * @param merOrderPageDto * @return */ @Override - public List<MerOrderPageVo> pageMerOrder(Page page, MerOrderPageDto merOrderPageDto){ + public List<MerOrderPageVo> pageMerOrder(Page page, MerOrderPageDto merOrderPageDto) { List<MerOrderPageVo> merOrderPageVoList = orderMapper.pageMerOrder(page, merOrderPageDto); - if(merOrderPageVoList!=null&&!merOrderPageVoList.isEmpty()){ + if (merOrderPageVoList != null && !merOrderPageVoList.isEmpty()) { Long userId; Member member; Integer orderFrom; String orderFromDesc; BigDecimal zeroBig = new BigDecimal("0.00"); - for(MerOrderPageVo merOrderPageVo : merOrderPageVoList){ + for (MerOrderPageVo merOrderPageVo : merOrderPageVoList) { userId = merOrderPageVo.getUserId(); member = remoteMemberService.getMember(userId).getData(); - if(member!=null){ - if(StringUtils.isNotBlank(member.getNickName())){ + if (member != null) { + if (StringUtils.isNotBlank(member.getNickName())) { merOrderPageVo.setUserName(member.getNickName()); } merOrderPageVo.setUserMobile(member.getMobile()); - }else{ + } else { SysUser sysUser = remoteUserService.getSysUser(userId).getData(); - if(StringUtils.isNotBlank(sysUser.getNickName())){ + if (StringUtils.isNotBlank(sysUser.getNickName())) { merOrderPageVo.setUserName(sysUser.getNickName()); } merOrderPageVo.setUserMobile(sysUser.getPhonenumber()); } orderFrom = merOrderPageVo.getOrderFrom(); - if(orderFrom!=null){ - if(orderFrom == 1){ + if (orderFrom != null) { + if (orderFrom == 1) { orderFromDesc = "商城订单"; - }else{ + } else { orderFromDesc = "线下创建"; } - }else{ + } else { orderFromDesc = "商城订单"; } merOrderPageVo.setOrderFromDesc(orderFromDesc); merOrderPageVo.setUnPaidMoney(merOrderPageVo.getReceivableMoney().subtract(merOrderPageVo.getPayMoney())); - if(merOrderPageVo.getUnPaidMoney()==null){ + if (merOrderPageVo.getUnPaidMoney() == null) { merOrderPageVo.setUnPaidMoney(zeroBig); } } @@ -907,19 +926,18 @@ } /** - * * @param page * @param merMemberNoClearOrderDto * @return */ @Override - public List<MerMemberNoClearOrderVo> pageMerMemberOrder(Page page, MerMemberNoClearOrderDto merMemberNoClearOrderDto){ - List<MerMemberNoClearOrderVo> merMemberNoClearOrderVoList = orderMapper.pageMerMemberOrder(page,merMemberNoClearOrderDto.getMemberUserId()); - if(merMemberNoClearOrderVoList!=null&&!merMemberNoClearOrderVoList.isEmpty()){ + public List<MerMemberNoClearOrderVo> pageMerMemberOrder(Page page, MerMemberNoClearOrderDto merMemberNoClearOrderDto) { + List<MerMemberNoClearOrderVo> merMemberNoClearOrderVoList = orderMapper.pageMerMemberOrder(page, merMemberNoClearOrderDto.getMemberUserId()); + if (merMemberNoClearOrderVoList != null && !merMemberNoClearOrderVoList.isEmpty()) { BigDecimal zeroBig = new BigDecimal("0.00"); - for(MerMemberNoClearOrderVo merMemberNoClearOrderVo : merMemberNoClearOrderVoList){ + for (MerMemberNoClearOrderVo merMemberNoClearOrderVo : merMemberNoClearOrderVoList) { merMemberNoClearOrderVo.setUnPaidMoney(merMemberNoClearOrderVo.getReceivableMoney().subtract(merMemberNoClearOrderVo.getPayMoney())); - if(merMemberNoClearOrderVo.getUnPaidMoney()==null){ + if (merMemberNoClearOrderVo.getUnPaidMoney() == null) { merMemberNoClearOrderVo.setUnPaidMoney(zeroBig); } } @@ -929,33 +947,306 @@ /** * 获取用户订单统计 + * * @param mgtMemberOrderTotalDto * @return */ @Override - public MgtMemberOrderTotalVo getMgtMemberOrderTotal(MgtMemberOrderTotalDto mgtMemberOrderTotalDto){ + public MgtMemberOrderTotalVo getMgtMemberOrderTotal(MgtMemberOrderTotalDto mgtMemberOrderTotalDto) { MgtMemberOrderTotalVo mgtMemberOrderTotalVo = orderMapper.getMgtMemberOrderTotal(mgtMemberOrderTotalDto); return mgtMemberOrderTotalVo; } /** * 分页获取用户订单列表 + * * @param page * @param mgtMemberOrderPageDto * @return */ @Override - public List<MgtMemberOrderPageVo> pageMgtMemberOrder(Page page, MgtMemberOrderPageDto mgtMemberOrderPageDto){ + public List<MgtMemberOrderPageVo> pageMgtMemberOrder(Page page, MgtMemberOrderPageDto mgtMemberOrderPageDto) { + // 通过orderMapper获取MgtMemberOrderPageVoList List<MgtMemberOrderPageVo> mgtMemberOrderPageVoList = orderMapper.pageMgtMemberOrder(page, mgtMemberOrderPageDto); - if(mgtMemberOrderPageVoList!=null&&!mgtMemberOrderPageVoList.isEmpty()){ + // 如果MgtMemberOrderPageVoList不为空 + if (mgtMemberOrderPageVoList != null && !mgtMemberOrderPageVoList.isEmpty()) { Long shopId; - Shop shop; - for(MgtMemberOrderPageVo mgtMemberOrderPageVo : mgtMemberOrderPageVoList){ + HashSet<String> set = new HashSet<>(); + // 遍历MgtMemberOrderPageVoList,获取shopId并添加到set中 + for (MgtMemberOrderPageVo mgtMemberOrderPageVo : mgtMemberOrderPageVoList) { shopId = mgtMemberOrderPageVo.getShopId(); - shop = remoteShopService.getShop(shopId).getData(); - mgtMemberOrderPageVo.setShopName(shop.getShopName()); + set.add(shopId.toString()); + } + // 将set中的shopId转换为逗号分隔的字符串 + String joinedString = String.join(",", set); + // 通过remoteShopService获取MgtSimpleShopVoList + List<MgtSimpleShopVo> simpleShopVoList = remoteShopService.listShopSimpleVoByIds(joinedString).getData(); + // 将MgtSimpleShopVoList转换为Map<Long, MgtSimpleShopVo>,以便后续根据shopId获取对应的MgtSimpleShopVo + Map<Long, MgtSimpleShopVo> map = simpleShopVoList.stream() + .collect(Collectors.toMap(MgtSimpleShopVo::getShopId, Function.identity())); + // 遍历MgtMemberOrderPageVoList,根据shopId获取对应的MgtSimpleShopVo并将其shopName设置到MgtMemberOrderPageVo中 + for (MgtMemberOrderPageVo mgtMemberOrderPageVo : mgtMemberOrderPageVoList) { + shopId = mgtMemberOrderPageVo.getShopId(); + mgtMemberOrderPageVo.setShopName(map.get(shopId).getShopName()); } } + // 返回MgtMemberOrderPageVoList return mgtMemberOrderPageVoList; } + + /** + * @param page + * @param mgtShopOrderPageDto + * @return List<MgtActivityOrderPageVo> + * @description 分页获取活动订单列表 + * @author jqs + * @date 2023/6/16 10:43 + */ + @Override + public List<MgtActivityOrderPageVo> pageMgtActivityOrder(Page page, MgtShopOrderPageDto mgtShopOrderPageDto) { + //如果区域代码不为null获取对应的商户id + if(StringUtils.isNotBlank(mgtShopOrderPageDto.getKeyword())||StringUtils.isNotBlank(mgtShopOrderPageDto.getShopProvinceCode())||StringUtils.isNotBlank(mgtShopOrderPageDto.getShopCityCode())||StringUtils.isNotBlank(mgtShopOrderPageDto.getShopAreaCode())){ + MgtShopIdByCodeDto mgtShopIdByCodeDto = new MgtShopIdByCodeDto(); + mgtShopIdByCodeDto.setShopProvinceCode(mgtShopOrderPageDto.getShopProvinceCode()); + mgtShopIdByCodeDto.setShopCityCode(mgtShopOrderPageDto.getShopCityCode()); + mgtShopIdByCodeDto.setShopAreaCode(mgtShopOrderPageDto.getShopAreaCode()); + MgtShopIdByCodeVo mgtShopIdByCodeVo = remoteShopService.getShopIdByCode(mgtShopIdByCodeDto).getData(); + if(StringUtils.isNotBlank(mgtShopIdByCodeVo.getShopIds())){ + mgtShopOrderPageDto.setShopIds(mgtShopIdByCodeVo.getShopIds()); + } + } + //如果关键词不为null获取对应的用户id + if(StringUtils.isNotBlank(mgtShopOrderPageDto.getKeyword())){ + MgtUserIdByKeywordDto mgtUserIdByKeywordDto = new MgtUserIdByKeywordDto(); + mgtUserIdByKeywordDto.setKeyword(mgtShopOrderPageDto.getKeyword()); + MgtUserIdByKeywordVo mgtUserIdByKeywordVo= remoteMemberService.getUserIdByKeyword(mgtUserIdByKeywordDto).getData(); + if(StringUtils.isNotBlank(mgtUserIdByKeywordVo.getUserIds())){ + mgtShopOrderPageDto.setUserIds(mgtUserIdByKeywordVo.getUserIds()); + } + } + // 从数据库中获取活动订单列表 + List<MgtActivityOrderPageVo> activityOrderPageVoList = orderMapper.pageMgtActivityOrder(page, mgtShopOrderPageDto); + // 如果列表不为空 + if (!activityOrderPageVoList.isEmpty()) { + // 定义变量 + HashSet<Long> shopIdSet = new HashSet<>(); + HashSet<Long> userIdSet = new HashSet<>(); + BigDecimal zeroBig = new BigDecimal("0.00"); + // 遍历列表,获取店铺 ID 和用户 ID + for (MgtActivityOrderPageVo mgtActivityOrderPageVo : activityOrderPageVoList) { + shopIdSet.add(mgtActivityOrderPageVo.getShopId()); + userIdSet.add(mgtActivityOrderPageVo.getUserId()); + } + // 将店铺 ID 和用户 ID 转换为逗号分隔的字符串 + String shopJoinedString = String.join(",", shopIdSet.stream().map(Object::toString).collect(Collectors.toList())); + String userJoinedString = String.join(",", userIdSet.stream().map(Object::toString).collect(Collectors.toList())); + // 从远程服务获取店铺和用户信息 + List<MgtSimpleShopVo> simpleShopVoList = remoteShopService.listShopSimpleVoByIds(shopJoinedString).getData(); + Map<Long, MgtSimpleShopVo> shopMap = simpleShopVoList.stream() + .collect(Collectors.toMap(MgtSimpleShopVo::getShopId, Function.identity())); + List<MgtSimpleMemberVo> simpleMemberVoList = remoteMemberService.listSimpleVoByIds(userJoinedString).getData(); + Map<Long, MgtSimpleMemberVo> userMap = simpleMemberVoList.stream() + .collect(Collectors.toMap(MgtSimpleMemberVo::getUserId, Function.identity())); + // 遍历列表,设置店铺名称、用户名称和未支付金额 + for (MgtActivityOrderPageVo mgtActivityOrderPageVo : activityOrderPageVoList) { + mgtActivityOrderPageVo.setShopName(shopMap.get(mgtActivityOrderPageVo.getShopId()).getShopName()); + mgtActivityOrderPageVo.setUserName(userMap.get(mgtActivityOrderPageVo.getUserId()).getUserName()); + BigDecimal unPaidMoney = mgtActivityOrderPageVo.getReceivableMoney().subtract(mgtActivityOrderPageVo.getPayMoney()); + mgtActivityOrderPageVo.setUnPaidMoney(unPaidMoney == null ? zeroBig : unPaidMoney); + } + } + // 返回处理后的活动订单列表 + return activityOrderPageVoList; + } + + /** + * @description 获取订单统计 + * @author jqs + * @date 2023/6/16 12:51 + * @param mgtShopOrderPageDto + * @return MgtMemberOrderTotalVo + */ + @Override + public MgtOrderTotal getMgtOrderTotal(MgtShopOrderPageDto mgtShopOrderPageDto){ + //如果区域代码不为null获取对应的商户id + if(StringUtils.isNotBlank(mgtShopOrderPageDto.getKeyword())||StringUtils.isNotBlank(mgtShopOrderPageDto.getShopProvinceCode())||StringUtils.isNotBlank(mgtShopOrderPageDto.getShopCityCode())||StringUtils.isNotBlank(mgtShopOrderPageDto.getShopAreaCode())){ + MgtShopIdByCodeDto mgtShopIdByCodeDto = new MgtShopIdByCodeDto(); + mgtShopIdByCodeDto.setShopProvinceCode(mgtShopOrderPageDto.getShopProvinceCode()); + mgtShopIdByCodeDto.setShopCityCode(mgtShopOrderPageDto.getShopCityCode()); + mgtShopIdByCodeDto.setShopAreaCode(mgtShopOrderPageDto.getShopAreaCode()); + MgtShopIdByCodeVo mgtShopIdByCodeVo = remoteShopService.getShopIdByCode(mgtShopIdByCodeDto).getData(); + if(StringUtils.isNotBlank(mgtShopIdByCodeVo.getShopIds())){ + mgtShopOrderPageDto.setShopIds(mgtShopIdByCodeVo.getShopIds()); + } + } + //如果关键词不为null获取对应的用户id + if(StringUtils.isNotBlank(mgtShopOrderPageDto.getKeyword())){ + MgtUserIdByKeywordDto mgtUserIdByKeywordDto = new MgtUserIdByKeywordDto(); + mgtUserIdByKeywordDto.setKeyword(mgtShopOrderPageDto.getKeyword()); + MgtUserIdByKeywordVo mgtUserIdByKeywordVo= remoteMemberService.getUserIdByKeyword(mgtUserIdByKeywordDto).getData(); + if(StringUtils.isNotBlank(mgtUserIdByKeywordVo.getUserIds())){ + mgtShopOrderPageDto.setUserIds(mgtUserIdByKeywordVo.getUserIds()); + } + } + MgtOrderTotal mgtOrderTotal = new MgtOrderTotal(); + MgtOrderTotal mgtOrderTotalFirst = orderMapper.totalOrderFirst(); + MgtOrderTotal mgtOrderTotalSecond = orderMapper.totalOrderSecond(mgtShopOrderPageDto); + MgtOrderTotal mgtOrderTotalThird = orderMapper.totalOrderThird(mgtShopOrderPageDto); + mgtOrderTotal.setOrderTotal(mgtOrderTotalFirst.getOrderTotal()); + mgtOrderTotal.setOrderMoneyTotal(mgtOrderTotalFirst.getOrderMoneyTotal()); + mgtOrderTotal.setShopOrderTotal(mgtOrderTotalSecond.getShopOrderTotal()); + mgtOrderTotal.setShopOrderMoneyTotal(mgtOrderTotalSecond.getShopOrderMoneyTotal()); + mgtOrderTotal.setShopPayMoneyTotal(mgtOrderTotalSecond.getShopPayMoneyTotal()); + mgtOrderTotal.setShopUnPayMoneyTotal(mgtOrderTotalSecond.getShopOrderMoneyTotal().subtract(mgtOrderTotalSecond.getShopPayMoneyTotal())); + mgtOrderTotal.setActivityOrderTotal(mgtOrderTotalThird.getActivityOrderTotal()); + mgtOrderTotal.setActivityOrderMoneyTotal(mgtOrderTotalThird.getActivityOrderMoneyTotal()); + mgtOrderTotal.setActivityPayMoneyTotal(mgtOrderTotalThird.getActivityPayMoneyTotal()); + mgtOrderTotal.setActivityUnPayMoneyTotal(mgtOrderTotalThird.getActivityOrderMoneyTotal().subtract(mgtOrderTotalThird.getActivityPayMoneyTotal())); + return mgtOrderTotal; + } + + /** + * @description 分页获取门店订单列表 + * @author jqs + * @date 2023/6/16 14:57 + * @param page + * @param mgtShopOrderPageDto + * @return List<MgtShopOrderPageVo> + */ + @Override + public List<MgtShopOrderPageVo> pageMgtShopOrder(Page page, MgtShopOrderPageDto mgtShopOrderPageDto){ + //如果区域代码不为null获取对应的商户id + if(StringUtils.isNotBlank(mgtShopOrderPageDto.getKeyword())||StringUtils.isNotBlank(mgtShopOrderPageDto.getShopProvinceCode())||StringUtils.isNotBlank(mgtShopOrderPageDto.getShopCityCode())||StringUtils.isNotBlank(mgtShopOrderPageDto.getShopAreaCode())){ + MgtShopIdByCodeDto mgtShopIdByCodeDto = new MgtShopIdByCodeDto(); + mgtShopIdByCodeDto.setShopProvinceCode(mgtShopOrderPageDto.getShopProvinceCode()); + mgtShopIdByCodeDto.setShopCityCode(mgtShopOrderPageDto.getShopCityCode()); + mgtShopIdByCodeDto.setShopAreaCode(mgtShopOrderPageDto.getShopAreaCode()); + MgtShopIdByCodeVo mgtShopIdByCodeVo = remoteShopService.getShopIdByCode(mgtShopIdByCodeDto).getData(); + if(StringUtils.isNotBlank(mgtShopIdByCodeVo.getShopIds())){ + mgtShopOrderPageDto.setShopIds(mgtShopIdByCodeVo.getShopIds()); + } + } + //如果关键词不为null获取对应的用户id + if(StringUtils.isNotBlank(mgtShopOrderPageDto.getKeyword())){ + MgtUserIdByKeywordDto mgtUserIdByKeywordDto = new MgtUserIdByKeywordDto(); + mgtUserIdByKeywordDto.setKeyword(mgtShopOrderPageDto.getKeyword()); + MgtUserIdByKeywordVo mgtUserIdByKeywordVo= remoteMemberService.getUserIdByKeyword(mgtUserIdByKeywordDto).getData(); + if(StringUtils.isNotBlank(mgtUserIdByKeywordVo.getUserIds())){ + mgtShopOrderPageDto.setUserIds(mgtUserIdByKeywordVo.getUserIds()); + } + } + List<MgtShopOrderPageVo> shopOrderPageVoList = orderMapper.pageMgtShopOrder(page, mgtShopOrderPageDto); + // 如果列表不为空 + if (!shopOrderPageVoList.isEmpty()) { + // 定义变量 + HashSet<Long> shopIdSet = new HashSet<>(); + HashSet<Long> userIdSet = new HashSet<>(); + BigDecimal zeroBig = new BigDecimal("0.00"); + // 遍历列表,获取店铺 ID 和用户 ID + for (MgtShopOrderPageVo mgtShopOrderPageVo : shopOrderPageVoList) { + shopIdSet.add(mgtShopOrderPageVo.getShopId()); + userIdSet.add(mgtShopOrderPageVo.getUserId()); + } + // 将店铺 ID 和用户 ID 转换为逗号分隔的字符串 + String shopJoinedString = String.join(",", shopIdSet.stream().map(Object::toString).collect(Collectors.toList())); + String userJoinedString = String.join(",", userIdSet.stream().map(Object::toString).collect(Collectors.toList())); + // 从远程服务获取店铺和用户信息 + List<MgtSimpleShopVo> simpleShopVoList = remoteShopService.listShopSimpleVoByIds(shopJoinedString).getData(); + Map<Long, MgtSimpleShopVo> shopMap = simpleShopVoList.stream() + .collect(Collectors.toMap(MgtSimpleShopVo::getShopId, Function.identity())); + List<MgtSimpleMemberVo> simpleMemberVoList = remoteMemberService.listSimpleVoByIds(userJoinedString).getData(); + Map<Long, MgtSimpleMemberVo> userMap = simpleMemberVoList.stream() + .collect(Collectors.toMap(MgtSimpleMemberVo::getUserId, Function.identity())); + // 遍历列表,设置店铺名称、用户名称和未支付金额 + for (MgtShopOrderPageVo mgtShopOrderPageVo : shopOrderPageVoList) { + mgtShopOrderPageVo.setShopName(shopMap.get(mgtShopOrderPageVo.getShopId()).getShopName()); + mgtShopOrderPageVo.setUserName(userMap.get(mgtShopOrderPageVo.getUserId()).getUserName()); + BigDecimal unPaidMoney = mgtShopOrderPageVo.getReceivableMoney().subtract(mgtShopOrderPageVo.getPayMoney()); + mgtShopOrderPageVo.setUnPaidMoney(unPaidMoney == null ? zeroBig : unPaidMoney); + } + } + return shopOrderPageVoList; + } + + + /** + * @description 获取订单详情 + * @author jqs + * @date 2023/6/16 16:49 + * @param orderId + * @return MgtOrderDetailVo + */ + @Override + public MgtOrderDetailVo getMgtOrderDetail(String orderId){ + // 创建MgtOrderDetailVo对象 + MgtOrderDetailVo mgtOrderDetailVo = new MgtOrderDetailVo(); + // 获取订单信息 + Order order = this.getById(orderId); + // 获取会员信息 + Member member = remoteMemberService.getMember(order.getUserId()).getData(); + // 获取商店信息 + Shop shop = remoteShopService.getShop(order.getShopId()).getData(); + // 获取订单商品详细信息 + List<MgtOrderGoodsDetailVo> orderGoodsDetailVoList = orderGoodsService.listMgtVoByOrderId(orderId); + // 设置MgtOrderDetailVo属性 + mgtOrderDetailVo.setOrderId(orderId); + mgtOrderDetailVo.setUserId(order.getUserId()); + mgtOrderDetailVo.setNickName(member.getNickName()); + mgtOrderDetailVo.setUserName(member.getRealName()); + mgtOrderDetailVo.setUserMobile(member.getMobile()); + mgtOrderDetailVo.setOrderGoodsDetailVoList(orderGoodsDetailVoList); + // 设置订单状态 + switch (order.getOrderStatus()) { + case 0: + mgtOrderDetailVo.setOrderStatus("已取消"); + break; + case 1: + mgtOrderDetailVo.setOrderStatus("待支付"); + break; + case 2: + mgtOrderDetailVo.setOrderStatus("待核销"); + break; + case 3: + mgtOrderDetailVo.setOrderStatus("已完成"); + break; + default: + mgtOrderDetailVo.setOrderStatus("删除"); + break; + } + // 设置订单编号 + mgtOrderDetailVo.setOrderNo(order.getOrderNo()); + // 设置订单来源 + switch (order.getOrderFrom()) { + case 1: + mgtOrderDetailVo.setOrderFrom("商城"); + break; + case 2: + mgtOrderDetailVo.setOrderFrom("秒杀活动"); + break; + case 3: + mgtOrderDetailVo.setOrderFrom("线下创建"); + break; + default: + mgtOrderDetailVo.setOrderStatus(""); + break; + } + // 设置订单支付相关属性 + mgtOrderDetailVo.setOrderMoney(order.getOrderMoney()); + mgtOrderDetailVo.setReceivableMoney(order.getReceivableMoney()); + mgtOrderDetailVo.setPayMoney(order.getPayMoney()); + mgtOrderDetailVo.setUnPaidMoney(order.getReceivableMoney().subtract(order.getPayMoney())); + mgtOrderDetailVo.setActivityName(order.getActivityName()); + mgtOrderDetailVo.setCreateTime(order.getCreateTime()); + mgtOrderDetailVo.setOnlinePayMoney(order.getOnlinePayMoney()); + mgtOrderDetailVo.setOfflinePayMoney(order.getOfflinePayMoney()); + mgtOrderDetailVo.setPayTime(order.getPayTime()); + mgtOrderDetailVo.setOffPayTime(order.getOffPayTime()); + mgtOrderDetailVo.setCompleteTime(order.getUseTime()); + mgtOrderDetailVo.setCancelTime(order.getCancelTime()); + mgtOrderDetailVo.setOrderRemark(order.getOrderRemark()); + mgtOrderDetailVo.setShopId(order.getShopId()); + mgtOrderDetailVo.setShopName(shop.getShopName()); + mgtOrderDetailVo.setVerifyTime(order.getUseTime()); + return mgtOrderDetailVo; + } } diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/OrderGoodsService.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/OrderGoodsService.java index 6a77c72..dbe8b1a 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/OrderGoodsService.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/OrderGoodsService.java @@ -3,6 +3,7 @@ import com.ruoyi.order.domain.pojo.order.OrderGoods; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.order.domain.vo.AppUserOrderGoodsPageVo; +import com.ruoyi.order.domain.vo.MgtOrderGoodsDetailVo; import java.util.List; @@ -17,9 +18,20 @@ public interface OrderGoodsService extends IService<OrderGoods> { /** - * + * @description 用户通过id获取VO + * @author jqs + * @date 2023/6/16 16:53 * @param orderId - * @return + * @return List<AppUserOrderGoodsPageVo> */ - List<AppUserOrderGoodsPageVo> listVoByOrderId(String orderId); + List<AppUserOrderGoodsPageVo> listAppVoByOrderId(String orderId); + + /** + * @description 平台通过id获取VO + * @author jqs + * @date 2023/6/16 16:53 + * @param orderId + * @return List<MgtOrderGoodsDetailVo> + */ + List<MgtOrderGoodsDetailVo> listMgtVoByOrderId(String orderId); } diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/OrderService.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/OrderService.java index f219244..407062f 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/OrderService.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/OrderService.java @@ -1,15 +1,13 @@ package com.ruoyi.order.service.order; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.order.domain.dto.*; +import com.ruoyi.order.domain.pojo.order.Order; import com.ruoyi.order.domain.vo.*; import com.ruoyi.system.api.domain.dto.AppBaseGetDto; -import com.ruoyi.order.domain.pojo.order.Order; -import com.baomidou.mybatisplus.extension.service.IService; -import com.ruoyi.system.api.domain.dto.MerPageDto; import com.ruoyi.system.api.domain.vo.AppOrderTotalVo; import com.ruoyi.system.api.domain.vo.MerHomeShopTotalVo; -import org.apache.ibatis.annotations.Param; import java.util.List; @@ -138,4 +136,42 @@ * @return */ List<MgtMemberOrderPageVo> pageMgtMemberOrder(Page page, MgtMemberOrderPageDto mgtMemberOrderPageDto); + + /** + * @description 分页获取活动订单列表 + * @author jqs + * @date 2023/6/16 10:43 + * @param page + * @param mgtShopOrderPageDto + * @return List<MgtActivityOrderPageVo> + */ + List<MgtActivityOrderPageVo> pageMgtActivityOrder(Page page, MgtShopOrderPageDto mgtShopOrderPageDto); + + /** + * @description 获取订单统计 + * @author jqs + * @date 2023/6/16 12:51 + * @param mgtShopOrderPageDto + * @return MgtMemberOrderTotalVo + */ + MgtOrderTotal getMgtOrderTotal(MgtShopOrderPageDto mgtShopOrderPageDto); + + /** + * @description 分页获取门店订单列表 + * @author jqs + * @date 2023/6/16 14:57 + * @param page + * @param mgtShopOrderPageDto + * @return List<MgtShopOrderPageVo> + */ + List<MgtShopOrderPageVo> pageMgtShopOrder(Page page, MgtShopOrderPageDto mgtShopOrderPageDto); + + /** + * @description 获取订单详情 + * @author jqs + * @date 2023/6/16 16:49 + * @param orderId + * @return MgtOrderDetailVo + */ + MgtOrderDetailVo getMgtOrderDetail(String orderId); } diff --git a/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/ConsumerGoodsMapper.xml b/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/ConsumerGoodsMapper.xml index 6ed6f5c..f7b6009 100644 --- a/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/ConsumerGoodsMapper.xml +++ b/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/ConsumerGoodsMapper.xml @@ -123,15 +123,13 @@ tcg.service_status serviceStatus, tcg.shop_id shopId, tcg.goods_type goodsType, - tg.goods_name goodsName, - tgf.file_url goodsPicture, - tg.goods_nurses goodsNurses, + tcg.goods_name goodsName, + tcg.goods_picture goodsPicture, + tcg.goods_nurses goodsNurses, tcg.cycle_num_flag cycleNumFlag, tcg.service_num serviceNum, tcg.used_num usedNum FROM t_consumer_goods tcg - INNER JOIN t_goods tg ON tcg.goods_id = tg.goods_id - INNER JOIN t_goods_file tgf ON tgf.goods_id = tg.goods_id AND tgf.del_flag = 0 AND tgf.file_type = 1 WHERE tcg.del_flag = 0 AND tcg.user_id = #{param.userId} AND tcg.shop_id = #{param.shopId} <if test="param.goodsType != null"> AND tcg.goods_type = #{param.goodsType} @@ -145,16 +143,14 @@ tcg.service_status serviceStatus, tcg.shop_id shopId, tcg.goods_type goodsType, - tg.goods_name goodsName, - tg.goods_introduction goodsIntroduction, - tgf.file_url goodsPicture, - tg.goods_nurses goodsNurses, + tcg.goods_name goodsName, + tcg.goods_introduction goodsIntroduction, + tcg.goods_picture goodsPicture, + tcg.goods_nurses goodsNurses, tcg.cycle_num_flag cycleNumFlag, tcg.service_num serviceNum, tcg.used_num usedNum FROM t_consumer_goods tcg - INNER JOIN t_goods tg ON tcg.goods_id = tg.goods_id - INNER JOIN t_goods_file tgf ON tgf.goods_id = tg.goods_id AND tgf.del_flag = 0 AND tgf.file_type = 1 WHERE tcg.del_flag = 0 AND tcg.user_id = #{param.memberUserId} AND tcg.shop_id = #{param.shopId} AND tcg.service_status = 1 AND tcg.goods_type = 1 AND tcg.cycle_num_flag = 0 ORDER BY tcg.create_time DESC @@ -166,16 +162,14 @@ tcg.service_status serviceStatus, tcg.shop_id shopId, tcg.goods_type goodsType, - tg.goods_name goodsName, - tg.goods_introduction goodsIntroduction, - tgf.file_url goodsPicture, - tg.goods_nurses goodsNurses, + tcg.goods_name goodsName, + tcg.goods_introduction goodsIntroduction, + tcg.goods_picture goodsPicture, + tcg.goods_nurses goodsNurses, tcg.cycle_num_flag cycleNumFlag, tcg.service_num serviceNum, tcg.used_num usedNum FROM t_consumer_goods tcg - INNER JOIN t_goods tg ON tcg.goods_id = tg.goods_id - INNER JOIN t_goods_file tgf ON tgf.goods_id = tg.goods_id AND tgf.del_flag = 0 AND tgf.file_type = 1 WHERE tcg.del_flag = 0 AND tcg.user_id = #{param.memberUserId} AND tcg.shop_id = #{param.shopId} AND tcg.service_status = 1 AND tcg.goods_type = #{param.goodsType} AND tcg.cycle_num_flag = 1 ORDER BY tcg.create_time DESC @@ -187,16 +181,14 @@ tcg.service_status serviceStatus, tcg.shop_id shopId, tcg.goods_type goodsType, - tg.goods_name goodsName, - tg.goods_introduction goodsIntroduction, - tgf.file_url goodsPicture, - tg.goods_nurses goodsNurses, + tcg.goods_name goodsName, + tcg.goods_introduction goodsIntroduction, + tcg.goods_picture goodsPicture, + tcg.goods_nurses goodsNurses, tcg.cycle_num_flag cycleNumFlag, tcg.service_num serviceNum, tcg.used_num usedNum FROM t_consumer_goods tcg - INNER JOIN t_goods tg ON tcg.goods_id = tg.goods_id - INNER JOIN t_goods_file tgf ON tgf.goods_id = tg.goods_id AND tgf.del_flag = 0 AND tgf.file_type = 1 WHERE tcg.del_flag = 0 AND tcg.user_id = #{param.memberUserId} AND tcg.shop_id = #{param.shopId} AND tcg.goods_type = #{param.goodsType} AND tcg.cycle_num_flag = 1 ORDER BY tcg.create_time DESC diff --git a/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderGoodsMapper.xml b/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderGoodsMapper.xml index 2d5ff83..d8c6f68 100644 --- a/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderGoodsMapper.xml +++ b/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderGoodsMapper.xml @@ -103,23 +103,35 @@ </foreach> </delete> - <select id="listVoByOrderId" resultType="com.ruoyi.order.domain.vo.AppUserOrderGoodsPageVo"> + <select id="listAppVoByOrderId" resultType="com.ruoyi.order.domain.vo.AppUserOrderGoodsPageVo"> SELECT tog.order_goods_id orderGoodsId, tog.goods_id goodsId, - tg.goods_name goodsName, + tog.goods_name goodsName, tog.goods_type goodsType, tog.buy_num buyNum, tog.goods_price goodsPrice, - tgf.file_url goodsPicture, + tog.goods_picture goodsPicture, tog.goods_total_money goodsRealPrice, tog.cycle_num_flag cycleNumFlag, tog.service_num serviceNum FROM t_order toc INNER JOIN t_order_goods tog ON tog.order_id = toc.order_id - INNER JOIN t_goods tg ON tg.goods_id = tog.goods_id - INNER JOIN t_goods_file tgf ON tgf.goods_id = tg.goods_id AND tgf.del_flag = 0 AND tgf.file_type = 1 WHERE toc.del_flag = 0 AND toc.order_id = #{orderId} + </select> + <select id="listMgtVoByOrderId" resultType="com.ruoyi.order.domain.vo.MgtOrderGoodsDetailVo"> + SELECT + tog.order_goods_id orderGoodsId, + tog.goods_id goodsId, + tog.goods_name goodsName, + tog.goods_type goodsType, + tog.buy_num buyNum, + tog.goods_price goodsPrice, + tog.goods_picture goodsPicture, + tog.goods_total_money goodsTotalPrice + FROM t_order toc + INNER JOIN t_order_goods tog ON tog.order_id = toc.order_id + WHERE toc.del_flag = 0 AND toc.order_id = #{orderId} </select> </mapper> diff --git a/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml b/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml index 2742286..ea67ec5 100644 --- a/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml +++ b/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml @@ -86,6 +86,41 @@ </collection> </resultMap> + <resultMap id="mgtShopOrderResultMap" type="com.ruoyi.order.domain.vo.MgtShopOrderPageVo"> + <result column="orderId" property="orderId"/> + <result column="orderStatus" property="orderStatus"/> + <result column="orderNo" property="orderNo"/> + <result column="shopId" property="shopId"/> + <result column="orderMoney" property="orderMoney"/> + <result column="discountMoney" property="discountMoney"/> + <result column="receivableMoney" property="receivableMoney"/> + <result column="payMoney" property="payMoney"/> + <result column="orderFrom" property="orderFrom" /> + <result column="createTime" property="createTime" /> + <collection property="mgtOrderGoodsVoList" ofType="com.ruoyi.order.domain.vo.MerOrderGoodsPageVo"> + <result column="goodsName" property="goodsName"/> + <result column="buyNum" property="buyNum"/> + </collection> + </resultMap> + + <resultMap id="mgtShopOrderResultMap" type="com.ruoyi.order.domain.vo.MgtShopOrderPageVo"> + <result column="orderId" property="orderId"/> + <result column="orderNo" property="orderNo"/> + <result column="userId" property="userId"/> + <result column="orderMoney" property="orderMoney"/> + <result column="createTime" property="createTime"/> + <result column="receivableMoney" property="receivableMoney"/> + <result column="payMoney" property="payMoney"/> + <result column="unPaidMoney" property="unPaidMoney"/> + <result column="orderFrom" property="orderFrom"/> + <result column="shopId" property="shopId"/> + <result column="verifyTime" property="verifyTime"/> + <collection property="mgtOrderGoodsPageVoList" ofType="com.ruoyi.order.domain.vo.MgtOrderGoodsPageVo"> + <result column="goodsName" property="goodsName"/> + <result column="buyNum" property="buyNum"/> + </collection> + </resultMap> + <sql id="selectOrderVo"> select order_id, del_flag, order_status, order_no, order_from, shop_id, user_id, order_money, coupon_money, discount_money, receivable_money, pay_type, pay_money, online_pay_money, offline_pay_money, order_remark, goods_info, create_time, pay_time, use_time, cancel_time, use_user_id from t_order </sql> @@ -237,7 +272,7 @@ AND toc.order_status = #{param.orderStatus} </if> <if test="param.keyword != null and param.keyword != ''"> - AND (toc.order_no LIKE CONCAT('%',#{param.keyword},'%') OR tg.goods_name LIKE CONCAT('%',#{param.keyword},'%')) + AND (toc.order_no LIKE CONCAT('%',#{param.keyword},'%') OR tog.goods_name LIKE CONCAT('%',#{param.keyword},'%')) </if> ORDER BY toc.create_time DESC </select> @@ -300,7 +335,7 @@ AND toc.create_time <= #{param.endOrderDate} </if> <if test="param.keyword != null and param.keyword != ''"> - AND (toc.order_no LIKE CONCAT('%',#{param.keyword},'%') OR tg.goods_name LIKE CONCAT('%',#{param.keyword},'%')) + AND (toc.order_no LIKE CONCAT('%',#{param.keyword},'%') OR tog.goods_name LIKE CONCAT('%',#{param.keyword},'%')) </if> ORDER BY toc.create_time DESC </select> @@ -362,15 +397,15 @@ tog.goods_name goodsName, tog.buy_num buyNum, toc.create_time createTime, + toc.order_from orderFrom, CASE toc.order_from WHEN 1 THEN "商城订单" WHEN 2 THEN "秒杀活动订单" WHEN 3 THEN "线下创建订单" - END orderFrom + END orderFromDesc FROM t_order toc INNER JOIN t_order_goods tog ON tog.order_id = toc.order_id - INNER JOIN t_goods tg ON tg.goods_id = tog.goods_id - WHERE toc.del_flag = 0 AND toc.user_id = #{param.userId} + WHERE toc.del_flag = 0 AND toc.user_id = #{param.memberUserId} <if test="param.orderStatus != null"> AND toc.order_status = #{param.orderStatus} </if> @@ -391,4 +426,199 @@ </if> ORDER BY toc.create_time DESC </select> + + <select id="pageMgtActivityOrder" resultType="com.ruoyi.order.domain.vo.MgtActivityOrderPageVo"> + SELECT + toc.order_id orderId, + toc.order_no orderNo, + toc.user_id userId, + toc.activity_name activityName, + tog.goods_name goodsName, + tog.goods_price activityPrice, + tog.buy_num buyNum, + toc.order_money orderMoney, + toc.receivable_money receivableMoney, + toc.create_time createTime, + toc.pay_money payMoney, + toc.shop_id shopId, + toc.use_time verifyTime + FROM t_order toc + INNER JOIN t_order_goods tog ON tog.order_id = toc.order_id + WHERE toc.del_flag = 0 AND toc.order_from = 2 + <if test="param.orderStatus != null"> + AND toc.order_status = #{param.orderStatus} + </if> + <if test="param.goodsType != null and param.goodsType !=''"> + AND tog.goods_type = #{param.goodsType} + </if> + <if test="param.shopId != null and param.shopId != ''"> + AND toc.shop_id = #{param.shopId} + </if> + <if test="param.shopIds != null and param.shopIds != ''"> + AND toc.shop_id IN (#{param.shopIds}) + </if> + <if test="param.keyword != null and param.keyword != ''"> + AND (toc.order_no LIKE CONCAT('%',#{param.keyword},'%') OR toc.activity_name LIKE CONCAT('%',#{param.keyword},'%') OR toc.user_id IN (#{param.userIds})) + </if> + <if test="param.verifyStartTime != null and param.verifyStartTime != ''"> + AND toc.use_time >= #{param.verifyStartTime} + </if> + <if test="param.verifyEndTime != null and param.verifyEndTime != ''"> + AND toc.use_time <= #{param.verifyEndTime} + </if> + ORDER BY toc.create_time DESC + </select> + + <select id="totalOrderFirst" resultType="com.ruoyi.order.domain.vo.MgtOrderTotal"> + SELECT + COUNT(order_id) orderTotal, + IFNULL(SUM(order_money),0) orderMoneyTotal + FROM t_order toc.create_time DESC + </select> + + <select id="totalOrderSecond" resultType="com.ruoyi.order.domain.vo.MgtOrderTotal"> + SELECT + COUNT(temp.order_id) shopOrderTotal, + IFNULL(SUM(temp.order_money),0) shopOrderMoneyTotal, + IFNULL(SUM(temp.pay_money),0) shopPayMoneyTotal FROM + (SELECT toc.order_id,toc.order_money,toc.pay_money + FROM t_order toc + INNER JOIN t_order_goods tog ON tog.order_id = toc.order_id + WHERE toc.del_flag = 0 AND (toc.order_from = 1 OR toc.order_from = 3) + <if test="param.orderStatus != null"> + AND toc.order_status = #{param.orderStatus} + </if> + <if test="param.goodsType != null and param.goodsType !=''"> + AND tog.goods_type = #{param.goodsType} + </if> + <if test="param.shopId != null and param.shopId != ''"> + AND toc.shop_id = #{param.shopId} + </if> + <if test="param.shopIds != null and param.shopIds != ''"> + AND toc.shop_id IN (#{param.shopIds}) + </if> + <if test="param.keyword != null and param.keyword != ''"> + AND (toc.order_no LIKE CONCAT('%',#{param.keyword},'%') OR toc.activity_name LIKE CONCAT('%',#{param.keyword},'%') OR toc.user_id IN (#{param.userIds})) + </if> + <if test="param.verifyStartTime != null and param.verifyStartTime != ''"> + AND toc.use_time >= #{param.verifyStartTime} + </if> + <if test="param.verifyEndTime != null and param.verifyEndTime != ''"> + AND toc.use_time <= #{param.verifyEndTime} + </if> + GROUP BY toc.order_id) AS temp + </select> + + <select id="totalOrderThird" resultType="com.ruoyi.order.domain.vo.MgtOrderTotal"> + SELECT + COUNT(temp.order_id) shopOrderTotal, + IFNULL(SUM(temp.order_money),0) shopOrderMoneyTotal, + IFNULL(SUM(temp.pay_money),0) shopPayMoneyTotal FROM + (SELECT toc.order_id,toc.order_money,toc.pay_money + FROM t_order toc + INNER JOIN t_order_goods tog ON tog.order_id = toc.order_id + WHERE toc.del_flag = 0 AND toc.order_from = 2 + <if test="param.orderStatus != null"> + AND toc.order_status = #{param.orderStatus} + </if> + <if test="param.goodsType != null and param.goodsType !=''"> + AND tog.goods_type = #{param.goodsType} + </if> + <if test="param.shopId != null and param.shopId != ''"> + AND toc.shop_id = #{param.shopId} + </if> + <if test="param.shopIds != null and param.shopIds != ''"> + AND toc.shop_id IN (#{param.shopIds}) + </if> + <if test="param.keyword != null and param.keyword != ''"> + AND (toc.order_no LIKE CONCAT('%',#{param.keyword},'%') OR toc.activity_name LIKE CONCAT('%',#{param.keyword},'%') OR toc.user_id IN (#{param.userIds})) + </if> + <if test="param.verifyStartTime != null and param.verifyStartTime != ''"> + AND toc.use_time >= #{param.verifyStartTime} + </if> + <if test="param.verifyEndTime != null and param.verifyEndTime != ''"> + AND toc.use_time <= #{param.verifyEndTime} + </if> + GROUP BY toc.order_id) AS temp + </select> + + <select id="totalOrder" resultType="com.ruoyi.order.domain.vo.MgtOrderTotal"> + SELECT + COUNT(order_id) AS orderTotal, + IFNULL(SUM(order_money), 0) AS orderMoneyTotal, + COUNT(CASE WHEN (order_from = 1 OR order_from = 3) THEN order_id ELSE NULL END) AS shopOrderTotal, + IFNULL(SUM(CASE WHEN (order_from = 1 OR order_from = 3) THEN order_money ELSE 0 END), 0) AS shopOrderMoneyTotal, + IFNULL(SUM(CASE WHEN (order_from = 1 OR order_from = 3) THEN pay_money ELSE 0 END), 0) AS shopPayMoneyTotal, + COUNT(CASE WHEN order_from = 2 THEN order_id ELSE NULL END) AS activityOrderTotal, + IFNULL(SUM(CASE WHEN order_from = 2 THEN order_money ELSE 0 END), 0) AS activityOrderMoneyTotal, + IFNULL(SUM(CASE WHEN order_from = 2 THEN pay_money ELSE 0 END), 0) AS activityPayMoneyTotal + FROM + (SELECT toc.order_id, toc.order_money, toc.pay_money, toc.order_from + FROM t_order toc + INNER JOIN t_order_goods tog ON tog.order_id = toc.order_id + WHERE toc.del_flag = 0 + <if test="param.orderStatus != null"> + AND toc.order_status = #{param.orderStatus} + </if> + <if test="param.goodsType != null and param.goodsType !=''"> + AND tog.goods_type = #{param.goodsType} + </if> + <if test="param.shopId != null and param.shopId != ''"> + AND toc.shop_id = #{param.shopId} + </if> + <if test="param.shopIds != null and param.shopIds != ''"> + AND toc.shop_id IN (#{param.shopIds}) + </if> + <if test="param.keyword != null and param.keyword != ''"> + AND (toc.order_no LIKE CONCAT('%',#{param.keyword},'%') OR toc.activity_name LIKE CONCAT('%',#{param.keyword},'%') OR toc.user_id IN (#{param.userIds})) + </if> + <if test="param.verifyStartTime != null and param.verifyStartTime != ''"> + AND toc.use_time >= #{param.verifyStartTime} + </if> + <if test="param.verifyEndTime != null and param.verifyEndTime != ''"> + AND toc.use_time <= #{param.verifyEndTime} + </if> + GROUP BY toc.order_id) AS temp + </select> + + <select id="pageMgtShopOrder" resultMap="mgtShopOrderResultMap"> + SELECT + toc.order_id orderId, + toc.order_no orderNo, + toc.user_id userId, + tog.goods_name goodsName, + tog.buy_num buyNum, + toc.order_money orderMoney, + toc.receivable_money receivableMoney, + toc.create_time createTime, + toc.pay_money payMoney, + toc.shop_id shopName, + toc.use_time verifyTime, + CASE toc.order_from WHEN 1 THEN '小程序' WHEN 3 THEN '线下创建' END orderFrom + FROM t_order toc + INNER JOIN t_order_goods tog ON tog.order_id = toc.order_id + WHERE toc.del_flag = 0 AND (toc.order_from = 1 OR toc.order_from = 3) + <if test="param.orderStatus != null"> + AND toc.order_status = #{param.orderStatus} + </if> + <if test="param.goodsType != null and param.goodsType !=''"> + AND tog.goods_type = #{param.goodsType} + </if> + <if test="param.shopId != null and param.shopId != ''"> + AND toc.shop_id = #{param.shopId} + </if> + <if test="param.shopIds != null and param.shopIds != ''"> + AND toc.shop_id IN (#{param.shopIds}) + </if> + <if test="param.keyword != null and param.keyword != ''"> + AND (toc.order_no LIKE CONCAT('%',#{param.keyword},'%') OR toc.activity_name LIKE CONCAT('%',#{param.keyword},'%') OR toc.user_id IN (#{param.userIds})) + </if> + <if test="param.verifyStartTime != null and param.verifyStartTime != ''"> + AND toc.use_time >= #{param.verifyStartTime} + </if> + <if test="param.verifyEndTime != null and param.verifyEndTime != ''"> + AND toc.use_time <= #{param.verifyEndTime} + </if> + ORDER BY toc.create_time DESC + </select> </mapper> diff --git a/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/UserServiceRecordMapper.xml b/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/UserServiceRecordMapper.xml index c8e6de3..bca7e1f 100644 --- a/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/UserServiceRecordMapper.xml +++ b/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/UserServiceRecordMapper.xml @@ -98,7 +98,7 @@ ORDER BY tusr.create_time DESC </select> - <select id="pageMerMemberServiceRecord" resultType="com.ruoyi.order.domain.vo.MgtMemberServiceRecordPageVo"> + <select id="pageMgtMemberServiceRecord" resultType="com.ruoyi.order.domain.vo.MgtMemberServiceRecordPageVo"> SELECT tusr.shop_id shopId, tsrd.consumer_goods_name consumerGoodsName, @@ -107,10 +107,16 @@ tsrd.service_num serviceNum, tsrd.surp_num surpNum FROM t_user_service_record tusr - INNER JOIN t_service_record_detail tsrd ON tsrd.record_id = tusr.id + LEFT JOIN t_service_record_detail tsrd ON tsrd.record_id = tusr.id WHERE tusr.del_flag = 0 AND tusr.user_id = #{param.memberUserId} AND tusr.service_type = 1 <if test="param.keyword != null and param.keyword != ''"> AND tsrd.consumer_goods_name LIKE CONCAT('%',#{param.keyword},'%') + </if> + <if test="param.createStartTime!=null and param.createStartTime!=''"> + AND tusr.create_time >= #{param.createStartTime} + </if> + <if test="param.createEndTime!=null and param.createEndTime!=''"> + AND tusr.create_time <= #{param.createEndTime} </if> ORDER BY tusr.create_time DESC </select> @@ -125,7 +131,7 @@ IFNULL(SUM(tsrd.service_num),0) cycleCount, IFNULL(SUM(tsrd.surp_num),0) surpCycleCount FROM t_user_service_record tusr - INNER JOIN t_service_record_detail tsrd ON tsrd.record_id = tusr.id + LEFT JOIN t_service_record_detail tsrd ON tsrd.record_id = tusr.id WHERE tusr.del_flag = 0 AND tusr.user_id = #{userId} AND tusr.service_type = 1 GROUP BY tsrd.consumer_goods_id) AS temp </select> diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/management/MgtTaskController.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/management/MgtTaskController.java index ef5c37d..8f5eb37 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/management/MgtTaskController.java +++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/management/MgtTaskController.java @@ -1,6 +1,5 @@ package com.ruoyi.shop.controller.management; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.security.utils.SecurityUtils; import com.ruoyi.shop.domain.dto.MgtFollowShopTaskDto; @@ -58,37 +57,28 @@ @RequestMapping(value = "/pageMgtShopFollow", method = RequestMethod.POST) @ApiOperation(value = "平台获取平台跟进列表") - public R<Page<MgtShopTaskRecordPageVo>> pageMgtShopFollow(@RequestBody MgtShopTaskPageDto mgtShopTaskPageDto) { + public R<List<MgtShopTaskRecordPageVo>> pageMgtShopFollow(@RequestBody MgtShopTaskPageDto mgtShopTaskPageDto) { Long userId = SecurityUtils.getUserId(); mgtShopTaskPageDto.setUserId(userId); - Page<MgtShopTaskRecordPageVo> page = new Page<>(); - page.setSize(mgtShopTaskPageDto.getPageSize()); - page.setCurrent(mgtShopTaskPageDto.getPageNum()); - List<MgtShopTaskRecordPageVo> mgtShopTaskRecordPageVoList = shopTaskRecordService.pageMgtShopFollow(page,mgtShopTaskPageDto); - return R.ok(page.setRecords(mgtShopTaskRecordPageVoList)); + List<MgtShopTaskRecordPageVo> mgtShopTaskRecordPageVoList = shopTaskRecordService.pageMgtShopFollow(mgtShopTaskPageDto); + return R.ok(mgtShopTaskRecordPageVoList); } @RequestMapping(value = "/pageMgtAgencyFollow", method = RequestMethod.POST) @ApiOperation(value = "平台获取代理商跟进列表") - public R<Page<MgtAgencyTaskRecordPageVo>> pageMgtAgencyFollow(@RequestBody MgtShopTaskPageDto mgtShopTaskPageDto) { + public R<List<MgtAgencyTaskRecordPageVo>> pageMgtAgencyFollow(@RequestBody MgtShopTaskPageDto mgtShopTaskPageDto) { Long userId = SecurityUtils.getUserId(); mgtShopTaskPageDto.setUserId(userId); - Page<MgtAgencyTaskRecordPageVo> page = new Page<>(); - page.setSize(mgtShopTaskPageDto.getPageSize()); - page.setCurrent(mgtShopTaskPageDto.getPageNum()); - List<MgtAgencyTaskRecordPageVo> mgtMemberFollowPageVoList = agencyTaskRecordService.pageMgtAgencyFollow(page,mgtShopTaskPageDto); - return R.ok(page.setRecords(mgtMemberFollowPageVoList)); + List<MgtAgencyTaskRecordPageVo> mgtMemberFollowPageVoList = agencyTaskRecordService.pageMgtAgencyFollow(mgtShopTaskPageDto); + return R.ok(mgtMemberFollowPageVoList); } @RequestMapping(value = "/pageMgtMemberFollow", method = RequestMethod.POST) @ApiOperation(value = "平台获取用户跟进列表") - public R<Page<MgtMemberFollowPageVo>> pageMgtMemberFollow(@RequestBody MgtMemberTaskPageDto mgtMemberTaskPageDto) { + public R<List<MgtMemberFollowPageVo>> pageMgtMemberFollow(@RequestBody MgtMemberTaskPageDto mgtMemberTaskPageDto) { Long userId = SecurityUtils.getUserId(); mgtMemberTaskPageDto.setUserId(userId); - Page<MgtMemberFollowPageVo> page = new Page<>(); - page.setSize(mgtMemberTaskPageDto.getPageSize()); - page.setCurrent(mgtMemberTaskPageDto.getPageNum()); - List<MgtMemberFollowPageVo> mgtMemberFollowPageVoList = memberTaskRecordService.pageMgtMemberFollow(page, mgtMemberTaskPageDto); - return R.ok(page.setRecords(mgtMemberFollowPageVoList)); + List<MgtMemberFollowPageVo> mgtMemberFollowPageVoList = memberTaskRecordService.pageMgtMemberFollow(mgtMemberTaskPageDto); + return R.ok(mgtMemberFollowPageVoList); } } diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MgtMemberTaskPageDto.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MgtMemberTaskPageDto.java index 1674cc4..5425b13 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MgtMemberTaskPageDto.java +++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MgtMemberTaskPageDto.java @@ -1,6 +1,6 @@ package com.ruoyi.shop.domain.dto; -import com.ruoyi.system.api.domain.dto.MerPageDto; +import com.ruoyi.system.api.domain.dto.MgtBaseDto; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -12,9 +12,12 @@ * @version: 1.0 */ @Data -public class MgtMemberTaskPageDto extends MerPageDto { +public class MgtMemberTaskPageDto extends MgtBaseDto { @ApiModelProperty(value = "会员用户id") private Long memberUserId; + + @ApiModelProperty(value = "任务时间") + private String taskDate; } diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MgtShopTaskPageDto.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MgtShopTaskPageDto.java index b37173e..322b6c2 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MgtShopTaskPageDto.java +++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MgtShopTaskPageDto.java @@ -1,6 +1,6 @@ package com.ruoyi.shop.domain.dto; -import com.ruoyi.system.api.domain.dto.MgtPageDto; +import com.ruoyi.system.api.domain.dto.MgtBaseDto; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -12,9 +12,11 @@ * @version: 1.0 */ @Data -public class MgtShopTaskPageDto extends MgtPageDto { +public class MgtShopTaskPageDto extends MgtBaseDto { @ApiModelProperty(value = "商户id") private Long shopId; + @ApiModelProperty(value = "任务时间") + private String taskDate; } diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/pojo/task/ShopTask.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/pojo/task/ShopTask.java index 405659b..dca888f 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/pojo/task/ShopTask.java +++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/pojo/task/ShopTask.java @@ -1,15 +1,15 @@ package com.ruoyi.shop.domain.pojo.task; -import java.util.Date; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.activerecord.Model; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; -import java.io.Serializable; - import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.util.Date; /** * <p> @@ -53,7 +53,7 @@ * 下次跟进时间 */ @TableField("next_follow_date") - private String nextFollowDate; + private Date nextFollowDate; /** * 任务标题 */ @@ -70,6 +70,13 @@ @TableField("create_time") private Date createTime; + /** + * 任务时间 + */ + @TableField("task_date") + private Date taskDate; + + @Override protected Serializable pkVal() { diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/task/AgencyTaskRecordMapper.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/task/AgencyTaskRecordMapper.java index 9cd4cef..188fedc 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/task/AgencyTaskRecordMapper.java +++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/task/AgencyTaskRecordMapper.java @@ -31,8 +31,7 @@ /** * 平台分页获取代理商跟进任务 - * @param page * @return */ - List<MgtAgencyTaskRecordPageVo> pageMgtAgencyFollow(Page page, @Param("param")MgtShopTaskPageDto mgtShopTaskPageDto); + List<MgtAgencyTaskRecordPageVo> pageMgtAgencyFollow(@Param("param")MgtShopTaskPageDto mgtShopTaskPageDto); } diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/task/MemberTaskRecordMapper.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/task/MemberTaskRecordMapper.java index 3f6bcc2..6e5b448 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/task/MemberTaskRecordMapper.java +++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/task/MemberTaskRecordMapper.java @@ -35,5 +35,5 @@ * @param page * @return */ - List<MgtMemberFollowPageVo> pageMgtMemberFollow(Page page, @Param("param")MgtMemberTaskPageDto mgtMemberTaskPageDto); + List<MgtMemberFollowPageVo> pageMgtMemberFollow(@Param("param")MgtMemberTaskPageDto mgtMemberTaskPageDto); } diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/task/ShopTaskRecordMapper.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/task/ShopTaskRecordMapper.java index b1d1fbf..ad221a9 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/task/ShopTaskRecordMapper.java +++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/task/ShopTaskRecordMapper.java @@ -1,7 +1,6 @@ package com.ruoyi.shop.mapper.task; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.shop.domain.dto.MgtShopTaskPageDto; import com.ruoyi.shop.domain.pojo.task.ShopTaskRecord; import com.ruoyi.shop.domain.vo.MgtShopTaskRecordPageVo; @@ -22,8 +21,7 @@ /** * 平台分页获取平台跟进任务 - * @param page * @return */ - List<MgtShopTaskRecordPageVo> pageMgtShopFollow(Page page, @Param("param") MgtShopTaskPageDto mgtShopTaskPageDto); + List<MgtShopTaskRecordPageVo> pageMgtShopFollow(@Param("param") MgtShopTaskPageDto mgtShopTaskPageDto); } diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java index e5307dc..a1d2674 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java +++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.core.exception.ServiceException; +import com.ruoyi.common.core.utils.DateUtils; import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.core.utils.uuid.IdUtils; import com.ruoyi.common.security.utils.CodeFactoryUtil; @@ -34,6 +35,7 @@ import javax.annotation.Resource; import java.math.BigDecimal; +import java.text.ParseException; import java.util.Date; import java.util.List; import java.util.Objects; @@ -274,8 +276,14 @@ @Override public void changeCooperationTime(MgtChangeCoopDto mgtChangeCoopDto){ Shop shop = this.getById(mgtChangeCoopDto.getShopId()); - Date coopStartDate = mgtChangeCoopDto.getCoopStartTime(); - Date coopEndDate = mgtChangeCoopDto.getCoopEndTime(); + Date coopStartDate = null; + Date coopEndDate = null; + try { + coopStartDate = DateUtils.parseDate(mgtChangeCoopDto.getCoopStartTime(),"yyyy-MM-dd"); + coopEndDate = DateUtils.parseDate(mgtChangeCoopDto.getCoopEndTime(),"yyyy-MM-dd"); + } catch (ParseException e) { + throw new RuntimeException(e); + } Date nowTime = new Date(); shop.setCooperationStartTime(coopStartDate); shop.setCooperationEndTime(coopEndDate); diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/AgencyTaskRecordServiceImpl.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/AgencyTaskRecordServiceImpl.java index b9b5667..e189c4a 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/AgencyTaskRecordServiceImpl.java +++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/AgencyTaskRecordServiceImpl.java @@ -8,13 +8,10 @@ import com.ruoyi.shop.domain.pojo.task.AgencyTaskRecord; import com.ruoyi.shop.domain.pojo.task.TaskFile; import com.ruoyi.shop.domain.vo.MerAgencyTaskRecordPageVo; -import com.ruoyi.shop.domain.vo.MerMemberTaskRecordPageVo; import com.ruoyi.shop.domain.vo.MgtAgencyTaskRecordPageVo; -import com.ruoyi.shop.domain.vo.MgtMemberFollowPageVo; import com.ruoyi.shop.mapper.task.AgencyTaskRecordMapper; import com.ruoyi.shop.service.task.AgencyTaskRecordService; import com.ruoyi.shop.service.task.TaskFileService; -import com.ruoyi.shop.util.FileConvertUtils; import com.ruoyi.system.api.domain.poji.sys.SysUser; import com.ruoyi.system.api.service.RemoteUserService; import org.springframework.stereotype.Service; @@ -22,7 +19,6 @@ import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; -import java.util.StringJoiner; import java.util.stream.Collectors; /** @@ -85,12 +81,11 @@ /** * 平台分页获取代理商跟进任务 - * @param page * @return */ @Override - public List<MgtAgencyTaskRecordPageVo> pageMgtAgencyFollow(Page page, MgtShopTaskPageDto mgtShopTaskPageDto){ - List<MgtAgencyTaskRecordPageVo> mgtAgencyTaskRecordPageVoList = agencyTaskRecordMapper.pageMgtAgencyFollow(page, mgtShopTaskPageDto); + public List<MgtAgencyTaskRecordPageVo> pageMgtAgencyFollow(MgtShopTaskPageDto mgtShopTaskPageDto){ + List<MgtAgencyTaskRecordPageVo> mgtAgencyTaskRecordPageVoList = agencyTaskRecordMapper.pageMgtAgencyFollow(mgtShopTaskPageDto); if(mgtAgencyTaskRecordPageVoList!=null&&!mgtAgencyTaskRecordPageVoList.isEmpty()){ Long followId; List<TaskFile> taskFileList; diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/MemberTaskRecordServiceImpl.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/MemberTaskRecordServiceImpl.java index b639b88..f0c77b7 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/MemberTaskRecordServiceImpl.java +++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/MemberTaskRecordServiceImpl.java @@ -76,13 +76,15 @@ } /** - * 平台分页获取会员跟进任务 - * @param page - * @return + * @description 平台分页获取会员跟进任务 + * @author jqs + * @date 2023/6/16 15:48 + * @param mgtMemberTaskPageDto + * @return List<MgtMemberFollowPageVo> */ @Override - public List<MgtMemberFollowPageVo> pageMgtMemberFollow(Page page, MgtMemberTaskPageDto mgtMemberTaskPageDto){ - List<MgtMemberFollowPageVo> mgtMemberFollowPageVoList = memberTaskRecordMapper.pageMgtMemberFollow(page, mgtMemberTaskPageDto); + public List<MgtMemberFollowPageVo> pageMgtMemberFollow( MgtMemberTaskPageDto mgtMemberTaskPageDto){ + List<MgtMemberFollowPageVo> mgtMemberFollowPageVoList = memberTaskRecordMapper.pageMgtMemberFollow( mgtMemberTaskPageDto); if(mgtMemberFollowPageVoList!=null&&!mgtMemberFollowPageVoList.isEmpty()){ Long followId; List<TaskFile> taskFileList; diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/ShopTaskRecordServiceImpl.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/ShopTaskRecordServiceImpl.java index 435f9b1..6ad00c5 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/ShopTaskRecordServiceImpl.java +++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/ShopTaskRecordServiceImpl.java @@ -1,13 +1,10 @@ package com.ruoyi.shop.service.impl.task; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.shop.domain.dto.MgtShopTaskPageDto; import com.ruoyi.shop.domain.pojo.task.ShopTaskRecord; import com.ruoyi.shop.domain.pojo.task.TaskFile; -import com.ruoyi.shop.domain.vo.MgtAgencyTaskRecordPageVo; import com.ruoyi.shop.domain.vo.MgtShopTaskRecordPageVo; -import com.ruoyi.shop.mapper.task.ShopTaskMapper; import com.ruoyi.shop.mapper.task.ShopTaskRecordMapper; import com.ruoyi.shop.service.task.ShopTaskRecordService; import com.ruoyi.shop.service.task.TaskFileService; @@ -42,12 +39,11 @@ /** * 平台分页获取平台跟进任务 - * @param page * @return */ @Override - public List<MgtShopTaskRecordPageVo> pageMgtShopFollow(Page page, MgtShopTaskPageDto mgtShopTaskPageDto){ - List<MgtShopTaskRecordPageVo> mgtShopTaskRecordPageVoList = shopTaskRecordMapper.pageMgtShopFollow(page, mgtShopTaskPageDto); + public List<MgtShopTaskRecordPageVo> pageMgtShopFollow(MgtShopTaskPageDto mgtShopTaskPageDto){ + List<MgtShopTaskRecordPageVo> mgtShopTaskRecordPageVoList = shopTaskRecordMapper.pageMgtShopFollow(mgtShopTaskPageDto); if(mgtShopTaskRecordPageVoList!=null&&!mgtShopTaskRecordPageVoList.isEmpty()){ Long followId; List<TaskFile> taskFileList; diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/ShopTaskServiceImpl.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/ShopTaskServiceImpl.java index 53ae5b0..3bf2a48 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/ShopTaskServiceImpl.java +++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/task/ShopTaskServiceImpl.java @@ -15,6 +15,8 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.text.ParseException; +import java.time.LocalDate; import java.util.Date; /** @@ -52,10 +54,11 @@ shopTask.setDelFlag(0); shopTask.setShopId(mgtFollowShopTaskDto.getShopId()); shopTask.setFollowType(mgtFollowShopTaskDto.getFollowType()); - shopTask.setNextFollowDate(DateUtils.getDate()); + shopTask.setNextFollowDate(DateUtils.toDate(LocalDate.now())); shopTask.setTaskTitle(mgtFollowShopTaskDto.getNextTaskTitle()); shopTask.setEmergencyState(mgtFollowShopTaskDto.getEmergencyState()); shopTask.setCreateTime(new Date()); + shopTask.setTaskDate(DateUtils.toDate(LocalDate.now())); this.saveOrUpdate(shopTask); //创建任务记录 ShopTaskRecord shopTaskRecord = new ShopTaskRecord(); @@ -89,10 +92,15 @@ shopNextTask.setDelFlag(0); shopNextTask.setShopId(mgtFollowShopTaskDto.getShopId()); shopNextTask.setFollowType(mgtFollowShopTaskDto.getFollowType()); - shopNextTask.setNextFollowDate(mgtFollowShopTaskDto.getNextTaskDate()); shopNextTask.setTaskTitle(mgtFollowShopTaskDto.getNextTaskTitle()); shopNextTask.setEmergencyState(mgtFollowShopTaskDto.getEmergencyState()); shopNextTask.setCreateTime(new Date()); + try { + shopNextTask.setNextFollowDate(DateUtils.parseDate(mgtFollowShopTaskDto.getNextTaskDate(),"yyyy-MM-dd")); + shopNextTask.setTaskDate(DateUtils.parseDate(mgtFollowShopTaskDto.getNextTaskDate(),"yyyy-MM-dd")); + } catch (ParseException e) { + throw new RuntimeException(e); + } this.saveOrUpdate(shopNextTask); } diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/task/AgencyTaskRecordService.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/task/AgencyTaskRecordService.java index 0a03f2a..67e3e8c 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/task/AgencyTaskRecordService.java +++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/task/AgencyTaskRecordService.java @@ -7,9 +7,7 @@ import com.ruoyi.shop.domain.dto.MgtShopTaskPageDto; import com.ruoyi.shop.domain.pojo.task.AgencyTaskRecord; import com.ruoyi.shop.domain.vo.MerAgencyTaskRecordPageVo; -import com.ruoyi.shop.domain.vo.MerMemberTaskRecordPageVo; import com.ruoyi.shop.domain.vo.MgtAgencyTaskRecordPageVo; -import com.ruoyi.shop.domain.vo.MgtMemberFollowPageVo; import java.util.List; @@ -34,8 +32,7 @@ /** * 平台分页获取代理商跟进任务 - * @param page * @return */ - List<MgtAgencyTaskRecordPageVo> pageMgtAgencyFollow(Page page, MgtShopTaskPageDto mgtShopTaskPageDto); + List<MgtAgencyTaskRecordPageVo> pageMgtAgencyFollow(MgtShopTaskPageDto mgtShopTaskPageDto); } diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/task/MemberTaskRecordService.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/task/MemberTaskRecordService.java index f3c2e85..0220f24 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/task/MemberTaskRecordService.java +++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/task/MemberTaskRecordService.java @@ -29,9 +29,11 @@ List<MerMemberTaskRecordPageVo> pageMerMemberTaskRecord(Page page, MerMemberTaskPageDto merMemberTaskPageDto); /** - * 平台分页获取会员跟进任务 - * @param page - * @return + * @description 平台分页获取会员跟进任务 + * @author jqs + * @date 2023/6/16 15:48 + * @param mgtMemberTaskPageDto + * @return List<MgtMemberFollowPageVo> */ - List<MgtMemberFollowPageVo> pageMgtMemberFollow(Page page, MgtMemberTaskPageDto mgtMemberTaskPageDto); + List<MgtMemberFollowPageVo> pageMgtMemberFollow(MgtMemberTaskPageDto mgtMemberTaskPageDto); } diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/task/ShopTaskRecordService.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/task/ShopTaskRecordService.java index 9586a7a..1123f30 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/task/ShopTaskRecordService.java +++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/task/ShopTaskRecordService.java @@ -1,9 +1,8 @@ package com.ruoyi.shop.service.task; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.shop.domain.dto.MgtShopTaskPageDto; import com.ruoyi.shop.domain.pojo.task.ShopTaskRecord; -import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.shop.domain.vo.MgtShopTaskRecordPageVo; import java.util.List; @@ -21,8 +20,7 @@ /** * 平台分页获取平台跟进任务 - * @param page * @return */ - List<MgtShopTaskRecordPageVo> pageMgtShopFollow(Page page, MgtShopTaskPageDto mgtShopTaskPageDto); + List<MgtShopTaskRecordPageVo> pageMgtShopFollow(MgtShopTaskPageDto mgtShopTaskPageDto); } diff --git a/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/task/AgencyTaskRecordMapper.xml b/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/task/AgencyTaskRecordMapper.xml index 34913bf..a68a64e 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/task/AgencyTaskRecordMapper.xml +++ b/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/task/AgencyTaskRecordMapper.xml @@ -43,7 +43,7 @@ INNER JOIN t_agency_task_record tmtr ON tmtr.task_id = tmt.task_id INNER JOIN t_shop ts ON ts.shop_id = tmt.shop_id INNER JOIN t_shop_file tsf ON tsf.shop_id = ts.shop_id AND tsf.del_flag = 0 AND tsf.file_type = 1 - WHERE tmt.del_flag = 0 AND tmt.agency_id = #{param.shopId} + WHERE tmt.del_flag = 0 AND tmt.agency_id = #{param.shopId} AND tmt.task_date = #{param.taskDate} ORDER BY tmt.task_date DESC </select> </mapper> diff --git a/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/task/MemberTaskRecordMapper.xml b/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/task/MemberTaskRecordMapper.xml index 946138b..f457ab0 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/task/MemberTaskRecordMapper.xml +++ b/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/task/MemberTaskRecordMapper.xml @@ -108,7 +108,7 @@ INNER JOIN t_member_task_record tmtr ON tmtr.task_id = tmt.task_id INNER JOIN t_shop ts ON ts.shop_id = tmt.shop_id INNER JOIN t_shop_file tsf ON tsf.shop_id = ts.shop_id AND tsf.del_flag = 0 AND tsf.file_type = 1 - WHERE tmt.del_flag = 0 AND tmt.user_id = #{param.memberUserId} + WHERE tmt.del_flag = 0 AND tmt.user_id = #{param.memberUserId} AND tmr.task_date = #{param.taskDate} ORDER BY tmt.task_date DESC </select> diff --git a/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/task/ShopTaskRecordMapper.xml b/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/task/ShopTaskRecordMapper.xml index 61fff94..b52b993 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/task/ShopTaskRecordMapper.xml +++ b/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/task/ShopTaskRecordMapper.xml @@ -14,7 +14,7 @@ tmtr.call_phone callPhone FROM t_shop_task tmt INNER JOIN t_shop_task_record tmtr ON tmtr.task_id = tmt.task_id - WHERE tmt.del_flag = 0 AND tmt.shop_id = #{param.shopId} + WHERE tmt.del_flag = 0 AND tmt.shop_id = #{param.shopId} AND tmt.task_date = #{param.taskDate} ORDER BY tmtr.create_time DESC </select> -- Gitblit v1.7.1