New file |
| | |
| | | package com.ruoyi.system.api.domain.dto; |
| | | |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | /** |
| | | * @author jqs34 |
| | | * @ClassName AppBaseGetDto |
| | | * @description: TODO |
| | | * @date 2023年04月19日 |
| | | * @version: 1.0 |
| | | */ |
| | | @Data |
| | | public class MerBaseGetDto extends MerBaseDto{ |
| | | |
| | | @ApiModelProperty(value = "请求对象id") |
| | | private String id; |
| | | |
| | | } |
| | |
| | | import com.ruoyi.common.security.utils.SecurityUtils; |
| | | import com.ruoyi.member.domain.dto.MerCashMemberPageDto; |
| | | import com.ruoyi.member.domain.dto.MerMemberPageDto; |
| | | import com.ruoyi.member.domain.vo.AppUserInfoVo; |
| | | import com.ruoyi.member.domain.vo.MerCashMemberPageVo; |
| | | import com.ruoyi.member.domain.vo.MerMemberInfoVo; |
| | | import com.ruoyi.member.domain.vo.MerMemberPageVo; |
| | | import com.ruoyi.member.domain.vo.*; |
| | | import com.ruoyi.member.service.member.MemberService; |
| | | import com.ruoyi.system.api.domain.dto.MerBaseDto; |
| | | import com.ruoyi.system.api.domain.dto.MerBaseGetDto; |
| | | import com.ruoyi.system.api.domain.dto.MerPageDto; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | |
| | | */ |
| | | @RequestMapping(value = "/getMerMemberInfo", method = RequestMethod.POST) |
| | | @ApiOperation(value = "获取会员信息") |
| | | public R<MerMemberInfoVo> getMerMemberInfo() { |
| | | public R<MerMemberInfoVo> getMerMemberInfo(@RequestBody MerBaseGetDto merBaseGetDto) { |
| | | Long userId = SecurityUtils.getUserId(); |
| | | MerMemberInfoVo merMemberInfo = memberService.getMerMemberInfo(userId); |
| | | MerMemberInfoVo merMemberInfo = memberService.getMerMemberInfo(Long.valueOf(merBaseGetDto.getId())); |
| | | return R.ok(merMemberInfo); |
| | | } |
| | | |
| | | |
| | | @RequestMapping(value = "/getMerMemberBasicFile", method = RequestMethod.POST) |
| | | @ApiOperation(value = "获取会员基础档案") |
| | | public R<MerMemberBasicFileVo> getMerMemberBasicFile(@RequestBody MerBaseGetDto merBaseGetDto) { |
| | | Long userId = SecurityUtils.getUserId(); |
| | | MerMemberBasicFileVo merMemberBasicFileVo = memberService.getMerMemberBasicFile(Long.valueOf(merBaseGetDto.getId())); |
| | | return R.ok(merMemberBasicFileVo); |
| | | } |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.member.domain.vo; |
| | | |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @author jqs34 |
| | | * @version 1.0 |
| | | * @classname MerMeberInfoVo |
| | | * @description: TODO |
| | | * @date 2023 2023/5/4 22:48 |
| | | */ |
| | | @Data |
| | | public class MerMemberBasicFileVo { |
| | | |
| | | @ApiModelProperty(value = "用户id") |
| | | private Long userId; |
| | | |
| | | @ApiModelProperty(name = "用户名称") |
| | | private String nickName; |
| | | |
| | | @ApiModelProperty(name = "手机号码") |
| | | private String phonenumber; |
| | | |
| | | @ApiModelProperty(name = "性别0=男,1=女,2=未知") |
| | | private Integer gender; |
| | | |
| | | @ApiModelProperty(name = "推荐人") |
| | | private String referrer; |
| | | |
| | | @ApiModelProperty(name = "顾客来源") |
| | | private String customerSource; |
| | | |
| | | @ApiModelProperty(name = "等级") |
| | | private String level; |
| | | |
| | | @ApiModelProperty(name = "生日") |
| | | private String birthday; |
| | | |
| | | @ApiModelProperty(name = "调理问题") |
| | | private List<String> memberNurse; |
| | | } |
| | |
| | | package com.ruoyi.member.service.impl.member; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.ruoyi.member.domain.pojo.member.MemberNurse; |
| | | import com.ruoyi.member.mapper.member.MemberNurseMapper; |
| | | import com.ruoyi.member.service.member.MemberNurseService; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ruoyi.system.api.domain.poji.activity.ActivityGoods; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | @Service |
| | | public class MemberNurseServiceImpl extends ServiceImpl<MemberNurseMapper, MemberNurse> implements MemberNurseService { |
| | | |
| | | /** |
| | | * |
| | | * @param userId |
| | | * @return |
| | | */ |
| | | @Override |
| | | public List<MemberNurse> listByUserId(Long userId){ |
| | | LambdaQueryWrapper<MemberNurse> queryWrapper = Wrappers.lambdaQuery(); |
| | | queryWrapper.eq(MemberNurse::getDelFlag, 0).eq(MemberNurse::getUserId, userId); |
| | | List<MemberNurse> memberNurseList = this.list(queryWrapper); |
| | | return memberNurseList; |
| | | } |
| | | } |
| | |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ruoyi.common.core.domain.R; |
| | | import com.ruoyi.common.core.exception.ServiceException; |
| | | import com.ruoyi.common.core.utils.bean.BeanUtils; |
| | | import com.ruoyi.common.core.utils.uuid.IdUtils; |
| | | import com.ruoyi.common.security.utils.SecurityUtils; |
| | | import com.ruoyi.member.domain.dto.AppUserAuthorizeDto; |
| | | import com.ruoyi.member.domain.dto.MerCashMemberPageDto; |
| | | import com.ruoyi.member.domain.dto.MerMemberPageDto; |
| | | import com.ruoyi.member.domain.pojo.member.MemberNurse; |
| | | import com.ruoyi.member.domain.vo.*; |
| | | import com.ruoyi.member.mapper.member.MemberMapper; |
| | | import com.ruoyi.member.service.member.MemberNurseService; |
| | | import com.ruoyi.member.service.member.MemberService; |
| | | import com.ruoyi.member.util.HttpUtils; |
| | | import com.ruoyi.system.api.RemoteOrderService; |
| | |
| | | import javax.annotation.Resource; |
| | | import java.util.*; |
| | | import java.util.concurrent.TimeUnit; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | |
| | | @Resource |
| | | private RemoteOrderService orderService; |
| | | |
| | | @Resource |
| | | private MemberNurseService memberNurseService; |
| | | |
| | | /** |
| | | * @description: TODO |
| | |
| | | member.setRelationShopId(appMemberBindingDto.getShopId()); |
| | | this.saveOrUpdate(member); |
| | | } |
| | | |
| | | /** |
| | | * |
| | | * @param userId |
| | | * @return |
| | | */ |
| | | @Override |
| | | public MerMemberBasicFileVo getMerMemberBasicFile(Long userId){ |
| | | MerMemberBasicFileVo merMemberBasicFileVo = new MerMemberBasicFileVo(); |
| | | Member member = this.getByUserId(userId); |
| | | BeanUtils.copyProperties(member, merMemberBasicFileVo); |
| | | List<MemberNurse> memberNurseList = memberNurseService.listByUserId(userId); |
| | | List<String> valueList = memberNurseList.stream().map(k->k.getNurse()).collect(Collectors.toList()); |
| | | merMemberBasicFileVo.setMemberNurse(valueList); |
| | | return merMemberBasicFileVo; |
| | | } |
| | | } |
| | |
| | | import com.ruoyi.member.domain.pojo.member.MemberNurse; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * <p> |
| | | * 用户调理问题 服务类 |
| | |
| | | */ |
| | | public interface MemberNurseService extends IService<MemberNurse> { |
| | | |
| | | /** |
| | | * |
| | | * @param userId |
| | | * @return |
| | | */ |
| | | List<MemberNurse> listByUserId(Long userId); |
| | | } |
| | |
| | | * @param appMemberBindingDto |
| | | */ |
| | | void updateMemberBinding(AppMemberBindingDto appMemberBindingDto); |
| | | |
| | | /** |
| | | * |
| | | * @param userId |
| | | * @return |
| | | */ |
| | | MerMemberBasicFileVo getMerMemberBasicFile(Long userId); |
| | | } |
| | |
| | | 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.order.domain.dto.MerConsumerGoodsDto; |
| | | import com.ruoyi.order.domain.dto.MerMemberNoClearOrderDto; |
| | | import com.ruoyi.order.domain.dto.MerSureConsumerGoodsDto; |
| | | import com.ruoyi.order.domain.vo.MerConsumerGoodsVo; |
| | | import com.ruoyi.order.domain.vo.MerMemberNoClearOrderVo; |
| | | import com.ruoyi.order.domain.dto.*; |
| | | import com.ruoyi.order.domain.vo.*; |
| | | import com.ruoyi.order.service.order.ConsumerGoodsService; |
| | | import com.ruoyi.order.service.order.UserServiceRecordService; |
| | | import com.ruoyi.system.api.domain.poji.member.Member; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import lombok.Data; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | |
| | | @Autowired |
| | | private ConsumerGoodsService consumerGoodsService; |
| | | |
| | | @Autowired |
| | | private UserServiceRecordService userServiceRecordService; |
| | | |
| | | @RequestMapping(value = "/listMerConsumerGoods", method = RequestMethod.POST) |
| | | @ApiOperation(value = "获取用户服务列表") |
| | | public R<MerConsumerGoodsVo> listMerConsumerGoods(@RequestBody MerConsumerGoodsDto merConsumerGoodsDto) { |
| | |
| | | MerConsumerGoodsVo merConsumerGoodsVo = consumerGoodsService.listMerConsumerGoods(merConsumerGoodsDto); |
| | | return R.ok(merConsumerGoodsVo); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | @RequestMapping(value = "/sureMerConsumerGoods", method = RequestMethod.POST) |
| | |
| | | consumerGoodsService.useMerConsumerGoods(merSureConsumerGoodsDto); |
| | | return R.ok(); |
| | | } |
| | | |
| | | @RequestMapping(value = "/pageMerConsumerGoodsNum", method = RequestMethod.POST) |
| | | @ApiOperation(value = "分页获取用户服务次数列表") |
| | | public R<Page<MerConsumerGoodsListVo>> pageMerConsumerGoodsNum(@RequestBody MerConsumerGoodsPageDto merConsumerGoodsPageDto) { |
| | | Long userId = SecurityUtils.getUserId(); |
| | | merConsumerGoodsPageDto.setUserId(userId); |
| | | Page<MerConsumerGoodsListVo> page = new Page<>(); |
| | | page.setSize(merConsumerGoodsPageDto.getPageSize()); |
| | | page.setCurrent(merConsumerGoodsPageDto.getPageNum()); |
| | | List<MerConsumerGoodsListVo> merConsumerGoodsListVos = consumerGoodsService.pageMerConsumerGoodsNum(page,merConsumerGoodsPageDto); |
| | | return R.ok(page.setRecords(merConsumerGoodsListVos)); |
| | | } |
| | | |
| | | @RequestMapping(value = "/pageMerMemberServiceRecord", method = RequestMethod.POST) |
| | | @ApiOperation(value = "分页获取用户服务记录") |
| | | public R<Page<MerServiceRecordPageVo>> pageMerMemberServiceRecord(@RequestBody MerServiceRecordPageDto merServiceRecordPageDto) { |
| | | Long userId = SecurityUtils.getUserId(); |
| | | Page<MerServiceRecordPageVo> page = new Page<>(); |
| | | page.setSize(merServiceRecordPageDto.getPageSize()); |
| | | page.setCurrent(merServiceRecordPageDto.getPageNum()); |
| | | List<MerServiceRecordPageVo> merServiceRecordPageVoList = userServiceRecordService.pageMerMemberServiceRecord(page,merServiceRecordPageDto); |
| | | return R.ok(page.setRecords(merServiceRecordPageVoList)); |
| | | } |
| | | } |
| | |
| | | List<MerOrderPageVo> merOrderPageVoList = orderService.pageMerOrder(page,merOrderPageDto); |
| | | return R.ok(page.setRecords(merOrderPageVoList)); |
| | | } |
| | | |
| | | @RequestMapping(value = "/pageMerMemberOrder", method = RequestMethod.POST) |
| | | @ApiOperation(value = "分页商户端用户收银记录") |
| | | public R<Page<MerMemberNoClearOrderVo>> pageMerMemberOrder(@RequestBody MerMemberNoClearOrderDto merMemberNoClearOrderDto) { |
| | | Long userId = SecurityUtils.getUserId(); |
| | | merMemberNoClearOrderDto.setUserId(userId); |
| | | Page<MerMemberNoClearOrderVo> page = new Page<>(); |
| | | page.setSize(merMemberNoClearOrderDto.getPageSize()); |
| | | page.setCurrent(merMemberNoClearOrderDto.getPageNum()); |
| | | List<MerMemberNoClearOrderVo> merMemberNoClearOrderVoList = orderService.pageMerMemberOrder(page,merMemberNoClearOrderDto); |
| | | return R.ok(page.setRecords(merMemberNoClearOrderVoList)); |
| | | } |
| | | } |
| | |
| | | if(userId!=null){ |
| | | Member member = memberService.getMember(userId).getData(); |
| | | appShoppingCartAddDto.setUserId(userId); |
| | | if(member!=null&&member.getRelationShopId()!=null){ |
| | | if(appShoppingCartAddDto.getShopId()==null&&member!=null&&member.getRelationShopId()!=null){ |
| | | appShoppingCartAddDto.setShopId(member.getRelationShopId()); |
| | | } |
| | | } |
New file |
| | |
| | | package com.ruoyi.order.domain.dto; |
| | | |
| | | import com.ruoyi.system.api.domain.dto.MerBaseDto; |
| | | import com.ruoyi.system.api.domain.dto.MerPageDto; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | /** |
| | | * @author jqs34 |
| | | * @ClassName MerConsumerGoodsDto |
| | | * @description: TODO |
| | | * @date 2023年05月05日 |
| | | * @version: 1.0 |
| | | */ |
| | | @Data |
| | | public class MerConsumerGoodsPageDto extends MerPageDto { |
| | | |
| | | @ApiModelProperty(name = "会员用户id") |
| | | private Long memberUserId; |
| | | |
| | | @ApiModelProperty("商品类型1周期2服务3体验") |
| | | private Integer goodsType; |
| | | } |
New file |
| | |
| | | package com.ruoyi.order.domain.dto; |
| | | |
| | | import com.ruoyi.system.api.domain.dto.AppPageDto; |
| | | import com.ruoyi.system.api.domain.dto.MerPageDto; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | /** |
| | | * @author jqs34 |
| | | * @ClassName AppConsumerPageDto |
| | | * @description: TODO |
| | | * @date 2023年05月03日 |
| | | * @version: 1.0 |
| | | */ |
| | | @Data |
| | | public class MerServiceRecordPageDto extends MerPageDto { |
| | | |
| | | |
| | | @ApiModelProperty("会员用户id") |
| | | private Long memberUserId; |
| | | } |
| | |
| | | |
| | | @ApiModelProperty("订单备注") |
| | | private String orderRemark; |
| | | |
| | | @ApiModelProperty(value = "核销码") |
| | | private String verifyCode; |
| | | } |
| | |
| | | @ApiModelProperty(value = "是否绑定商户0否1是") |
| | | private Integer sameShop; |
| | | |
| | | @ApiModelProperty(value = "核销码") |
| | | private String verifyCode; |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.order.domain.vo; |
| | | |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * @author jqs34 |
| | | * @ClassName AppServiceRecordPageVo |
| | | * @description: TODO |
| | | * @date 2023年05月03日 |
| | | * @version: 1.0 |
| | | */ |
| | | @Data |
| | | public class MerServiceRecordPageVo { |
| | | |
| | | |
| | | @ApiModelProperty("服务名称") |
| | | private String consumerGoodsNames; |
| | | |
| | | @ApiModelProperty("服务类型1.周期2.服务3.体验") |
| | | private Integer serviceType; |
| | | |
| | | @ApiModelProperty("创建时间") |
| | | private Date createTime; |
| | | |
| | | } |
| | |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ruoyi.order.domain.dto.AppConsumerPageDto; |
| | | import com.ruoyi.order.domain.dto.MerConsumerGoodsDto; |
| | | import com.ruoyi.order.domain.dto.MerConsumerGoodsPageDto; |
| | | import com.ruoyi.order.domain.pojo.order.ConsumerGoods; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.ruoyi.order.domain.vo.AppConsumerPageVo; |
| | |
| | | * @return |
| | | */ |
| | | List<MerConsumerGoodsListVo> listMerConsumerGoods(@Param("param") MerConsumerGoodsDto merConsumerGoodsDto); |
| | | |
| | | /** |
| | | * |
| | | * @param page |
| | | * @param merConsumerGoodsPageDto |
| | | * @return |
| | | */ |
| | | List<MerConsumerGoodsListVo> pageMerConsumerGoodsNum(Page page,@Param("param") MerConsumerGoodsPageDto merConsumerGoodsPageDto); |
| | | } |
| | |
| | | */ |
| | | List<MerOrderPageVo> pageMerOrder(Page page,@Param("param") MerOrderPageDto merOrderPageDto); |
| | | |
| | | |
| | | /** |
| | | * 收银未结清订单列表 |
| | | * @param page |
| | | * @param userId |
| | | * @return |
| | | */ |
| | | List<MerMemberNoClearOrderVo> pageMerMemberOrder(Page page, @Param("userId") Long userId); |
| | | } |
| | |
| | | |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ruoyi.order.domain.dto.AppConsumerPageDto; |
| | | import com.ruoyi.order.domain.dto.MerServiceRecordPageDto; |
| | | import com.ruoyi.order.domain.pojo.order.UserServiceRecord; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.ruoyi.order.domain.vo.AppServiceRecordPageVo; |
| | | import com.ruoyi.order.domain.vo.MerServiceRecordPageVo; |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | | import java.util.List; |
| | |
| | | * @return |
| | | */ |
| | | List<AppServiceRecordPageVo> pageUserServiceRecord(Page page, @Param("param") AppConsumerPageDto appConsumerPageDto); |
| | | |
| | | /** |
| | | * |
| | | * @param page |
| | | * @param merServiceRecordPageDto |
| | | * @return |
| | | */ |
| | | List<MerServiceRecordPageVo> pageMerMemberServiceRecord(Page page,@Param("param") MerServiceRecordPageDto merServiceRecordPageDto); |
| | | } |
| | |
| | | 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.order.domain.dto.AppConsumerPageDto; |
| | | import com.ruoyi.order.domain.dto.MerConsumerGoodsDto; |
| | | import com.ruoyi.order.domain.dto.MerSureConsumerGoodsDto; |
| | | import com.ruoyi.order.domain.dto.MerSureConsumerGoodsListDto; |
| | | import com.ruoyi.order.domain.dto.*; |
| | | import com.ruoyi.order.domain.pojo.order.ConsumerGoods; |
| | | import com.ruoyi.order.domain.vo.AppConsumerPageVo; |
| | | import com.ruoyi.order.domain.vo.MerConsumerGoodsListVo; |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * |
| | | * @param page |
| | | * @param merConsumerGoodsPageDto |
| | | * @return |
| | | */ |
| | | @Override |
| | | public List<MerConsumerGoodsListVo> pageMerConsumerGoodsNum(Page page, MerConsumerGoodsPageDto merConsumerGoodsPageDto){ |
| | | List<MerConsumerGoodsListVo> merConsumerGoodsListVos = consumerGoodsMapper.pageMerConsumerGoodsNum(page, merConsumerGoodsPageDto); |
| | | return merConsumerGoodsListVos; |
| | | } |
| | | } |
| | |
| | | orderGoods.setOrderId(orderId); |
| | | orderGoods.setGoodsId(goodsId); |
| | | orderGoods.setBuyNum(buyNum); |
| | | orderGoods.setCouponId(userCouponId.toString()); |
| | | if(userCouponId!=null){ |
| | | orderGoods.setCouponId(userCouponId.toString()); |
| | | } |
| | | orderGoods.setGoodsPrice(goodsPrice); |
| | | orderGoods.setGoodsTotalMoney(orderGoodsMoney); |
| | | orderGoods.setGoodsReceivableMoney(goodsRealPrice); |
| | |
| | | Order order = new Order(); |
| | | order.setOrderId(orderId); |
| | | order.setDelFlag(0); |
| | | order.setOrderStatus(1); |
| | | //为对接支付 直接付款成功 |
| | | order.setOrderStatus(2); |
| | | order.setOrderNo(orderNo); |
| | | order.setOrderFrom(1); |
| | | order.setShopId(appPlaceOrderDto.getShopId()); |
| | |
| | | }else{ |
| | | appUserOrderPageVo.setSameShop(0); |
| | | } |
| | | appUserOrderPageVo.setVerifyCode("1-"+appUserOrderPageVo.getOrderId()); |
| | | } |
| | | } |
| | | return appUserOrderPageVoList; |
| | |
| | | Shop shop = remoteShopService.getShop(order.getShopId()).getData(); |
| | | appUserOrderGetVo.setShopName(shop.getShopName()); |
| | | appUserOrderGetVo.setAppUserOrderGoodsPageVoList(appUserOrderGoodsPageVoList); |
| | | appUserOrderGetVo.setVerifyCode("1-"+orderId); |
| | | return appUserOrderGetVo; |
| | | } |
| | | |
| | |
| | | List<MerOrderPageVo> merOrderPageVoList = orderMapper.pageMerOrder(page, merOrderPageDto); |
| | | return merOrderPageVoList; |
| | | } |
| | | |
| | | /** |
| | | * |
| | | * @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()){ |
| | | for(MerMemberNoClearOrderVo merMemberNoClearOrderVo : merMemberNoClearOrderVoList){ |
| | | merMemberNoClearOrderVo.setUnPaidMoney(merMemberNoClearOrderVo.getReceivableMoney().subtract(merMemberNoClearOrderVo.getPayMoney())); |
| | | } |
| | | } |
| | | return merMemberNoClearOrderVoList; |
| | | } |
| | | } |
| | |
| | | shoppingCart = new ShoppingCart(); |
| | | shoppingCart.setUserId(appShoppingCartAddDto.getUserId()); |
| | | shoppingCart.setShopId(appShoppingCartAddDto.getShopId()); |
| | | shoppingCart.setGoodsId(appShoppingCartAddDto.getGoodsId()); |
| | | shoppingCart.setBuyNum(appShoppingCartAddDto.getBuyNum()); |
| | | shoppingCart.setDelFlag(0); |
| | | shoppingCart.setCreateTime(new Date()); |
| | |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ruoyi.order.domain.dto.AppConsumerPageDto; |
| | | import com.ruoyi.order.domain.dto.MerServiceRecordPageDto; |
| | | import com.ruoyi.order.domain.pojo.order.UserServiceRecord; |
| | | import com.ruoyi.order.domain.vo.AppServiceRecordPageVo; |
| | | import com.ruoyi.order.domain.vo.MerServiceRecordPageVo; |
| | | import com.ruoyi.order.mapper.order.UserServiceRecordMapper; |
| | | import com.ruoyi.order.service.order.UserServiceRecordService; |
| | | import org.springframework.stereotype.Service; |
| | |
| | | public List<AppServiceRecordPageVo> pageUserServiceRecord(Page page, AppConsumerPageDto appConsumerPageDto){ |
| | | return userServiceRecordMapper.pageUserServiceRecord(page, appConsumerPageDto); |
| | | } |
| | | |
| | | /** |
| | | * |
| | | * @param page |
| | | * @param merServiceRecordPageDto |
| | | * @return |
| | | */ |
| | | @Override |
| | | public List<MerServiceRecordPageVo> pageMerMemberServiceRecord(Page page, MerServiceRecordPageDto merServiceRecordPageDto){ |
| | | return userServiceRecordMapper.pageMerMemberServiceRecord(page, merServiceRecordPageDto); |
| | | } |
| | | } |
| | |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ruoyi.order.domain.dto.AppConsumerPageDto; |
| | | import com.ruoyi.order.domain.dto.MerConsumerGoodsDto; |
| | | import com.ruoyi.order.domain.dto.MerConsumerGoodsPageDto; |
| | | import com.ruoyi.order.domain.dto.MerSureConsumerGoodsDto; |
| | | import com.ruoyi.order.domain.pojo.order.ConsumerGoods; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.ruoyi.order.domain.vo.AppConsumerPageVo; |
| | | import com.ruoyi.order.domain.vo.MerConsumerGoodsListVo; |
| | | import com.ruoyi.order.domain.vo.MerConsumerGoodsVo; |
| | | |
| | | import java.util.List; |
| | |
| | | * @param merSureConsumerGoodsDto |
| | | */ |
| | | void useMerConsumerGoods(MerSureConsumerGoodsDto merSureConsumerGoodsDto); |
| | | |
| | | /** |
| | | * |
| | | * @param page |
| | | * @param merConsumerGoodsPageDto |
| | | * @return |
| | | */ |
| | | List<MerConsumerGoodsListVo> pageMerConsumerGoodsNum(Page page, MerConsumerGoodsPageDto merConsumerGoodsPageDto); |
| | | } |
| | |
| | | */ |
| | | List<MerOrderPageVo> pageMerOrder(Page page,MerOrderPageDto merOrderPageDto); |
| | | |
| | | /** |
| | | * |
| | | * @param page |
| | | * @param merMemberNoClearOrderDto |
| | | * @return |
| | | */ |
| | | List<MerMemberNoClearOrderVo> pageMerMemberOrder(Page page, MerMemberNoClearOrderDto merMemberNoClearOrderDto); |
| | | |
| | | } |
| | |
| | | |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ruoyi.order.domain.dto.AppConsumerPageDto; |
| | | import com.ruoyi.order.domain.dto.MerServiceRecordPageDto; |
| | | import com.ruoyi.order.domain.pojo.order.UserServiceRecord; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.ruoyi.order.domain.vo.AppServiceRecordPageVo; |
| | | import com.ruoyi.order.domain.vo.MerServiceRecordPageVo; |
| | | |
| | | import java.util.List; |
| | | |
| | |
| | | * @return |
| | | */ |
| | | List<AppServiceRecordPageVo> pageUserServiceRecord(Page page, AppConsumerPageDto appConsumerPageDto); |
| | | |
| | | /** |
| | | * |
| | | * @param page |
| | | * @param merServiceRecordPageDto |
| | | * @return |
| | | */ |
| | | List<MerServiceRecordPageVo> pageMerMemberServiceRecord(Page page, MerServiceRecordPageDto merServiceRecordPageDto); |
| | | } |
| | |
| | | ORDER BY tcg.cycle_num_flag ASC, tcg.create_time DESC |
| | | </select> |
| | | |
| | | <select id="pageUserConsumerGoods" resultType="com.ruoyi.order.domain.vo.MerConsumerGoodsListVo"> |
| | | <select id="listMerNoSureConsumerGoods" resultType="com.ruoyi.order.domain.vo.MerConsumerGoodsListVo"> |
| | | SELECT |
| | | tcg.consumer_goods_id consumerGoodsId, |
| | | tcg.service_status serviceStatus, |
| | |
| | | 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} |
| | | WHERE tcg.del_flag = 0 AND tcg.user_id = #{param.userId} 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 |
| | | </select> |
| | |
| | | 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} AND tcg.service_status = 1 |
| | | AND tcg.goods_type = #{param.goodsType} AND tcg.cycle_num_flag = 1 |
| | | ORDER BY tcg.create_time DESC |
| | | </select> |
| | | |
| | | <select id="pageMerConsumerGoodsNum" resultType="com.ruoyi.order.domain.vo.MerConsumerGoodsListVo"> |
| | | SELECT |
| | | tcg.consumer_goods_id consumerGoodsId, |
| | | 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.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} |
| | | AND tcg.goods_type = #{param.goodsType} AND tcg.cycle_num_flag = 1 |
| | | ORDER BY tcg.create_time DESC |
| | |
| | | <result column="receivableMoney" property="receivableMoney"/> |
| | | <result column="goodsNum" property="goodsNum"/> |
| | | <result column="shopId" property="shopId" /> |
| | | <result column="orderFrom" property="orderFrom" /> |
| | | <collection property="appUserOrderGoodsPageVoList" ofType="com.ruoyi.order.domain.vo.AppUserOrderGoodsPageVo"> |
| | | <result column="orderGoodsId" property="orderGoodsId"/> |
| | | <result column="goodsId" property="goodsId"/> |
| | | <result column="goodsName" property="goodsName"/> |
| | | <result column="goodsPicture" property="goodsPicture"/> |
| | | <result column="goodsType" property="goodsType"/> |
| | | <result column="buyNum" property="buyNum"/> |
| | | <result column="goodsPrice" property="goodsPrice"/> |
| | | <result column="goodsRealPrice" property="goodsRealPrice" /> |
| | | <result column="cycleNumFlag" property="cycleNumFlag" /> |
| | | <result column="serviceNum" property="serviceNum" /> |
| | | </collection> |
| | | </resultMap> |
| | | |
| | |
| | | toc.shop_id shopId, |
| | | tog.goods_id goodsId, |
| | | tg.goods_name goodsName, |
| | | tgf.file_url goodsPicture, |
| | | tog.order_goods_id orderGoodsId, |
| | | tog.goods_type goodsType, |
| | | tog.buy_num buyNum, |
| | | tog.goods_price goodsPrice, |
| | | tog.goods_total_money goodsRealPrice |
| | | 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 |
| | |
| | | ORDER BY toc.create_time DESC |
| | | </select> |
| | | |
| | | <select id="pageUserOrder" resultType="com.ruoyi.order.domain.vo.MerMemberNoClearOrderVo"> |
| | | <select id="pageMerMemberNoClearOrder" resultType="com.ruoyi.order.domain.vo.MerMemberNoClearOrderVo"> |
| | | SELECT |
| | | toc.order_id orderId, |
| | | toc.order_no orderNo, |
| | |
| | | </if> |
| | | ORDER BY toc.create_time DESC |
| | | </select> |
| | | |
| | | <select id="pageMerMemberOrder" resultType="com.ruoyi.order.domain.vo.MerMemberNoClearOrderVo"> |
| | | SELECT |
| | | toc.order_id orderId, |
| | | toc.order_no orderNo, |
| | | toc.order_money orderGoodsMoney, |
| | | toc.coupon_money couponDiscount, |
| | | toc.receivable_money receivableMoney, |
| | | toc.receivable_deposit receivableDeposit, |
| | | toc.pay_money payMoney |
| | | FROM t_order toc |
| | | WHERE toc.del_flag = 0 AND toc.user_id = #{userId} AND (toc.orderStatus = 2 OR toc.orderStatus = 3) |
| | | ORDER BY toc.create_time DESC |
| | | </select> |
| | | </mapper> |
| | |
| | | |
| | | <select id="listShoppingCartVo" resultType="com.ruoyi.order.domain.vo.AppShoppingCartVo"> |
| | | SELECT |
| | | tsc.id shoppingCartId, |
| | | tg.goods_id goodsId, |
| | | tg.goods_name goodsName, |
| | | tg.goods_introduction goodsIntroduction, |
| | |
| | | </if> |
| | | ORDER BY tusr.create_time DESC |
| | | </select> |
| | | |
| | | <select id="pageUserServiceRecord" resultType="com.ruoyi.order.domain.vo.MerServiceRecordPageVo"> |
| | | SELECT |
| | | tcg.consumer_goods_names consumerGoodsNames, |
| | | tcg.service_type serviceType, |
| | | tcg.create_time createTime |
| | | FROM t_user_service_record tusr |
| | | WHERE tusr.del_flag = 0 AND tusr.user_id = #{param.memberUserId} AND tusr.shop_id = #{param.shopId} |
| | | ORDER BY tusr.create_time DESC |
| | | </select> |
| | | </mapper> |
| | |
| | | package com.ruoyi.shop.controller.business; |
| | | |
| | | 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.MerAgencyPageDto; |
| | | import com.ruoyi.shop.domain.dto.MerMemberTaskPageDto; |
| | | import com.ruoyi.shop.domain.vo.MerAgencyPageVo; |
| | | import com.ruoyi.shop.domain.vo.MerMemberTaskPageVo; |
| | | import com.ruoyi.shop.domain.vo.MgtShopInfoVo; |
| | | import com.ruoyi.shop.service.shop.ShopService; |
| | | import com.ruoyi.system.api.domain.dto.MerBaseDto; |
| | |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RequestMethod; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @author jqs34 |
| | |
| | | return R.ok(merHomeShopTotalVo); |
| | | } |
| | | |
| | | |
| | | @RequestMapping(value = "/pageMerAgency", method = RequestMethod.POST) |
| | | @ApiOperation(value = "分页获取商户加盟商列表") |
| | | public R<Page<MerAgencyPageVo>> pageMerAgency(@RequestBody MerAgencyPageDto merAgencyPageDto) { |
| | | Long userId = SecurityUtils.getUserId(); |
| | | merAgencyPageDto.setUserId(userId); |
| | | Page<MerAgencyPageVo> page = new Page<>(); |
| | | page.setSize(merAgencyPageDto.getPageSize()); |
| | | page.setCurrent(merAgencyPageDto.getPageNum()); |
| | | List<MerAgencyPageVo> merAgencyPageVoList = shopService.pageMerAgencyVo(page,merAgencyPageDto); |
| | | return R.ok(page.setRecords(merAgencyPageVoList)); |
| | | } |
| | | |
| | | } |
| | |
| | | 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.MerCreateMemberTaskDto; |
| | | import com.ruoyi.shop.domain.dto.MerFollowMemberTaskDto; |
| | | import com.ruoyi.shop.domain.dto.MerMemberTaskPageDto; |
| | | import com.ruoyi.shop.domain.dto.*; |
| | | import com.ruoyi.shop.domain.vo.MerAgencyTaskPageVo; |
| | | import com.ruoyi.shop.domain.vo.MerAgencyTaskRecordPageVo; |
| | | import com.ruoyi.shop.domain.vo.MerMemberTaskPageVo; |
| | | import com.ruoyi.shop.domain.vo.MerMemberTaskRecordPageVo; |
| | | import com.ruoyi.shop.service.task.AgencyTaskRecordService; |
| | | import com.ruoyi.shop.service.task.AgencyTaskService; |
| | | import com.ruoyi.shop.service.task.MemberTaskRecordService; |
| | | import com.ruoyi.shop.service.task.MemberTaskService; |
| | | import com.ruoyi.system.api.domain.poji.member.Member; |
| | |
| | | |
| | | @Autowired |
| | | private MemberTaskRecordService memberTaskRecordService; |
| | | |
| | | @Autowired |
| | | private AgencyTaskService agencyTaskService; |
| | | |
| | | @Autowired |
| | | private AgencyTaskRecordService agencyTaskRecordService; |
| | | |
| | | @RequestMapping(value = "/pageMerMemberTask", method = RequestMethod.POST) |
| | | @ApiOperation(value = "分页获取商户会员跟进任务列表") |
| | |
| | | } |
| | | |
| | | @RequestMapping(value = "/followMemberTask", method = RequestMethod.POST) |
| | | @ApiOperation(value = "任务跟进") |
| | | @ApiOperation(value = "会员任务跟进") |
| | | public R followMemberTask(@RequestBody MerFollowMemberTaskDto merFollowMemberTaskDto) { |
| | | Long userId = SecurityUtils.getUserId(); |
| | | merFollowMemberTaskDto.setUserId(userId); |
| | | memberTaskService.followMemberTask(merFollowMemberTaskDto); |
| | | return R.ok(); |
| | | } |
| | | |
| | | |
| | | |
| | | @RequestMapping(value = "/pageMerAgencyTask", method = RequestMethod.POST) |
| | | @ApiOperation(value = "分页获取商户代理商跟进任务列表") |
| | | public R<Page<MerAgencyTaskPageVo>> pageMerAgencyTask(@RequestBody MerAgencyTaskPageDto merAgencyTaskPageDto) { |
| | | Long userId = SecurityUtils.getUserId(); |
| | | merAgencyTaskPageDto.setUserId(userId); |
| | | Page<MerAgencyTaskPageVo> page = new Page<>(); |
| | | page.setSize(merAgencyTaskPageDto.getPageSize()); |
| | | page.setCurrent(merAgencyTaskPageDto.getPageNum()); |
| | | List<MerAgencyTaskPageVo> merAgencyTaskPageVoList = agencyTaskService.pageMerAgencyTask(page,merAgencyTaskPageDto); |
| | | return R.ok(page.setRecords(merAgencyTaskPageVoList)); |
| | | } |
| | | |
| | | @RequestMapping(value = "/pageMerAgencyTaskRecord", method = RequestMethod.POST) |
| | | @ApiOperation(value = "分页获取商户会员跟进任务记录列表") |
| | | public R<Page<MerAgencyTaskRecordPageVo>> pageMerAgencyTaskRecord(@RequestBody MerAgencyTaskPageDto merAgencyTaskPageDto) { |
| | | Long userId = SecurityUtils.getUserId(); |
| | | merAgencyTaskPageDto.setUserId(userId); |
| | | Page<MerAgencyTaskRecordPageVo> page = new Page<>(); |
| | | page.setSize(merAgencyTaskPageDto.getPageSize()); |
| | | page.setCurrent(merAgencyTaskPageDto.getPageNum()); |
| | | List<MerAgencyTaskRecordPageVo> merAgencyTaskRecordPageVoList = agencyTaskRecordService.pageMerAgencyTaskRecord(page,merAgencyTaskPageDto); |
| | | return R.ok(page.setRecords(merAgencyTaskRecordPageVoList)); |
| | | } |
| | | |
| | | @RequestMapping(value = "/createAgencyTask", method = RequestMethod.POST) |
| | | @ApiOperation(value = "新建会员跟进任务") |
| | | public R createAgencyTask(@RequestBody MerCreateAgencyTaskDto merCreateAgencyTaskDto) { |
| | | Long userId = SecurityUtils.getUserId(); |
| | | merCreateAgencyTaskDto.setUserId(userId); |
| | | agencyTaskService.createAgencyTask(merCreateAgencyTaskDto); |
| | | return R.ok(); |
| | | } |
| | | |
| | | @RequestMapping(value = "/followAgencyTask", method = RequestMethod.POST) |
| | | @ApiOperation(value = "会员任务跟进") |
| | | public R followAgencyTask(@RequestBody MerFollowAgencyTaskDto merFollowAgencyTaskDto) { |
| | | Long userId = SecurityUtils.getUserId(); |
| | | merFollowAgencyTaskDto.setUserId(userId); |
| | | agencyTaskService.followAgencyTask(merFollowAgencyTaskDto); |
| | | return R.ok(); |
| | | } |
| | | } |
New file |
| | |
| | | package com.ruoyi.shop.domain.dto; |
| | | |
| | | import com.ruoyi.system.api.domain.dto.MerPageDto; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | /** |
| | | * @author jqs34 |
| | | * @ClassName merAgencyPageDto |
| | | * @description: TODO |
| | | * @date 2023年05月07日 |
| | | * @version: 1.0 |
| | | */ |
| | | @Data |
| | | public class MerAgencyPageDto extends MerPageDto { |
| | | |
| | | @ApiModelProperty("商户id") |
| | | private Long shopId; |
| | | |
| | | @ApiModelProperty(name = "搜索关键词") |
| | | private String keyword ; |
| | | |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.shop.domain.dto; |
| | | |
| | | import com.ruoyi.system.api.domain.dto.MerPageDto; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * @author jqs34 |
| | | * @ClassName MerAgencyTaskPageDto |
| | | * @description: TODO |
| | | * @date 2023年05月06日 |
| | | * @version: 1.0 |
| | | */ |
| | | @Data |
| | | public class MerAgencyTaskPageDto extends MerPageDto { |
| | | |
| | | @ApiModelProperty(name = "代理商id") |
| | | private Long agencyId; |
| | | |
| | | @ApiModelProperty(name = "任务状态0未开始1待处理2已处理3已过期") |
| | | private Integer taskStatus; |
| | | |
| | | @ApiModelProperty(name = "现在日期",hidden = true) |
| | | private String nowDay; |
| | | } |
New file |
| | |
| | | package com.ruoyi.shop.domain.dto; |
| | | |
| | | import com.ruoyi.system.api.domain.dto.MerBaseDto; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | /** |
| | | * @author jqs34 |
| | | * @ClassName merCreateMemberTaskDto |
| | | * @description: TODO |
| | | * @date 2023年05月06日 |
| | | * @version: 1.0 |
| | | */ |
| | | @Data |
| | | public class MerCreateAgencyTaskDto extends MerBaseDto { |
| | | |
| | | @ApiModelProperty(name = "跟进代理商id") |
| | | private Long agencyId; |
| | | |
| | | @ApiModelProperty(name = "任务时间") |
| | | private String taskDate; |
| | | |
| | | @ApiModelProperty(name = "任务内容") |
| | | private String taskContent; |
| | | |
| | | |
| | | } |
| | |
| | | private Long memberUserId; |
| | | |
| | | @ApiModelProperty(name = "任务时间") |
| | | private Date taskDate; |
| | | private String taskDate; |
| | | |
| | | @ApiModelProperty(name = "任务内容") |
| | | private String taskContent; |
New file |
| | |
| | | package com.ruoyi.shop.domain.dto; |
| | | |
| | | import com.ruoyi.system.api.domain.dto.MerBaseDto; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * @author jqs34 |
| | | * @ClassName MerFollowAgencyTaskDto |
| | | * @description: TODO |
| | | * @date 2023年05月06日 |
| | | * @version: 1.0 |
| | | */ |
| | | @Data |
| | | public class MerFollowAgencyTaskDto extends MerBaseDto { |
| | | |
| | | @ApiModelProperty(name = "任务id") |
| | | private String taskId; |
| | | |
| | | @ApiModelProperty("跟踪类型1电话2手动") |
| | | private Integer followType; |
| | | |
| | | @ApiModelProperty("拨打电话") |
| | | private String callPhone; |
| | | |
| | | @ApiModelProperty("电话时间") |
| | | private Date callTime; |
| | | |
| | | @ApiModelProperty("跟踪内容") |
| | | private String followContent; |
| | | |
| | | @ApiModelProperty("跟进图片地址 多个,号隔开") |
| | | private String picture; |
| | | |
| | | @ApiModelProperty("跟进视频地址 多个,号隔开") |
| | | private String video; |
| | | |
| | | @ApiModelProperty("跟进音频地址 多个,号隔开") |
| | | private String audio; |
| | | |
| | | @ApiModelProperty("下次任务时间") |
| | | private String nextTaskDate; |
| | | |
| | | @ApiModelProperty("下次任务内容") |
| | | private String nextTaskContent; |
| | | |
| | | |
| | | } |
| | |
| | | private String audio; |
| | | |
| | | @ApiModelProperty("下次任务时间") |
| | | private Date nextTaskDate; |
| | | private String nextTaskDate; |
| | | |
| | | @ApiModelProperty("下次任务内容") |
| | | private String nextTaskContent; |
New file |
| | |
| | | package com.ruoyi.shop.domain.pojo.task; |
| | | |
| | | import java.util.Date; |
| | | import java.io.Serializable; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.activerecord.Model; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import java.io.Serializable; |
| | | |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | import lombok.experimental.Accessors; |
| | | |
| | | /** |
| | | * <p> |
| | | * 会员跟进任务 |
| | | * </p> |
| | | * |
| | | * @author jqs |
| | | * @since 2023-05-07 |
| | | */ |
| | | @Data |
| | | @EqualsAndHashCode(callSuper = false) |
| | | @Accessors(chain = true) |
| | | @TableName("t_agency_task") |
| | | public class AgencyTask extends Model<AgencyTask> { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | /** |
| | | * 任务id |
| | | */ |
| | | @TableId("task_id") |
| | | private String taskId; |
| | | /** |
| | | * 删除标记 |
| | | */ |
| | | @TableField("del_flag") |
| | | private Integer delFlag; |
| | | /** |
| | | * 商户id |
| | | */ |
| | | @TableField("shop_id") |
| | | private Long shopId; |
| | | /** |
| | | * 用户id |
| | | */ |
| | | @TableField("agency_id") |
| | | private Long agencyId; |
| | | /** |
| | | * 任务时间 |
| | | */ |
| | | @TableField("task_date") |
| | | private String taskDate; |
| | | /** |
| | | * 任务内容 |
| | | */ |
| | | @TableField("task_content") |
| | | private String taskContent; |
| | | /** |
| | | * 创建时间 |
| | | */ |
| | | @TableField("create_time") |
| | | private Date createTime; |
| | | /** |
| | | * 任务状态0未开始1待处理2已处理3已过期 |
| | | */ |
| | | @TableField("task_status") |
| | | private Integer taskStatus; |
| | | |
| | | |
| | | @Override |
| | | protected Serializable pkVal() { |
| | | return this.taskId; |
| | | } |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.shop.domain.pojo.task; |
| | | |
| | | |
| | | import java.util.Date; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.activerecord.Model; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import java.io.Serializable; |
| | | |
| | | import com.baomidou.mybatisplus.annotations.Version; |
| | | |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | import lombok.experimental.Accessors; |
| | | |
| | | /** |
| | | * <p> |
| | | * 会员跟进任务记录 |
| | | * </p> |
| | | * |
| | | * @author jqs |
| | | * @since 2023-05-07 |
| | | */ |
| | | @Data |
| | | @EqualsAndHashCode(callSuper = false) |
| | | @Accessors(chain = true) |
| | | @TableName("t_agency_task_record") |
| | | public class AgencyTaskRecord extends Model<AgencyTaskRecord> { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | private Long id; |
| | | /** |
| | | * 删除标记 |
| | | */ |
| | | @TableField("del_flag") |
| | | private Integer delFlag; |
| | | /** |
| | | * 任务id |
| | | */ |
| | | @TableField("task_id") |
| | | private String taskId; |
| | | /** |
| | | * 用户id |
| | | */ |
| | | @TableField("user_id") |
| | | private Long userId; |
| | | /** |
| | | * 跟踪类型1电话2手动 |
| | | */ |
| | | @TableField("follow_type") |
| | | private Integer followType; |
| | | /** |
| | | * 电话时间 |
| | | */ |
| | | @TableField("call_time") |
| | | private Date callTime; |
| | | /** |
| | | * 跟踪内容 |
| | | */ |
| | | @TableField("follow_content") |
| | | private String followContent; |
| | | /** |
| | | * 拨打电话 |
| | | */ |
| | | @TableField("call_phone") |
| | | private String callPhone; |
| | | |
| | | |
| | | @Override |
| | | protected Serializable pkVal() { |
| | | return this.id; |
| | | } |
| | | |
| | | } |
| | |
| | | @TableField("user_id") |
| | | private Long userId; |
| | | @TableField("task_date") |
| | | private Date taskDate; |
| | | private String taskDate; |
| | | @TableField("task_content") |
| | | private String taskContent; |
| | | @TableField("create_time") |
| | | private Date createTime; |
| | | |
| | | /** |
| | | * 任务状态0未开始1待处理2已处理3已过期 |
| | | */ |
| | | @TableField("task_status") |
| | | private Integer taskStatus; |
| | | |
| | | @Override |
| | | protected Serializable pkVal() { |
New file |
| | |
| | | package com.ruoyi.shop.domain.vo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * @author jqs34 |
| | | * @ClassName MerAgencyPageVo |
| | | * @description: TODO |
| | | * @date 2023年05月07日 |
| | | * @version: 1.0 |
| | | */ |
| | | @Data |
| | | public class MerAgencyPageVo { |
| | | |
| | | @ApiModelProperty(value = "商户id") |
| | | private Long shopId; |
| | | |
| | | @ApiModelProperty("商户状态0冻结1正常2终止合作") |
| | | private Integer shopStatus; |
| | | |
| | | @ApiModelProperty(value = "商户名称") |
| | | private String shopName; |
| | | |
| | | @ApiModelProperty(value = "商户地址") |
| | | private String shopAddress; |
| | | |
| | | @ApiModelProperty("店主姓名") |
| | | private String shopownerName; |
| | | |
| | | @ApiModelProperty("店主联系方式") |
| | | private String shopownerPhone; |
| | | |
| | | @ApiModelProperty("合作期限") |
| | | private Date cooperationEndTime; |
| | | |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.shop.domain.vo; |
| | | |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * @author jqs34 |
| | | * @ClassName MerMemberTaskPageVo |
| | | * @description: TODO |
| | | * @date 2023年05月06日 |
| | | * @version: 1.0 |
| | | */ |
| | | @Data |
| | | public class MerAgencyTaskPageVo { |
| | | |
| | | @ApiModelProperty(name = "任务id") |
| | | private String taskId; |
| | | |
| | | @ApiModelProperty(name = "任务时间") |
| | | private String taskDate; |
| | | |
| | | @ApiModelProperty("任务内容") |
| | | private String taskContent; |
| | | |
| | | @ApiModelProperty("任务内容") |
| | | private Integer todayFlag; |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.shop.domain.vo; |
| | | |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @author jqs34 |
| | | * @ClassName MerMemberTaskRecordPageVo |
| | | * @description: TODO |
| | | * @date 2023年05月06日 |
| | | * @version: 1.0 |
| | | */ |
| | | @Data |
| | | public class MerAgencyTaskRecordPageVo { |
| | | |
| | | @ApiModelProperty(name = "跟进id") |
| | | private Long followId; |
| | | |
| | | @ApiModelProperty(name = "任务id") |
| | | private String taskId; |
| | | |
| | | @ApiModelProperty(name = "任务时间") |
| | | private String taskDate; |
| | | |
| | | @ApiModelProperty("跟踪类型1电话2手动") |
| | | private Integer followType; |
| | | |
| | | @ApiModelProperty("电话时间") |
| | | private Date callTime; |
| | | |
| | | @ApiModelProperty("跟踪内容") |
| | | private String followContent; |
| | | |
| | | @ApiModelProperty("联系人") |
| | | private String callName; |
| | | |
| | | @ApiModelProperty("拨打电话") |
| | | private String callPhone; |
| | | |
| | | @ApiModelProperty("跟进图片地址") |
| | | private List<String> picture; |
| | | |
| | | @ApiModelProperty("跟进视频地址") |
| | | private List<String> video; |
| | | |
| | | @ApiModelProperty("跟进音频地址") |
| | | private List<String> audio; |
| | | } |
| | |
| | | private String taskId; |
| | | |
| | | @ApiModelProperty(name = "任务时间") |
| | | private Date taskDate; |
| | | private String taskDate; |
| | | |
| | | @ApiModelProperty("任务内容") |
| | | private String taskContent; |
| | |
| | | import lombok.Data; |
| | | |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @author jqs34 |
| | |
| | | private String taskId; |
| | | |
| | | @ApiModelProperty(name = "任务时间") |
| | | private Date taskDate; |
| | | private String taskDate; |
| | | |
| | | @ApiModelProperty("跟踪类型1电话2手动") |
| | | private Integer followType; |
| | |
| | | @ApiModelProperty("拨打电话") |
| | | private String callPhone; |
| | | |
| | | @ApiModelProperty("跟进图片地址 多个,号隔开") |
| | | private String picture; |
| | | @ApiModelProperty("跟进图片地址") |
| | | private List<String> picture; |
| | | |
| | | @ApiModelProperty("跟进视频地址 多个,号隔开") |
| | | private String video; |
| | | @ApiModelProperty("跟进视频地址") |
| | | private List<String> video; |
| | | |
| | | @ApiModelProperty("跟进音频地址 多个,号隔开") |
| | | private String audio; |
| | | @ApiModelProperty("跟进音频地址") |
| | | private List<String> audio; |
| | | } |
| | |
| | | package com.ruoyi.shop.mapper.shop; |
| | | |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ruoyi.shop.domain.dto.MerAgencyPageDto; |
| | | import com.ruoyi.shop.domain.vo.MerAgencyPageVo; |
| | | import com.ruoyi.system.api.domain.poji.shop.Shop; |
| | | import com.ruoyi.shop.domain.dto.MgtShopPageDto; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.ruoyi.shop.domain.vo.MgtShopPageVo; |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | | import java.util.List; |
| | | |
| | |
| | | * @param mgtShopPageDto |
| | | * @return |
| | | */ |
| | | List<MgtShopPageVo> pageShop(Page page, MgtShopPageDto mgtShopPageDto); |
| | | List<MgtShopPageVo> pageShop(Page page, @Param("param") MgtShopPageDto mgtShopPageDto); |
| | | |
| | | |
| | | /** |
| | | * |
| | | * @param page |
| | | * @param merAgencyPageDto |
| | | * @return |
| | | */ |
| | | List<MerAgencyPageVo> pageMerAgencyVo (Page page, @Param("param")MerAgencyPageDto merAgencyPageDto); |
| | | } |
New file |
| | |
| | | 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.MerAgencyTaskPageDto; |
| | | import com.ruoyi.shop.domain.pojo.task.AgencyTask; |
| | | import com.ruoyi.shop.domain.vo.MerAgencyTaskPageVo; |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * <p> |
| | | * 会员跟进任务 Mapper 接口 |
| | | * </p> |
| | | * |
| | | * @author jqs |
| | | * @since 2023-05-07 |
| | | */ |
| | | public interface AgencyTaskMapper extends BaseMapper<AgencyTask> { |
| | | /** |
| | | * |
| | | * @param page |
| | | * @param merAgencyTaskPageDto |
| | | * @return |
| | | */ |
| | | List<MerAgencyTaskPageVo> pageMerAgencyTask(Page page, @Param("param") MerAgencyTaskPageDto merAgencyTaskPageDto); |
| | | } |
New file |
| | |
| | | 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.MerAgencyTaskPageDto; |
| | | import com.ruoyi.shop.domain.pojo.task.AgencyTaskRecord; |
| | | import com.ruoyi.shop.domain.vo.MerAgencyTaskRecordPageVo; |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * <p> |
| | | * 会员跟进任务记录 Mapper 接口 |
| | | * </p> |
| | | * |
| | | * @author jqs |
| | | * @since 2023-05-07 |
| | | */ |
| | | public interface AgencyTaskRecordMapper extends BaseMapper<AgencyTaskRecord> { |
| | | /** |
| | | * |
| | | * @param page |
| | | * @param merAgencyTaskPageDto |
| | | * @return |
| | | */ |
| | | List<MerAgencyTaskRecordPageVo> pageMerAgencyTaskRecord (Page page, @Param("param") MerAgencyTaskPageDto merAgencyTaskPageDto); |
| | | } |
| | |
| | | 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.MerMemberTaskPageDto; |
| | | import com.ruoyi.shop.domain.pojo.task.MemberTask; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.ruoyi.shop.domain.vo.MerMemberTaskPageVo; |
| | | import org.apache.ibatis.annotations.Param; |
| | | import org.springframework.web.bind.annotation.PostMapping; |
| | |
| | | import com.ruoyi.shop.domain.dto.*; |
| | | import com.ruoyi.shop.domain.pojo.shop.*; |
| | | import com.ruoyi.shop.domain.pojo.task.ShopFile; |
| | | import com.ruoyi.shop.domain.vo.AppNearbyShopVo; |
| | | import com.ruoyi.shop.domain.vo.*; |
| | | import com.ruoyi.shop.mapper.shop.ShopMapper; |
| | | import com.ruoyi.shop.service.shop.*; |
| | | import com.ruoyi.shop.service.task.ShopFileService; |
| | |
| | | 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.sys.SysUser; |
| | | import com.ruoyi.shop.domain.vo.AppShopInfoVo; |
| | | import com.ruoyi.shop.domain.vo.MgtShopInfoVo; |
| | | import com.ruoyi.shop.domain.vo.MgtShopPageVo; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ruoyi.system.api.domain.vo.MerHomeShopTotalVo; |
| | | import org.apache.commons.lang3.StringUtils; |
| | |
| | | merHomeShopTotalVo = remoteOrderService.getMerHomeTotal(merHomeShopTotalVo).getData(); |
| | | return merHomeShopTotalVo; |
| | | } |
| | | |
| | | /** |
| | | * |
| | | * @param page |
| | | * @param merAgencyPageDto |
| | | * @return |
| | | */ |
| | | @Override |
| | | public List<MerAgencyPageVo> pageMerAgencyVo(Page page, MerAgencyPageDto merAgencyPageDto){ |
| | | List<MerAgencyPageVo> merAgencyPageVoList = shopMapper.pageMerAgencyVo(page, merAgencyPageDto); |
| | | return merAgencyPageVoList; |
| | | } |
| | | } |
New file |
| | |
| | | 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.MerAgencyTaskPageDto; |
| | | 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.mapper.task.AgencyTaskRecordMapper; |
| | | import com.ruoyi.shop.service.task.AgencyTaskRecordService; |
| | | import com.ruoyi.shop.service.task.TaskFileService; |
| | | import com.ruoyi.shop.util.FileConvertUtils; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.StringJoiner; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * <p> |
| | | * 会员跟进任务记录 服务实现类 |
| | | * </p> |
| | | * |
| | | * @author jqs |
| | | * @since 2023-05-07 |
| | | */ |
| | | @Service |
| | | public class AgencyTaskRecordServiceImpl extends ServiceImpl<AgencyTaskRecordMapper, AgencyTaskRecord> implements AgencyTaskRecordService { |
| | | |
| | | @Resource |
| | | private AgencyTaskRecordMapper agencyTaskRecordMapper; |
| | | |
| | | @Resource |
| | | private TaskFileService taskFileService; |
| | | /** |
| | | * |
| | | * @param page |
| | | * @param merAgencyTaskPageDto |
| | | * @return |
| | | */ |
| | | @Override |
| | | public List<MerAgencyTaskRecordPageVo> pageMerAgencyTaskRecord (Page page, MerAgencyTaskPageDto merAgencyTaskPageDto){ |
| | | List<MerAgencyTaskRecordPageVo> merAgencyTaskRecordPageVoList = agencyTaskRecordMapper.pageMerAgencyTaskRecord(page, merAgencyTaskPageDto); |
| | | if(merAgencyTaskRecordPageVoList!=null&&!merAgencyTaskRecordPageVoList.isEmpty()){ |
| | | Long followId; |
| | | List<TaskFile> taskFileList; |
| | | List<String> picture = new ArrayList<>(); |
| | | List<String> video = new ArrayList<>(); |
| | | List<String> audio = new ArrayList<>(); |
| | | for(MerAgencyTaskRecordPageVo merAgencyTaskRecordPageVo : merAgencyTaskRecordPageVoList){ |
| | | followId = merAgencyTaskRecordPageVo.getFollowId(); |
| | | taskFileList = taskFileService.listByFollowIdAndFollowType(followId,1); |
| | | if(taskFileList!=null&&!taskFileList.isEmpty()){ |
| | | picture = taskFileList.stream().map(k->k.getFileUrl()).collect(Collectors.toList()); |
| | | } |
| | | taskFileList = taskFileService.listByFollowIdAndFollowType(followId,2); |
| | | if(taskFileList!=null&&!taskFileList.isEmpty()){ |
| | | video = taskFileList.stream().map(k->k.getFileUrl()).collect(Collectors.toList()); |
| | | } |
| | | taskFileList = taskFileService.listByFollowIdAndFollowType(followId,3); |
| | | if(taskFileList!=null&&!taskFileList.isEmpty()){ |
| | | audio = taskFileList.stream().map(k->k.getFileUrl()).collect(Collectors.toList()); |
| | | } |
| | | merAgencyTaskRecordPageVo.setPicture(picture); |
| | | merAgencyTaskRecordPageVo.setVideo(video); |
| | | merAgencyTaskRecordPageVo.setAudio(audio); |
| | | } |
| | | } |
| | | return merAgencyTaskRecordPageVoList; |
| | | } |
| | | |
| | | } |
New file |
| | |
| | | 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.common.core.utils.DateUtils; |
| | | import com.ruoyi.common.core.utils.StringUtils; |
| | | import com.ruoyi.common.core.utils.uuid.IdUtils; |
| | | import com.ruoyi.shop.domain.dto.MerAgencyTaskPageDto; |
| | | import com.ruoyi.shop.domain.dto.MerCreateAgencyTaskDto; |
| | | import com.ruoyi.shop.domain.dto.MerFollowAgencyTaskDto; |
| | | import com.ruoyi.shop.domain.pojo.task.*; |
| | | import com.ruoyi.shop.domain.vo.MerAgencyTaskPageVo; |
| | | import com.ruoyi.shop.mapper.task.AgencyTaskMapper; |
| | | import com.ruoyi.shop.service.task.AgencyTaskRecordService; |
| | | import com.ruoyi.shop.service.task.AgencyTaskService; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * <p> |
| | | * 会员跟进任务 服务实现类 |
| | | * </p> |
| | | * |
| | | * @author jqs |
| | | * @since 2023-05-07 |
| | | */ |
| | | @Service |
| | | public class AgencyTaskServiceImpl extends ServiceImpl<AgencyTaskMapper, AgencyTask> implements AgencyTaskService { |
| | | |
| | | @Resource |
| | | private AgencyTaskMapper agencyTaskMapper; |
| | | |
| | | @Resource |
| | | private AgencyTaskRecordService agencyTaskRecordService; |
| | | /** |
| | | * |
| | | * @param page |
| | | * @param merAgencyTaskPageDto |
| | | * @return |
| | | */ |
| | | @Override |
| | | public List<MerAgencyTaskPageVo> pageMerAgencyTask(Page page, MerAgencyTaskPageDto merAgencyTaskPageDto){ |
| | | merAgencyTaskPageDto.setNowDay(DateUtils.parseDateToStr("YYYY-MM-DD",new Date())); |
| | | List<MerAgencyTaskPageVo> merAgencyTaskPageVoList = agencyTaskMapper.pageMerAgencyTask(page, merAgencyTaskPageDto); |
| | | return merAgencyTaskPageVoList; |
| | | } |
| | | |
| | | /** |
| | | * |
| | | * @param merCreateAgencyTaskDto |
| | | */ |
| | | @Override |
| | | public void createAgencyTask(MerCreateAgencyTaskDto merCreateAgencyTaskDto){ |
| | | |
| | | AgencyTask agencyTask = new AgencyTask(); |
| | | String taskId = IdUtils.fastUUID(); |
| | | agencyTask.setTaskId(taskId); |
| | | agencyTask.setDelFlag(0); |
| | | agencyTask.setTaskStatus(0); |
| | | agencyTask.setShopId(merCreateAgencyTaskDto.getShopId()); |
| | | agencyTask.setAgencyId(merCreateAgencyTaskDto.getAgencyId()); |
| | | agencyTask.setTaskDate(merCreateAgencyTaskDto.getTaskDate()); |
| | | agencyTask.setTaskContent(merCreateAgencyTaskDto.getTaskContent()); |
| | | agencyTask.setCreateTime(new Date()); |
| | | this.saveOrUpdate(agencyTask); |
| | | } |
| | | |
| | | /** |
| | | * |
| | | * @param merFollowAgencyTaskDto |
| | | */ |
| | | @Override |
| | | public void followAgencyTask(MerFollowAgencyTaskDto merFollowAgencyTaskDto){ |
| | | AgencyTaskRecord agencyTaskRecord = new AgencyTaskRecord(); |
| | | AgencyTask oldAgencyTask = this.getById(merFollowAgencyTaskDto.getTaskId()); |
| | | agencyTaskRecord.setTaskId(merFollowAgencyTaskDto.getTaskId()); |
| | | agencyTaskRecord.setDelFlag(0); |
| | | agencyTaskRecord.setUserId(merFollowAgencyTaskDto.getUserId()); |
| | | agencyTaskRecord.setFollowType(merFollowAgencyTaskDto.getFollowType()); |
| | | agencyTaskRecord.setCallPhone(merFollowAgencyTaskDto.getCallPhone()); |
| | | agencyTaskRecord.setCallTime(merFollowAgencyTaskDto.getCallTime()); |
| | | agencyTaskRecordService.saveOrUpdate(agencyTaskRecord); |
| | | String picture = merFollowAgencyTaskDto.getPicture(); |
| | | String video = merFollowAgencyTaskDto.getVideo(); |
| | | String audio = merFollowAgencyTaskDto.getAudio(); |
| | | String[] strArr; |
| | | TaskFile taskFile; |
| | | if(StringUtils.isNotBlank(picture)){ |
| | | strArr = picture.split(","); |
| | | for(String str : strArr){ |
| | | taskFile = new TaskFile(); |
| | | taskFile.setDelFlag(0); |
| | | taskFile.setFollowId(agencyTaskRecord.getId()); |
| | | taskFile.setFollowFrom(2); |
| | | taskFile.setFileUrl(str); |
| | | taskFile.setFileType(1); |
| | | } |
| | | } |
| | | if(StringUtils.isNotBlank(video)){ |
| | | strArr = picture.split(","); |
| | | for(String str : strArr){ |
| | | taskFile = new TaskFile(); |
| | | taskFile.setDelFlag(0); |
| | | taskFile.setFollowId(agencyTaskRecord.getId()); |
| | | taskFile.setFollowFrom(2); |
| | | taskFile.setFileUrl(str); |
| | | taskFile.setFileType(2); |
| | | } |
| | | } |
| | | if(StringUtils.isNotBlank(audio)){ |
| | | strArr = picture.split(","); |
| | | for(String str : strArr){ |
| | | taskFile = new TaskFile(); |
| | | taskFile.setDelFlag(0); |
| | | taskFile.setFollowId(agencyTaskRecord.getId()); |
| | | taskFile.setFollowFrom(2); |
| | | taskFile.setFileUrl(str); |
| | | taskFile.setFileType(3); |
| | | } |
| | | } |
| | | if(StringUtils.isNotBlank(merFollowAgencyTaskDto.getNextTaskDate())){ |
| | | AgencyTask agencyTask = new AgencyTask(); |
| | | String taskId = IdUtils.fastUUID(); |
| | | agencyTask.setTaskId(taskId); |
| | | agencyTask.setDelFlag(0); |
| | | agencyTask.setShopId(oldAgencyTask.getShopId()); |
| | | agencyTask.setAgencyId(oldAgencyTask.getAgencyId()); |
| | | agencyTask.setTaskDate(merFollowAgencyTaskDto.getNextTaskDate()); |
| | | agencyTask.setTaskContent(merFollowAgencyTaskDto.getNextTaskContent()); |
| | | agencyTask.setTaskStatus(2); |
| | | agencyTask.setCreateTime(new Date()); |
| | | this.saveOrUpdate(agencyTask); |
| | | } |
| | | |
| | | |
| | | } |
| | | } |
| | |
| | | import com.ruoyi.shop.service.task.MemberTaskRecordService; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ruoyi.shop.service.task.TaskFileService; |
| | | import com.ruoyi.shop.util.FileConvertUtils; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.StringJoiner; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | if(merMemberTaskRecordPageVoList!=null&&!merMemberTaskRecordPageVoList.isEmpty()){ |
| | | Long followId; |
| | | List<TaskFile> taskFileList; |
| | | String picture; |
| | | String video; |
| | | String audio; |
| | | List<String> picture = new ArrayList<>(); |
| | | List<String> video = new ArrayList<>(); |
| | | List<String> audio = new ArrayList<>(); |
| | | for(MerMemberTaskRecordPageVo merMemberTaskRecordPageVo : merMemberTaskRecordPageVoList){ |
| | | followId = merMemberTaskRecordPageVo.getFollowId(); |
| | | taskFileList = taskFileService.listByFollowIdAndFollowType(followId,1); |
| | | picture = convertFileListToString(taskFileList); |
| | | if(taskFileList!=null&&!taskFileList.isEmpty()){ |
| | | picture = taskFileList.stream().map(k->k.getFileUrl()).collect(Collectors.toList()); |
| | | } |
| | | taskFileList = taskFileService.listByFollowIdAndFollowType(followId,2); |
| | | video = convertFileListToString(taskFileList); |
| | | if(taskFileList!=null&&!taskFileList.isEmpty()){ |
| | | video = taskFileList.stream().map(k->k.getFileUrl()).collect(Collectors.toList()); |
| | | } |
| | | taskFileList = taskFileService.listByFollowIdAndFollowType(followId,3); |
| | | audio = convertFileListToString(taskFileList); |
| | | if(taskFileList!=null&&!taskFileList.isEmpty()){ |
| | | audio = taskFileList.stream().map(k->k.getFileUrl()).collect(Collectors.toList()); |
| | | } |
| | | merMemberTaskRecordPageVo.setPicture(picture); |
| | | merMemberTaskRecordPageVo.setVideo(video); |
| | | merMemberTaskRecordPageVo.setAudio(audio); |
| | |
| | | return merMemberTaskRecordPageVoList; |
| | | } |
| | | |
| | | private String convertFileListToString(List<TaskFile> taskFileList){ |
| | | StringJoiner sj = new StringJoiner(","); |
| | | if(taskFileList!=null&&!taskFileList.isEmpty()){ |
| | | for(TaskFile taskFile : taskFileList){ |
| | | sj.add(taskFile.getFileUrl()); |
| | | } |
| | | return sj.toString(); |
| | | }else{ |
| | | return null; |
| | | } |
| | | } |
| | | } |
| | |
| | | String today = DateUtils.parseDateToStr("YYYY-MM-DD",new Date()); |
| | | List<MerMemberTaskPageVo> merMemberTaskPageVoList = memberTaskMapper.pageMerMemberTask(page, merMemberTaskPageDto); |
| | | if(merMemberTaskPageVoList!=null&&!merMemberTaskPageVoList.isEmpty()){ |
| | | Date taskDate; |
| | | String taskDate; |
| | | for(MerMemberTaskPageVo merMemberTaskPageVo : merMemberTaskPageVoList){ |
| | | taskDate = merMemberTaskPageVo.getTaskDate(); |
| | | if(today.equals(DateUtils.parseDateToStr("YYYY-MM-DD",taskDate))){ |
| | | if(today.equals(taskDate)){ |
| | | merMemberTaskPageVo.setTodayFlag(1); |
| | | }else{ |
| | | merMemberTaskPageVo.setTodayFlag(0); |
| | |
| | | String taskId = IdUtils.fastUUID(); |
| | | memberTask.setTaskId(taskId); |
| | | memberTask.setDelFlag(0); |
| | | memberTask.setTaskStatus(0); |
| | | memberTask.setShopId(merCreateMemberTaskDto.getShopId()); |
| | | memberTask.setUserId(merCreateMemberTaskDto.getMemberUserId()); |
| | | memberTask.setTaskDate(merCreateMemberTaskDto.getTaskDate()); |
| | |
| | | MemberTask oldMemberTask = this.getById(merFollowMemberTaskDto.getTaskId()); |
| | | memberTaskRecord.setTaskId(merFollowMemberTaskDto.getTaskId()); |
| | | memberTaskRecord.setDelFlag(0); |
| | | memberTaskRecord.setUserId(oldMemberTask.getUserId()); |
| | | memberTaskRecord.setUserId(merFollowMemberTaskDto.getUserId()); |
| | | memberTaskRecord.setFollowType(merFollowMemberTaskDto.getFollowType()); |
| | | memberTaskRecord.setCallPhone(merFollowMemberTaskDto.getCallPhone()); |
| | | memberTaskRecord.setCallTime(merFollowMemberTaskDto.getCallTime()); |
| | |
| | | taskFile.setFileType(3); |
| | | } |
| | | } |
| | | MemberTask memberTask = new MemberTask(); |
| | | String taskId = IdUtils.fastUUID(); |
| | | memberTask.setTaskId(taskId); |
| | | memberTask.setDelFlag(0); |
| | | memberTask.setShopId(oldMemberTask.getShopId()); |
| | | memberTask.setUserId(oldMemberTask.getUserId()); |
| | | memberTask.setTaskDate(merFollowMemberTaskDto.getNextTaskDate()); |
| | | memberTask.setTaskContent(merFollowMemberTaskDto.getNextTaskContent()); |
| | | memberTask.setCreateTime(new Date()); |
| | | this.saveOrUpdate(memberTask); |
| | | |
| | | if(StringUtils.isNotBlank(merFollowMemberTaskDto.getNextTaskDate())){ |
| | | MemberTask memberTask = new MemberTask(); |
| | | String taskId = IdUtils.fastUUID(); |
| | | memberTask.setTaskId(taskId); |
| | | memberTask.setDelFlag(0); |
| | | memberTask.setShopId(oldMemberTask.getShopId()); |
| | | memberTask.setUserId(oldMemberTask.getUserId()); |
| | | memberTask.setTaskDate(merFollowMemberTaskDto.getNextTaskDate()); |
| | | memberTask.setTaskContent(merFollowMemberTaskDto.getNextTaskContent()); |
| | | memberTask.setTaskStatus(2); |
| | | memberTask.setCreateTime(new Date()); |
| | | this.saveOrUpdate(memberTask); |
| | | } |
| | | } |
| | | } |
| | |
| | | |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ruoyi.shop.domain.dto.*; |
| | | import com.ruoyi.shop.domain.vo.*; |
| | | import com.ruoyi.system.api.domain.poji.shop.Shop; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.ruoyi.shop.domain.vo.AppNearbyShopVo; |
| | | import com.ruoyi.shop.domain.vo.AppShopInfoVo; |
| | | import com.ruoyi.shop.domain.vo.MgtShopInfoVo; |
| | | import com.ruoyi.shop.domain.vo.MgtShopPageVo; |
| | | import com.ruoyi.system.api.domain.poji.member.Member; |
| | | import com.ruoyi.system.api.domain.vo.MerHomeShopTotalVo; |
| | | |
| | |
| | | * @return |
| | | */ |
| | | MerHomeShopTotalVo getMerHomeTotal(Long userId); |
| | | |
| | | /** |
| | | * |
| | | * @param page |
| | | * @param merAgencyPageDto |
| | | * @return |
| | | */ |
| | | List<MerAgencyPageVo> pageMerAgencyVo (Page page, MerAgencyPageDto merAgencyPageDto); |
| | | |
| | | |
| | | |
| | | } |
New file |
| | |
| | | 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.MerAgencyTaskPageDto; |
| | | import com.ruoyi.shop.domain.pojo.task.AgencyTaskRecord; |
| | | import com.ruoyi.shop.domain.vo.MerAgencyTaskRecordPageVo; |
| | | import com.ruoyi.shop.domain.vo.MerMemberTaskRecordPageVo; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * <p> |
| | | * 会员跟进任务记录 服务类 |
| | | * </p> |
| | | * |
| | | * @author jqs |
| | | * @since 2023-05-07 |
| | | */ |
| | | public interface AgencyTaskRecordService extends IService<AgencyTaskRecord> { |
| | | |
| | | /** |
| | | * |
| | | * @param page |
| | | * @param merAgencyTaskPageDto |
| | | * @return |
| | | */ |
| | | List<MerAgencyTaskRecordPageVo> pageMerAgencyTaskRecord (Page page, MerAgencyTaskPageDto merAgencyTaskPageDto); |
| | | } |
New file |
| | |
| | | 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.MerAgencyTaskPageDto; |
| | | import com.ruoyi.shop.domain.dto.MerCreateAgencyTaskDto; |
| | | import com.ruoyi.shop.domain.dto.MerFollowAgencyTaskDto; |
| | | import com.ruoyi.shop.domain.dto.MerMemberTaskPageDto; |
| | | import com.ruoyi.shop.domain.pojo.task.AgencyTask; |
| | | import com.ruoyi.shop.domain.vo.MerAgencyTaskPageVo; |
| | | import com.ruoyi.shop.domain.vo.MerMemberTaskPageVo; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * <p> |
| | | * 会员跟进任务 服务类 |
| | | * </p> |
| | | * |
| | | * @author jqs |
| | | * @since 2023-05-07 |
| | | */ |
| | | public interface AgencyTaskService extends IService<AgencyTask> { |
| | | |
| | | /** |
| | | * |
| | | * @param page |
| | | * @param merAgencyTaskPageDto |
| | | * @return |
| | | */ |
| | | List<MerAgencyTaskPageVo> pageMerAgencyTask(Page page, MerAgencyTaskPageDto merAgencyTaskPageDto); |
| | | |
| | | /** |
| | | * |
| | | * @param merCreateAgencyTaskDto |
| | | */ |
| | | void createAgencyTask(MerCreateAgencyTaskDto merCreateAgencyTaskDto); |
| | | |
| | | /** |
| | | * |
| | | * @param merFollowAgencyTaskDto |
| | | */ |
| | | void followAgencyTask(MerFollowAgencyTaskDto merFollowAgencyTaskDto); |
| | | } |
New file |
| | |
| | | package com.ruoyi.shop.util; |
| | | |
| | | import com.ruoyi.shop.domain.pojo.task.TaskFile; |
| | | |
| | | import java.util.List; |
| | | import java.util.StringJoiner; |
| | | |
| | | /** |
| | | * @author jqs34 |
| | | * @ClassName FileConvertUtils |
| | | * @description: TODO |
| | | * @date 2023年05月07日 |
| | | * @version: 1.0 |
| | | */ |
| | | public class FileConvertUtils { |
| | | |
| | | public static String convertFileListToString(List<TaskFile> taskFileList){ |
| | | StringJoiner sj = new StringJoiner(","); |
| | | if(taskFileList!=null&&!taskFileList.isEmpty()){ |
| | | for(TaskFile taskFile : taskFileList){ |
| | | sj.add(taskFile.getFileUrl()); |
| | | } |
| | | return sj.toString(); |
| | | }else{ |
| | | return null; |
| | | } |
| | | } |
| | | } |
| | |
| | | |
| | | </select> |
| | | |
| | | |
| | | <select id="pageMerAgencyVo" resultType="com.ruoyi.shop.domain.vo.MerAgencyPageVo"> |
| | | SELECT |
| | | ts.shop_id shopId, |
| | | ts.shop_status shopStatus, |
| | | ts.shop_name shopName, |
| | | CONCAT(ts.shop_area_name,ts.shop_address) shopAddress, |
| | | ts.shopowner_name shopownerName, |
| | | ts.shopowner_phone shopownerPhone, |
| | | ts.cooperationEndTime cooperationEndTime |
| | | FROM t_shop ts |
| | | WHERE ts.del_flag = 0 AND r.shop_id = #{param.shopId} |
| | | <if test="param.keyword!=null and param.keyword!=''"> |
| | | AND (ts.shop_name LIKE CONCAT('%',#{param.keyword},'%') OR ts.shopowner_name LIKE CONCAT('%',#{param.keyword},'%') |
| | | OR ts.shopowner_phone LIKE CONCAT('%',#{param.keyword},'%')) |
| | | </if> |
| | | </select> |
| | | </mapper> |
New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="com.ruoyi.shop.mapper.task.AgencyTaskMapper"> |
| | | |
| | | <resultMap type="AgencyTask" id="AgencyTaskResult"> |
| | | <result property="taskId" column="task_id" /> |
| | | <result property="delFlag" column="del_flag" /> |
| | | <result property="shopId" column="shop_id" /> |
| | | <result property="agencyId" column="agency_id" /> |
| | | <result property="taskDate" column="task_date" /> |
| | | <result property="taskContent" column="task_content" /> |
| | | <result property="createTime" column="create_time" /> |
| | | <result property="taskStatus" column="task_status" /> |
| | | </resultMap> |
| | | |
| | | <select id="pageMerAgencyTask" resultType="com.ruoyi.shop.domain.vo.MerAgencyPageVo"> |
| | | SELECT |
| | | task_id taskId, |
| | | task_date taskDate, |
| | | task_content taskContent |
| | | FROM t_agency_task tat |
| | | WHERE delFlag = 0 AND shop_id = #{param.shopId} AND agency_id = #{param.agencyId} |
| | | <if test="param.taskStatus!=null and param.taskStatus!=null == 0"> |
| | | AND task_status = 0 AND task_date < #{param.nowDay} |
| | | </if> |
| | | <if test="param.taskStatus!=null and param.taskStatus!=null == 1"> |
| | | AND task_status = 0 AND task_date = #{param.nowDay} |
| | | </if> |
| | | <if test="param.taskStatus!=null and param.taskStatus!=null == 2"> |
| | | AND task_status = 2 |
| | | </if> |
| | | <if test="param.taskStatus!=null and param.taskStatus!=null == 3"> |
| | | AND task_status = 0 AND task_date > #{param.nowDay} |
| | | </if> |
| | | ORDER BY task_date DESC |
| | | </select> |
| | | |
| | | </mapper> |
New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="com.ruoyi.shop.mapper.task.AgencyTaskRecordMapper"> |
| | | |
| | | |
| | | <resultMap type="AgencyTaskRecord" id="AgencyTaskRecordResult"> |
| | | <result property="id" column="id" /> |
| | | <result property="delFlag" column="del_flag" /> |
| | | <result property="taskId" column="task_id" /> |
| | | <result property="userId" column="user_id" /> |
| | | <result property="followType" column="follow_type" /> |
| | | <result property="callTime" column="call_time" /> |
| | | <result property="followContent" column="follow_content" /> |
| | | </resultMap> |
| | | |
| | | |
| | | <select id="pageMerMemberTaskRecord" resultType="com.ruoyi.shop.domain.vo.MerMemberTaskRecordPageVo"> |
| | | SELECT |
| | | tmtr.id followId, |
| | | tmtr.task_id taskId, |
| | | tmt.task_date taskDate, |
| | | tmtr.followType followType, |
| | | tmtr.callTime callTime, |
| | | tmtr.followContent followContent, |
| | | tmtr.callPhone callPhone |
| | | FROM t_agency_task tmt |
| | | INNER JOIN t_agency_task_record tmtr ON tmtr.task_id = tmt.task_id |
| | | WHERE delFlag = 0 AND shop_id = #{param.shopId} AND agency_id = #{param.agencyId} |
| | | ORDER BY tmt.task_date DESC |
| | | </select> |
| | | </mapper> |
| | |
| | | <result property="taskDate" column="task_date" /> |
| | | <result property="taskContent" column="task_content" /> |
| | | <result property="createTime" column="create_time" /> |
| | | <result property="taskStatus" column="task_status" /> |
| | | </resultMap> |
| | | |
| | | <sql id="selectMemberTaskVo"> |
| | |
| | | task_content taskContent |
| | | FROM t_member_task |
| | | WHERE delFlag = 0 AND shop_id = #{param.shopId} AND user_id = #{param.memberUserId} |
| | | ORDER BY tmt.task_date DESC |
| | | ORDER BY task_date DESC |
| | | </select> |
| | | </mapper> |