This commit is contained in:
dute7liang
2023-12-27 23:30:40 +08:00
parent 71c3b5b9c8
commit c5e55374c9
6 changed files with 282 additions and 0 deletions

View File

@@ -0,0 +1,95 @@
package com.ruoyi.cai.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.cai.domain.CaiUserCall;
import com.ruoyi.cai.service.CaiUserCallService;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.annotation.RepeatSubmit;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import com.ruoyi.common.enums.BusinessType;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.Arrays;
/**
* 通话记录
*
* @author 77
* @date 2023-12-27
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/cai/userCall")
public class CaiUserCallController extends BaseController {
private final CaiUserCallService caiUserCallService;
/**
* 查询通话记录列表
*/
@SaCheckPermission("cai:userCall:list")
@GetMapping("/list")
public TableDataInfo<CaiUserCall> list(CaiUserCall bo, PageQuery pageQuery) {
Page<CaiUserCall> page = caiUserCallService.page(pageQuery.build(), Wrappers.lambdaQuery(bo));
return TableDataInfo.build(page);
}
/**
* 获取通话记录详细信息
*
* @param id 主键
*/
@SaCheckPermission("cai:userCall:query")
@GetMapping("/{id}")
public R<CaiUserCall> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
return R.ok(caiUserCallService.getById(id));
}
/**
* 新增通话记录
*/
@SaCheckPermission("cai:userCall:add")
@Log(title = "通话记录", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody CaiUserCall bo) {
return toAjax(caiUserCallService.save(bo));
}
/**
* 修改通话记录
*/
@SaCheckPermission("cai:userCall:edit")
@Log(title = "通话记录", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody CaiUserCall bo) {
return toAjax(caiUserCallService.updateById(bo));
}
/**
* 删除通话记录
*
* @param ids 主键串
*/
@SaCheckPermission("cai:userCall:remove")
@Log(title = "通话记录", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(caiUserCallService.removeBatchByIds(Arrays.asList(ids), true));
}
}

View File

@@ -0,0 +1,107 @@
package com.ruoyi.cai.domain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* 通话记录对象 cai_user_call
*
* @author 77
* @date 2023-12-27
*/
@Data
@TableName("cai_user_call")
public class CaiUserCall implements Serializable {
private static final long serialVersionUID=1L;
/**
*
*/
@TableId(value = "id")
private Long id;
/**
*
*/
private Long fromUid;
/**
*
*/
private Long toUid;
/**
* 状态 0 创建通话 1 呼叫方连接上 2呼叫方取消通话 3 接收方连接上 4收到通话取消通话 5.超时未接听 6接听方已拒绝 7 已接听 8通话结束 9已评分 10通话完成
*/
private Integer status;
/**
* 开始通话时间
*/
private LocalDateTime beginTime;
/**
* 结束通话时间
*/
private LocalDateTime endTime;
/**
* 通话时长
*/
private Long callTime;
/**
* 通话单价
*/
private Long callPrice;
/**
* 通话金额
*/
private BigDecimal callAmount;
/**
* 通话收入
*/
private BigDecimal callIncome;
/**
* 客户对女神的评分
*/
private BigDecimal callScore;
/**
* 女神对客户的评分
*/
private BigDecimal userScore;
/**
* 状态 0 未删除 1 已删除
*/
private Integer deleteFlag;
/**
* 接收者-视频比例
*/
private BigDecimal receiverVideoDivide;
/**
* 接收者-工会会长
*/
private Long receiverUnionUserId;
/**
* 接收者-工会-视频比例
*/
private BigDecimal receiverUnionVideoDivide;
/**
* 接收者-邀请人
*/
private Long receiverInviteUserId;
/**
* 接收者-邀请人-奖励比例
*/
private BigDecimal receiverIncomeDivide;
/**
* 拨打者支付-邀请人-奖励比例
*/
private BigDecimal callerPayDivide;
/**
* 免费通话时长(分钟)
*/
private Integer freeNum;
private LocalDateTime createTime;
}

View File

@@ -0,0 +1,14 @@
package com.ruoyi.cai.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.cai.domain.CaiUserCall;
/**
* 通话记录Mapper接口
*
* @author 77
* @date 2023-12-27
*/
public interface CaiUserCallMapper extends BaseMapper<CaiUserCall> {
}

View File

@@ -0,0 +1,14 @@
package com.ruoyi.cai.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.cai.domain.CaiUserCall;
/**
* 通话记录Service接口
*
* @author 77
* @date 2023-12-27
*/
public interface CaiUserCallService extends IService<CaiUserCall> {
}

View File

@@ -0,0 +1,20 @@
package com.ruoyi.cai.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.cai.domain.CaiUserCall;
import com.ruoyi.cai.mapper.CaiUserCallMapper;
import com.ruoyi.cai.service.CaiUserCallService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
/**
* 通话记录Service业务层处理
*
* @author 77
* @date 2023-12-27
*/
@RequiredArgsConstructor
@Service
public class CaiUserCallServiceImpl extends ServiceImpl<CaiUserCallMapper,CaiUserCall> implements CaiUserCallService {
}

View File

@@ -0,0 +1,32 @@
<?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.cai.mapper.CaiUserCallMapper">
<resultMap type="com.ruoyi.cai.domain.CaiUserCall" id="CaiUserCallResult">
<result property="id" column="id"/>
<result property="fromUid" column="from_uid"/>
<result property="toUid" column="to_uid"/>
<result property="status" column="status"/>
<result property="beginTime" column="begin_time"/>
<result property="endTime" column="end_time"/>
<result property="callTime" column="call_time"/>
<result property="callPrice" column="call_price"/>
<result property="callAmount" column="call_amount"/>
<result property="callIncome" column="call_income"/>
<result property="callScore" column="call_score"/>
<result property="userScore" column="user_score"/>
<result property="createTime" column="create_time"/>
<result property="deleteFlag" column="delete_flag"/>
<result property="receiverVideoDivide" column="receiver_video_divide"/>
<result property="receiverUnionUserId" column="receiver_union_user_id"/>
<result property="receiverUnionVideoDivide" column="receiver_union_video_divide"/>
<result property="receiverInviteUserId" column="receiver_invite_user_id"/>
<result property="receiverIncomeDivide" column="receiver_income_divide"/>
<result property="callerPayDivide" column="caller_pay_divide"/>
<result property="freeNum" column="free_num"/>
</resultMap>
</mapper>