From f7ea5773570beb5ad8c6efb5c1cf743294ee079b Mon Sep 17 00:00:00 2001 From: wzy <wzy19931122ai@163.com> Date: Sun, 24 Jan 2021 14:16:04 +0800 Subject: [PATCH] modify --- zq-erp/src/main/java/com/matrix/system/app/action/ApiFollowupAction.java | 180 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 180 insertions(+), 0 deletions(-) diff --git a/zq-erp/src/main/java/com/matrix/system/app/action/ApiFollowupAction.java b/zq-erp/src/main/java/com/matrix/system/app/action/ApiFollowupAction.java new file mode 100644 index 0000000..13455fa --- /dev/null +++ b/zq-erp/src/main/java/com/matrix/system/app/action/ApiFollowupAction.java @@ -0,0 +1,180 @@ +package com.matrix.system.app.action; + +import com.matrix.core.constance.MatrixConstance; +import com.matrix.core.pojo.AjaxResult; +import com.matrix.core.tools.StringUtils; +import com.matrix.core.tools.WebUtil; +import com.matrix.system.app.dto.*; +import com.matrix.system.common.bean.SysUsers; +import com.matrix.system.hive.bean.*; +import com.matrix.system.hive.dao.*; +import com.matrix.system.hive.plugin.util.CollectionUtils; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiResponse; +import io.swagger.annotations.ApiResponses; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.*; +import java.util.stream.Collectors; + +/** + * @author jyy + * @date 2020-12-21 + **/ +@Api(value = "ApiFollowupAction", tags = "跟进记录接口类") +@RestController +@RequestMapping(value = "/api/followup") +public class ApiFollowupAction { + + @Autowired + private SysFollowupDao followupDao; + + @Autowired + private SysVipAlbumDao vipAlbumDao; + + @Autowired + private SysVipInfoDao vipInfoDao; + + @Autowired + private SysFollowupCommentDao followupCommentDao; + + + + @Autowired + private SysOrderItemDao orderItemDao; + + @Autowired + private SysBeauticianStateDao beauticianStateDao; + + + @ApiOperation(value = "新增跟进记录", notes = "新增跟进记录") + @ApiResponses({ + @ApiResponse(code = 200, message = "ok", response = SysFollowup.class) + }) + @PostMapping(value = "/addFollowup") + public AjaxResult addFollowup(@RequestBody @Validated SysFollowup followup) { + SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY); + followup.setCreateBy(user.getSuName()); + followup.setUpdateBy(user.getSuName()); + followup.setStaffId(user.getSuId()); + followup.setCompanyId(user.getCompanyId()); + followup.setShopId(user.getShopId()); + //处理订单摘要 + if(followup.getOrderId()!=null){ + List<SysOrderItem> sysOrderItems = orderItemDao.selectByOrderId(followup.getOrderId()); + String abs=""; + if(sysOrderItems.size()>1){ + abs= sysOrderItems.get(0).getShoppingGoods().getName()+"等"+sysOrderItems.size()+"件商品"; + }else{ + abs= sysOrderItems.get(0).getShoppingGoods().getName(); + } + followup.setOrderAbstract(abs); + } + //服务单摘要 + if(followup.getServiceId()!=null){ + List<SysBeauticianState> sysBeauticianStates = beauticianStateDao.selectBySerIds(followup.getServiceId()); + String abs=""; + if(sysBeauticianStates.size()>1){ + abs= sysBeauticianStates.get(0).getProjInfo().getName()+"等"+sysBeauticianStates.size()+"项服务"; + }else{ + abs= sysBeauticianStates.get(0).getProjInfo().getName(); + } + followup.setOrderAbstract(abs); + } + + followupDao.insert(followup); + //插入图片 + List<SysVipAlbum> albums=followup.getAlbums(); + if(CollectionUtils.isNotEmpty(albums)){ + for (SysVipAlbum vipAlbum:albums){ + if(StringUtils.isNotBlank(vipAlbum.getImg())){ + vipAlbum.setCreateBy(user.getSuName()); + vipAlbum.setUpdateBy(user.getSuName()); + vipAlbum.setSource(SysVipAlbum.SOURCE_FOLLOW); + vipAlbum.setVipId(followup.getVipId()); + vipAlbum.setSourceId(followup.getId()); + vipAlbumDao.insert(vipAlbum); + } + } + } + + return AjaxResult.buildSuccessInstance("保存成功"); + } + + @ApiOperation(value = "跟进记录点赞或者取消点赞", notes = "跟进记录点赞或者取消点赞") + @ApiResponses({ + @ApiResponse(code = 200, message = "ok", response = AjaxResult.class) + }) + @GetMapping(value = "/zanFollowup/{id}") + public AjaxResult zanFollowup(@PathVariable("id")Long id) { + SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY); + SysFollowup followup = followupDao.selectById(id); + String zans=followup.getZans(); + if(StringUtils.isBlank(zans)){ + List<Long> zanIds = StringUtils.strToCollToLong(zans, ","); + List<Long> zaned = zanIds.stream().filter(zanid -> zanid.equals(user.getSuId())).collect(Collectors.toList()); + if(CollectionUtils.isEmpty(zaned)){ + //取消赞 + List<Long> newZaned = zanIds.stream().filter(zanid -> !zanid.equals(user.getSuId())).collect(Collectors.toList()); + zans=StringUtils.collToStr(newZaned,","); + + }else{ + //点赞 + zaned.add(user.getSuId()); + zans=StringUtils.collToStr(zaned,","); + } + }else{ + //直接点赞 + zans=user.getSuId()+""; + } + followupDao.updateZan(id,zans); + return AjaxResult.buildSuccessInstance("修改成功"); + } + + + @ApiOperation(value = "评论跟进", notes = "评论跟进") + @ApiResponses({ + @ApiResponse(code = 200, message = "ok", response = AjaxResult.class) + }) + @PostMapping(value = "/addFollowupComment") + public AjaxResult addFollowupComment(@RequestBody @Validated SysFollowupComment followupComment) { + SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY); + followupComment.setCreateBy(user.getSuName()); + followupComment.setUpdateBy(user.getSuName()); + followupComment.setStaffId(user.getSuId()); + followupCommentDao.insert(followupComment); + return AjaxResult.buildSuccessInstance("评论成功"); + } + + + @ApiOperation(value = "查询跟进记录", notes = "查询跟进记录") + @ApiResponses({ + @ApiResponse(code = 200, message = "ok", response = SysFollowup.class) + }) + @PostMapping(value = "/findFollowup") + public AjaxResult findFollowup(@RequestBody @Validated FollowupListDto followupListDto) { + SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY); + followupListDto.setShopId(user.getShopId()); + followupListDto.setCompanyId(user.getCompanyId()); + followupListDto.setSelfStaff(user.getSuId()); + //TODO 需要设置跨店数据权限 + List<SysFollowup> rows= followupDao.selectByAppDto(followupListDto); + return AjaxResult.buildSuccessInstance(rows,"查询成功"); + } + + + + + + + + + + + + + +} \ No newline at end of file -- Gitblit v1.9.1