1 文件已重命名
33个文件已修改
33个文件已删除
13个文件已添加
| | |
| | | "yyyy/MM/dd", "yyyy/MM/dd HH:mm:ss", "yyyy/MM/dd HH:mm", "yyyy/MM", |
| | | "yyyy.MM.dd", "yyyy.MM.dd HH:mm:ss", "yyyy.MM.dd HH:mm", "yyyy.MM"}; |
| | | |
| | | public static void main(String[] args) { |
| | | System.out.println(getNowDate()); |
| | | } |
| | | |
| | | /** |
| | | * 获取当前Date型日期 |
| | | * |
| | |
| | | /** |
| | | * 计算时间差 |
| | | * |
| | | * @param endTime 最后时间 |
| | | * @param endDate 最后时间 |
| | | * @param startTime 开始时间 |
| | | * @return 时间差(天/小时/分钟) |
| | | */ |
| | |
| | | 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.goods.domain.dto.AppConsumerPageDto; |
| | | import com.ruoyi.goods.domain.dto.MerGoodsPageDto; |
| | | import com.ruoyi.goods.domain.dto.MerShopGoodsEditDto; |
| | | import com.ruoyi.goods.domain.vo.AppConsumerPageVo; |
| | | import com.ruoyi.goods.domain.vo.MerGoodsPageVo; |
| | | import com.ruoyi.goods.service.goods.GoodsService; |
| | | import com.ruoyi.system.api.domain.dto.MerBaseDto; |
| | | import com.ruoyi.system.api.domain.poji.member.Member; |
| | | import com.ruoyi.system.api.domain.vo.MerHomeShopTotalVo; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
New file |
| | |
| | | package com.ruoyi.goods.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.goods.domain.dto.MerGoodsPageDto; |
| | | import com.ruoyi.goods.domain.vo.MerGoodsPageVo; |
| | | import com.ruoyi.goods.service.goods.GoodsService; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.RequestBody; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RequestMethod; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @author jqs34 |
| | | * @ClassName MgtGoodsController |
| | | * @description: TODO |
| | | * @date 2023年06月01日 |
| | | * @version: 1.0 |
| | | */ |
| | | @Api(value = "平台端商品相关接口", tags = "平台端商品相关接口", description = "平台端商品相关接口") |
| | | @RestController |
| | | @RequestMapping("/mgt/goods") |
| | | public class MgtGoodsController { |
| | | |
| | | @Resource |
| | | private GoodsService goodsService; |
| | | |
| | | /*@RequestMapping(value = "/pageMgtGoods", method = RequestMethod.POST) |
| | | @ApiOperation(value = "分页获取商品列表") |
| | | public R<Page<MerGoodsPageVo>> pageMgtGoods(@RequestBody MerGoodsPageDto merGoodsPageDto) { |
| | | Long userId = SecurityUtils.getUserId(); |
| | | Page<MerGoodsPageVo> page = new Page<>(); |
| | | page.setSize(merGoodsPageDto.getPageSize()); |
| | | page.setCurrent(merGoodsPageDto.getPageNum()); |
| | | page.setOptimizeCountSql(false); |
| | | List<MerGoodsPageVo> merGoodsPageVoList = goodsService.pageMgtGoods(page,merGoodsPageDto); |
| | | return R.ok(page.setRecords(merGoodsPageVoList)); |
| | | }*/ |
| | | |
| | | |
| | | } |
| | |
| | | |
| | | @ApiModelProperty(value = "商品类型1周期2服务3体验4单品") |
| | | private Integer goodsType; |
| | | |
| | | @ApiModelProperty(value = "商品分类id") |
| | | private Long goodsClassId; |
| | | |
| | | @ApiModelProperty(value = "创建时间") |
| | | private String createTime; |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.goods.domain.dto; |
| | | |
| | | import com.ruoyi.system.api.domain.dto.MerPageDto; |
| | | import com.ruoyi.system.api.domain.dto.MgtPageDto; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | /** |
| | | * @author jqs34 |
| | | * @ClassName MerGoodsPageDto |
| | | * @description: TODO |
| | | * @date 2023年05月04日 |
| | | * @version: 1.0 |
| | | */ |
| | | @Data |
| | | public class MgtGoodsPageDto extends MgtPageDto { |
| | | |
| | | @ApiModelProperty(value = "商品名称") |
| | | private String goodsName; |
| | | |
| | | @ApiModelProperty(value = "商品类型1周期2服务3体验4单品") |
| | | private Integer goodsType; |
| | | } |
New file |
| | |
| | | package com.ruoyi.goods.domain.vo; |
| | | |
| | | /** |
| | | * @author jqs34 |
| | | * @ClassName MgtGoodsPageVo |
| | | * @description: TODO |
| | | * @date 2023年06月01日 |
| | | * @version: 1.0 |
| | | */ |
| | | public class MgtGoodsPageVo { |
| | | } |
| | |
| | | package com.ruoyi.goods.service.impl.goods; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.ruoyi.common.core.exception.ServiceException; |
| | | import com.ruoyi.common.core.utils.DateUtils; |
| | | import com.ruoyi.goods.domain.dto.*; |
| | | import com.ruoyi.system.api.domain.poji.goods.Goods; |
| | | import com.ruoyi.system.api.domain.poji.goods.GoodsFile; |
| | |
| | | if(shopGoods!=null){ |
| | | shopGoods.setSalesPrice(merShopGoodsEditDto.getSalePrice()); |
| | | shopGoods.setServiceNum(merShopGoodsEditDto.getServiceNum()); |
| | | shopGoods.setUpdateTime(new Date()); |
| | | shopGoods.setUpdateTime(DateUtils.getNowDate()); |
| | | shopGoods.setUpdateUserId(merShopGoodsEditDto.getUserId()); |
| | | }else{ |
| | | shopGoods = new ShopGoods(); |
| | |
| | | shopGoods.setGoodsId(merShopGoodsEditDto.getGoodsId()); |
| | | shopGoods.setSalesPrice(merShopGoodsEditDto.getSalePrice()); |
| | | shopGoods.setServiceNum(merShopGoodsEditDto.getServiceNum()); |
| | | shopGoods.setUpdateTime(new Date()); |
| | | shopGoods.setUpdateTime(DateUtils.getNowDate()); |
| | | shopGoods.setUpdateUserId(merShopGoodsEditDto.getUserId()); |
| | | } |
| | | shopGoodsService.saveOrUpdate(shopGoods); |
| | |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | 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.goods.domain.dto.AppShoppingCartAddDto; |
| | | import com.ruoyi.goods.domain.dto.AppShoppingCartChangeDto; |
| | | import com.ruoyi.system.api.domain.poji.goods.Goods; |
| | |
| | | shoppingCart.setGoodsId(appShoppingCartAddDto.getGoodsId()); |
| | | shoppingCart.setBuyNum(appShoppingCartAddDto.getBuyNum()); |
| | | shoppingCart.setDelFlag(0); |
| | | shoppingCart.setCreateTime(new Date()); |
| | | shoppingCart.setCreateTime(DateUtils.getNowDate()); |
| | | this.save(shoppingCart); |
| | | }else{ |
| | | shoppingCart.setBuyNum(shoppingCart.getBuyNum()+appShoppingCartAddDto.getBuyNum()); |
| | | shoppingCart.setUpdateTime(new Date()); |
| | | shoppingCart.setUpdateTime(DateUtils.getNowDate()); |
| | | this.saveOrUpdate(shoppingCart); |
| | | } |
| | | } |
| | |
| | | throw new ServiceException(AppErrorConstant.GOODS_DOWN); |
| | | } |
| | | shoppingCart.setBuyNum(appShoppingCartChangeDto.getBuyNum()); |
| | | shoppingCart.setUpdateTime(new Date()); |
| | | shoppingCart.setUpdateTime(DateUtils.getNowDate()); |
| | | this.saveOrUpdate(shoppingCart); |
| | | } |
| | | |
| | |
| | | member.setAvatar("https://hongruitang.oss-cn-beijing.aliyuncs.com/default.png"); |
| | | member.setMemberId(memberId); |
| | | member.setBindingFlag(0); |
| | | member.setCreateTime(new Date()); |
| | | member.setCreateTime(DateUtils.getNowDate()); |
| | | member.setMobile(mobile); |
| | | initMemberTotal(memberId); |
| | | }else{ |
| | |
| | | switch (editType){ |
| | | case 1: |
| | | member.setNickName(editValue); |
| | | member.setUpdateTime(new Date()); |
| | | member.setUpdateTime(DateUtils.getNowDate()); |
| | | member.setUpdateUserId(appEditUserDto.getUserId()); |
| | | this.saveOrUpdate(member); |
| | | break; |
| | |
| | | break; |
| | | case 3: |
| | | member.setGender(Integer.valueOf(editValue)); |
| | | member.setUpdateTime(new Date()); |
| | | member.setUpdateTime(DateUtils.getNowDate()); |
| | | member.setUpdateUserId(appEditUserDto.getUserId()); |
| | | this.saveOrUpdate(member); |
| | | break; |
| | | case 4: |
| | | member.setBirthday(editValue); |
| | | member.setUpdateTime(new Date()); |
| | | member.setUpdateTime(DateUtils.getNowDate()); |
| | | member.setUpdateUserId(appEditUserDto.getUserId()); |
| | | this.saveOrUpdate(member); |
| | | break; |
| | |
| | | member.setBindingFlag(1); |
| | | member.setRelationShopId(merMemberAddDto.getShopId()); |
| | | member.setCustomerSource("商户添加"); |
| | | member.setCreateTime(new Date()); |
| | | member.setCreateTime(DateUtils.getNowDate()); |
| | | log.info("member-----------------"+member.toString()); |
| | | this.saveOrUpdate(member); |
| | | initMemberTotal(memberId); |
| | |
| | | member.setLevel(merMemberEditDto.getLevel()); |
| | | member.setBirthday(merMemberEditDto.getBirthday()); |
| | | member.setUpdateUserId(merMemberEditDto.getUserId()); |
| | | member.setUpdateTime(new Date()); |
| | | member.setUpdateTime(DateUtils.getNowDate()); |
| | | log.info("member-----------------"+member.toString()); |
| | | this.saveOrUpdate(member); |
| | | SysUser sysUser = new SysUser(); |
| | |
| | | member.setDelFlag(0); |
| | | member.setAvatar("https://hongruitang.oss-cn-beijing.aliyuncs.com/default.png"); |
| | | member.setBindingFlag(0); |
| | | member.setCreateTime(new Date()); |
| | | member.setCreateTime(DateUtils.getNowDate()); |
| | | member.setCustomerSource("商户订单添加"); |
| | | this.saveOrUpdate(member); |
| | | initMemberTotal(member.getMemberId()); |
| | |
| | | MgtActivenessJudgeVo mgtActivenessJudgeVo; |
| | | for(Activeness activeness : activenessList){ |
| | | mgtActivenessJudgeVo = new MgtActivenessJudgeVo(); |
| | | mgtActivenessJudgeVo.setStartDay(DateUtils.addDays(new Date(),activeness.getEndDay())); |
| | | mgtActivenessJudgeVo.setEndDay(DateUtils.addDays(new Date(),activeness.getStartDay()-1)); |
| | | mgtActivenessJudgeVo.setStartDay(DateUtils.addDays(DateUtils.getNowDate(),activeness.getEndDay())); |
| | | mgtActivenessJudgeVo.setEndDay(DateUtils.addDays(DateUtils.getNowDate(),activeness.getStartDay()-1)); |
| | | mgtActivenessJudgeVo.setActivenessName(activeness.getActivenessName()); |
| | | } |
| | | //活跃度赋值 |
| | |
| | | member.setRelationShopId(shop.getShopId()); |
| | | member.setRelationShopName(shop.getShopName()); |
| | | member.setBindingFlag(1); |
| | | member.setUpdateTime(new Date()); |
| | | member.setUpdateTime(DateUtils.getNowDate()); |
| | | member.setUpdateUserId(mgtMemberRelEditDto.getUserId()); |
| | | this.saveOrUpdate(member); |
| | | } |
| | |
| | | public void deleteMemberRelationShop(MgtMemberRelDelDto mgtMemberRelDelDto){ |
| | | Member member = this.getById(mgtMemberRelDelDto.getMemberUserId()); |
| | | member.setBindingFlag(0); |
| | | member.setUpdateTime(new Date()); |
| | | member.setUpdateTime(DateUtils.getNowDate()); |
| | | member.setUpdateUserId(mgtMemberRelDelDto.getUserId()); |
| | | this.saveOrUpdate(member); |
| | | } |
| | |
| | | integralRecord.setChangeIntegral( 0-integer); |
| | | } |
| | | integralRecord.setSurpIntegral(useableIntegral); |
| | | integralRecord.setCreateTime(new Date()); |
| | | integralRecord.setCreateTime(DateUtils.getNowDate()); |
| | | integralRecord.setOrderId(memberIntegralChangeDto.getOrderId()); |
| | | integralRecord.setOrderNo(memberIntegralChangeDto.getOrderNo()); |
| | | switch (recordType){ |
| | |
| | | |
| | | 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.member.domain.pojo.member.MemberSuggest; |
| | | import com.ruoyi.member.domain.vo.AppSuggestPageVo; |
| | | import com.ruoyi.member.mapper.member.MemberSuggestMapper; |
| | |
| | | memberSuggest.setDelFlag(0); |
| | | memberSuggest.setCreateUserId(appUserSuggestDto.getUserId()); |
| | | memberSuggest.setSuggestContent(appUserSuggestDto.getSuggestContent()); |
| | | memberSuggest.setCreateTime(new Date()); |
| | | memberSuggest.setCreateTime(DateUtils.getNowDate()); |
| | | memberSuggest.setSuggestType(appUserSuggestDto.getSuggestType()); |
| | | this.saveOrUpdate(memberSuggest); |
| | | } |
| | |
| | | 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.order.domain.dto.*; |
| | | import com.ruoyi.order.domain.pojo.order.ConsumerGoods; |
| | |
| | | throw new ServiceException(AppErrorConstant.BEYOND_SURP_NUM); |
| | | } |
| | | consumerGoods.setUsedNum(usedNum+useNum); |
| | | consumerGoods.setUseTime(new Date()); |
| | | consumerGoods.setUseTime(DateUtils.getNowDate()); |
| | | if(consumerGoods.getUsedNum().equals(serviceNum)){ |
| | | consumerGoods.setServiceStatus(2); |
| | | consumerGoods.setCompleteTime(new Date()); |
| | | consumerGoods.setCompleteTime(DateUtils.getNowDate()); |
| | | } |
| | | this.saveOrUpdate(consumerGoods); |
| | | shopId = consumerGoods.getShopId(); |
| | |
| | | } |
| | | } |
| | | UserServiceRecord userServiceRecord = new UserServiceRecord(); |
| | | userServiceRecord.setCreateTime(new Date()); |
| | | userServiceRecord.setCreateTime(DateUtils.getNowDate()); |
| | | userServiceRecord.setServiceType(serviceType); |
| | | userServiceRecord.setDelFlag(0); |
| | | userServiceRecord.setShopId(shopId); |
| | |
| | | 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.core.utils.uuid.UUID; |
| | |
| | | } |
| | | order.setOrderRemark(appPlaceOrderDto.getOrderRemark()); |
| | | order.setGoodsNum(goodsNum); |
| | | order.setCreateTime(new Date()); |
| | | order.setCreateTime(DateUtils.getNowDate()); |
| | | this.save(order); |
| | | //更新用户商品类型 |
| | | if(goodsTypeSet!=null&&goodsTypeSet.size()>0){ |
| | |
| | | throw new ServiceException(AppErrorConstant.CANCEL_ERROR_ORDER); |
| | | } |
| | | order.setOrderStatus(0); |
| | | order.setCancelTime(new Date()); |
| | | order.setCancelTime(DateUtils.getNowDate()); |
| | | this.saveOrUpdate(order); |
| | | } |
| | | |
| | |
| | | String orderId = merVerifyOrderDto.getOrderId(); |
| | | BigDecimal relReceiveMoney = merVerifyOrderDto.getRelReceiveMoney(); |
| | | BigDecimal relPayMoney = merVerifyOrderDto.getRelPayMoney(); |
| | | Date nowTime = new Date(); |
| | | Date nowTime = DateUtils.getNowDate(); |
| | | //更新订单信息 |
| | | Order order = this.getById(orderId); |
| | | order.setOrderStatus(3); |
| | |
| | | } |
| | | order.setOrderRemark(merNewOrderDto.getOrderRemark()); |
| | | order.setGoodsNum(goodsNum); |
| | | order.setCreateTime(new Date()); |
| | | order.setPayTime(new Date()); |
| | | order.setUseTime(new Date()); |
| | | order.setCreateTime(DateUtils.getNowDate()); |
| | | order.setPayTime(DateUtils.getNowDate()); |
| | | order.setUseTime(DateUtils.getNowDate()); |
| | | order.setUseUserId(merNewOrderDto.getUserId()); |
| | | order.setPayMoney(merNewOrderDto.getPayMoney()); |
| | | order.setOnlinePayMoney(new BigDecimal("0.00")); |
| | |
| | | consumerGoods.setServiceNum(appUserOrderGoodsPageVo.getServiceNum()); |
| | | consumerGoods.setUsedNum(0); |
| | | consumerGoods.setGoodsType(appUserOrderGoodsPageVo.getGoodsType()); |
| | | consumerGoods.setCreateTime(new Date()); |
| | | consumerGoods.setCreateTime(DateUtils.getNowDate()); |
| | | consumerGoodsService.save(consumerGoods); |
| | | } |
| | | Member member = remoteMemberService.getMember(userId).getData(); |
| | |
| | | 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.MgtMemberTaskPageDto; |
| | | import com.ruoyi.shop.domain.vo.MgtMemberFollowPageVo; |
| | | import com.ruoyi.shop.service.task.MemberTaskRecordService; |
| | | import com.ruoyi.system.api.domain.dto.MgtBaseDto; |
| | |
| | | |
| | | @RequestMapping(value = "/pageMgtMemberFollow", method = RequestMethod.POST) |
| | | @ApiOperation(value = "平台获取用户跟进列表") |
| | | public R<Page<MgtMemberFollowPageVo>> pageMgtMemberFollow(@RequestBody MgtPageDto mgtPageDto) { |
| | | public R<Page<MgtMemberFollowPageVo>> pageMgtMemberFollow(@RequestBody MgtMemberTaskPageDto mgtMemberTaskPageDto) { |
| | | Long userId = SecurityUtils.getUserId(); |
| | | mgtPageDto.setUserId(userId); |
| | | mgtMemberTaskPageDto.setUserId(userId); |
| | | Page<MgtMemberFollowPageVo> page = new Page<>(); |
| | | page.setSize(mgtPageDto.getPageSize()); |
| | | page.setCurrent(mgtPageDto.getPageNum()); |
| | | List<MgtMemberFollowPageVo> mgtMemberFollowPageVoList = memberTaskRecordService.pageMgtMemberFollow(page); |
| | | page.setSize(mgtMemberTaskPageDto.getPageSize()); |
| | | page.setCurrent(mgtMemberTaskPageDto.getPageNum()); |
| | | List<MgtMemberFollowPageVo> mgtMemberFollowPageVoList = memberTaskRecordService.pageMgtMemberFollow(page, mgtMemberTaskPageDto); |
| | | return R.ok(page.setRecords(mgtMemberFollowPageVoList)); |
| | | } |
| | | } |
New file |
| | |
| | | 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.MerFollowMemberTaskDto; |
| | | import com.ruoyi.shop.domain.dto.MgtFollowShopTaskDto; |
| | | import com.ruoyi.shop.domain.dto.MgtShopTaskPageDto; |
| | | import com.ruoyi.shop.domain.vo.MgtAgencyTaskRecordPageVo; |
| | | import com.ruoyi.shop.domain.vo.MgtMemberFollowPageVo; |
| | | import com.ruoyi.shop.domain.vo.MgtShopTagVo; |
| | | import com.ruoyi.shop.domain.vo.MgtShopTaskRecordPageVo; |
| | | import com.ruoyi.shop.service.task.AgencyTaskRecordService; |
| | | import com.ruoyi.shop.service.task.ShopTaskRecordService; |
| | | import com.ruoyi.shop.service.task.ShopTaskService; |
| | | import com.ruoyi.system.api.domain.dto.MgtBaseGetDto; |
| | | import com.ruoyi.system.api.domain.dto.MgtPageDto; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.RequestBody; |
| | | 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 |
| | | * @ClassName MgtTaskController |
| | | * @description: TODO |
| | | * @date 2023年06月01日 |
| | | * @version: 1.0 |
| | | */ |
| | | @Api(value = "管理台任务相关接口", tags = "管理台任务相关接口", description = "管理台任务相关接口") |
| | | @RestController |
| | | @RequestMapping("/mgt/task") |
| | | public class MgtTaskController { |
| | | |
| | | @Autowired |
| | | private ShopTaskService shopTaskService; |
| | | |
| | | @Autowired |
| | | private AgencyTaskRecordService agencyTaskRecordService; |
| | | |
| | | @Autowired |
| | | private ShopTaskRecordService shopTaskRecordService; |
| | | |
| | | @RequestMapping(value = "/followShopTask", method = RequestMethod.POST) |
| | | @ApiOperation(value = "商户跟进") |
| | | public R followShopTask(@RequestBody MgtFollowShopTaskDto mgtFollowShopTaskDto) { |
| | | Long userId = SecurityUtils.getUserId(); |
| | | mgtFollowShopTaskDto.setUserId(userId); |
| | | shopTaskService.followShopTask(mgtFollowShopTaskDto); |
| | | return R.ok(); |
| | | } |
| | | |
| | | @RequestMapping(value = "/pageMgtShopFollow", method = RequestMethod.POST) |
| | | @ApiOperation(value = "平台获取平台跟进列表") |
| | | public R<Page<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)); |
| | | } |
| | | |
| | | @RequestMapping(value = "/pageMgtAgencyFollow", method = RequestMethod.POST) |
| | | @ApiOperation(value = "平台获取代理商跟进列表") |
| | | public R<Page<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)); |
| | | } |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.shop.domain.dto; |
| | | |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import com.ruoyi.system.api.domain.dto.MerBaseDto; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | import org.springframework.format.annotation.DateTimeFormat; |
| | | |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * @author jqs34 |
| | | * @ClassName MerFollowMemberTask |
| | | * @description: TODO |
| | | * @date 2023年05月06日 |
| | | * @version: 1.0 |
| | | */ |
| | | @Data |
| | | public class MgtFollowShopTaskDto extends MerBaseDto { |
| | | |
| | | @ApiModelProperty("商户id") |
| | | private Long shopId; |
| | | |
| | | @ApiModelProperty("任务标题") |
| | | private String taskTitle; |
| | | |
| | | @ApiModelProperty("跟进类型") |
| | | private String followType; |
| | | |
| | | @ApiModelProperty("跟进内容") |
| | | private String followContent; |
| | | |
| | | @ApiModelProperty("跟进图片地址 多个,号隔开") |
| | | private String picture; |
| | | |
| | | @ApiModelProperty("下次任务时间") |
| | | private String nextTaskDate; |
| | | |
| | | @ApiModelProperty("下次任务标题") |
| | | private String nextTaskTitle; |
| | | |
| | | @ApiModelProperty("紧急程度") |
| | | private String emergencyState; |
| | | } |
File was renamed from ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/dto/MerMemberNoClearOrderDto.java |
| | |
| | | package com.ruoyi.goods.domain.dto; |
| | | package com.ruoyi.shop.domain.dto; |
| | | |
| | | import com.ruoyi.system.api.domain.dto.MerPageDto; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | |
| | | |
| | | /** |
| | | * @author jqs34 |
| | | * @ClassName MerMemberNoClearOrderDto |
| | | * @ClassName MerMemberTaskPageDto |
| | | * @description: TODO |
| | | * @date 2023年05月05日 |
| | | * @date 2023年05月06日 |
| | | * @version: 1.0 |
| | | */ |
| | | @Data |
| | | public class MerMemberNoClearOrderDto extends MerPageDto { |
| | | |
| | | public class MgtMemberTaskPageDto extends MerPageDto { |
| | | |
| | | @ApiModelProperty(value = "会员用户id") |
| | | private Long memberUserId; |
New file |
| | |
| | | package com.ruoyi.shop.domain.dto; |
| | | |
| | | import com.ruoyi.system.api.domain.dto.MgtPageDto; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | /** |
| | | * @author jqs34 |
| | | * @ClassName MgtShopTaskPagedto |
| | | * @description: TODO |
| | | * @date 2023年06月01日 |
| | | * @version: 1.0 |
| | | */ |
| | | @Data |
| | | public class MgtShopTaskPageDto extends MgtPageDto { |
| | | |
| | | @ApiModelProperty(value = "商户id") |
| | | private Long shopId; |
| | | |
| | | } |
| | |
| | | @TableField("call_phone") |
| | | private String callPhone; |
| | | |
| | | /** |
| | | * 创建时间 |
| | | */ |
| | | @TableField("create_time") |
| | | private Date createTime; |
| | | |
| | | |
| | | @Override |
| | | protected Serializable pkVal() { |
| | |
| | | @TableField("call_phone") |
| | | private String callPhone; |
| | | |
| | | /** |
| | | * 创建时间 |
| | | */ |
| | | @TableField("create_time") |
| | | private Date createTime; |
| | | |
| | | @Override |
| | | protected Serializable pkVal() { |
| | | return this.id; |
| | |
| | | @TableField("shop_id") |
| | | private Long shopId; |
| | | /** |
| | | * 跟进类型id |
| | | * 跟进类型 |
| | | */ |
| | | @TableField("follow_type_id") |
| | | private Long followTypeId; |
| | | @TableField("follow_type") |
| | | private String followType; |
| | | /** |
| | | * 跟进内容 |
| | | */ |
| | |
| | | * 下次跟进时间 |
| | | */ |
| | | @TableField("next_follow_date") |
| | | private Date nextFollowDate; |
| | | private String nextFollowDate; |
| | | /** |
| | | * 任务标题 |
| | | */ |
| | | @TableField("task_title") |
| | | private String taskTitle; |
| | | /** |
| | | * 紧急情况id |
| | | * 紧急情况 |
| | | */ |
| | | @TableField("emergency_state_id") |
| | | private Long emergencyStateId; |
| | | @TableField("emergency_state") |
| | | private String emergencyState; |
| | | /** |
| | | * 创建时间 |
| | | */ |
New file |
| | |
| | | package com.ruoyi.shop.domain.pojo.task; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | 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.TableName; |
| | | import java.io.Serializable; |
| | | |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | import lombok.experimental.Accessors; |
| | | |
| | | /** |
| | | * <p> |
| | | * 会员跟进任务记录 |
| | | * </p> |
| | | * |
| | | * @author jqs |
| | | * @since 2023-06-01 |
| | | */ |
| | | @Data |
| | | @EqualsAndHashCode(callSuper = false) |
| | | @Accessors(chain = true) |
| | | @TableName("t_shop_task_record") |
| | | public class ShopTaskRecord extends Model<ShopTaskRecord> { |
| | | |
| | | 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; |
| | | |
| | | /** |
| | | * 创建时间 |
| | | */ |
| | | @TableField("create_time") |
| | | private Date createTime; |
| | | |
| | | |
| | | @Override |
| | | protected Serializable pkVal() { |
| | | return this.id; |
| | | } |
| | | |
| | | } |
| | |
| | | @TableField("follow_id") |
| | | private Long followId; |
| | | /** |
| | | * 跟进来源1商户2客户 |
| | | * 跟进来源1商户-商户2商户-客户3平台-商户4员工-商户 |
| | | */ |
| | | @TableField("follow_from") |
| | | private Integer followFrom; |
| | |
| | | @ApiModelProperty(value = "回复内容") |
| | | private String replayContent; |
| | | |
| | | |
| | | @ApiModelProperty(value = "创建时间") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date createTime; |
New file |
| | |
| | | package com.ruoyi.shop.domain.vo; |
| | | |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | 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 MgtAgencyTaskRecordPageVo { |
| | | |
| | | @ApiModelProperty(value = "商户id") |
| | | private Long userId; |
| | | |
| | | @ApiModelProperty(value = "用户名称") |
| | | private String userName; |
| | | |
| | | @ApiModelProperty(value = "用户头像") |
| | | private String userPicture; |
| | | |
| | | @ApiModelProperty(value = "跟进id") |
| | | private Long followId; |
| | | |
| | | @ApiModelProperty(value = "任务id") |
| | | private String taskId; |
| | | |
| | | @ApiModelProperty(value = "创建时间") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date createTime; |
| | | |
| | | @ApiModelProperty("跟踪类型1电话2手动") |
| | | private Integer followType; |
| | | |
| | | @ApiModelProperty("电话时间") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date callTime; |
| | | |
| | | @ApiModelProperty("跟踪内容") |
| | | private String followContent; |
| | | |
| | | @ApiModelProperty("拨打电话") |
| | | private String callPhone; |
| | | |
| | | @ApiModelProperty("跟进图片地址") |
| | | private List<String> picture; |
| | | |
| | | @ApiModelProperty("跟进视频地址") |
| | | private List<String> video; |
| | | |
| | | @ApiModelProperty("跟进音频地址") |
| | | private List<String> audio; |
| | | } |
New file |
| | |
| | | package com.ruoyi.shop.domain.vo; |
| | | |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | 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 MgtShopTaskRecordPageVo { |
| | | |
| | | @ApiModelProperty(value = "商户id") |
| | | private Long userId; |
| | | |
| | | @ApiModelProperty(value = "用户名称") |
| | | private String userName; |
| | | |
| | | @ApiModelProperty(value = "用户头像") |
| | | private String userPicture; |
| | | |
| | | @ApiModelProperty(value = "跟进id") |
| | | private Long followId; |
| | | |
| | | @ApiModelProperty(value = "任务id") |
| | | private String taskId; |
| | | |
| | | @ApiModelProperty(value = "创建时间") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date createTime; |
| | | |
| | | @ApiModelProperty("跟踪类型1电话2手动") |
| | | private Integer followType; |
| | | |
| | | @ApiModelProperty("电话时间") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date callTime; |
| | | |
| | | @ApiModelProperty("跟踪内容") |
| | | private String followContent; |
| | | |
| | | @ApiModelProperty("拨打电话") |
| | | private String callPhone; |
| | | |
| | | @ApiModelProperty("跟进图片地址") |
| | | private List<String> picture; |
| | | |
| | | @ApiModelProperty("跟进视频地址") |
| | | private List<String> video; |
| | | |
| | | @ApiModelProperty("跟进音频地址") |
| | | private List<String> audio; |
| | | } |
| | |
| | | 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.dto.MgtShopTaskPageDto; |
| | | import com.ruoyi.shop.domain.pojo.task.AgencyTaskRecord; |
| | | import com.ruoyi.shop.domain.vo.MerAgencyTaskRecordPageVo; |
| | | import com.ruoyi.shop.domain.vo.MgtAgencyTaskRecordPageVo; |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | | import java.util.List; |
| | |
| | | * @return |
| | | */ |
| | | List<MerAgencyTaskRecordPageVo> pageMerAgencyTaskRecord (Page page, @Param("param") MerAgencyTaskPageDto merAgencyTaskPageDto); |
| | | |
| | | /** |
| | | * 平台分页获取代理商跟进任务 |
| | | * @param page |
| | | * @return |
| | | */ |
| | | List<MgtAgencyTaskRecordPageVo> pageMgtAgencyFollow(Page page, @Param("param")MgtShopTaskPageDto mgtShopTaskPageDto); |
| | | } |
| | |
| | | |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ruoyi.shop.domain.dto.MerMemberTaskPageDto; |
| | | import com.ruoyi.shop.domain.dto.MgtMemberTaskPageDto; |
| | | import com.ruoyi.shop.domain.pojo.task.MemberTaskRecord; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.ruoyi.shop.domain.vo.MerMemberTaskRecordPageVo; |
| | |
| | | * @param page |
| | | * @return |
| | | */ |
| | | List<MgtMemberFollowPageVo> pageMgtMemberFollow(Page page); |
| | | List<MgtMemberFollowPageVo> pageMgtMemberFollow(Page page, @Param("param")MgtMemberTaskPageDto mgtMemberTaskPageDto); |
| | | } |
| | |
| | | package com.ruoyi.shop.mapper.task; |
| | | |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ruoyi.shop.domain.dto.MgtShopTaskPageDto; |
| | | import com.ruoyi.shop.domain.pojo.task.ShopTask; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.ruoyi.shop.domain.vo.MgtShopTaskRecordPageVo; |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | */ |
| | | public interface ShopTaskMapper extends BaseMapper<ShopTask> { |
| | | |
| | | |
| | | } |
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.MgtShopTaskPageDto; |
| | | import com.ruoyi.shop.domain.pojo.task.ShopTaskRecord; |
| | | import com.ruoyi.shop.domain.vo.MgtShopTaskRecordPageVo; |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * <p> |
| | | * 会员跟进任务记录 Mapper 接口 |
| | | * </p> |
| | | * |
| | | * @author jqs |
| | | * @since 2023-06-01 |
| | | */ |
| | | public interface ShopTaskRecordMapper extends BaseMapper<ShopTaskRecord> { |
| | | |
| | | |
| | | /** |
| | | * 平台分页获取平台跟进任务 |
| | | * @param page |
| | | * @return |
| | | */ |
| | | List<MgtShopTaskRecordPageVo> pageMgtShopFollow(Page page, @Param("param") MgtShopTaskPageDto mgtShopTaskPageDto); |
| | | } |
| | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ruoyi.common.core.utils.DateUtils; |
| | | import com.ruoyi.common.core.utils.uuid.IdUtils; |
| | | import com.ruoyi.shop.domain.dto.*; |
| | | import com.ruoyi.shop.domain.pojo.shop.*; |
| | |
| | | Shop shop = new Shop(); |
| | | if(MGTEditShopDto.getShopId()!=null){ |
| | | shop = this.getById(MGTEditShopDto.getShopId()); |
| | | shop.setUpdateTime(new Date()); |
| | | shop.setUpdateTime(DateUtils.getNowDate()); |
| | | shop.setUpdateUserId(MGTEditShopDto.getUserId()); |
| | | shop.setShopTags(null); |
| | | //清空关联记录 |
| | |
| | | shopStaffService.clearShopStaffRelation(shop.getShopId()); |
| | | }else{ |
| | | shop.setShopStatus(2); |
| | | shop.setCreateTime(new Date()); |
| | | shop.setCreateTime(DateUtils.getNowDate()); |
| | | shop.setCreateUserId(MGTEditShopDto.getUserId()); |
| | | } |
| | | BeanUtils.copyProperties(MGTEditShopDto,shop); |
| | |
| | | try { |
| | | Date coopStartDate = simpleDateFormat.parse(coopStartTime); |
| | | Date coopEndDate = simpleDateFormat.parse(coopEndTime); |
| | | Date nowTime = new Date(); |
| | | Date nowTime = DateUtils.getNowDate(); |
| | | shop.setCooperationStartTime(coopStartDate); |
| | | shop.setCooperationEndTime(coopEndDate); |
| | | Boolean inTime = false; |
| | |
| | | |
| | | 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.shop.domain.dto.MerShopSuggestDto; |
| | | import com.ruoyi.shop.domain.pojo.shop.ShopSuggest; |
| | | import com.ruoyi.shop.domain.vo.MerShopSuggestVo; |
| | |
| | | shopSuggest.setCreateUserId(merShopSuggestDto.getUserId()); |
| | | shopSuggest.setShopId(merShopSuggestDto.getShopId()); |
| | | shopSuggest.setSuggestContent(merShopSuggestDto.getSuggestContent()); |
| | | shopSuggest.setCreateTime(new Date()); |
| | | shopSuggest.setCreateTime(DateUtils.getNowDate()); |
| | | this.save(shopSuggest); |
| | | } |
| | | } |
| | |
| | | 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.dto.MgtShopTaskPageDto; |
| | | 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; |
| | | |
| | | import javax.annotation.Resource; |
| | |
| | | |
| | | @Resource |
| | | private TaskFileService taskFileService; |
| | | |
| | | @Resource |
| | | private RemoteUserService remoteUserService; |
| | | /** |
| | | * |
| | | * @param page |
| | |
| | | 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); |
| | |
| | | return merAgencyTaskRecordPageVoList; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 平台分页获取代理商跟进任务 |
| | | * @param page |
| | | * @return |
| | | */ |
| | | @Override |
| | | public List<MgtAgencyTaskRecordPageVo> pageMgtAgencyFollow(Page page, MgtShopTaskPageDto mgtShopTaskPageDto){ |
| | | List<MgtAgencyTaskRecordPageVo> mgtAgencyTaskRecordPageVoList = agencyTaskRecordMapper.pageMgtAgencyFollow(page, mgtShopTaskPageDto); |
| | | if(mgtAgencyTaskRecordPageVoList!=null&&!mgtAgencyTaskRecordPageVoList.isEmpty()){ |
| | | Long followId; |
| | | List<TaskFile> taskFileList; |
| | | List<String> picture = new ArrayList<>(); |
| | | List<String> video = new ArrayList<>(); |
| | | List<String> audio = new ArrayList<>(); |
| | | Long userId; |
| | | SysUser sysUser; |
| | | for(MgtAgencyTaskRecordPageVo mgtAgencyTaskRecordPageVo : mgtAgencyTaskRecordPageVoList){ |
| | | //获取任务用户信息 |
| | | userId = mgtAgencyTaskRecordPageVo.getUserId(); |
| | | sysUser = remoteUserService.getSysUser(userId).getData(); |
| | | mgtAgencyTaskRecordPageVo.setUserName(sysUser.getNickName()); |
| | | mgtAgencyTaskRecordPageVo.setUserPicture(sysUser.getAvatar()); |
| | | //获取任务详情文件 |
| | | followId = mgtAgencyTaskRecordPageVo.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()); |
| | | } |
| | | mgtAgencyTaskRecordPageVo.setPicture(picture); |
| | | mgtAgencyTaskRecordPageVo.setVideo(video); |
| | | mgtAgencyTaskRecordPageVo.setAudio(audio); |
| | | } |
| | | } |
| | | return mgtAgencyTaskRecordPageVoList; |
| | | } |
| | | } |
| | |
| | | import com.ruoyi.shop.mapper.task.AgencyTaskMapper; |
| | | import com.ruoyi.shop.service.task.AgencyTaskRecordService; |
| | | import com.ruoyi.shop.service.task.AgencyTaskService; |
| | | import com.ruoyi.shop.service.task.TaskFileService; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.annotation.Resource; |
| | |
| | | |
| | | @Resource |
| | | private AgencyTaskRecordService agencyTaskRecordService; |
| | | |
| | | @Resource |
| | | private TaskFileService taskFileService; |
| | | /** |
| | | * |
| | | * @param page |
| | |
| | | */ |
| | | @Override |
| | | public List<MerAgencyTaskPageVo> pageMerAgencyTask(Page page, MerAgencyTaskPageDto merAgencyTaskPageDto){ |
| | | String nowDay = DateUtils.parseDateToStr("YYYY-MM-dd",new Date()); |
| | | String nowDay = DateUtils.parseDateToStr("YYYY-MM-dd",DateUtils.getNowDate()); |
| | | merAgencyTaskPageDto.setNowDay(nowDay); |
| | | List<MerAgencyTaskPageVo> merAgencyTaskPageVoList = agencyTaskMapper.pageMerAgencyTask(page, merAgencyTaskPageDto); |
| | | return merAgencyTaskPageVoList; |
| | |
| | | public void createAgencyTask(MerCreateAgencyTaskDto merCreateAgencyTaskDto){ |
| | | |
| | | AgencyTask agencyTask = new AgencyTask(); |
| | | String taskId = IdUtils.fastUUID(); |
| | | String taskId = IdUtils.simpleUUID(); |
| | | agencyTask.setTaskId(taskId); |
| | | agencyTask.setDelFlag(0); |
| | | agencyTask.setTaskStatus(0); |
| | |
| | | agencyTask.setAgencyId(merCreateAgencyTaskDto.getAgencyId()); |
| | | agencyTask.setTaskDate(merCreateAgencyTaskDto.getTaskDate()); |
| | | agencyTask.setTaskContent(merCreateAgencyTaskDto.getTaskContent()); |
| | | agencyTask.setCreateTime(new Date()); |
| | | agencyTask.setCreateTime(DateUtils.getNowDate()); |
| | | this.saveOrUpdate(agencyTask); |
| | | } |
| | | |
| | |
| | | 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()); |
| | | agencyTaskRecord.setFollowContent(merFollowAgencyTaskDto.getFollowContent()); |
| | | agencyTaskRecord.setCreateTime(DateUtils.getNowDate()); |
| | | agencyTaskRecordService.saveOrUpdate(agencyTaskRecord); |
| | | //创建任务详情文件 |
| | | String picture = merFollowAgencyTaskDto.getPicture(); |
| | | String video = merFollowAgencyTaskDto.getVideo(); |
| | | String audio = merFollowAgencyTaskDto.getAudio(); |
| | |
| | | taskFile.setFollowFrom(2); |
| | | taskFile.setFileUrl(str); |
| | | taskFile.setFileType(1); |
| | | taskFileService.saveOrUpdate(taskFile); |
| | | } |
| | | } |
| | | if(StringUtils.isNotBlank(video)){ |
| | |
| | | taskFile.setFollowFrom(2); |
| | | taskFile.setFileUrl(str); |
| | | taskFile.setFileType(2); |
| | | taskFileService.saveOrUpdate(taskFile); |
| | | |
| | | } |
| | | } |
| | | if(StringUtils.isNotBlank(audio)){ |
| | |
| | | taskFile.setFollowFrom(2); |
| | | taskFile.setFileUrl(str); |
| | | taskFile.setFileType(3); |
| | | taskFileService.saveOrUpdate(taskFile); |
| | | } |
| | | } |
| | | //创建新任务 |
| | | if(StringUtils.isNotBlank(merFollowAgencyTaskDto.getNextTaskDate())){ |
| | | AgencyTask agencyTask = new AgencyTask(); |
| | | String taskId = IdUtils.fastUUID(); |
| | | String taskId = IdUtils.simpleUUID(); |
| | | agencyTask.setTaskId(taskId); |
| | | agencyTask.setDelFlag(0); |
| | | agencyTask.setShopId(oldAgencyTask.getShopId()); |
| | |
| | | agencyTask.setTaskDate(merFollowAgencyTaskDto.getNextTaskDate()); |
| | | agencyTask.setTaskContent(merFollowAgencyTaskDto.getNextTaskContent()); |
| | | agencyTask.setTaskStatus(2); |
| | | agencyTask.setCreateTime(new Date()); |
| | | agencyTask.setCreateTime(DateUtils.getNowDate()); |
| | | this.saveOrUpdate(agencyTask); |
| | | } |
| | | |
| | |
| | | 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.MerMemberTaskPageDto; |
| | | import com.ruoyi.shop.domain.dto.MgtMemberTaskPageDto; |
| | | import com.ruoyi.shop.domain.pojo.task.MemberTaskRecord; |
| | | import com.ruoyi.shop.domain.pojo.task.TaskFile; |
| | | import com.ruoyi.shop.domain.vo.MerMemberTaskRecordPageVo; |
| | |
| | | import com.ruoyi.shop.mapper.task.MemberTaskRecordMapper; |
| | | import com.ruoyi.shop.service.shop.ShopService; |
| | | 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 com.ruoyi.system.api.domain.poji.shop.Shop; |
| | | import com.ruoyi.system.api.service.RemoteShopService; |
| | | 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; |
| | | |
| | | /** |
| | |
| | | * @return |
| | | */ |
| | | @Override |
| | | public List<MgtMemberFollowPageVo> pageMgtMemberFollow(Page page){ |
| | | List<MgtMemberFollowPageVo> mgtMemberFollowPageVoList = memberTaskRecordMapper.pageMgtMemberFollow(page); |
| | | public List<MgtMemberFollowPageVo> pageMgtMemberFollow(Page page, MgtMemberTaskPageDto mgtMemberTaskPageDto){ |
| | | List<MgtMemberFollowPageVo> mgtMemberFollowPageVoList = memberTaskRecordMapper.pageMgtMemberFollow(page, mgtMemberTaskPageDto); |
| | | if(mgtMemberFollowPageVoList!=null&&!mgtMemberFollowPageVoList.isEmpty()){ |
| | | Long followId; |
| | | List<TaskFile> taskFileList; |
| | | List<String> picture = new ArrayList<>(); |
| | | List<String> video = new ArrayList<>(); |
| | | List<String> audio = new ArrayList<>(); |
| | | Long shopId; |
| | | Shop shop; |
| | | for(MgtMemberFollowPageVo mgtMemberFollowPageVo : mgtMemberFollowPageVoList){ |
| | | followId = mgtMemberFollowPageVo.getFollowId(); |
| | | taskFileList = taskFileService.listByFollowIdAndFollowType(followId,1); |
| | |
| | | import com.ruoyi.shop.service.task.MemberTaskRecordService; |
| | | import com.ruoyi.shop.service.task.MemberTaskService; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ruoyi.shop.service.task.TaskFileService; |
| | | import com.ruoyi.system.api.service.RemoteMemberService; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | |
| | | |
| | | @Resource |
| | | private RemoteMemberService remoteMemberService; |
| | | |
| | | @Resource |
| | | private TaskFileService taskFileService; |
| | | |
| | | |
| | | /** |
| | | * |
| | | * @param page |
| | |
| | | */ |
| | | @Override |
| | | public List<MerMemberTaskPageVo> pageMerMemberTask(Page page, MerMemberTaskPageDto merMemberTaskPageDto){ |
| | | String today = DateUtils.parseDateToStr("YYYY-MM-DD",new Date()); |
| | | String today = DateUtils.parseDateToStr("YYYY-MM-DD",DateUtils.getNowDate()); |
| | | List<MerMemberTaskPageVo> merMemberTaskPageVoList = memberTaskMapper.pageMerMemberTask(page, merMemberTaskPageDto); |
| | | if(merMemberTaskPageVoList!=null&&!merMemberTaskPageVoList.isEmpty()){ |
| | | String taskDate; |
| | |
| | | @Override |
| | | public void createMemberTask(MerCreateMemberTaskDto merCreateMemberTaskDto){ |
| | | MemberTask memberTask = new MemberTask(); |
| | | String taskId = IdUtils.fastUUID(); |
| | | String taskId = IdUtils.simpleUUID(); |
| | | memberTask.setTaskId(taskId); |
| | | memberTask.setDelFlag(0); |
| | | memberTask.setTaskStatus(0); |
| | |
| | | memberTask.setUserId(merCreateMemberTaskDto.getMemberUserId()); |
| | | memberTask.setTaskDate(merCreateMemberTaskDto.getTaskDate()); |
| | | memberTask.setTaskContent(merCreateMemberTaskDto.getTaskContent()); |
| | | memberTask.setCreateTime(new Date()); |
| | | memberTask.setCreateTime(DateUtils.getNowDate()); |
| | | this.saveOrUpdate(memberTask); |
| | | } |
| | | |
| | |
| | | memberTaskRecord.setFollowType(merFollowMemberTaskDto.getFollowType()); |
| | | memberTaskRecord.setCallPhone(merFollowMemberTaskDto.getCallPhone()); |
| | | memberTaskRecord.setCallTime(merFollowMemberTaskDto.getCallTime()); |
| | | memberTaskRecord.setFollowContent(merFollowMemberTaskDto.getFollowContent()); |
| | | memberTaskRecord.setCreateTime(DateUtils.getNowDate()); |
| | | memberTaskRecordService.saveOrUpdate(memberTaskRecord); |
| | | String picture = merFollowMemberTaskDto.getPicture(); |
| | | String video = merFollowMemberTaskDto.getVideo(); |
| | |
| | | taskFile.setFollowFrom(2); |
| | | taskFile.setFileUrl(str); |
| | | taskFile.setFileType(1); |
| | | taskFileService.saveOrUpdate(taskFile); |
| | | } |
| | | } |
| | | if(StringUtils.isNotBlank(video)){ |
| | |
| | | taskFile.setFollowFrom(2); |
| | | taskFile.setFileUrl(str); |
| | | taskFile.setFileType(2); |
| | | taskFileService.saveOrUpdate(taskFile); |
| | | } |
| | | } |
| | | if(StringUtils.isNotBlank(audio)){ |
| | |
| | | taskFile.setFollowFrom(2); |
| | | taskFile.setFileUrl(str); |
| | | taskFile.setFileType(3); |
| | | taskFileService.saveOrUpdate(taskFile); |
| | | } |
| | | } |
| | | if(StringUtils.isNotBlank(merFollowMemberTaskDto.getNextTaskDate())){ |
| | | MemberTask memberTask = new MemberTask(); |
| | | String taskId = IdUtils.fastUUID(); |
| | | String taskId = IdUtils.simpleUUID(); |
| | | memberTask.setTaskId(taskId); |
| | | memberTask.setDelFlag(0); |
| | | memberTask.setShopId(oldMemberTask.getShopId()); |
| | |
| | | memberTask.setTaskDate(merFollowMemberTaskDto.getNextTaskDate()); |
| | | memberTask.setTaskContent(merFollowMemberTaskDto.getNextTaskContent()); |
| | | memberTask.setTaskStatus(2); |
| | | memberTask.setCreateTime(new Date()); |
| | | memberTask.setCreateTime(DateUtils.getNowDate()); |
| | | this.saveOrUpdate(memberTask); |
| | | } |
| | | } |
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.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; |
| | | import com.ruoyi.system.api.domain.poji.sys.SysUser; |
| | | import com.ruoyi.system.api.service.RemoteUserService; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * <p> |
| | | * 会员跟进任务记录 服务实现类 |
| | | * </p> |
| | | * |
| | | * @author jqs |
| | | * @since 2023-06-01 |
| | | */ |
| | | @Service |
| | | public class ShopTaskRecordServiceImpl extends ServiceImpl<ShopTaskRecordMapper, ShopTaskRecord> implements ShopTaskRecordService { |
| | | |
| | | @Resource |
| | | private ShopTaskRecordMapper shopTaskRecordMapper; |
| | | |
| | | @Resource |
| | | private TaskFileService taskFileService; |
| | | |
| | | @Resource |
| | | private RemoteUserService remoteUserService; |
| | | |
| | | /** |
| | | * 平台分页获取平台跟进任务 |
| | | * @param page |
| | | * @return |
| | | */ |
| | | @Override |
| | | public List<MgtShopTaskRecordPageVo> pageMgtShopFollow(Page page, MgtShopTaskPageDto mgtShopTaskPageDto){ |
| | | List<MgtShopTaskRecordPageVo> mgtShopTaskRecordPageVoList = shopTaskRecordMapper.pageMgtShopFollow(page, mgtShopTaskPageDto); |
| | | if(mgtShopTaskRecordPageVoList!=null&&!mgtShopTaskRecordPageVoList.isEmpty()){ |
| | | Long followId; |
| | | List<TaskFile> taskFileList; |
| | | List<String> picture = new ArrayList<>(); |
| | | List<String> video = new ArrayList<>(); |
| | | List<String> audio = new ArrayList<>(); |
| | | Long userId; |
| | | SysUser sysUser; |
| | | for(MgtShopTaskRecordPageVo mgtShopTaskRecordPageVo : mgtShopTaskRecordPageVoList){ |
| | | //获取任务用户信息 |
| | | userId = mgtShopTaskRecordPageVo.getUserId(); |
| | | sysUser = remoteUserService.getSysUser(userId).getData(); |
| | | mgtShopTaskRecordPageVo.setUserName(sysUser.getNickName()); |
| | | mgtShopTaskRecordPageVo.setUserPicture(sysUser.getAvatar()); |
| | | //获取任务详情文件 |
| | | followId = mgtShopTaskRecordPageVo.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()); |
| | | } |
| | | mgtShopTaskRecordPageVo.setPicture(picture); |
| | | mgtShopTaskRecordPageVo.setVideo(video); |
| | | mgtShopTaskRecordPageVo.setAudio(audio); |
| | | } |
| | | } |
| | | return mgtShopTaskRecordPageVoList; |
| | | } |
| | | |
| | | |
| | | |
| | | } |
| | |
| | | package com.ruoyi.shop.service.impl.task; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | 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.MgtFollowShopTaskDto; |
| | | import com.ruoyi.shop.domain.dto.MgtShopTaskPageDto; |
| | | import com.ruoyi.shop.domain.pojo.task.ShopTask; |
| | | import com.ruoyi.shop.domain.pojo.task.ShopTaskRecord; |
| | | import com.ruoyi.shop.domain.pojo.task.TaskFile; |
| | | import com.ruoyi.shop.domain.vo.MgtShopTaskRecordPageVo; |
| | | import com.ruoyi.shop.mapper.task.ShopTaskMapper; |
| | | import com.ruoyi.shop.service.task.ShopTaskRecordService; |
| | | import com.ruoyi.shop.service.task.ShopTaskService; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ruoyi.shop.service.task.TaskFileService; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.annotation.Resource; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | @Service |
| | | public class ShopTaskServiceImpl extends ServiceImpl<ShopTaskMapper, ShopTask> implements ShopTaskService { |
| | | |
| | | @Resource |
| | | private ShopTaskMapper shopTaskMapper; |
| | | |
| | | @Resource |
| | | private ShopTaskRecordService shopTaskRecordService; |
| | | |
| | | @Resource |
| | | private TaskFileService taskFileService; |
| | | |
| | | |
| | | |
| | | /** |
| | | * 平台跟进商户 |
| | | * @param mgtFollowShopTaskDto |
| | | */ |
| | | @Override |
| | | public void followShopTask(MgtFollowShopTaskDto mgtFollowShopTaskDto){ |
| | | //创建本次任务 |
| | | ShopTask shopTask = new ShopTask(); |
| | | String taskId = IdUtils.simpleUUID(); |
| | | shopTask.setTaskId(taskId); |
| | | shopTask.setDelFlag(0); |
| | | shopTask.setShopId(mgtFollowShopTaskDto.getShopId()); |
| | | shopTask.setFollowType(mgtFollowShopTaskDto.getFollowType()); |
| | | shopTask.setNextFollowDate(DateUtils.getDate()); |
| | | shopTask.setTaskTitle(mgtFollowShopTaskDto.getNextTaskTitle()); |
| | | shopTask.setEmergencyState(mgtFollowShopTaskDto.getEmergencyState()); |
| | | shopTask.setCreateTime(DateUtils.getNowDate()); |
| | | this.saveOrUpdate(shopTask); |
| | | //创建任务记录 |
| | | ShopTaskRecord shopTaskRecord = new ShopTaskRecord(); |
| | | shopTaskRecord.setDelFlag(0); |
| | | shopTaskRecord.setTaskId(taskId); |
| | | shopTaskRecord.setUserId(mgtFollowShopTaskDto.getUserId()); |
| | | shopTaskRecord.setFollowType(2); |
| | | shopTaskRecord.setFollowContent(mgtFollowShopTaskDto.getFollowContent()); |
| | | shopTaskRecord.setCreateTime(DateUtils.getNowDate()); |
| | | shopTaskRecordService.saveOrUpdate(shopTaskRecord); |
| | | //创建任务文件 |
| | | String picture = mgtFollowShopTaskDto.getPicture(); |
| | | String[] strArr; |
| | | TaskFile taskFile; |
| | | if(StringUtils.isNotBlank(picture)){ |
| | | strArr = picture.split(","); |
| | | for(String str : strArr){ |
| | | taskFile = new TaskFile(); |
| | | taskFile.setDelFlag(0); |
| | | taskFile.setFollowId(shopTaskRecord.getId()); |
| | | taskFile.setFollowFrom(3); |
| | | taskFile.setFileUrl(str); |
| | | taskFile.setFileType(1); |
| | | taskFileService.saveOrUpdate(taskFile); |
| | | } |
| | | } |
| | | //创建下一次任务 |
| | | ShopTask shopNextTask = new ShopTask(); |
| | | String nextTaskId = IdUtils.simpleUUID(); |
| | | shopNextTask.setTaskId(nextTaskId); |
| | | 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(DateUtils.getNowDate()); |
| | | this.saveOrUpdate(shopNextTask); |
| | | } |
| | | |
| | | |
| | | } |
| | |
| | | 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.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; |
| | | |
| | |
| | | * @return |
| | | */ |
| | | List<MerAgencyTaskRecordPageVo> pageMerAgencyTaskRecord (Page page, MerAgencyTaskPageDto merAgencyTaskPageDto); |
| | | |
| | | |
| | | /** |
| | | * 平台分页获取代理商跟进任务 |
| | | * @param page |
| | | * @return |
| | | */ |
| | | List<MgtAgencyTaskRecordPageVo> pageMgtAgencyFollow(Page page, MgtShopTaskPageDto mgtShopTaskPageDto); |
| | | } |
| | |
| | | |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ruoyi.shop.domain.dto.MerMemberTaskPageDto; |
| | | import com.ruoyi.shop.domain.dto.MgtMemberTaskPageDto; |
| | | import com.ruoyi.shop.domain.pojo.task.MemberTaskRecord; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.ruoyi.shop.domain.vo.MerMemberTaskRecordPageVo; |
| | |
| | | * @param page |
| | | * @return |
| | | */ |
| | | List<MgtMemberFollowPageVo> pageMgtMemberFollow(Page page); |
| | | List<MgtMemberFollowPageVo> pageMgtMemberFollow(Page page, MgtMemberTaskPageDto mgtMemberTaskPageDto); |
| | | } |
New file |
| | |
| | | package com.ruoyi.shop.service.task; |
| | | |
| | | 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.baomidou.mybatisplus.extension.service.IService; |
| | | import com.ruoyi.shop.domain.vo.MgtShopTaskRecordPageVo; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * <p> |
| | | * 会员跟进任务记录 服务类 |
| | | * </p> |
| | | * |
| | | * @author jqs |
| | | * @since 2023-06-01 |
| | | */ |
| | | public interface ShopTaskRecordService extends IService<ShopTaskRecord> { |
| | | |
| | | |
| | | /** |
| | | * 平台分页获取平台跟进任务 |
| | | * @param page |
| | | * @return |
| | | */ |
| | | List<MgtShopTaskRecordPageVo> pageMgtShopFollow(Page page, MgtShopTaskPageDto mgtShopTaskPageDto); |
| | | } |
| | |
| | | package com.ruoyi.shop.service.task; |
| | | |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ruoyi.shop.domain.dto.MgtFollowShopTaskDto; |
| | | import com.ruoyi.shop.domain.dto.MgtShopTaskPageDto; |
| | | import com.ruoyi.shop.domain.pojo.task.ShopTask; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.ruoyi.shop.domain.vo.MgtAgencyTaskRecordPageVo; |
| | | import com.ruoyi.shop.domain.vo.MgtShopTaskRecordPageVo; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | */ |
| | | public interface ShopTaskService extends IService<ShopTask> { |
| | | |
| | | /** |
| | | * 平台跟进商户 |
| | | * @param mgtFollowShopTaskDto |
| | | */ |
| | | void followShopTask(MgtFollowShopTaskDto mgtFollowShopTaskDto); |
| | | |
| | | |
| | | } |
| | |
| | | LEFT JOIN sys_user sub ON sub.user_id = ts.belong_user_id |
| | | LEFT JOIN sys_dept sd ON sub.dept_id = sd.dept_id |
| | | LEFT JOIN t_shop_marketing tsm ON tsm.shop_id = ts.shop_id |
| | | |
| | | WHERE ts.del_flag = 0 |
| | | <if test="param.shopProvinceCode!=null and param.shopProvinceCode!=''"> |
| | | AND ts.shop_province_code = #{param.shopProvinceCode} |
| | | </if> |
| | | <if test="param.shopCityCode!=null and param.shopCityCode!=''"> |
| | | AND ts.shop_city_code = #{param.shopCityCode} |
| | | </if> |
| | | <if test="param.shopAreaCode!=null and param.shopAreaCode!=''"> |
| | | AND ts.shop_area_code = #{param.shopAreaCode} |
| | | </if> |
| | | <if test="param.signTime!=null and param.signTime!=''"> |
| | | AND ts.sign_time = #{param.signTime} |
| | | </if> |
| | | <if test="param.signProvinceCode!=null and param.signProvinceCode!=''"> |
| | | AND ts.sign_province_code = #{param.signProvinceCode} |
| | | </if> |
| | | <if test="param.signCityCode!=null and param.signCityCode!=''"> |
| | | AND ts.sign_city_code = #{param.signCityCode} |
| | | </if> |
| | | <if test="param.signAreaCode!=null and param.signAreaCode!=''"> |
| | | AND ts.sign_area_code = #{param.signAreaCode} |
| | | </if> |
| | | <if test="param.shopStatus!=null and param.shopStatus!=''"> |
| | | AND ts.shop_status = #{param.shopStatus} |
| | | </if> |
| | | <if test="param.recommendPerson!=null and param.recommendPerson!=''"> |
| | | AND ts.recommend_person = #{param.recommendPerson} |
| | | </if> |
| | | <if test="param.belongUserId!=null and param.belongUserId!=''"> |
| | | AND ts.belong_user_id = #{param.belongUserId} |
| | | </if> |
| | | <if test="param.shopSource!=null and param.shopSource!=''"> |
| | | AND ts.shop_source = #{param.shopSource} |
| | | </if> |
| | | <if test="param.shopCustomStatus!=null and param.shopCustomStatus!=''"> |
| | | AND AND FIND_IN_SET(#{param.shopCustomStatus},ts.shop_custom_status) |
| | | </if> |
| | | <if test="param.expireFlag!=null and param.expireFlag!=''"> |
| | | AND ts.shop_status = 2 |
| | | </if> |
| | | <if test="param.shopTags!=null and param.shopTags!=''"> |
| | | AND FIND_IN_SET(#{param.shopTags},ts.shop_tags) |
| | | </if> |
| | | <if test="param.supportingCapacityFlag!=null and param.supportingCapacityFlag!=''"> |
| | | AND ts.supporting_capacity_flag = #{param.supportingCapacityFlag} |
| | | </if> |
| | | <if test="param.operationPersonFlag!=null and param.operationPersonFlag!=''"> |
| | | AND ts.operation_person_flag = #{param.operationPersonFlag} |
| | | </if> |
| | | <if test="param.executiveForceFlag!=null and param.executiveForceFlag!=''"> |
| | | AND ts.executive_force_flag = #{param.executiveForceFlag} |
| | | </if> |
| | | <if test="param.patternFlag!=null and param.patternFlag!=''"> |
| | | AND ts.pattern_flag = #{param.patternFlag} |
| | | </if> |
| | | <if test="param.connectionFlag!=null and param.connectionFlag!=''"> |
| | | AND ts.connection_flag = #{param.connectionFlag} |
| | | </if> |
| | | <if test="param.economicAbilityFlag!=null and param.economicAbilityFlag!=''"> |
| | | AND ts.economic_ability_flag = #{param.economicAbilityFlag} |
| | | </if> |
| | | <if test="param.relationPartner!=null and param.relationPartner!=''"> |
| | | AND ts.relation_partner = #{param.relationPartner} |
| | | </if> |
| | | <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},'%') OR ts.shopNumber LIKE CONCAT('%',#{param.keyword},'%')) |
| | | </if> |
| | | </select> |
| | | |
| | | |
| | |
| | | WHERE tmt.del_flag = 0 AND tmt.shop_id = #{param.shopId} AND tmt.agency_id = #{param.agencyId} |
| | | ORDER BY tmt.task_date DESC |
| | | </select> |
| | | |
| | | <select id="pageMgtAgencyFollow" resultType="com.ruoyi.shop.domain.vo.MgtAgencyTaskRecordPageVo"> |
| | | SELECT |
| | | tmtr.user_id userId, |
| | | tmtr.id followId, |
| | | tmtr.task_id taskId, |
| | | tmt.create_time createTime, |
| | | tmtr.follow_type followType, |
| | | tmtr.call_time callTime, |
| | | tmtr.follow_content followContent, |
| | | tmtr.call_phone callPhone |
| | | FROM t_agency_task tmt |
| | | 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} |
| | | ORDER BY tmt.task_date DESC |
| | | </select> |
| | | </mapper> |
| | |
| | | <result property="taskId" column="task_id" /> |
| | | <result property="delFlag" column="del_flag" /> |
| | | <result property="shopId" column="shop_id" /> |
| | | <result property="followTypeId" column="follow_type_id" /> |
| | | <result property="followType" column="follow_type" /> |
| | | <result property="followContent" column="follow_content" /> |
| | | <result property="nextFollowDate" column="next_follow_date" /> |
| | | <result property="taskTitle" column="task_title" /> |
| | | <result property="emergencyStateId" column="emergency_state_id" /> |
| | | <result property="emergencyState" column="emergency_state" /> |
| | | <result property="createTime" column="create_time" /> |
| | | </resultMap> |
| | | |
| | | <sql id="selectShopTaskVo"> |
| | | select task_id, del_flag, shop_id, follow_type_id, follow_content, next_follow_date, task_title, emergency_state_id, create_time from t_shop_task |
| | | select task_id, del_flag, shop_id, follow_type, follow_content, next_follow_date, task_title, emergency_state, create_time from t_shop_task |
| | | </sql> |
| | | |
| | | <select id="selectShopTaskList" parameterType="ShopTask" resultMap="ShopTaskResult"> |
| | | <include refid="selectShopTaskVo"/> |
| | | <where> |
| | | <if test="shopId != null "> and shop_id = #{shopId}</if> |
| | | <if test="followTypeId != null "> and follow_type_id = #{followTypeId}</if> |
| | | <if test="followType != null "> and follow_type = #{followType}</if> |
| | | <if test="followContent != null and followContent != ''"> and follow_content = #{followContent}</if> |
| | | <if test="nextFollowDate != null "> and next_follow_date = #{nextFollowDate}</if> |
| | | <if test="taskTitle != null and taskTitle != ''"> and task_title = #{taskTitle}</if> |
| | | <if test="emergencyStateId != null "> and emergency_state_id = #{emergencyStateId}</if> |
| | | <if test="emergencyState != null "> and emergency_state = #{emergencyState}</if> |
| | | </where> |
| | | </select> |
| | | |
| | |
| | | <if test="taskId != null">task_id,</if> |
| | | <if test="delFlag != null">del_flag,</if> |
| | | <if test="shopId != null">shop_id,</if> |
| | | <if test="followTypeId != null">follow_type_id,</if> |
| | | <if test="followType != null">follow_type,</if> |
| | | <if test="followContent != null">follow_content,</if> |
| | | <if test="nextFollowDate != null">next_follow_date,</if> |
| | | <if test="taskTitle != null">task_title,</if> |
| | | <if test="emergencyStateId != null">emergency_state_id,</if> |
| | | <if test="emergencyState != null">emergency_state,</if> |
| | | <if test="createTime != null">create_time,</if> |
| | | </trim> |
| | | <trim prefix="values (" suffix=")" suffixOverrides=","> |
| | | <if test="taskId != null">#{taskId},</if> |
| | | <if test="delFlag != null">#{delFlag},</if> |
| | | <if test="shopId != null">#{shopId},</if> |
| | | <if test="followTypeId != null">#{followTypeId},</if> |
| | | <if test="followType != null">#{followType},</if> |
| | | <if test="followContent != null">#{followContent},</if> |
| | | <if test="nextFollowDate != null">#{nextFollowDate},</if> |
| | | <if test="taskTitle != null">#{taskTitle},</if> |
| | | <if test="emergencyStateId != null">#{emergencyStateId},</if> |
| | | <if test="emergencyState != null">#{emergencyState},</if> |
| | | <if test="createTime != null">#{createTime},</if> |
| | | </trim> |
| | | </insert> |
| | |
| | | <trim prefix="SET" suffixOverrides=","> |
| | | <if test="delFlag != null">del_flag = #{delFlag},</if> |
| | | <if test="shopId != null">shop_id = #{shopId},</if> |
| | | <if test="followTypeId != null">follow_type_id = #{followTypeId},</if> |
| | | <if test="followType != null">follow_type = #{followType},</if> |
| | | <if test="followContent != null">follow_content = #{followContent},</if> |
| | | <if test="nextFollowDate != null">next_follow_date = #{nextFollowDate},</if> |
| | | <if test="taskTitle != null">task_title = #{taskTitle},</if> |
| | | <if test="emergencyStateId != null">emergency_state_id = #{emergencyStateId},</if> |
| | | <if test="emergencyState != null">emergency_state = #{emergencyState},</if> |
| | | <if test="createTime != null">create_time = #{createTime},</if> |
| | | </trim> |
| | | where task_id = #{taskId} |
| | |
| | | </foreach> |
| | | </delete> |
| | | |
| | | <select id="pageMgtAgencyFollow" resultType="com.ruoyi.shop.domain.vo.MgtAgencyTaskRecordPageVo"> |
| | | SELECT |
| | | tmtr.user_id userId, |
| | | tmtr.id followId, |
| | | tmtr.task_id taskId, |
| | | tmtr.create_time createTime, |
| | | tmtr.follow_type followType, |
| | | tmtr.call_time callTime, |
| | | tmtr.follow_content followContent, |
| | | tmtr.call_phone callPhone |
| | | FROM t_agency_task tmt |
| | | INNER JOIN t_agency_task_record tmtr ON tmtr.task_id = tmt.task_id |
| | | WHERE tmt.del_flag = 0 AND tmt.agency_id = #{param.shopId} |
| | | ORDER BY tmtr.create_time 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.ShopTaskRecordMapper"> |
| | | |
| | | <select id="pageMgtShopFollow" resultType="com.ruoyi.shop.domain.vo.MgtShopTaskRecordPageVo"> |
| | | SELECT |
| | | tmtr.user_id userId, |
| | | tmtr.id followId, |
| | | tmtr.task_id taskId, |
| | | tmtr.create_time createTime, |
| | | CASE tmtr.follow_type WHEN 1 THEN "电话跟进" WHEN 2 THEN "手动跟进" END followType, |
| | | tmtr.follow_content followContent, |
| | | tmtr.call_time callTime, |
| | | 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} |
| | | ORDER BY tmtr.create_time DESC |
| | | </select> |
| | | |
| | | </mapper> |
| | |
| | | |
| | | 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.bean.BeanUtils; |
| | | import com.ruoyi.system.domain.dto.MerRecommendCooperationDto; |
| | | import com.ruoyi.system.domain.dto.MerShopRecommendPageDto; |
| | |
| | | recommendCooperation.setRecommendUserId(merRecommendCooperationDto.getUserId()); |
| | | recommendCooperation.setShopId(merRecommendCooperationDto.getShopId()); |
| | | recommendCooperation.setCorpStatus(1); |
| | | recommendCooperation.setCreateTime(new Date()); |
| | | recommendCooperation.setCreateTime(DateUtils.getNowDate()); |
| | | this.save(recommendCooperation); |
| | | } |
| | | } |
| | |
| | | import javax.validation.Validator; |
| | | |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ruoyi.common.core.utils.DateUtils; |
| | | import com.ruoyi.system.api.domain.dto.AppEditUserDto; |
| | | import org.slf4j.Logger; |
| | | import org.slf4j.LoggerFactory; |
| | |
| | | switch (editType){ |
| | | case 1: |
| | | sysUser.setNickName(editValue); |
| | | sysUser.setUpdateTime(new Date()); |
| | | sysUser.setUpdateTime(DateUtils.getNowDate()); |
| | | sysUser.setUpdateBy(String.valueOf(appEditUserDto.getUserId())); |
| | | userMapper.updateUser(sysUser); |
| | | break; |
| | | case 2: |
| | | sysUser.setAvatar(editValue); |
| | | sysUser.setUpdateTime(new Date()); |
| | | sysUser.setUpdateTime(DateUtils.getNowDate()); |
| | | sysUser.setUpdateBy(String.valueOf(appEditUserDto.getUserId())); |
| | | userMapper.updateUser(sysUser); |
| | | break; |
| | | case 3: |
| | | sysUser.setSex(editValue); |
| | | sysUser.setUpdateTime(new Date()); |
| | | sysUser.setUpdateTime(DateUtils.getNowDate()); |
| | | sysUser.setUpdateBy(String.valueOf(appEditUserDto.getUserId())); |
| | | userMapper.updateUser(sysUser); |
| | | break; |