中扬CRM客户关系管理系统
#
LSH
2023-11-24 a57112aee7438f4f550d1dd5a1b93e2a28fb386c
src/main/java/com/zy/crm/manager/controller/PlanController.java
@@ -6,12 +6,10 @@
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.core.annotations.ManagerAuth;
import com.core.common.BaseRes;
import com.core.common.Cools;
import com.core.common.DateUtils;
import com.core.common.R;
import com.core.common.*;
import com.core.domain.KeyValueVo;
import com.core.exception.CoolException;
import com.zy.crm.common.entity.PhoneCodeTypeParam;
import com.zy.crm.common.model.SettleDto;
import com.zy.crm.common.service.OssService;
import com.zy.crm.common.utils.FileSaveExampleUtil;
@@ -208,6 +206,10 @@
            throw new CoolException("保持失败,请重试");
        }
        if (!smsCodeService.sendSmsCodeText(planLeader.getMobile(), PhoneCodeTypeParam.ALIYUN_M1ABAC630E)) {
            return R.ok("创建成功但短信发送失败!");
        }
        return R.ok();
    }
@@ -216,6 +218,13 @@
    @Transactional
    public R assistantPlanAdd(@RequestParam Long hostPlanId) {
        Plan hostPlan = planService.selectById(hostPlanId);
        if (hostPlan.getAssistantHostSign()!=0){
            return R.error("此规划单不需要创建副流程");
        }
        PlanType planType2 = planTypeService.selectById(hostPlan.getPlanType());
        if (planType2.getType()!=2){
            return R.error("此规划单不需要创建副流程");
        }
        if (!Cools.isEmpty(hostPlan.getAssistantPlanId()) && hostPlan.getAssistantPlanId()!=0){
            return R.error("此规划单已存在副规划单,id为"+hostPlan.getAssistantPlanId());
        }
@@ -285,6 +294,9 @@
        hostPlan.setHostPlanId(hostPlanId);
        if (!planService.updateById(hostPlan)) {
            throw new CoolException("更新失败,请重试");
        }
        if (!smsCodeService.sendSmsCodeText(planLeader.getMobile(), PhoneCodeTypeParam.ALIYUN_M1ABAC630E)) {
            return R.ok("创建成功但短信发送失败!");
        }
        return R.ok("保存成功");
    }
@@ -370,30 +382,6 @@
        return R.ok();
    }
    @RequestMapping(value = "/plan/insert/file/auth")
//    @ManagerAuth
    public R insertFile(@RequestParam("planId") String planId, @RequestParam("filename") String filename, @RequestParam("filesize") Long filesize) {
        try {
//            InputStream inputStream = file.getInputStream();
//            // 获取文件的内容类型
//            String contentType = file.getContentType();
//            String url = ossService.upload(inputStream, file.getOriginalFilename(), contentType);
////            String url = "http://tjdt.oss-cn-hangzhou.aliyuncs.com/"+file.getOriginalFilename();
//            String[] names = url.split("com/");
//            String name= names[1];
            String[] split = planId.split("-");
            int id = Integer.parseInt(split[1]);
            String url = "http://zhongyang-ftpserver.oss-cn-hangzhou.aliyuncs.com/" + filename;
            planService.increasePlanUrl(id, url, filename, filesize);
            return R.ok();
        } catch (Exception e) {
            System.out.println(e);
            return R.error();
        }
    }
    private String getFileSuffix(String filename) {
        int dotIndex = filename.lastIndexOf(".");
        if (dotIndex > 0 && dotIndex < filename.length() - 1) {
@@ -417,31 +405,6 @@
//        }
//        return R.ok();
//    }
    @RequestMapping(value = "/plan/view/file/auth")
//    @ManagerAuth
    public R viewFile(@RequestParam("planId") String planId){
        List<FileSaveExampleUtil.FileDTO> fileDTOS = new ArrayList<>();
        if (Cools.isEmpty(planId)){
            return R.ok(fileDTOS);
        }
        int id = Integer.parseInt(planId);
//        String savePath = "D:/crm/plan/file/"+id+"/"; // 指定保存文件的路径
        try{
            List<Integer> ids = planService.selectPlanUrlId(id);
            for (int id2 : ids){
                String url = planService.selectPlanUrlPlanIdUrl(id2);
                String name = planService.selectPlanUrlPlanIdName(id2);
                Long size = planService.selectPlanUrlPlanIdSize(id2);
                FileSaveExampleUtil.FileDTO dto = new FileSaveExampleUtil.FileDTO(name,size,url);
                fileDTOS.add(dto);
            }
//            List<FileSaveExampleUtil.FileDTO> fileDTOS = FileSaveExampleUtil.viewFileList(savePath);
            return R.ok(fileDTOS);
        }catch (Exception e){
            return R.error();
        }
    }
    @RequestMapping(value = "/plan/download/file/auth")
//    @ManagerAuth
@@ -580,11 +543,6 @@
                plan.setUpdateBy(getUserId());
                plan.setUpdateTime(new Date());
                boolean sendSmsCode = smsCodeService.sendSmsCodeText(planner.getMobile());
                if (!sendSmsCode) {
                    System.out.println("短信发送失败!");
                }
                if (!planService.updateById(plan)) {
                    throw new CoolException("审核失败,请联系管理员");
                }
@@ -595,6 +553,10 @@
                planFoll.setUserId(planner.getId());
                if (!planFollService.insert(planFoll)) {
                    throw new CoolException("审核失败,请联系管理员");
                }
                if (!smsCodeService.sendSmsCodeText(planner.getMobile(), PhoneCodeTypeParam.ALIYUN_M6F3C81FE3)) {
                    return R.ok("审核成功但短信发送失败!");
                }
                break;
            case 2:
@@ -641,6 +603,9 @@
                if (!planService.updateById(plan)) {
                    throw new CoolException("审核失败,请联系管理员");
                }
                if (!smsCodeService.sendSmsCodeText(salesman.getMobile(), PhoneCodeTypeParam.ALIYUN_M1ABAC630E)) {
                    return R.ok("审核成功但短信发送失败!");
                }
                break;
            case 3:
@@ -891,7 +856,7 @@
     * excel导入
     */
    @PostMapping(value = "/plan/excel/import/auth")
    @ManagerAuth(memo = "甲方单位Excel导入")
    @ManagerAuth(memo = "客户信息Excel导入")
//    @Transactional
    public R planExcelImport(MultipartFile file) throws IOException {
        InputStream inStream = file.getInputStream();