jiangping
2024-01-26 5847c29f150c0cdb4932efd3d433fe65e60593a0
开发业务接口
已修改11个文件
150 ■■■■ 文件已修改
company/src/views/business/insuranceApply.vue 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/config/shiro/ShiroRealm.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/core/utils/Constants.java 53 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/business/dto/InsuranceApplyQueryDTO.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/business/model/Company.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/business/model/CompanySolution.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/business/model/InsuranceApply.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/business/model/Multifile.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/impl/SolutionsServiceImpl.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/views/business/insuranceApply.vue
@@ -3,18 +3,20 @@
        <!-- 搜索表单 -->
        <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
            <el-form-item label="保单状态" prop="status">
                <el-select v-model="searchForm.status" placeholder="请选择" @keypress.enter.native="search">
                <el-select v-model="searchForm.statusCollect" placeholder="请选择" @keypress.enter.native="search">
                    <el-option label="待审批" value="0"></el-option>
                    <el-option label="待出单" value="3"></el-option>
                    <el-option label="保障中" value="5"></el-option>
                    <el-option label="已过期" value="8"></el-option>
                    <el-option label="已退回" value="7"></el-option>
                    <el-option label="待出单" value="1"></el-option>
                    <el-option label="保障中" value="2"></el-option>
                    <el-option label="已过期" value="3"></el-option>
                    <el-option label="已退回" value="4"></el-option>
                    <el-option label="退回申请中" value="5"></el-option>
                    <el-option label="已关闭" value="6"></el-option>
                </el-select>
            </el-form-item>
            <el-form-item label="投保企业" prop="companyId">
                <el-select v-model="searchForm.companyId" placeholder="请选择" @change="search">
                    <el-option
                        v-for="item in options"
                        v-for="item in companyList"
                        :key="item.value"
                        :label="item.label"
                        :value="item.value">
@@ -24,7 +26,7 @@
            <el-form-item label="保险方案" prop="solutionId">
                <el-select v-model="searchForm.solutionId" placeholder="请选择" @change="search">
                    <el-option
                        v-for="item in options"
                        v-for="item in solutionList"
                        :key="item.value"
                        :label="item.label"
                        :value="item.value">
@@ -63,17 +65,19 @@
                </el-table-column>
                <el-table-column prop="status" label="投保状态" min-width="100px">
                    <template slot-scope="{row}">
                        <span v-if="row.status === 0">待审核</span>
                        <span v-if="row.status === 3">待出单</span>
                        <span v-if="row.status === 5">保障中</span>
                        <span v-if="row.status === 8">已过期</span>
                        <span v-if="row.status === 7">已退回</span>
                        <span v-if="row.statusCollect === 0">待审核</span>
                        <span v-if="row.statusCollect === 1">待出单</span>
                        <span v-if="row.statusCollect === 2">保障中</span>
                        <span v-if="row.statusCollect === 3">已过期</span>
                        <span v-if="row.statusCollect === 4">已退回</span>
                        <span v-if="row.statusCollect === 5">退回申请中</span>
                        <span v-if="row.statusCollect === 6">已关闭</span>
                    </template>
                </el-table-column>
                <el-table-column prop="companyId" label="投保企业" min-width="100px"></el-table-column>
                <el-table-column prop="solutionId" label="保险方案" min-width="100px"></el-table-column>
                <el-table-column prop="createDate" label="投保人数" min-width="100px"></el-table-column>
                <el-table-column prop="createDate" label="总费用(元)" min-width="100px"></el-table-column>
                <el-table-column prop="companyName" label="投保企业" min-width="100px"></el-table-column>
                <el-table-column prop="solutionsName" label="保险方案" min-width="100px"></el-table-column>
                <el-table-column prop="insureNum" label="投保人数" min-width="100px"></el-table-column>
                <el-table-column prop="fee" label="总费用(元)" min-width="100px"></el-table-column>
                <el-table-column prop="createDate" label="提交时间" min-width="100px"></el-table-column>
                <el-table-column
                    v-if="containPermissions(['business:insuranceapply:update', 'business:insuranceapply:delete'])"
@@ -114,8 +118,10 @@
                    createDate: '',
                    solutionId: '',
                    companyId: '',
                    status: ''
                }
              statusCollect: ''
            },
          solutionList:[],
          companyList:[]
            }
        },
        created () {
@@ -126,6 +132,12 @@
                'field.main': 'id'
            })
            this.search()
        this.loadSelectList()
    },
  methods (){
    loadSelectList(){
    }
        }
    }
</script>
server/service/src/main/java/com/doumee/config/shiro/ShiroRealm.java
@@ -141,7 +141,6 @@
            }
        }
        LoginUserInfo userInfo = LoginUserInfo.from(user, roles, permissions);
        // 验证用户
        return new SimpleAuthenticationInfo(userInfo, user.getPassword(), this.getName());
    }
server/service/src/main/java/com/doumee/core/utils/Constants.java
@@ -745,28 +745,30 @@
    }
    public  enum InsuranceApplyStatus {
        UPLOAD(0, "提交投保",""),
        PLATFORM_RETURN(1, "审核不通过","提交意见:${param}"),
        WAIT_SIGNATURE(2, "已上传代签申请表待企业签章",""),
        SIGNATURE(3, "已签章待上传保险单",""),
        FAIL_RETURN(4, "保单出具失败退回",""),
        UPLOAD_INSURANCE(5, "保单完成","保险生效起期:${param}变更为${param1}"),
        COMPANY_BACK_APPLY_UPLOAD(6, "企业申请退回(提交投保)","提交意见:${param}"),
        COMPANY_BACK_APPLY_WAIT_SIGNATURE(7, "企业申请退回(待签章)","提交意见:${param}"),
        COMPANY_BACK_APPLY_SIGNATURE(8, "企业申请退回(已签章)","提交意见:${param}"),
        CLOSE(9, "订单关闭",""),
        PLATFORM_CHECK_PASS(10,"平台投保审核通过",""),
        UPLOAD(0, "提交投保","",0),
        PLATFORM_RETURN(1, "审核不通过","提交意见:${param}",4),
        WAIT_SIGNATURE(2, "已上传代签申请表待企业签章","",1),
        SIGNATURE(3, "已签章待上传保险单","",1),
        FAIL_RETURN(4, "保单出具失败退回","",0),
        UPLOAD_INSURANCE(5, "保单完成","保险生效起期:${param}变更为${param1}",2),
        COMPANY_BACK_APPLY_UPLOAD(6, "企业申请退回(提交投保)","提交意见:${param}",5),
        COMPANY_BACK_APPLY_WAIT_SIGNATURE(7, "企业申请退回(待签章)","提交意见:${param}",5),
        COMPANY_BACK_APPLY_SIGNATURE(8, "企业申请退回(已签章)","提交意见:${param}",5),
        CLOSE(9, "订单关闭","",6),
        PLATFORM_CHECK_PASS(10,"平台投保审核通过","",1),
        ;
        // 成员变量
        private String name;
        private String info;
        private int key;
        private int collectStatus;
        // 构造方法
        InsuranceApplyStatus(int key, String name,String info) {
        InsuranceApplyStatus(int key, String name,String info,int collectStatus) {
            this.name = name;
            this.key = key;
            this.info = info;
            this.collectStatus = collectStatus;
        }
        // 普通方法
@@ -774,6 +776,25 @@
            for (InsuranceApplyStatus c : InsuranceApplyStatus.values()) {
                if (c.getKey() == index) {
                    return c.name;
                }
            }
            return null;
        }
        public static List<Integer> getKesByStatus(Integer collectStatus) {
            List<Integer>  list = new ArrayList<>();
            if(collectStatus!=null){
                for (InsuranceApplyStatus c : InsuranceApplyStatus.values()) {
                    if (Constants.equalsInteger(c.getCollectStatus() ,collectStatus)) {
                        list.add(c.getKey());
                    }
                }
            }
            return list;
        }
        public static Integer getCollectStatus(Integer index) {
            for (InsuranceApplyStatus c : InsuranceApplyStatus.values()) {
                if (Constants.equalsInteger(c.getKey() , index)) {
                    return c.collectStatus;
                }
            }
            return null;
@@ -811,6 +832,14 @@
        public void setInfo(String info) {
            this.info = info;
        }
        public int getCollectStatus() {
            return collectStatus;
        }
        public void setCollectStatus(int collectStatus) {
            this.collectStatus = collectStatus;
        }
    }
    public static BigDecimal countDetailFee(Solutions solutions,Date startDate, Date endDate){
server/service/src/main/java/com/doumee/dao/business/dto/InsuranceApplyQueryDTO.java
@@ -1,6 +1,7 @@
package com.doumee.dao.business.dto;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.doumee.core.annotation.excel.ExcelColumn;
@@ -58,5 +59,6 @@
    @ApiModelProperty(value = "即将失效订单:0=否;1=是")
    private Integer loseEfficacy;
    @ApiModelProperty(value = "状态 0待审批 1待出单 2保障中  3已过期 4已撤回 5退回申请中 6已关闭", example = "1")
    private Integer statusCollect;
}
server/service/src/main/java/com/doumee/dao/business/model/Company.java
@@ -9,6 +9,8 @@
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
@@ -20,7 +22,7 @@
@Data
@ApiModel("企业信息表")
@TableName("`company`")
public class Company {
public class Company implements Serializable {
    @TableId(type = IdType.AUTO)
    @ApiModelProperty(value = "主键", example = "1")
server/service/src/main/java/com/doumee/dao/business/model/CompanySolution.java
@@ -9,6 +9,8 @@
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
@@ -20,7 +22,7 @@
@Data
@ApiModel("企业可用保险方案关联表")
@TableName("`company_solution`")
public class CompanySolution {
public class CompanySolution implements Serializable {
    @TableId(type = IdType.AUTO)
    @ApiModelProperty(value = "主键", example = "1")
server/service/src/main/java/com/doumee/dao/business/model/InsuranceApply.java
@@ -170,6 +170,11 @@
    @ApiModelProperty(value = "处理企业申请状态  0同意 1驳回")
    @TableField(exist = false)
    private int dealBackApply;
    @ApiModelProperty(value = "状态 0待审批 1待出单 2保障中  3已过期 4已撤回 5退回申请中 6已关闭", example = "1")
    @TableField(exist = false)
    private Integer statusCollect;
    public TaxesInvoicingVO getTaxesInvoicingVO(){
server/service/src/main/java/com/doumee/dao/business/model/Multifile.java
@@ -9,6 +9,8 @@
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.io.Serializable;
import java.util.Date;
/**
@@ -19,7 +21,7 @@
@Data
@ApiModel("附件上传信息表")
@TableName("`multifile`")
public class Multifile {
public class Multifile implements Serializable {
    @TableId(type = IdType.AUTO)
    @ApiModelProperty(value = "主键", example = "1")
    @ExcelColumn(name="主键")
server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java
@@ -757,16 +757,22 @@
        IPage<InsuranceApply> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
        MPJLambdaWrapper<InsuranceApply> queryWrapper = new MPJLambdaWrapper<>();
        Utils.MP.blankToNull(pageWrap.getModel());
        List<Integer> statusList = Constants.InsuranceApplyStatus.getKesByStatus(pageWrap.getModel().getStatusCollect());
        queryWrapper.selectAll(InsuranceApply.class);
        queryWrapper.selectAs(Company::getName,InsuranceApply::getCompanyName);
        queryWrapper.selectAs(Solutions::getName,InsuranceApply::getSolutionsName);
        queryWrapper.select(" DATEDIFF( t.END_TIME ,now()  ) AS loseEfficacyDays ");
        queryWrapper.select(" ( select count(1) from apply_detail ad  where ad.apply_id = t.id ) as insureNum");
        queryWrapper.select(" ( select sum(td.fee) from taxes ts inner join tax_detial td on ts.TAX_ID = ts.id  where ts.status != 2 and td.INSURANCE_APPLY_ID = t.id ) as taxesMoney");
        queryWrapper.select(" ( select td.CREATE_DATE from taxes ts inner join tax_detial td on ts.TAX_ID = ts.id  where ts.status != 2 and td.INSURANCE_APPLY_ID = t.id order by td.CREATE_DATE desc limit 1 ) as taxesLast ");
        queryWrapper.select(" ( select sum(td.fee) from taxes ts inner join tax_detial td on td.TAX_ID = ts.id  where ts.status != 2 and td.INSURANCE_APPLY_ID = t.id ) as taxesMoney");
        queryWrapper.select(" ( select td.CREATE_DATE from taxes ts inner join tax_detial td on td.TAX_ID = ts.id  where ts.status != 2 and td.INSURANCE_APPLY_ID = t.id order by td.CREATE_DATE desc limit 1 ) as taxesLast ");
        queryWrapper.leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId);
        queryWrapper.leftJoin(Company.class,Company::getId,InsuranceApply::getCompanyId);
        queryWrapper.eq(InsuranceApply::getIsdeleted,Constants.ZERO);
        queryWrapper.in(statusList.size()>0,InsuranceApply::getStatus,statusList);
        if(Constants.equalsInteger(pageWrap.getModel().getStatusCollect(),Constants.THREE) ){
            queryWrapper.eq(InsuranceApply::getStatus,Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey());
            queryWrapper.lt(InsuranceApply::getEndTime, Utils.Date.getStart(new Date()));
        }
        //企业人员查看本企业数据
        if(loginUserInfo.getType().equals(Constants.ONE)){
            queryWrapper.eq(InsuranceApply::getCompanyId, loginUserInfo.getCompanyId());
@@ -809,6 +815,17 @@
            }
        }
        PageData<InsuranceApply> pageData = PageData.from(insuranceApplyJoinMapper.selectJoinPage(page,InsuranceApply.class, queryWrapper));
        if(pageData.getRecords()!=null){
            for (InsuranceApply apply : pageData.getRecords()){
                apply.setStatusCollect(Constants.InsuranceApplyStatus.getCollectStatus(apply.getStatus()));
                if(Constants.equalsInteger(apply.getStatusCollect(),Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey())){
                    //如果已完成
                    if(apply.getEndTime()==null || System.currentTimeMillis()>apply.getEndTime().getTime()){
                        apply.setStatusCollect(Constants.THREE);//已过期
                    }
                }
            }
        }
        return pageData;
    }
server/service/src/main/java/com/doumee/service/business/impl/SolutionsServiceImpl.java
@@ -374,6 +374,7 @@
            }
        }
        PageData<Solutions> pageData = PageData.from(solutionsJoinMapper.selectJoinPage(page,Solutions.class, queryWrapper));
        return pageData;
    }
    @Override
server/service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java
@@ -18,7 +18,6 @@
import lombok.extern.slf4j.Slf4j;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.authc.AuthenticationException;
import org.apache.shiro.authc.UsernamePasswordToken;
import org.apache.shiro.subject.Subject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
@@ -58,7 +57,7 @@
        loginLog.setServerIp(Utils.Server.getIP());
        // 校验验证码
        try {
            if(debugModel){
            if(!debugModel){
                captchaService.check(dto.getUuid(), dto.getCode());
            }
        } catch (Exception e) {
@@ -100,7 +99,7 @@
        // 校验验证码
        if(type!= Constants.TWO){
            try {
                if(debugModel){
                if(!debugModel){
                    SmsEmailServiceImpl.isCaptcheValide(smsEmailMapper,dto.getPhone(), dto.getCode());
                }
            } catch (Exception e) {