package com.ruoyi.web.controller.smartor; 
 | 
  
 | 
import com.ruoyi.common.annotation.Log; 
 | 
import com.ruoyi.common.core.controller.BaseController; 
 | 
import com.ruoyi.common.core.domain.AjaxResult; 
 | 
import com.ruoyi.common.core.domain.entity.SysUser; 
 | 
import com.ruoyi.common.enums.BusinessType; 
 | 
import com.ruoyi.common.utils.StringUtils; 
 | 
import com.smartor.domain.ServiceSubTaskDetailReq; 
 | 
import com.smartor.domain.ServiceSubtask; 
 | 
import com.smartor.domain.ServiceSubtaskDetail; 
 | 
import com.smartor.service.IServiceSubtaskDetailService; 
 | 
import com.smartor.service.IServiceSubtaskService; 
 | 
import io.swagger.annotations.Api; 
 | 
import io.swagger.annotations.ApiOperation; 
 | 
import org.apache.commons.collections4.CollectionUtils; 
 | 
import org.springframework.beans.factory.annotation.Autowired; 
 | 
import org.springframework.web.bind.annotation.*; 
 | 
  
 | 
import java.util.*; 
 | 
  
 | 
/** 
 | 
 * 语音任务结果明细Controller 
 | 
 * 
 | 
 * @author smartor 
 | 
 * @date 2023-03-24 
 | 
 */ 
 | 
@Api(description = "语音任务结果明细") 
 | 
@RestController 
 | 
@RequestMapping("/smartor/serviceSubtaskDetail") 
 | 
public class ServiceSubtaskDetailController extends BaseController { 
 | 
    @Autowired 
 | 
    private IServiceSubtaskDetailService ServiceSubtaskDetailService; 
 | 
    @Autowired 
 | 
    private IServiceSubtaskService serviceSubtaskService; 
 | 
  
 | 
    /** 
 | 
     * 查询单个人的语音信息 
 | 
     */ 
 | 
    @ApiOperation("查询单个人的语音信息通过子任务ID") 
 | 
    @PostMapping("/getPersonVoice") 
 | 
    public Map<String, Object> getPersonVoice(@RequestBody ServiceSubtaskDetail serviceSubtaskDetail) { 
 | 
        Map<String, Object> map = new HashMap<>(); 
 | 
        if (serviceSubtaskDetail.getSubId() == null) { 
 | 
            map.put("code", 500); 
 | 
            map.put("msg", "查询失败,请查检入参"); 
 | 
        } else map = ServiceSubtaskDetailService.selectServiceSubtaskDetailList(serviceSubtaskDetail); 
 | 
        return map; 
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * 获取语音任务呼叫明细详细信息 
 | 
     */ 
 | 
    //@PreAuthorize("@ss.hasPermi('smartor:ServiceSubtaskDetail:query')") 
 | 
    @ApiOperation("获取任务结果明细详细信息") 
 | 
    @GetMapping(value = "/getInfo/{calldetailid}") 
 | 
    public AjaxResult getInfo(@PathVariable("calldetailid") String calldetailid) { 
 | 
        return success(ServiceSubtaskDetailService.selectServiceSubtaskDetailByCalldetailid(calldetailid)); 
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * 新增任务结果明细 
 | 
     */ 
 | 
    //@PreAuthorize("@ss.hasPermi('smartor:ServiceSubtaskDetail:add')") 
 | 
    @ApiOperation("新增任务结果明细") 
 | 
    @Log(title = "语音任务呼叫明细", businessType = BusinessType.INSERT) 
 | 
    @PostMapping("/add") 
 | 
    public AjaxResult add(@RequestBody ServiceSubtaskDetail serviceSubtaskDetail) { 
 | 
        SysUser user = getLoginUser().getUser(); 
 | 
        serviceSubtaskDetail.setOrgid(user.getOrgid()); 
 | 
        return toAjax(ServiceSubtaskDetailService.insertServiceSubtaskDetail(serviceSubtaskDetail)); 
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * 新增任务结果明细 
 | 
     */ 
 | 
    //@PreAuthorize("@ss.hasPermi('smartor:ServiceSubtaskDetail:add')") 
 | 
    @ApiOperation("批量新增任务结果明细") 
 | 
    @Log(title = "语音任务呼叫明细", businessType = BusinessType.INSERT) 
 | 
    @PostMapping("/batchAdd") 
 | 
    public AjaxResult batchAdd(@RequestBody ServiceSubTaskDetailReq serviceSubTaskDetailReq) { 
 | 
        if (CollectionUtils.isEmpty(serviceSubTaskDetailReq.getServiceSubtaskDetailList()) && serviceSubTaskDetailReq.getSubId() == null) { 
 | 
            return error("参数不全,请检查入参"); 
 | 
        } 
 | 
        int i = ServiceSubtaskDetailService.batchInsertServiceSubtaskDetail(serviceSubTaskDetailReq.getServiceSubtaskDetailList()); 
 | 
        Boolean aBoolean = false; 
 | 
        if (i == 1) { 
 | 
            ServiceSubtask serviceSubtask = new ServiceSubtask(); 
 | 
            serviceSubtask.setSendstate(6L); 
 | 
            serviceSubtask.setId(serviceSubTaskDetailReq.getSubId()); 
 | 
            serviceSubtask.setRemark("数据补充完成"); 
 | 
            serviceSubtask.setUpdateTime(new Date()); 
 | 
            serviceSubtask.setFinishtime(new Date()); 
 | 
            serviceSubtask.setPreachform("1"); 
 | 
            serviceSubtask.setResult("success"); 
 | 
            aBoolean = serviceSubtaskService.updateServiceSubtask(serviceSubtask); 
 | 
        } 
 | 
        return toAjax(aBoolean); 
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * 修改语音任务呼叫明细 
 | 
     */ 
 | 
    //@PreAuthorize("@ss.hasPermi('smartor:ServiceSubtaskDetail:edit')") 
 | 
    @Log(title = "语音任务呼叫明细", businessType = BusinessType.UPDATE) 
 | 
    @ApiOperation("修改任务结果明细") 
 | 
    @PostMapping("/edit") 
 | 
    public AjaxResult edit(@RequestBody ServiceSubtaskDetail serviceSubtaskDetail) { 
 | 
        return toAjax(ServiceSubtaskDetailService.updateServiceSubtaskDetail(serviceSubtaskDetail)); 
 | 
    } 
 | 
  
 | 
  
 | 
    /** 
 | 
     * 修改语音任务呼叫明细 
 | 
     */ 
 | 
    //@PreAuthorize("@ss.hasPermi('smartor:ServiceSubtaskDetail:edit')") 
 | 
    @Log(title = "语音任务呼叫明细", businessType = BusinessType.UPDATE) 
 | 
    @ApiOperation("修改任务结果明细") 
 | 
    @PostMapping("/batchEdit") 
 | 
    public AjaxResult batchEdit(@RequestBody List<ServiceSubtaskDetail> serviceSubtaskDetails) { 
 | 
        if (CollectionUtils.isEmpty(serviceSubtaskDetails)) { 
 | 
            return error("需要修改语音详情为空"); 
 | 
        } 
 | 
        for (ServiceSubtaskDetail serviceSubtaskDetail : serviceSubtaskDetails) { 
 | 
            ServiceSubtaskDetailService.updateServiceSubtaskDetail(serviceSubtaskDetail); 
 | 
        } 
 | 
        return toAjax(1); 
 | 
    } 
 | 
  
 | 
    @ApiOperation("修改任务结果明细通过条件") 
 | 
    @PostMapping("/editByCondition") 
 | 
    public AjaxResult updateSSDByCondition(@RequestBody ServiceSubtaskDetail serviceSubtaskDetail) { 
 | 
        return toAjax(ServiceSubtaskDetailService.updateSSDByCondition(serviceSubtaskDetail)); 
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * 删除语音任务呼叫明细 
 | 
     */ 
 | 
    //@PreAuthorize("@ss.hasPermi('smartor:ServiceSubtaskDetail:remove')") 
 | 
    @Log(title = "语音任务呼叫明细", businessType = BusinessType.DELETE) 
 | 
    @GetMapping("/remove/{calldetailids}") 
 | 
    public AjaxResult remove(@PathVariable String[] calldetailids) { 
 | 
        return toAjax(ServiceSubtaskDetailService.deleteServiceSubtaskDetailByCalldetailids(calldetailids)); 
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * 指标统计 
 | 
     */ 
 | 
    //@PreAuthorize("@ss.hasPermi('smartor:ServiceSubtaskDetail:add')") 
 | 
    @ApiOperation("指标统计") 
 | 
    @GetMapping(value = "/countPatByTarget/{targetid}") 
 | 
    public AjaxResult countPatByTarget(@PathVariable("targetid") Long targetid) { 
 | 
        return success(ServiceSubtaskDetailService.countPatByTarget(targetid)); 
 | 
    } 
 | 
  
 | 
} 
 |