商机管理
This commit is contained in:
@@ -3,7 +3,7 @@ package com.ruoyi.oa.controller;
|
||||
import java.util.List;
|
||||
import java.util.Arrays;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import com.ruoyi.oa.domain.OaBusiness;
|
||||
import com.ruoyi.oa.domain.vo.OaProductVo;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
@@ -117,4 +117,21 @@ public class OaBusinessController extends BaseController {
|
||||
public TableDataInfo<OaProductVo> getBusinessProducts(OaBusinessBo bo) {
|
||||
return iOaBusinessService.getBusinessProducts(bo);
|
||||
}
|
||||
@GetMapping("/customer/{customerId}")
|
||||
@Log(title = "CRM 商机", businessType = BusinessType.EXPORT)
|
||||
public TableDataInfo<OaBusiness> getBusinessByCustomerId(@PathVariable Long customerId, PageQuery pageQuery){
|
||||
return iOaBusinessService.getBusinessByCustomerId(customerId,pageQuery);
|
||||
}
|
||||
@Log(title = "CRM 商机", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping
|
||||
public R<Void> deleteBusiness(@RequestParam Long businessId){
|
||||
iOaBusinessService.deleteBusiness(businessId);
|
||||
return R.ok();
|
||||
}
|
||||
@GetMapping("/follow/{businessId}")
|
||||
public R<Void> setFollow(@PathVariable Long businessId){
|
||||
iOaBusinessService.setFollow(businessId);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
package com.ruoyi.oa.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import com.ruoyi.oa.domain.OaBusiness;
|
||||
@@ -8,6 +8,7 @@ import com.ruoyi.oa.domain.bo.SysOaProjectBo;
|
||||
import com.ruoyi.oa.domain.vo.OaBusinessVo;
|
||||
import com.ruoyi.common.core.mapper.BaseMapperPlus;
|
||||
import com.ruoyi.oa.domain.vo.OaProductVo;
|
||||
import org.apache.ibatis.annotations.Delete;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
@@ -24,4 +25,13 @@ public interface OaBusinessMapper extends BaseMapperPlus<OaBusinessMapper, OaBus
|
||||
* 联查商机与产品以及其关联表
|
||||
*/
|
||||
List<OaProductVo> getBusinessProducts(OaBusinessBo bo,@Param(Constants.WRAPPER) QueryWrapper<OaBusiness> queryWrapper);
|
||||
|
||||
|
||||
Page<OaBusinessVo> getBusinessByCustomerId(Long customerId);
|
||||
@Delete( "delete from oa_business where business_id=#{businessId}"
|
||||
)
|
||||
void deleteBusinessById(Long businessId);
|
||||
|
||||
|
||||
void setFollow(Long businessId);
|
||||
}
|
||||
|
||||
@@ -3,6 +3,10 @@ package com.ruoyi.oa.mapper;
|
||||
import com.ruoyi.oa.domain.OaBusinessProduct;
|
||||
import com.ruoyi.oa.domain.vo.OaBusinessProductVo;
|
||||
import com.ruoyi.common.core.mapper.BaseMapperPlus;
|
||||
import org.apache.ibatis.annotations.Delete;
|
||||
import org.apache.ibatis.annotations.Select;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* CRM 商机产品关联Mapper接口
|
||||
@@ -12,4 +16,7 @@ import com.ruoyi.common.core.mapper.BaseMapperPlus;
|
||||
*/
|
||||
public interface OaBusinessProductMapper extends BaseMapperPlus<OaBusinessProductMapper, OaBusinessProduct, OaBusinessProductVo> {
|
||||
|
||||
List<OaBusinessProduct> selectByBusinessId(Long businessId);
|
||||
|
||||
void deleteByBusinessId(Long businessId);
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.ruoyi.oa.service;
|
||||
|
||||
|
||||
import com.ruoyi.oa.domain.OaBusiness;
|
||||
import com.ruoyi.oa.domain.vo.OaBusinessVo;
|
||||
import com.ruoyi.oa.domain.bo.OaBusinessBo;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
@@ -59,4 +60,10 @@ public interface IOaBusinessService {
|
||||
* 查询CRM 批量商机
|
||||
*/
|
||||
List<OaBusinessVo> queryByIds(Collection<Long> list);
|
||||
TableDataInfo<OaBusiness> getBusinessByCustomerId(Long customerId, PageQuery pageQuery);
|
||||
|
||||
void deleteBusiness(Long businessId);
|
||||
|
||||
|
||||
void setFollow(Long businessId);
|
||||
}
|
||||
|
||||
@@ -8,7 +8,9 @@ import com.ruoyi.common.core.domain.PageQuery;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.ruoyi.oa.domain.OaBusinessProduct;
|
||||
import com.ruoyi.oa.domain.vo.OaProductVo;
|
||||
import com.ruoyi.oa.mapper.OaBusinessProductMapper;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.ruoyi.oa.domain.bo.OaBusinessBo;
|
||||
@@ -33,6 +35,7 @@ import java.util.Collection;
|
||||
public class OaBusinessServiceImpl implements IOaBusinessService {
|
||||
|
||||
private final OaBusinessMapper baseMapper;
|
||||
private final OaBusinessProductMapper oaBusinessProductMapper;
|
||||
|
||||
/**
|
||||
* 查询CRM 商机
|
||||
@@ -143,4 +146,30 @@ public class OaBusinessServiceImpl implements IOaBusinessService {
|
||||
}
|
||||
return baseMapper.selectVoList(new LambdaQueryWrapper<OaBusiness>().in(OaBusiness::getBusinessId, list));
|
||||
}
|
||||
|
||||
@Override
|
||||
public TableDataInfo<OaBusiness> getBusinessByCustomerId(Long customerId,PageQuery pageQuery) {
|
||||
List<OaBusiness> list = buildQueryByCustomerId(customerId);
|
||||
return TableDataInfo.build(list);
|
||||
}
|
||||
private List<OaBusiness> buildQueryByCustomerId(Long id) {
|
||||
LambdaQueryWrapper<OaBusiness> lqw = new LambdaQueryWrapper<>();
|
||||
lqw.eq( OaBusiness::getCustomerId,id);
|
||||
return baseMapper.selectList(lqw);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteBusiness(Long businessId) {
|
||||
baseMapper.deleteBusinessById(businessId);
|
||||
|
||||
List<OaBusinessProduct> oaBusinessProducts = oaBusinessProductMapper.selectByBusinessId(businessId);
|
||||
if(!oaBusinessProducts.isEmpty()){
|
||||
oaBusinessProductMapper.deleteByBusinessId(businessId);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setFollow(Long businessId) {
|
||||
baseMapper.setFollow(businessId);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -36,6 +36,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
left join oa_product op on obp.product_id = op.product_id
|
||||
${ew.getCustomSqlSegment}
|
||||
</select>
|
||||
<update id="setFollow">
|
||||
update oa_business set follow_up_status = 1 where business_id=#{businessId}
|
||||
</update>
|
||||
|
||||
<select id="getBusinessByCustomerId" resultType="com.ruoyi.oa.domain.vo.OaBusinessVo">
|
||||
select * from oa_business
|
||||
<where >
|
||||
customerId=#{customerId}
|
||||
</where>
|
||||
</select>
|
||||
|
||||
|
||||
</mapper>
|
||||
|
||||
@@ -19,5 +19,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<result property="delFlag" column="del_flag"/>
|
||||
</resultMap>
|
||||
|
||||
<delete id="deleteByBusinessId">
|
||||
delete from oa_business_product where business_id = #{businessId}
|
||||
</delete>
|
||||
|
||||
<select id="selectByBusinessId" resultType="com.ruoyi.oa.domain.OaBusinessProduct">
|
||||
select * from oa_business_product where business_id = #{businessId}
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
Reference in New Issue
Block a user