feat: update pd ui
This commit is contained in:
parent
007b6599b9
commit
fd621ef1ef
4
deploy
4
deploy
@ -70,6 +70,10 @@ if [[ "$2" = 'zj' ]]; then
|
||||
elif [[ "$2" = 'yhp' ]]; then
|
||||
SERVICE_HOME=/opt/application/${APP}
|
||||
MVN_PROFILE=yhp
|
||||
elif [[ "$2" = 'daily' ]]; then
|
||||
SERVER=xiandou@gz-dev
|
||||
SERVICE_HOME=/opt/application/${APP}
|
||||
MVN_PROFILE=default
|
||||
elif [[ "$2" = 'prod' ]]; then
|
||||
SERVER=xiandou@cy-crm
|
||||
SERVICE_HOME=/opt/application/${APP}
|
||||
|
@ -11,6 +11,7 @@ public class FileSizeUtils {
|
||||
|
||||
/**
|
||||
* human readable bytes
|
||||
*
|
||||
* @param bytes bytes
|
||||
* @return human readable
|
||||
*/
|
||||
|
@ -1,7 +1,7 @@
|
||||
package com.pudonghot.yo.operation.dal.assignment;
|
||||
|
||||
import com.pudonghot.yo.operation.dal.assignment.model.AssignmentDO;
|
||||
import com.pudonghot.tigon.dal.BaseDal;
|
||||
import com.pudonghot.yo.operation.dal.assignment.model.AssignmentDO;
|
||||
|
||||
/**
|
||||
* 催收案件分单记录表
|
||||
|
@ -35,6 +35,7 @@ public class AssignmentDO extends BaseDbEntity {
|
||||
/**
|
||||
* 催收员ID
|
||||
*/
|
||||
@NotUpdate
|
||||
private Long agentId;
|
||||
|
||||
/**
|
||||
|
@ -1,5 +1,6 @@
|
||||
package com.pudonghot.yo.operation.dal.loan;
|
||||
|
||||
import java.util.List;
|
||||
import com.pudonghot.tigon.dal.BaseDal;
|
||||
import com.pudonghot.yo.operation.dal.loan.model.LoanDO;
|
||||
|
||||
@ -27,4 +28,14 @@ public interface LoanDal extends BaseDal<Long, LoanDO> {
|
||||
* @return loan
|
||||
*/
|
||||
LoanDO findBySourceIdAndBizKey(Long sourceId, String bizKey);
|
||||
|
||||
/**
|
||||
* 批量更新字段
|
||||
*
|
||||
* @param idList id list
|
||||
* @param field field
|
||||
* @param value value
|
||||
* @return rows
|
||||
*/
|
||||
Integer batchUpdate(List<Long> idList, String field, Object value);
|
||||
}
|
||||
|
@ -1,8 +1,15 @@
|
||||
package com.pudonghot.yo.operation.dal.loan.impl;
|
||||
|
||||
import lombok.val;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.HashMap;
|
||||
import org.springframework.util.Assert;
|
||||
import com.pudonghot.tigon.mybatis.Search;
|
||||
import org.apache.commons.lang3.ArrayUtils;
|
||||
import org.springframework.stereotype.Component;
|
||||
import com.pudonghot.tigon.dal.impl.BaseDalImpl;
|
||||
import com.pudonghot.tigon.dal.model.BaseDbEntity;
|
||||
import com.pudonghot.yo.operation.dal.loan.LoanDal;
|
||||
import com.pudonghot.yo.operation.dal.loan.model.LoanDO;
|
||||
import com.pudonghot.yo.operation.dal.loan.mapper.LoanMapper;
|
||||
@ -34,4 +41,26 @@ public class LoanDalImpl
|
||||
return find(Search.of(LoanDO.Fields.loanSourceId, sourceId)
|
||||
.eq(LoanDO.Fields.contractNumber, bizKey));
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public Integer batchUpdate(final List<Long> idList,
|
||||
final String field,
|
||||
final Object value) {
|
||||
|
||||
Assert.state(ArrayUtils.contains(
|
||||
new String[] { BaseDbEntity.Fields.active,
|
||||
BaseDbEntity.Fields.remark,
|
||||
LoanDO.Fields.color,
|
||||
LoanDO.Fields.followMark }, field),
|
||||
() -> "Invalid update field [" + field + "]");
|
||||
|
||||
val update = new HashMap<String, Object>();
|
||||
update.put(field, value);
|
||||
update.put(BaseDbEntity.Fields.updatedBy, getMemberId());
|
||||
update.put(BaseDbEntity.Fields.updatedTime, new Date());
|
||||
return mapper.update(update, Search.of(idList));
|
||||
}
|
||||
}
|
||||
|
@ -96,4 +96,14 @@ public class LoanDO extends BaseDbEntity {
|
||||
* 逾期天数
|
||||
*/
|
||||
private Integer overdueDays;
|
||||
|
||||
/**
|
||||
* 跟进标识
|
||||
*/
|
||||
private String followMark;
|
||||
|
||||
/**
|
||||
* 调解码
|
||||
*/
|
||||
private String tjContractNumber;
|
||||
}
|
||||
|
@ -3,9 +3,9 @@ package com.pudonghot.yo.operation.dal.loan.model;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.experimental.FieldNameConstants;
|
||||
import com.pudonghot.tigon.mybatis.UseGeneratedKeys;
|
||||
import com.pudonghot.tigon.dal.model.BaseDbEntity;
|
||||
import com.pudonghot.tigon.mybatis.NotUpdate;
|
||||
import com.pudonghot.tigon.dal.model.BaseDbEntity;
|
||||
import com.pudonghot.tigon.mybatis.UseGeneratedKeys;
|
||||
|
||||
/**
|
||||
* 案件来源表
|
||||
|
@ -0,0 +1,13 @@
|
||||
package com.pudonghot.yo.operation.dal.mediator;
|
||||
|
||||
import com.pudonghot.tigon.dal.BaseDal;
|
||||
import com.pudonghot.yo.operation.dal.mediator.model.MediatorDO;
|
||||
|
||||
/**
|
||||
* 站点调解员
|
||||
*
|
||||
* @author Donghuang
|
||||
* @date Oct 15, 2024 10:54:29
|
||||
*/
|
||||
public interface MediatorDal extends BaseDal<Long, MediatorDO> {
|
||||
}
|
@ -0,0 +1,19 @@
|
||||
package com.pudonghot.yo.operation.dal.mediator.impl;
|
||||
|
||||
import org.springframework.stereotype.Component;
|
||||
import com.pudonghot.yo.operation.dal.mediator.model.MediatorDO;
|
||||
import com.pudonghot.yo.operation.dal.mediator.mapper.MediatorMapper;
|
||||
import com.pudonghot.yo.operation.dal.mediator.MediatorDal;
|
||||
import com.pudonghot.tigon.dal.impl.BaseDalImpl;
|
||||
|
||||
/**
|
||||
* 站点调解员
|
||||
*
|
||||
* @author Donghuang
|
||||
* @date Oct 15, 2024 10:54:29
|
||||
*/
|
||||
@Component
|
||||
public class MediatorDalImpl
|
||||
extends BaseDalImpl<Long, MediatorDO, MediatorMapper>
|
||||
implements MediatorDal {
|
||||
}
|
@ -0,0 +1,17 @@
|
||||
package com.pudonghot.yo.operation.dal.mediator.mapper;
|
||||
|
||||
import com.pudonghot.tigon.mybatis.Table;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import com.pudonghot.tigon.mybatis.BaseMapper;
|
||||
import com.pudonghot.yo.operation.dal.mediator.model.MediatorDO;
|
||||
|
||||
/**
|
||||
* 站点调解员
|
||||
*
|
||||
* @author Donghuang
|
||||
* @date Oct 15, 2024 10:54:29
|
||||
*/
|
||||
@Mapper
|
||||
@Table("tj_mediator")
|
||||
public interface MediatorMapper extends BaseMapper<Long, MediatorDO> {
|
||||
}
|
@ -0,0 +1,13 @@
|
||||
<?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.pudonghot.yo.operation.dal.mediator.mapper.MediatorMapper">
|
||||
<!--
|
||||
/**
|
||||
* 站点调解员
|
||||
*
|
||||
* @author Donghuang
|
||||
* @date Oct 15, 2024 10:54:29
|
||||
*/
|
||||
-->
|
||||
</mapper>
|
@ -0,0 +1,75 @@
|
||||
package com.pudonghot.yo.operation.dal.mediator.model;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import com.pudonghot.tigon.mybatis.NotUpdate;
|
||||
import lombok.experimental.FieldNameConstants;
|
||||
import com.pudonghot.tigon.dal.model.BaseDbEntity;
|
||||
import com.pudonghot.tigon.mybatis.UseGeneratedKeys;
|
||||
import com.pudonghot.tigon.mybatis.NotUpdateWhenNull;
|
||||
import com.pudonghot.yo.operation.enumeration.customer.GenderEnum;
|
||||
|
||||
/**
|
||||
* 站点调解员
|
||||
*
|
||||
* @author Donghuang
|
||||
* @date Oct 15, 2024 10:54:29
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@UseGeneratedKeys
|
||||
@FieldNameConstants
|
||||
public class MediatorDO extends BaseDbEntity {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 姓名
|
||||
*/
|
||||
@NotUpdateWhenNull
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 性别:M/F
|
||||
*/
|
||||
@NotUpdateWhenNull
|
||||
private GenderEnum gender;
|
||||
|
||||
/**
|
||||
* 头像
|
||||
*/
|
||||
private String avatar;
|
||||
|
||||
/**
|
||||
* 认证机构(法院)
|
||||
*/
|
||||
@NotUpdateWhenNull
|
||||
private String certificationInstitute;
|
||||
|
||||
/**
|
||||
* 调解案件数量
|
||||
*/
|
||||
@NotUpdateWhenNull
|
||||
private Integer numMediate;
|
||||
|
||||
/**
|
||||
* 调解成功
|
||||
*/
|
||||
@NotUpdateWhenNull
|
||||
private Integer numSuccess;
|
||||
|
||||
/**
|
||||
* 序号
|
||||
*/
|
||||
private Integer ordinal;
|
||||
|
||||
/**
|
||||
* 元数据,扩展数据
|
||||
*/
|
||||
private String metadata;
|
||||
|
||||
/**
|
||||
* UUID
|
||||
*/
|
||||
@NotUpdate
|
||||
private String uuid;
|
||||
}
|
@ -0,0 +1,19 @@
|
||||
package com.pudonghot.yo.operation.service.assignment;
|
||||
|
||||
import com.pudonghot.yo.operation.service.assignment.model.AssignmentBO;
|
||||
import com.pudonghot.yo.operation.service.assignment.request.AssignmentCreateReqBO;
|
||||
import com.pudonghot.yo.operation.service.assignment.request.AssignmentUpdateReqBO;
|
||||
import com.pudonghot.tigon.service.TigonService;
|
||||
|
||||
/**
|
||||
* 催收案件分单记录表
|
||||
*
|
||||
* @author Donghuang
|
||||
* @date Oct 15, 2024 15:49:03
|
||||
*/
|
||||
public interface AssignmentService
|
||||
extends TigonService<Long,
|
||||
AssignmentBO,
|
||||
AssignmentCreateReqBO,
|
||||
AssignmentUpdateReqBO> {
|
||||
}
|
@ -0,0 +1,27 @@
|
||||
package com.pudonghot.yo.operation.service.assignment.impl;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.pudonghot.tigon.service.impl.TigonServiceImpl;
|
||||
import com.pudonghot.yo.operation.dal.assignment.AssignmentDal;
|
||||
import com.pudonghot.yo.operation.dal.assignment.model.AssignmentDO;
|
||||
import com.pudonghot.yo.operation.service.assignment.AssignmentService;
|
||||
import com.pudonghot.yo.operation.service.assignment.model.AssignmentBO;
|
||||
import com.pudonghot.yo.operation.service.assignment.request.AssignmentCreateReqBO;
|
||||
import com.pudonghot.yo.operation.service.assignment.request.AssignmentUpdateReqBO;
|
||||
|
||||
/**
|
||||
* 催收案件分单记录表
|
||||
*
|
||||
* @author Donghuang
|
||||
* @date Oct 15, 2024 15:49:03
|
||||
*/
|
||||
@Service
|
||||
public class AssignmentServiceImpl
|
||||
extends TigonServiceImpl<Long,
|
||||
AssignmentBO,
|
||||
AssignmentCreateReqBO,
|
||||
AssignmentUpdateReqBO,
|
||||
AssignmentDO,
|
||||
AssignmentDal>
|
||||
implements AssignmentService {
|
||||
}
|
@ -0,0 +1,63 @@
|
||||
package com.pudonghot.yo.operation.service.assignment.model;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import java.util.Date;
|
||||
import com.pudonghot.tigon.service.model.ServModel;
|
||||
|
||||
/**
|
||||
* 催收案件分单记录表
|
||||
*
|
||||
* @author Donghuang
|
||||
* @date Oct 15, 2024 15:49:03
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
public class AssignmentBO extends ServModel {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 案件ID
|
||||
*/
|
||||
private Long loanId;
|
||||
|
||||
/**
|
||||
* 催收员分组ID
|
||||
*/
|
||||
private Long groupId;
|
||||
|
||||
/**
|
||||
* 催收员ID
|
||||
*/
|
||||
private Long agentId;
|
||||
|
||||
/**
|
||||
* 协助催收员ID
|
||||
*/
|
||||
private Long assistantAgentId;
|
||||
|
||||
/**
|
||||
* 催收状态:在催,出催
|
||||
*/
|
||||
private String status;
|
||||
|
||||
/**
|
||||
* 案件分配日期
|
||||
*/
|
||||
private Date assignTime;
|
||||
|
||||
/**
|
||||
* 预计出催日期
|
||||
*/
|
||||
private Date expectExpireDate;
|
||||
|
||||
/**
|
||||
* 案件实际到期日期
|
||||
*/
|
||||
private Date actualExpireDate;
|
||||
|
||||
/**
|
||||
* 分案方式
|
||||
*/
|
||||
private String assignType;
|
||||
}
|
@ -0,0 +1,63 @@
|
||||
package com.pudonghot.yo.operation.service.assignment.request;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import java.util.Date;
|
||||
import com.pudonghot.tigon.service.request.BaseServReq;
|
||||
|
||||
/**
|
||||
* 催收案件分单记录表
|
||||
*
|
||||
* @author Donghuang
|
||||
* @date Oct 15, 2024 15:49:03
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
public class AssignmentCreateReqBO extends BaseServReq {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 案件ID
|
||||
*/
|
||||
private Long loanId;
|
||||
|
||||
/**
|
||||
* 催收员分组ID
|
||||
*/
|
||||
private Long groupId;
|
||||
|
||||
/**
|
||||
* 催收员ID
|
||||
*/
|
||||
private Long agentId;
|
||||
|
||||
/**
|
||||
* 协助催收员ID
|
||||
*/
|
||||
private Long assistantAgentId;
|
||||
|
||||
/**
|
||||
* 催收状态:在催,出催
|
||||
*/
|
||||
private String status;
|
||||
|
||||
/**
|
||||
* 案件分配日期
|
||||
*/
|
||||
private Date assignTime;
|
||||
|
||||
/**
|
||||
* 预计出催日期
|
||||
*/
|
||||
private Date expectExpireDate;
|
||||
|
||||
/**
|
||||
* 案件实际到期日期
|
||||
*/
|
||||
private Date actualExpireDate;
|
||||
|
||||
/**
|
||||
* 分案方式
|
||||
*/
|
||||
private String assignType;
|
||||
}
|
@ -0,0 +1,63 @@
|
||||
package com.pudonghot.yo.operation.service.assignment.request;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import java.util.Date;
|
||||
import com.pudonghot.tigon.service.request.UpdateServReq;
|
||||
|
||||
/**
|
||||
* 催收案件分单记录表
|
||||
*
|
||||
* @author Donghuang
|
||||
* @date Oct 15, 2024 15:49:03
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
public class AssignmentUpdateReqBO extends UpdateServReq<Long> {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 案件ID
|
||||
*/
|
||||
private Long loanId;
|
||||
|
||||
/**
|
||||
* 催收员分组ID
|
||||
*/
|
||||
private Long groupId;
|
||||
|
||||
/**
|
||||
* 催收员ID
|
||||
*/
|
||||
private Long agentId;
|
||||
|
||||
/**
|
||||
* 协助催收员ID
|
||||
*/
|
||||
private Long assistantAgentId;
|
||||
|
||||
/**
|
||||
* 催收状态:在催,出催
|
||||
*/
|
||||
private String status;
|
||||
|
||||
/**
|
||||
* 案件分配日期
|
||||
*/
|
||||
private Date assignTime;
|
||||
|
||||
/**
|
||||
* 预计出催日期
|
||||
*/
|
||||
private Date expectExpireDate;
|
||||
|
||||
/**
|
||||
* 案件实际到期日期
|
||||
*/
|
||||
private Date actualExpireDate;
|
||||
|
||||
/**
|
||||
* 分案方式
|
||||
*/
|
||||
private String assignType;
|
||||
}
|
@ -85,11 +85,20 @@ public class HomeServiceImpl implements HomeService {
|
||||
val tenantId = authHook.getTenantId();
|
||||
val tenant = tenantDal.find(tenantId);
|
||||
val sipProfile = tenantDal2.findByCode(tenant.getCode());
|
||||
val realm = sipProfile.getRealm();
|
||||
|
||||
val agent = agentDal.findByDomainAndAccount(realm, account);
|
||||
val resp = beanService.convert(agent, WebRtcAgentRespBO.class);
|
||||
resp.setRealm(realm);
|
||||
if (sipProfile != null) {
|
||||
val realm = sipProfile.getRealm();
|
||||
|
||||
val agent = agentDal.findByDomainAndAccount(realm, account);
|
||||
if (agent != null) {
|
||||
val resp = beanService.convert(agent, WebRtcAgentRespBO.class);
|
||||
resp.setRealm(realm);
|
||||
resp.setEndpoint(webRtcEndpoint);
|
||||
return resp;
|
||||
}
|
||||
}
|
||||
|
||||
val resp = new WebRtcAgentRespBO();
|
||||
resp.setEndpoint(webRtcEndpoint);
|
||||
|
||||
return resp;
|
||||
|
@ -0,0 +1,28 @@
|
||||
package com.pudonghot.yo.operation.service.loan;
|
||||
|
||||
import com.pudonghot.tigon.service.TigonService;
|
||||
import com.pudonghot.yo.operation.service.loan.model.LoanBO;
|
||||
import com.pudonghot.yo.operation.service.loan.request.LoanCreateReqBO;
|
||||
import com.pudonghot.yo.operation.service.loan.request.LoanUpdateReqBO;
|
||||
import com.pudonghot.yo.operation.service.loan.request.LoanBatchUpdateFieldReqBO;
|
||||
|
||||
/**
|
||||
* 信贷案件表
|
||||
*
|
||||
* @author Donghuang
|
||||
* @date Oct 15, 2024 15:56:36
|
||||
*/
|
||||
public interface LoanService
|
||||
extends TigonService<Long,
|
||||
LoanBO,
|
||||
LoanCreateReqBO,
|
||||
LoanUpdateReqBO> {
|
||||
|
||||
/**
|
||||
* 批量更新跟进标识
|
||||
*
|
||||
* @param req req
|
||||
* @return rows
|
||||
*/
|
||||
Integer batchUpdateField(LoanBatchUpdateFieldReqBO req);
|
||||
}
|
@ -0,0 +1,19 @@
|
||||
package com.pudonghot.yo.operation.service.loan;
|
||||
|
||||
import com.pudonghot.yo.operation.service.loan.model.LoanSourceBO;
|
||||
import com.pudonghot.yo.operation.service.loan.request.LoanSourceCreateReqBO;
|
||||
import com.pudonghot.yo.operation.service.loan.request.LoanSourceUpdateReqBO;
|
||||
import com.pudonghot.tigon.service.TigonService;
|
||||
|
||||
/**
|
||||
* 案件来源表
|
||||
*
|
||||
* @author Donghuang
|
||||
* @date Oct 15, 2024 15:57:07
|
||||
*/
|
||||
public interface LoanSourceService
|
||||
extends TigonService<Long,
|
||||
LoanSourceBO,
|
||||
LoanSourceCreateReqBO,
|
||||
LoanSourceUpdateReqBO> {
|
||||
}
|
@ -0,0 +1,36 @@
|
||||
package com.pudonghot.yo.operation.service.loan.impl;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.pudonghot.yo.operation.dal.loan.LoanDal;
|
||||
import com.pudonghot.yo.operation.dal.loan.model.LoanDO;
|
||||
import com.pudonghot.tigon.service.impl.TigonServiceImpl;
|
||||
import com.pudonghot.yo.operation.service.loan.model.LoanBO;
|
||||
import com.pudonghot.yo.operation.service.loan.LoanService;
|
||||
import com.pudonghot.yo.operation.service.loan.request.LoanCreateReqBO;
|
||||
import com.pudonghot.yo.operation.service.loan.request.LoanUpdateReqBO;
|
||||
import com.pudonghot.yo.operation.service.loan.request.LoanBatchUpdateFieldReqBO;
|
||||
|
||||
/**
|
||||
* 信贷案件表
|
||||
*
|
||||
* @author Donghuang
|
||||
* @date Oct 15, 2024 15:56:36
|
||||
*/
|
||||
@Service
|
||||
public class LoanServiceImpl
|
||||
extends TigonServiceImpl<Long,
|
||||
LoanBO,
|
||||
LoanCreateReqBO,
|
||||
LoanUpdateReqBO,
|
||||
LoanDO,
|
||||
LoanDal>
|
||||
implements LoanService {
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public Integer batchUpdateField(final LoanBatchUpdateFieldReqBO req) {
|
||||
return dal.batchUpdate(req.getIdList(), req.getField(), req.getValue());
|
||||
}
|
||||
}
|
@ -0,0 +1,27 @@
|
||||
package com.pudonghot.yo.operation.service.loan.impl;
|
||||
|
||||
import com.pudonghot.yo.operation.dal.loan.LoanSourceDal;
|
||||
import com.pudonghot.yo.operation.dal.loan.model.LoanSourceDO;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.pudonghot.tigon.service.impl.TigonServiceImpl;
|
||||
import com.pudonghot.yo.operation.service.loan.model.LoanSourceBO;
|
||||
import com.pudonghot.yo.operation.service.loan.request.LoanSourceCreateReqBO;
|
||||
import com.pudonghot.yo.operation.service.loan.request.LoanSourceUpdateReqBO;
|
||||
import com.pudonghot.yo.operation.service.loan.LoanSourceService;
|
||||
|
||||
/**
|
||||
* 案件来源表
|
||||
*
|
||||
* @author Donghuang
|
||||
* @date Oct 15, 2024 15:57:07
|
||||
*/
|
||||
@Service
|
||||
public class LoanSourceServiceImpl
|
||||
extends TigonServiceImpl<Long,
|
||||
LoanSourceBO,
|
||||
LoanSourceCreateReqBO,
|
||||
LoanSourceUpdateReqBO,
|
||||
LoanSourceDO,
|
||||
LoanSourceDal>
|
||||
implements LoanSourceService {
|
||||
}
|
@ -0,0 +1,98 @@
|
||||
package com.pudonghot.yo.operation.service.loan.model;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import java.util.Date;
|
||||
import com.pudonghot.tigon.service.model.ServModel;
|
||||
|
||||
/**
|
||||
* 信贷案件表
|
||||
*
|
||||
* @author Donghuang
|
||||
* @date Oct 15, 2024 15:56:36
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
public class LoanBO extends ServModel {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 导入时间
|
||||
*/
|
||||
private Date importTime;
|
||||
|
||||
/**
|
||||
* 导入批次ID
|
||||
*/
|
||||
private Long importBatchId;
|
||||
|
||||
/**
|
||||
* 案件来源ID
|
||||
*/
|
||||
private Long loanSourceId;
|
||||
|
||||
/**
|
||||
* 外部合同号
|
||||
*/
|
||||
private String contractNumber;
|
||||
|
||||
/**
|
||||
* 逾期天数
|
||||
*/
|
||||
private Integer overdueDays;
|
||||
|
||||
/**
|
||||
* 应还总金额,单位:分
|
||||
*/
|
||||
private Long overdueAmount;
|
||||
|
||||
/**
|
||||
* 应还本金,单位:分
|
||||
*/
|
||||
private Long principalAmount;
|
||||
|
||||
/**
|
||||
* 应还利息,单位:分
|
||||
*/
|
||||
private Long interestAmount;
|
||||
|
||||
/**
|
||||
* 应还服务费,单位:分
|
||||
*/
|
||||
private Long serviceAmount;
|
||||
|
||||
/**
|
||||
* 应还罚息,单位:分
|
||||
*/
|
||||
private Long penaltyAmount;
|
||||
|
||||
/**
|
||||
* 还款状态
|
||||
*/
|
||||
private String repaymentStatus;
|
||||
|
||||
/**
|
||||
* 颜色
|
||||
*/
|
||||
private String color;
|
||||
|
||||
/**
|
||||
* 调解函地址
|
||||
*/
|
||||
private String mediateFile;
|
||||
|
||||
/**
|
||||
* 调解结果
|
||||
*/
|
||||
private String mediateResult;
|
||||
|
||||
/**
|
||||
* 跟进标识
|
||||
*/
|
||||
private String followMark;
|
||||
|
||||
/**
|
||||
* 调解码
|
||||
*/
|
||||
private String tjContractNumber;
|
||||
}
|
@ -0,0 +1,27 @@
|
||||
package com.pudonghot.yo.operation.service.loan.model;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import com.pudonghot.tigon.service.model.ServModel;
|
||||
|
||||
/**
|
||||
* 案件来源表
|
||||
*
|
||||
* @author Donghuang
|
||||
* @date Oct 15, 2024 15:57:07
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
public class LoanSourceBO extends ServModel {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 渠道数据源代码
|
||||
*/
|
||||
private String loanSourceCode;
|
||||
|
||||
/**
|
||||
* 渠道数据源名称
|
||||
*/
|
||||
private String loanSourceName;
|
||||
}
|
@ -0,0 +1,24 @@
|
||||
package com.pudonghot.yo.operation.service.loan.request;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import java.util.List;
|
||||
import com.pudonghot.tigon.service.request.BaseServReq;
|
||||
|
||||
/**
|
||||
* 信贷案件表,批量更新属性
|
||||
*
|
||||
* @author Donghuang
|
||||
* @date Oct 15, 2024 15:56:36
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
public class LoanBatchUpdateFieldReqBO extends BaseServReq {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private List<Long> idList;
|
||||
|
||||
private String field;
|
||||
|
||||
private Object value;
|
||||
}
|
@ -0,0 +1,88 @@
|
||||
package com.pudonghot.yo.operation.service.loan.request;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import java.util.Date;
|
||||
import com.pudonghot.tigon.service.request.BaseServReq;
|
||||
|
||||
/**
|
||||
* 信贷案件表
|
||||
*
|
||||
* @author Donghuang
|
||||
* @date Oct 15, 2024 15:56:36
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
public class LoanCreateReqBO extends BaseServReq {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 导入时间
|
||||
*/
|
||||
private Date importTime;
|
||||
|
||||
/**
|
||||
* 导入批次ID
|
||||
*/
|
||||
private Long importBatchId;
|
||||
|
||||
/**
|
||||
* 案件来源ID
|
||||
*/
|
||||
private Long loanSourceId;
|
||||
|
||||
/**
|
||||
* 外部合同号
|
||||
*/
|
||||
private String contractNumber;
|
||||
|
||||
/**
|
||||
* 逾期天数
|
||||
*/
|
||||
private Integer overdueDays;
|
||||
|
||||
/**
|
||||
* 应还总金额,单位:分
|
||||
*/
|
||||
private Long overdueAmount;
|
||||
|
||||
/**
|
||||
* 应还本金,单位:分
|
||||
*/
|
||||
private Long principalAmount;
|
||||
|
||||
/**
|
||||
* 应还利息,单位:分
|
||||
*/
|
||||
private Long interestAmount;
|
||||
|
||||
/**
|
||||
* 应还服务费,单位:分
|
||||
*/
|
||||
private Long serviceAmount;
|
||||
|
||||
/**
|
||||
* 应还罚息,单位:分
|
||||
*/
|
||||
private Long penaltyAmount;
|
||||
|
||||
/**
|
||||
* 还款状态
|
||||
*/
|
||||
private String repaymentStatus;
|
||||
|
||||
/**
|
||||
* 颜色
|
||||
*/
|
||||
private String color;
|
||||
|
||||
/**
|
||||
* 调解函地址
|
||||
*/
|
||||
private String mediateFile;
|
||||
|
||||
/**
|
||||
* 调解结果
|
||||
*/
|
||||
private String mediateResult;
|
||||
}
|
@ -0,0 +1,27 @@
|
||||
package com.pudonghot.yo.operation.service.loan.request;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import com.pudonghot.tigon.service.request.BaseServReq;
|
||||
|
||||
/**
|
||||
* 案件来源表
|
||||
*
|
||||
* @author Donghuang
|
||||
* @date Oct 15, 2024 15:57:07
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
public class LoanSourceCreateReqBO extends BaseServReq {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 渠道数据源代码
|
||||
*/
|
||||
private String loanSourceCode;
|
||||
|
||||
/**
|
||||
* 渠道数据源名称
|
||||
*/
|
||||
private String loanSourceName;
|
||||
}
|
@ -0,0 +1,27 @@
|
||||
package com.pudonghot.yo.operation.service.loan.request;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import com.pudonghot.tigon.service.request.UpdateServReq;
|
||||
|
||||
/**
|
||||
* 案件来源表
|
||||
*
|
||||
* @author Donghuang
|
||||
* @date Oct 15, 2024 15:57:07
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
public class LoanSourceUpdateReqBO extends UpdateServReq<Long> {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 渠道数据源代码
|
||||
*/
|
||||
private String loanSourceCode;
|
||||
|
||||
/**
|
||||
* 渠道数据源名称
|
||||
*/
|
||||
private String loanSourceName;
|
||||
}
|
@ -0,0 +1,88 @@
|
||||
package com.pudonghot.yo.operation.service.loan.request;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import java.util.Date;
|
||||
import com.pudonghot.tigon.service.request.UpdateServReq;
|
||||
|
||||
/**
|
||||
* 信贷案件表
|
||||
*
|
||||
* @author Donghuang
|
||||
* @date Oct 15, 2024 15:56:36
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
public class LoanUpdateReqBO extends UpdateServReq<Long> {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 导入时间
|
||||
*/
|
||||
private Date importTime;
|
||||
|
||||
/**
|
||||
* 导入批次ID
|
||||
*/
|
||||
private Long importBatchId;
|
||||
|
||||
/**
|
||||
* 案件来源ID
|
||||
*/
|
||||
private Long loanSourceId;
|
||||
|
||||
/**
|
||||
* 外部合同号
|
||||
*/
|
||||
private String contractNumber;
|
||||
|
||||
/**
|
||||
* 逾期天数
|
||||
*/
|
||||
private Integer overdueDays;
|
||||
|
||||
/**
|
||||
* 应还总金额,单位:分
|
||||
*/
|
||||
private Long overdueAmount;
|
||||
|
||||
/**
|
||||
* 应还本金,单位:分
|
||||
*/
|
||||
private Long principalAmount;
|
||||
|
||||
/**
|
||||
* 应还利息,单位:分
|
||||
*/
|
||||
private Long interestAmount;
|
||||
|
||||
/**
|
||||
* 应还服务费,单位:分
|
||||
*/
|
||||
private Long serviceAmount;
|
||||
|
||||
/**
|
||||
* 应还罚息,单位:分
|
||||
*/
|
||||
private Long penaltyAmount;
|
||||
|
||||
/**
|
||||
* 还款状态
|
||||
*/
|
||||
private String repaymentStatus;
|
||||
|
||||
/**
|
||||
* 颜色
|
||||
*/
|
||||
private String color;
|
||||
|
||||
/**
|
||||
* 调解函地址
|
||||
*/
|
||||
private String mediateFile;
|
||||
|
||||
/**
|
||||
* 调解结果
|
||||
*/
|
||||
private String mediateResult;
|
||||
}
|
@ -0,0 +1,36 @@
|
||||
package com.pudonghot.yo.operation.service.mediator;
|
||||
|
||||
import com.pudonghot.tigon.service.TigonService;
|
||||
import com.pudonghot.yo.operation.service.mediator.model.MediatorBO;
|
||||
import com.pudonghot.yo.operation.service.mediator.response.UuidRespBO;
|
||||
import com.pudonghot.yo.operation.service.mediator.request.MediatorCreateReqBO;
|
||||
import com.pudonghot.yo.operation.service.mediator.request.MediatorUpdateReqBO;
|
||||
import com.pudonghot.yo.operation.service.mediator.request.MediatorBatchUpdateReqBO;
|
||||
|
||||
/**
|
||||
* 站点调解员
|
||||
*
|
||||
* @author Donghuang
|
||||
* @date Oct 15, 2024 10:55:51
|
||||
*/
|
||||
public interface MediatorService
|
||||
extends TigonService<Long,
|
||||
MediatorBO,
|
||||
MediatorCreateReqBO,
|
||||
MediatorUpdateReqBO> {
|
||||
|
||||
/**
|
||||
* gen create data
|
||||
*
|
||||
* @return uuid data
|
||||
*/
|
||||
UuidRespBO genCreateData();
|
||||
|
||||
/**
|
||||
* batch update
|
||||
*
|
||||
* @param req req
|
||||
* @return effected rows
|
||||
*/
|
||||
Integer batchUpdate(MediatorBatchUpdateReqBO req);
|
||||
}
|
@ -0,0 +1,161 @@
|
||||
package com.pudonghot.yo.operation.service.mediator.impl;
|
||||
|
||||
import lombok.val;
|
||||
import java.util.Set;
|
||||
import java.util.List;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashSet;
|
||||
import java.util.regex.Pattern;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import java.util.function.Consumer;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.pudonghot.tigon.file.oss.OssService;
|
||||
import com.pudonghot.tigon.kit.sequence.IdSequence;
|
||||
import com.pudonghot.tigon.service.request.BatchServReq;
|
||||
import com.pudonghot.tigon.service.impl.TigonServiceImpl;
|
||||
import com.pudonghot.tigon.service.request.DeleteServReq;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import com.pudonghot.yo.operation.dal.mediator.MediatorDal;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import com.pudonghot.yo.operation.dal.mediator.model.MediatorDO;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import com.pudonghot.yo.operation.enumeration.customer.GenderEnum;
|
||||
import com.pudonghot.yo.operation.service.mediator.MediatorService;
|
||||
import com.pudonghot.yo.operation.service.mediator.model.MediatorBO;
|
||||
import com.pudonghot.yo.operation.service.mediator.response.UuidRespBO;
|
||||
import com.pudonghot.yo.operation.service.mediator.request.MediatorUpdateReqBO;
|
||||
import com.pudonghot.yo.operation.service.mediator.request.MediatorCreateReqBO;
|
||||
import com.pudonghot.yo.operation.service.mediator.request.MediatorBatchUpdateReqBO;
|
||||
|
||||
/**
|
||||
* 站点调解员
|
||||
*
|
||||
* @author Donghuang
|
||||
* @date Oct 15, 2024 10:55:51
|
||||
*/
|
||||
@Slf4j
|
||||
@Service
|
||||
public class MediatorServiceImpl
|
||||
extends TigonServiceImpl<Long,
|
||||
MediatorBO,
|
||||
MediatorCreateReqBO,
|
||||
MediatorUpdateReqBO,
|
||||
MediatorDO,
|
||||
MediatorDal>
|
||||
implements MediatorService {
|
||||
|
||||
@Value("${yo.mediator.oss.base-dir:site/prod}/mediator/")
|
||||
private String ossBasePath;
|
||||
|
||||
@Autowired
|
||||
private IdSequence idSeq;
|
||||
// [*ID 序号 *姓名 性别 认证机构 *调解案件 *成功案件 扩展数据 备注]
|
||||
private Pattern PATTERN_BATCH_UPDATE = Pattern.compile(
|
||||
"^(\\d+)\\s+(?:(\\d+)\\s+)?(\\S+)\\s+(?:(男|女|M|F)\\s+)?(?:(\\S+)\\s+)?(\\d+)\\s+(\\d+)\\s*(?:(\\S+)\\s*)?(\\S+)?");
|
||||
private Set<String> SET_GENDER_MALE = new HashSet<>(Arrays.asList("男", "F", "MALE", "1"));
|
||||
|
||||
@Autowired
|
||||
private OssService ossService;
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public UuidRespBO genCreateData() {
|
||||
val uuidServResp = new UuidRespBO();
|
||||
val uuid = idSeq.uuid();
|
||||
uuidServResp.setUuid(uuid);
|
||||
uuidServResp.setAvatarPath(ossBasePath + uuid);
|
||||
return uuidServResp;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
@Transactional
|
||||
public Integer batchUpdate(final MediatorBatchUpdateReqBO req) {
|
||||
val rows = req.getContents().split("[\n\r]");
|
||||
int rowsEffected = 0;
|
||||
|
||||
for (val row : rows) {
|
||||
if (StringUtils.isBlank(row)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
val rowClear = row.trim();
|
||||
val matcher = PATTERN_BATCH_UPDATE.matcher(rowClear);
|
||||
|
||||
if (matcher.find()) {
|
||||
log.info("Mediator batch update row [{}] found.", rowClear);
|
||||
|
||||
// [序号 *姓名 性别 认证机构 *调解案件 *成功案件 扩展数据 备注]
|
||||
val id = Long.parseLong(matcher.group(1));
|
||||
val strOrdinal = matcher.group(2);
|
||||
val name = matcher.group(3);
|
||||
val strGender = matcher.group(4);
|
||||
val certificationInstitute = matcher.group(5);
|
||||
val numMediate = Integer.valueOf(matcher.group(6));
|
||||
val numSuccess = Integer.valueOf(matcher.group(7));
|
||||
val metaData = matcher.group(8);
|
||||
val remark = matcher.group(9);
|
||||
|
||||
val mediator = dal.find(id);
|
||||
if (mediator != null) {
|
||||
mediator.setName(name);
|
||||
|
||||
if (StringUtils.isNotBlank(strOrdinal)) {
|
||||
mediator.setOrdinal(Integer.valueOf(strOrdinal));
|
||||
}
|
||||
|
||||
if (StringUtils.isNotBlank(strGender)) {
|
||||
mediator.setGender(GenderEnum.valueOf(
|
||||
SET_GENDER_MALE.contains(strGender.toUpperCase()) ? "M" : "F"));
|
||||
}
|
||||
|
||||
setIfNotNull(mediator::setCertificationInstitute, certificationInstitute);
|
||||
setIfNotNull(mediator::setNumMediate, numMediate);
|
||||
setIfNotNull(mediator::setNumSuccess, numSuccess);
|
||||
setIfNotNull(mediator::setMetadata, metaData);
|
||||
setIfNotNull(mediator::setRemark, remark);
|
||||
|
||||
dal.update(mediator);
|
||||
++rowsEffected;
|
||||
continue;
|
||||
}
|
||||
log.warn("No mediator found by name [{}].", name);
|
||||
}
|
||||
|
||||
log.warn("Invalid mediator update row [{}], ignore.", rowClear);
|
||||
}
|
||||
|
||||
return rowsEffected;
|
||||
}
|
||||
|
||||
<T> void setIfNotNull(final Consumer<T> consumer, final T value) {
|
||||
if (value != null) {
|
||||
consumer.accept(value);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
protected void afterDelete(final DeleteServReq<Long> req, final MediatorDO model) {
|
||||
super.afterDelete(req, model);
|
||||
|
||||
ossService.remove(model.getAvatar());
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
protected void afterDelete(final BatchServReq<Long> req, final List<MediatorDO> models) {
|
||||
super.afterDelete(req, models);
|
||||
|
||||
models.forEach(model -> ossService.remove(model.getAvatar()));
|
||||
}
|
||||
}
|
@ -0,0 +1,62 @@
|
||||
package com.pudonghot.yo.operation.service.mediator.model;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import com.pudonghot.tigon.service.model.ServModel;
|
||||
|
||||
/**
|
||||
* 站点调解员
|
||||
*
|
||||
* @author Donghuang
|
||||
* @date Oct 15, 2024 10:55:51
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
public class MediatorBO extends ServModel {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 姓名
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 性别:M/F
|
||||
*/
|
||||
private String gender;
|
||||
|
||||
/**
|
||||
* 头像
|
||||
*/
|
||||
private String avatar;
|
||||
|
||||
/**
|
||||
* 认证机构(法院)
|
||||
*/
|
||||
private String certificationInstitute;
|
||||
|
||||
/**
|
||||
* 调解案件数量
|
||||
*/
|
||||
private Integer numMediate;
|
||||
|
||||
/**
|
||||
* 调解成功
|
||||
*/
|
||||
private Integer numSuccess;
|
||||
|
||||
/**
|
||||
* 序号
|
||||
*/
|
||||
private Integer ordinal;
|
||||
|
||||
/**
|
||||
* 元数据,扩展数据
|
||||
*/
|
||||
private String metadata;
|
||||
|
||||
/**
|
||||
* UUID
|
||||
*/
|
||||
private String uuid;
|
||||
}
|
@ -0,0 +1,22 @@
|
||||
package com.pudonghot.yo.operation.service.mediator.request;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 调解员
|
||||
*
|
||||
* @author Donghuang
|
||||
* @date Oct 10, 2023 14:23:55
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
public class MediatorBatchUpdateReqBO implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* contents
|
||||
*/
|
||||
private String contents;
|
||||
}
|
@ -0,0 +1,62 @@
|
||||
package com.pudonghot.yo.operation.service.mediator.request;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import com.pudonghot.tigon.service.request.BaseServReq;
|
||||
|
||||
/**
|
||||
* 站点调解员
|
||||
*
|
||||
* @author Donghuang
|
||||
* @date Oct 15, 2024 10:55:51
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
public class MediatorCreateReqBO extends BaseServReq {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 姓名
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 性别:M/F
|
||||
*/
|
||||
private String gender;
|
||||
|
||||
/**
|
||||
* 头像
|
||||
*/
|
||||
private String avatar;
|
||||
|
||||
/**
|
||||
* 认证机构(法院)
|
||||
*/
|
||||
private String certificationInstitute;
|
||||
|
||||
/**
|
||||
* 调解案件数量
|
||||
*/
|
||||
private Integer numMediate;
|
||||
|
||||
/**
|
||||
* 调解成功
|
||||
*/
|
||||
private Integer numSuccess;
|
||||
|
||||
/**
|
||||
* 序号
|
||||
*/
|
||||
private Integer ordinal;
|
||||
|
||||
/**
|
||||
* 元数据,扩展数据
|
||||
*/
|
||||
private String metadata;
|
||||
|
||||
/**
|
||||
* UUID
|
||||
*/
|
||||
private String uuid;
|
||||
}
|
@ -0,0 +1,62 @@
|
||||
package com.pudonghot.yo.operation.service.mediator.request;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import com.pudonghot.tigon.service.request.UpdateServReq;
|
||||
|
||||
/**
|
||||
* 站点调解员
|
||||
*
|
||||
* @author Donghuang
|
||||
* @date Oct 15, 2024 10:55:51
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
public class MediatorUpdateReqBO extends UpdateServReq<Long> {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 姓名
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 性别:M/F
|
||||
*/
|
||||
private String gender;
|
||||
|
||||
/**
|
||||
* 头像
|
||||
*/
|
||||
private String avatar;
|
||||
|
||||
/**
|
||||
* 认证机构(法院)
|
||||
*/
|
||||
private String certificationInstitute;
|
||||
|
||||
/**
|
||||
* 调解案件数量
|
||||
*/
|
||||
private Integer numMediate;
|
||||
|
||||
/**
|
||||
* 调解成功
|
||||
*/
|
||||
private Integer numSuccess;
|
||||
|
||||
/**
|
||||
* 序号
|
||||
*/
|
||||
private Integer ordinal;
|
||||
|
||||
/**
|
||||
* 元数据,扩展数据
|
||||
*/
|
||||
private String metadata;
|
||||
|
||||
/**
|
||||
* UUID
|
||||
*/
|
||||
private String uuid;
|
||||
}
|
@ -0,0 +1,20 @@
|
||||
package com.pudonghot.yo.operation.service.mediator.response;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @author Donghuang
|
||||
* @date Nov 14, 2023 16:17:14
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@ToString
|
||||
public class UuidRespBO implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private String uuid;
|
||||
private String avatarPath;
|
||||
}
|
@ -0,0 +1,31 @@
|
||||
package com.pudonghot.yo.operation.controller.assignment;
|
||||
|
||||
import com.pudonghot.tigon.web.controller.annotation.Api;
|
||||
import com.pudonghot.tigon.web.controller.annotation.ApiMeta;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import com.pudonghot.tigon.web.controller.annotation.TigonController;
|
||||
import com.pudonghot.yo.operation.service.assignment.AssignmentService;
|
||||
import com.pudonghot.yo.operation.controller.assignment.model.AssignmentVO;
|
||||
import com.pudonghot.yo.operation.controller.assignment.request.AssignmentListReqVO;
|
||||
import com.pudonghot.yo.operation.controller.assignment.request.AssignmentCreateReqVO;
|
||||
import com.pudonghot.yo.operation.controller.assignment.request.AssignmentUpdateReqVO;
|
||||
|
||||
/**
|
||||
* 催收案件分单记录表
|
||||
*
|
||||
* @author Donghuang
|
||||
* @date Oct 15, 2024 15:58:10
|
||||
*/
|
||||
@TigonController(service = AssignmentService.class,
|
||||
viewModel = AssignmentVO.class,
|
||||
list = @Api(AssignmentListReqVO.class),
|
||||
create = @Api(AssignmentCreateReqVO.class),
|
||||
update = @Api(AssignmentUpdateReqVO.class),
|
||||
patch = @Api,
|
||||
batchEnable = @Api,
|
||||
batchDisable = @Api
|
||||
)
|
||||
@ApiMeta("案件分单")
|
||||
@RequestMapping("/api/assignment")
|
||||
public class AssignmentController {
|
||||
}
|
@ -0,0 +1,63 @@
|
||||
package com.pudonghot.yo.operation.controller.assignment.model;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import java.util.Date;
|
||||
import com.pudonghot.tigon.web.controller.model.BaseVO;
|
||||
|
||||
/**
|
||||
* 催收案件分单记录表
|
||||
*
|
||||
* @author Donghuang
|
||||
* @date Oct 15, 2024 15:58:10
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
public class AssignmentVO extends BaseVO {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 案件ID
|
||||
*/
|
||||
private Long loanId;
|
||||
|
||||
/**
|
||||
* 催收员分组ID
|
||||
*/
|
||||
private Long groupId;
|
||||
|
||||
/**
|
||||
* 催收员ID
|
||||
*/
|
||||
private Long agentId;
|
||||
|
||||
/**
|
||||
* 协助催收员ID
|
||||
*/
|
||||
private Long assistantAgentId;
|
||||
|
||||
/**
|
||||
* 催收状态:在催,出催
|
||||
*/
|
||||
private String status;
|
||||
|
||||
/**
|
||||
* 案件分配日期
|
||||
*/
|
||||
private Date assignTime;
|
||||
|
||||
/**
|
||||
* 预计出催日期
|
||||
*/
|
||||
private Date expectExpireDate;
|
||||
|
||||
/**
|
||||
* 案件实际到期日期
|
||||
*/
|
||||
private Date actualExpireDate;
|
||||
|
||||
/**
|
||||
* 分案方式
|
||||
*/
|
||||
private String assignType;
|
||||
}
|
@ -0,0 +1,63 @@
|
||||
package com.pudonghot.yo.operation.controller.assignment.request;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import java.util.Date;
|
||||
import com.pudonghot.tigon.web.controller.request.BaseCreateReqVO;
|
||||
|
||||
/**
|
||||
* 催收案件分单记录表
|
||||
*
|
||||
* @author Donghuang
|
||||
* @date Oct 15, 2024 15:58:10
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
public class AssignmentCreateReqVO extends BaseCreateReqVO {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 案件ID
|
||||
*/
|
||||
private Long loanId;
|
||||
|
||||
/**
|
||||
* 催收员分组ID
|
||||
*/
|
||||
private Long groupId;
|
||||
|
||||
/**
|
||||
* 催收员ID
|
||||
*/
|
||||
private Long agentId;
|
||||
|
||||
/**
|
||||
* 协助催收员ID
|
||||
*/
|
||||
private Long assistantAgentId;
|
||||
|
||||
/**
|
||||
* 催收状态:在催,出催
|
||||
*/
|
||||
private String status;
|
||||
|
||||
/**
|
||||
* 案件分配日期
|
||||
*/
|
||||
private Date assignTime;
|
||||
|
||||
/**
|
||||
* 预计出催日期
|
||||
*/
|
||||
private Date expectExpireDate;
|
||||
|
||||
/**
|
||||
* 案件实际到期日期
|
||||
*/
|
||||
private Date actualExpireDate;
|
||||
|
||||
/**
|
||||
* 分案方式
|
||||
*/
|
||||
private String assignType;
|
||||
}
|
@ -0,0 +1,63 @@
|
||||
package com.pudonghot.yo.operation.controller.assignment.request;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import java.util.Date;
|
||||
import com.pudonghot.tigon.web.controller.request.ListCtrlrReq;
|
||||
|
||||
/**
|
||||
* 催收案件分单记录表
|
||||
*
|
||||
* @author Donghuang
|
||||
* @date Oct 15, 2024 15:58:10
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
public class AssignmentListReqVO extends ListCtrlrReq {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 案件ID
|
||||
*/
|
||||
private Long loanId;
|
||||
|
||||
/**
|
||||
* 催收员分组ID
|
||||
*/
|
||||
private Long groupId;
|
||||
|
||||
/**
|
||||
* 催收员ID
|
||||
*/
|
||||
private Long agentId;
|
||||
|
||||
/**
|
||||
* 协助催收员ID
|
||||
*/
|
||||
private Long assistantAgentId;
|
||||
|
||||
/**
|
||||
* 催收状态:在催,出催
|
||||
*/
|
||||
private String status;
|
||||
|
||||
/**
|
||||
* 案件分配日期
|
||||
*/
|
||||
private Date assignTime;
|
||||
|
||||
/**
|
||||
* 预计出催日期
|
||||
*/
|
||||
private Date expectExpireDate;
|
||||
|
||||
/**
|
||||
* 案件实际到期日期
|
||||
*/
|
||||
private Date actualExpireDate;
|
||||
|
||||
/**
|
||||
* 分案方式
|
||||
*/
|
||||
private String assignType;
|
||||
}
|
@ -0,0 +1,63 @@
|
||||
package com.pudonghot.yo.operation.controller.assignment.request;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import java.util.Date;
|
||||
import com.pudonghot.tigon.web.controller.request.BaseUpdateReqVO;
|
||||
|
||||
/**
|
||||
* 催收案件分单记录表
|
||||
*
|
||||
* @author Donghuang
|
||||
* @date Oct 15, 2024 15:58:10
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
public class AssignmentUpdateReqVO extends BaseUpdateReqVO {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 案件ID
|
||||
*/
|
||||
private Long loanId;
|
||||
|
||||
/**
|
||||
* 催收员分组ID
|
||||
*/
|
||||
private Long groupId;
|
||||
|
||||
/**
|
||||
* 催收员ID
|
||||
*/
|
||||
private Long agentId;
|
||||
|
||||
/**
|
||||
* 协助催收员ID
|
||||
*/
|
||||
private Long assistantAgentId;
|
||||
|
||||
/**
|
||||
* 催收状态:在催,出催
|
||||
*/
|
||||
private String status;
|
||||
|
||||
/**
|
||||
* 案件分配日期
|
||||
*/
|
||||
private Date assignTime;
|
||||
|
||||
/**
|
||||
* 预计出催日期
|
||||
*/
|
||||
private Date expectExpireDate;
|
||||
|
||||
/**
|
||||
* 案件实际到期日期
|
||||
*/
|
||||
private Date actualExpireDate;
|
||||
|
||||
/**
|
||||
* 分案方式
|
||||
*/
|
||||
private String assignType;
|
||||
}
|
@ -0,0 +1,105 @@
|
||||
package com.pudonghot.yo.operation.controller.loan;
|
||||
|
||||
import lombok.val;
|
||||
import jakarta.validation.Valid;
|
||||
import com.pudonghot.tigon.kit.bean.BeanService;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import com.pudonghot.tigon.dal.model.BaseDbEntity;
|
||||
import com.pudonghot.yo.operation.dal.loan.model.LoanDO;
|
||||
import com.pudonghot.yo.operation.service.loan.LoanService;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import com.pudonghot.tigon.web.controller.annotation.ApiMeta;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import com.pudonghot.yo.operation.service.loan.request.LoanBatchUpdateFieldReqBO;
|
||||
import com.pudonghot.yo.operation.controller.loan.request.LoanBatchUpdateColorReqVO;
|
||||
import com.pudonghot.yo.operation.controller.loan.request.LoanBatchUpdateRemarkReqVO;
|
||||
import com.pudonghot.yo.operation.controller.loan.request.LoanBatchUpdateActiveReqVO;
|
||||
import com.pudonghot.yo.operation.controller.loan.request.LoanBatchUpdateFollowMarkReqVO;
|
||||
|
||||
/**
|
||||
* 信贷案件表
|
||||
*
|
||||
* @author Donghuang
|
||||
* @date Oct 15, 2024 15:59:16
|
||||
*/
|
||||
@Controller
|
||||
@ApiMeta("案件")
|
||||
@RequestMapping("/api/loan")
|
||||
public class LoanController {
|
||||
|
||||
@Autowired
|
||||
private LoanService loanService;
|
||||
@Autowired
|
||||
private BeanService beanService;
|
||||
|
||||
@ApiMeta("批量更新跟进标识")
|
||||
@PostMapping("/batch-update/follow-mark")
|
||||
public Integer batchUpdateFollowMark(
|
||||
@Valid
|
||||
@RequestBody
|
||||
final LoanBatchUpdateFollowMarkReqVO req) {
|
||||
|
||||
val reqBO = new LoanBatchUpdateFieldReqBO();
|
||||
reqBO.setIdList(req.getLoanIdList());
|
||||
reqBO.setField(LoanDO.Fields.followMark);
|
||||
reqBO.setValue(req.getFollowMark());
|
||||
return loanService.batchUpdateField(reqBO);
|
||||
}
|
||||
|
||||
@ApiMeta("批量更新颜色")
|
||||
@PostMapping("/batch-update/color")
|
||||
public Integer batchUpdateColor(
|
||||
@Valid
|
||||
@RequestBody
|
||||
final LoanBatchUpdateColorReqVO req) {
|
||||
|
||||
val reqBO = new LoanBatchUpdateFieldReqBO();
|
||||
reqBO.setIdList(req.getLoanIdList());
|
||||
reqBO.setField(LoanDO.Fields.color);
|
||||
reqBO.setValue(req.getColor());
|
||||
return loanService.batchUpdateField(reqBO);
|
||||
}
|
||||
|
||||
@ApiMeta("批量更新备注")
|
||||
@PostMapping("/batch-update/remark")
|
||||
public Integer batchUpdateRemark(
|
||||
@Valid
|
||||
@RequestBody
|
||||
final LoanBatchUpdateRemarkReqVO req) {
|
||||
val reqBO = new LoanBatchUpdateFieldReqBO();
|
||||
reqBO.setIdList(req.getLoanIdList());
|
||||
reqBO.setField(BaseDbEntity.Fields.remark);
|
||||
reqBO.setValue(req.getRemark());
|
||||
return loanService.batchUpdateField(reqBO);
|
||||
}
|
||||
|
||||
@ApiMeta("批量启用调解")
|
||||
@PostMapping("/batch-update/enable")
|
||||
public Integer batchEnableActive(
|
||||
@Valid
|
||||
@RequestBody
|
||||
final LoanBatchUpdateActiveReqVO req) {
|
||||
|
||||
val reqBO = new LoanBatchUpdateFieldReqBO();
|
||||
reqBO.setIdList(req.getLoanIdList());
|
||||
reqBO.setField(BaseDbEntity.Fields.active);
|
||||
reqBO.setValue(Boolean.TRUE);
|
||||
return loanService.batchUpdateField(reqBO);
|
||||
}
|
||||
|
||||
@ApiMeta("批量停止调解")
|
||||
@PostMapping("/batch-update/disable")
|
||||
public Integer batchDisableActive(
|
||||
@Valid
|
||||
@RequestBody
|
||||
final LoanBatchUpdateActiveReqVO req) {
|
||||
|
||||
val reqBO = new LoanBatchUpdateFieldReqBO();
|
||||
reqBO.setIdList(req.getLoanIdList());
|
||||
reqBO.setField(BaseDbEntity.Fields.active);
|
||||
reqBO.setValue(Boolean.FALSE);
|
||||
return loanService.batchUpdateField(reqBO);
|
||||
}
|
||||
}
|
@ -0,0 +1,88 @@
|
||||
package com.pudonghot.yo.operation.controller.loan.model;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import java.util.Date;
|
||||
import com.pudonghot.tigon.web.controller.model.BaseVO;
|
||||
|
||||
/**
|
||||
* 信贷案件表
|
||||
*
|
||||
* @author Donghuang
|
||||
* @date Oct 15, 2024 15:59:16
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
public class LoanVO extends BaseVO {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 导入时间
|
||||
*/
|
||||
private Date importTime;
|
||||
|
||||
/**
|
||||
* 导入批次ID
|
||||
*/
|
||||
private Long importBatchId;
|
||||
|
||||
/**
|
||||
* 案件来源ID
|
||||
*/
|
||||
private Long loanSourceId;
|
||||
|
||||
/**
|
||||
* 外部合同号
|
||||
*/
|
||||
private String contractNumber;
|
||||
|
||||
/**
|
||||
* 逾期天数
|
||||
*/
|
||||
private Integer overdueDays;
|
||||
|
||||
/**
|
||||
* 应还总金额,单位:分
|
||||
*/
|
||||
private Long overdueAmount;
|
||||
|
||||
/**
|
||||
* 应还本金,单位:分
|
||||
*/
|
||||
private Long principalAmount;
|
||||
|
||||
/**
|
||||
* 应还利息,单位:分
|
||||
*/
|
||||
private Long interestAmount;
|
||||
|
||||
/**
|
||||
* 应还服务费,单位:分
|
||||
*/
|
||||
private Long serviceAmount;
|
||||
|
||||
/**
|
||||
* 应还罚息,单位:分
|
||||
*/
|
||||
private Long penaltyAmount;
|
||||
|
||||
/**
|
||||
* 还款状态
|
||||
*/
|
||||
private String repaymentStatus;
|
||||
|
||||
/**
|
||||
* 颜色
|
||||
*/
|
||||
private String color;
|
||||
|
||||
/**
|
||||
* 调解函地址
|
||||
*/
|
||||
private String mediateFile;
|
||||
|
||||
/**
|
||||
* 调解结果
|
||||
*/
|
||||
private String mediateResult;
|
||||
}
|
@ -0,0 +1,24 @@
|
||||
package com.pudonghot.yo.operation.controller.loan.request;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
import java.util.List;
|
||||
import java.io.Serializable;
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
|
||||
/**
|
||||
* 信贷案件表,批量更新启用
|
||||
*
|
||||
* @author Donghuang
|
||||
* @date Oct 15, 2024 15:59:16
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@ToString
|
||||
public class LoanBatchUpdateActiveReqVO implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@NotEmpty
|
||||
private List<Long> loanIdList;
|
||||
}
|
@ -0,0 +1,30 @@
|
||||
package com.pudonghot.yo.operation.controller.loan.request;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import java.util.List;
|
||||
import lombok.ToString;
|
||||
import java.io.Serializable;
|
||||
import com.pudonghot.tigon.annotation.Trim;
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
|
||||
/**
|
||||
* 信贷案件表,批量更新颜色
|
||||
*
|
||||
* @author Donghuang
|
||||
* @date Oct 15, 2024 15:59:16
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@ToString
|
||||
public class LoanBatchUpdateColorReqVO implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@NotEmpty
|
||||
private List<Long> loanIdList;
|
||||
|
||||
@Trim
|
||||
@NotBlank
|
||||
private String color;
|
||||
}
|
@ -0,0 +1,30 @@
|
||||
package com.pudonghot.yo.operation.controller.loan.request;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import java.util.List;
|
||||
import lombok.ToString;
|
||||
import java.io.Serializable;
|
||||
import com.pudonghot.tigon.annotation.Trim;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
|
||||
/**
|
||||
* 信贷案件表,批量更新跟进标志
|
||||
*
|
||||
* @author Donghuang
|
||||
* @date Oct 15, 2024 15:59:16
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@ToString
|
||||
public class LoanBatchUpdateFollowMarkReqVO implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@NotEmpty
|
||||
private List<Long> loanIdList;
|
||||
|
||||
@Trim
|
||||
@NotBlank
|
||||
private String followMark;
|
||||
}
|
@ -0,0 +1,30 @@
|
||||
package com.pudonghot.yo.operation.controller.loan.request;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import java.util.List;
|
||||
import lombok.ToString;
|
||||
import java.io.Serializable;
|
||||
import com.pudonghot.tigon.annotation.Trim;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
|
||||
/**
|
||||
* 信贷案件表,批量更新备注
|
||||
*
|
||||
* @author Donghuang
|
||||
* @date Oct 15, 2024 15:59:16
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@ToString
|
||||
public class LoanBatchUpdateRemarkReqVO implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@NotEmpty
|
||||
private List<Long> loanIdList;
|
||||
|
||||
@Trim
|
||||
@NotBlank
|
||||
private String remark;
|
||||
}
|
@ -0,0 +1,88 @@
|
||||
package com.pudonghot.yo.operation.controller.loan.request;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import java.util.Date;
|
||||
import com.pudonghot.tigon.web.controller.request.BaseCreateReqVO;
|
||||
|
||||
/**
|
||||
* 信贷案件表
|
||||
*
|
||||
* @author Donghuang
|
||||
* @date Oct 15, 2024 15:59:16
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
public class LoanCreateReqVO extends BaseCreateReqVO {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 导入时间
|
||||
*/
|
||||
private Date importTime;
|
||||
|
||||
/**
|
||||
* 导入批次ID
|
||||
*/
|
||||
private Long importBatchId;
|
||||
|
||||
/**
|
||||
* 案件来源ID
|
||||
*/
|
||||
private Long loanSourceId;
|
||||
|
||||
/**
|
||||
* 外部合同号
|
||||
*/
|
||||
private String contractNumber;
|
||||
|
||||
/**
|
||||
* 逾期天数
|
||||
*/
|
||||
private Integer overdueDays;
|
||||
|
||||
/**
|
||||
* 应还总金额,单位:分
|
||||
*/
|
||||
private Long overdueAmount;
|
||||
|
||||
/**
|
||||
* 应还本金,单位:分
|
||||
*/
|
||||
private Long principalAmount;
|
||||
|
||||
/**
|
||||
* 应还利息,单位:分
|
||||
*/
|
||||
private Long interestAmount;
|
||||
|
||||
/**
|
||||
* 应还服务费,单位:分
|
||||
*/
|
||||
private Long serviceAmount;
|
||||
|
||||
/**
|
||||
* 应还罚息,单位:分
|
||||
*/
|
||||
private Long penaltyAmount;
|
||||
|
||||
/**
|
||||
* 还款状态
|
||||
*/
|
||||
private String repaymentStatus;
|
||||
|
||||
/**
|
||||
* 颜色
|
||||
*/
|
||||
private String color;
|
||||
|
||||
/**
|
||||
* 调解函地址
|
||||
*/
|
||||
private String mediateFile;
|
||||
|
||||
/**
|
||||
* 调解结果
|
||||
*/
|
||||
private String mediateResult;
|
||||
}
|
@ -0,0 +1,88 @@
|
||||
package com.pudonghot.yo.operation.controller.loan.request;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import java.util.Date;
|
||||
import com.pudonghot.tigon.web.controller.request.ListCtrlrReq;
|
||||
|
||||
/**
|
||||
* 信贷案件表
|
||||
*
|
||||
* @author Donghuang
|
||||
* @date Oct 15, 2024 15:59:16
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
public class LoanListReqVO extends ListCtrlrReq {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 导入时间
|
||||
*/
|
||||
private Date importTime;
|
||||
|
||||
/**
|
||||
* 导入批次ID
|
||||
*/
|
||||
private Long importBatchId;
|
||||
|
||||
/**
|
||||
* 案件来源ID
|
||||
*/
|
||||
private Long loanSourceId;
|
||||
|
||||
/**
|
||||
* 外部合同号
|
||||
*/
|
||||
private String contractNumber;
|
||||
|
||||
/**
|
||||
* 逾期天数
|
||||
*/
|
||||
private Integer overdueDays;
|
||||
|
||||
/**
|
||||
* 应还总金额,单位:分
|
||||
*/
|
||||
private Long overdueAmount;
|
||||
|
||||
/**
|
||||
* 应还本金,单位:分
|
||||
*/
|
||||
private Long principalAmount;
|
||||
|
||||
/**
|
||||
* 应还利息,单位:分
|
||||
*/
|
||||
private Long interestAmount;
|
||||
|
||||
/**
|
||||
* 应还服务费,单位:分
|
||||
*/
|
||||
private Long serviceAmount;
|
||||
|
||||
/**
|
||||
* 应还罚息,单位:分
|
||||
*/
|
||||
private Long penaltyAmount;
|
||||
|
||||
/**
|
||||
* 还款状态
|
||||
*/
|
||||
private String repaymentStatus;
|
||||
|
||||
/**
|
||||
* 颜色
|
||||
*/
|
||||
private String color;
|
||||
|
||||
/**
|
||||
* 调解函地址
|
||||
*/
|
||||
private String mediateFile;
|
||||
|
||||
/**
|
||||
* 调解结果
|
||||
*/
|
||||
private String mediateResult;
|
||||
}
|
@ -0,0 +1,88 @@
|
||||
package com.pudonghot.yo.operation.controller.loan.request;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import java.util.Date;
|
||||
import com.pudonghot.tigon.web.controller.request.BaseUpdateReqVO;
|
||||
|
||||
/**
|
||||
* 信贷案件表
|
||||
*
|
||||
* @author Donghuang
|
||||
* @date Oct 15, 2024 15:59:16
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
public class LoanUpdateReqVO extends BaseUpdateReqVO {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 导入时间
|
||||
*/
|
||||
private Date importTime;
|
||||
|
||||
/**
|
||||
* 导入批次ID
|
||||
*/
|
||||
private Long importBatchId;
|
||||
|
||||
/**
|
||||
* 案件来源ID
|
||||
*/
|
||||
private Long loanSourceId;
|
||||
|
||||
/**
|
||||
* 外部合同号
|
||||
*/
|
||||
private String contractNumber;
|
||||
|
||||
/**
|
||||
* 逾期天数
|
||||
*/
|
||||
private Integer overdueDays;
|
||||
|
||||
/**
|
||||
* 应还总金额,单位:分
|
||||
*/
|
||||
private Long overdueAmount;
|
||||
|
||||
/**
|
||||
* 应还本金,单位:分
|
||||
*/
|
||||
private Long principalAmount;
|
||||
|
||||
/**
|
||||
* 应还利息,单位:分
|
||||
*/
|
||||
private Long interestAmount;
|
||||
|
||||
/**
|
||||
* 应还服务费,单位:分
|
||||
*/
|
||||
private Long serviceAmount;
|
||||
|
||||
/**
|
||||
* 应还罚息,单位:分
|
||||
*/
|
||||
private Long penaltyAmount;
|
||||
|
||||
/**
|
||||
* 还款状态
|
||||
*/
|
||||
private String repaymentStatus;
|
||||
|
||||
/**
|
||||
* 颜色
|
||||
*/
|
||||
private String color;
|
||||
|
||||
/**
|
||||
* 调解函地址
|
||||
*/
|
||||
private String mediateFile;
|
||||
|
||||
/**
|
||||
* 调解结果
|
||||
*/
|
||||
private String mediateResult;
|
||||
}
|
@ -7,6 +7,7 @@ import org.apache.commons.lang3.StringUtils;
|
||||
import com.pudonghot.tigon.kit.bean.BeanService;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import com.pudonghot.tigon.web.controller.annotation.ApiMeta;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
@ -20,6 +21,7 @@ import com.pudonghot.yo.operation.controller.loanimport.response.LoanImportRespV
|
||||
* @date Oct 02, 2024 21:07:55
|
||||
*/
|
||||
@Controller
|
||||
@ApiMeta("案件管理")
|
||||
@RequestMapping("/api/loan")
|
||||
public class LoanImportController {
|
||||
|
||||
@ -28,6 +30,7 @@ public class LoanImportController {
|
||||
@Autowired
|
||||
private BeanService beanService;
|
||||
|
||||
@ApiMeta("案件导入")
|
||||
@PostMapping("/import")
|
||||
public LoanImportRespVO loanImport(@Valid final LoanImportReqVO req) {
|
||||
val resp = loanImportService.loanImport(beanService.convert(req, LoanImportReqBO.class));
|
||||
|
@ -0,0 +1,56 @@
|
||||
package com.pudonghot.yo.operation.controller.mediator;
|
||||
|
||||
import jakarta.validation.Valid;
|
||||
import com.pudonghot.tigon.kit.bean.BeanService;
|
||||
import com.pudonghot.tigon.web.controller.annotation.Api;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import com.pudonghot.tigon.web.controller.annotation.ApiMeta;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import com.pudonghot.yo.operation.service.mediator.MediatorService;
|
||||
import com.pudonghot.tigon.web.controller.annotation.TigonController;
|
||||
import com.pudonghot.yo.operation.controller.mediator.model.MediatorVO;
|
||||
import com.pudonghot.yo.operation.controller.mediator.response.UuidRespVO;
|
||||
import com.pudonghot.yo.operation.controller.mediator.request.MediatorCreateReqVO;
|
||||
import com.pudonghot.yo.operation.controller.mediator.request.MediatorUpdateReqVO;
|
||||
import com.pudonghot.yo.operation.service.mediator.request.MediatorBatchUpdateReqBO;
|
||||
import com.pudonghot.yo.operation.controller.mediator.request.MediatorBatchUpdateReqVO;
|
||||
|
||||
/**
|
||||
* @author Donghuang
|
||||
* @date Oct 15, 2024 11:26:25
|
||||
*/
|
||||
@TigonController(service = MediatorService.class,
|
||||
viewModel = MediatorVO.class,
|
||||
list = @Api,
|
||||
create = @Api(MediatorCreateReqVO.class),
|
||||
update = @Api(MediatorUpdateReqVO.class),
|
||||
patch = @Api,
|
||||
delete = @Api,
|
||||
batchEnable = @Api,
|
||||
batchDisable = @Api,
|
||||
batchRemove = @Api
|
||||
)
|
||||
@ApiMeta("调解员")
|
||||
@RequestMapping("/api/mediator")
|
||||
public class MediatorController {
|
||||
@Autowired
|
||||
private MediatorService mediatorService;
|
||||
@Autowired
|
||||
private BeanService beanService;
|
||||
|
||||
@RequestMapping("/gen-create-data")
|
||||
public UuidRespVO genCreateData() {
|
||||
return beanService.convert(mediatorService.genCreateData(), UuidRespVO.class);
|
||||
}
|
||||
|
||||
@PostMapping("/batch-update")
|
||||
public Integer batchUpdate(
|
||||
@Valid
|
||||
@RequestBody
|
||||
final MediatorBatchUpdateReqVO req) {
|
||||
|
||||
return mediatorService.batchUpdate(beanService.convert(req, MediatorBatchUpdateReqBO.class));
|
||||
}
|
||||
}
|
@ -0,0 +1,62 @@
|
||||
package com.pudonghot.yo.operation.controller.mediator.model;
|
||||
|
||||
import com.pudonghot.tigon.web.controller.model.BaseVO;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
/**
|
||||
* 文章分组
|
||||
*
|
||||
* @author Donghuang
|
||||
* @date Oct 10, 2023 14:23:55
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
public class MediatorVO extends BaseVO {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 姓名
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 性别
|
||||
*/
|
||||
private String gender;
|
||||
|
||||
/**
|
||||
* 头像
|
||||
*/
|
||||
private String avatar;
|
||||
|
||||
/**
|
||||
* 认证机构(法院)
|
||||
*/
|
||||
private String certificationInstitute;
|
||||
|
||||
/**
|
||||
* 调解案件数量
|
||||
*/
|
||||
private Integer numMediate;
|
||||
|
||||
/**
|
||||
* 调解成功
|
||||
*/
|
||||
private Integer numSuccess;
|
||||
|
||||
/**
|
||||
* 元数据,扩展数据
|
||||
*/
|
||||
private String metadata;
|
||||
|
||||
/**
|
||||
* UUID
|
||||
*/
|
||||
private String uuid;
|
||||
|
||||
/**
|
||||
* 序号
|
||||
*/
|
||||
private Integer ordinal;
|
||||
}
|
@ -0,0 +1,24 @@
|
||||
package com.pudonghot.yo.operation.controller.mediator.request;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import java.io.Serializable;
|
||||
import com.pudonghot.tigon.annotation.Trim;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
|
||||
/**
|
||||
* @author Donghuang
|
||||
* @date Oct 11, 2023 14:38:17
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
public class MediatorBatchUpdateReqVO implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
@Trim
|
||||
@NotBlank
|
||||
private String contents;
|
||||
}
|
@ -0,0 +1,74 @@
|
||||
package com.pudonghot.yo.operation.controller.mediator.request;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import com.pudonghot.tigon.annotation.Trim;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import com.pudonghot.tigon.web.controller.request.BaseCreateReqVO;
|
||||
|
||||
/**
|
||||
* @author Donghuang
|
||||
* @date Oct 11, 2023 14:37:57
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
public class MediatorCreateReqVO extends BaseCreateReqVO {
|
||||
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
@Trim
|
||||
@NotBlank
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 性别
|
||||
*/
|
||||
@Trim
|
||||
@NotBlank
|
||||
private String gender;
|
||||
|
||||
/**
|
||||
* 头像
|
||||
*/
|
||||
@Trim
|
||||
@NotBlank
|
||||
private String avatar;
|
||||
|
||||
/**
|
||||
* 认证机构(法院)
|
||||
*/
|
||||
@Trim
|
||||
@NotBlank
|
||||
private String certificationInstitute;
|
||||
|
||||
/**
|
||||
* 调解案件数量
|
||||
*/
|
||||
@NotNull
|
||||
private Integer numMediate;
|
||||
|
||||
/**
|
||||
* 调解成功
|
||||
*/
|
||||
@NotNull
|
||||
private Integer numSuccess;
|
||||
|
||||
/**
|
||||
* 元数据,扩展数据
|
||||
*/
|
||||
@Trim
|
||||
private String metadata;
|
||||
|
||||
/**
|
||||
* UUID
|
||||
*/
|
||||
@Trim
|
||||
private String uuid;
|
||||
|
||||
/**
|
||||
* 序号
|
||||
*/
|
||||
private Integer ordinal;
|
||||
}
|
@ -0,0 +1,68 @@
|
||||
package com.pudonghot.yo.operation.controller.mediator.request;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import com.pudonghot.tigon.annotation.Trim;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import com.pudonghot.tigon.web.controller.request.BaseUpdateReqVO;
|
||||
|
||||
/**
|
||||
* @author Donghuang
|
||||
* @date Oct 11, 2023 14:38:17
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
public class MediatorUpdateReqVO extends BaseUpdateReqVO {
|
||||
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
@Trim
|
||||
@NotBlank
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 性别
|
||||
*/
|
||||
@Trim
|
||||
@NotBlank
|
||||
private String gender;
|
||||
|
||||
/**
|
||||
* 头像
|
||||
*/
|
||||
@Trim
|
||||
@NotBlank
|
||||
private String avatar;
|
||||
|
||||
/**
|
||||
* 认证机构(法院)
|
||||
*/
|
||||
@Trim
|
||||
@NotBlank
|
||||
private String certificationInstitute;
|
||||
|
||||
/**
|
||||
* 调解案件数量
|
||||
*/
|
||||
@NotNull
|
||||
private Integer numMediate;
|
||||
|
||||
/**
|
||||
* 调解成功
|
||||
*/
|
||||
@NotNull
|
||||
private Integer numSuccess;
|
||||
|
||||
/**
|
||||
* 元数据,扩展数据
|
||||
*/
|
||||
@Trim
|
||||
private String metadata;
|
||||
|
||||
/**
|
||||
* 序号
|
||||
*/
|
||||
private Integer ordinal;
|
||||
}
|
@ -0,0 +1,21 @@
|
||||
package com.pudonghot.yo.operation.controller.mediator.response;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @author Donghuang
|
||||
* @date Nov 14, 2023 16:17:14
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@ToString
|
||||
public class UuidRespVO implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private String uuid;
|
||||
private String avatarPath;
|
||||
}
|
@ -0,0 +1,31 @@
|
||||
package com.pudonghot.yo.operation.controller.system;
|
||||
|
||||
import com.pudonghot.tigon.file.oss.StsService;
|
||||
import com.pudonghot.tigon.kit.bean.BeanService;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import com.pudonghot.tigon.web.controller.annotation.ApiMeta;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import com.pudonghot.yo.operation.controller.system.response.OssUploadAcsVO;
|
||||
|
||||
/**
|
||||
* @author Donghuang
|
||||
* @date Apr 18, 2023 15:58:07
|
||||
*/
|
||||
@Controller
|
||||
@ApiMeta(basic = true)
|
||||
@RequestMapping("/api/oss/acs")
|
||||
public class AcsController {
|
||||
@Autowired
|
||||
private StsService ossService;
|
||||
@Autowired
|
||||
private BeanService beanService;
|
||||
@Value("${yo.oss.acs-session-key:OSS_UPLOAD}")
|
||||
private String acsSessionKey;
|
||||
|
||||
@RequestMapping("/get")
|
||||
public OssUploadAcsVO getOssAcs() {
|
||||
return beanService.convert(ossService.getOssAcs(acsSessionKey), OssUploadAcsVO.class);
|
||||
}
|
||||
}
|
@ -0,0 +1,36 @@
|
||||
package com.pudonghot.yo.operation.controller.system.response;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @author Donghuang
|
||||
* @date Apr 18, 2023 16:53:13
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@ToString
|
||||
public class OssUploadAcsVO implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private String requestId;
|
||||
// oss-cn-hangzhou
|
||||
private String region;
|
||||
private String endpoint;
|
||||
private String bucket;
|
||||
private CredentialsVO credentials;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@ToString
|
||||
public static class CredentialsVO implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private String accessKey;
|
||||
private String accessSecret;
|
||||
private String securityToken;
|
||||
private String expiration;
|
||||
}
|
||||
}
|
@ -6,7 +6,7 @@ server:
|
||||
|
||||
spring:
|
||||
application:
|
||||
name: auction-cms
|
||||
name: tj-operation
|
||||
jackson:
|
||||
default-property-inclusion: NON_NULL
|
||||
time-zone: GMT+8
|
||||
@ -23,7 +23,8 @@ spring:
|
||||
password: 123456
|
||||
data:
|
||||
redis:
|
||||
host: localhost
|
||||
# host: localhost
|
||||
host: 172.16.4.6
|
||||
port: 6379
|
||||
password: 123456
|
||||
database: 0
|
||||
@ -39,16 +40,67 @@ mybatis:
|
||||
|
||||
tigon:
|
||||
aliyun:
|
||||
access-key: LTAI5tDnhZtP6hZHFWAfmTAN
|
||||
access-secret: 7VfUctKi97hpt1SkajJBJqr7r8OCOx
|
||||
access-key: LTAI5tAMPHkMNQJQZE3D5DU5
|
||||
access-secret: flVUPZamzDnzzez9eMnZJsKeHhw1aj
|
||||
sts:
|
||||
endpoint: sts.cn-shenzhen.aliyuncs.com
|
||||
region: cn-shenzhen
|
||||
oss:
|
||||
bucket: tiaojie-stage
|
||||
role-arn: acs:ram::1137705773147949:role/ramosstemp
|
||||
endpoint: oss-cn-shanghai.aliyuncs.com
|
||||
role-arn: acs:ram::1005633189678051:role/ossreadwrite
|
||||
cms:
|
||||
table-prefix: tj
|
||||
dict:
|
||||
categories:
|
||||
- code: SITE_HOME_CATEGORY
|
||||
name: 站点首页分类
|
||||
- code: SITE_BANNER
|
||||
name: 站点轮播图
|
||||
data-type: IMAGE
|
||||
|
||||
- code: SITE_SETTING
|
||||
name: 站点设置
|
||||
data-type: RICH_TEXT
|
||||
singleton: true
|
||||
dict-attrs:
|
||||
- attr: title
|
||||
label: 关于我们标题
|
||||
type: STRING
|
||||
required: true
|
||||
- attr: caseCount
|
||||
label: 已处理案件
|
||||
type: NUMBER
|
||||
required: true
|
||||
- attr: supervisionPhone
|
||||
label: 监督电话
|
||||
type: STRING
|
||||
required: true
|
||||
|
||||
- code: SITE_MEDIATOR
|
||||
name: 站点调解员
|
||||
data-type: STRING
|
||||
meta: false
|
||||
singleton: false
|
||||
tree: false
|
||||
user-code: false
|
||||
dict-attrs:
|
||||
- attr: gender
|
||||
label: 性别
|
||||
type: STRING
|
||||
required: true
|
||||
- attr: caseCount
|
||||
label: 案件数量
|
||||
type: NUMBER
|
||||
required: true
|
||||
- attr: successCount
|
||||
label: 成功数量
|
||||
type: NUMBER
|
||||
required: true
|
||||
- attr: certName
|
||||
label: 认证标识
|
||||
type: STRING
|
||||
required: true
|
||||
security:
|
||||
session:
|
||||
timeout: 288000000
|
||||
@ -60,7 +112,7 @@ tigon:
|
||||
cas:
|
||||
server:
|
||||
# addr: https://cas.zhujiachefu.com
|
||||
// addr: https://tj-cas-daily.pudonghot.com
|
||||
# addr: https://tj-cas-daily.pudonghot.com
|
||||
addr: https://cas-dev.pudonghot.com
|
||||
callback-path: /api/cas/callback
|
||||
logout-path: /api/cas/logout
|
||||
@ -73,7 +125,7 @@ tigon:
|
||||
|
||||
yo:
|
||||
webrtc:
|
||||
endpoint: wss://cc.ideasfin.com:4443/ws
|
||||
endpoint: wss://tj-fs-daily.pudonghot.com
|
||||
websocket:
|
||||
allowed-origins: >
|
||||
http://localhost:[*],
|
||||
|
@ -1,8 +1,11 @@
|
||||
package com.pudonghot.yo.operation.controller.auth;
|
||||
|
||||
import lombok.val;
|
||||
import org.junit.Test;
|
||||
import java.security.Principal;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.shiro.session.Session;
|
||||
import com.pudonghot.yo.operation.TestBase;
|
||||
import com.pudonghot.tigon.cms.auth.cache.SessionCache;
|
||||
import com.pudonghot.tigon.web.test.ControllerTestTool;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
@ -10,10 +13,13 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
* @author Donghuang
|
||||
* @date Oct 02, 2024 11:42:14
|
||||
*/
|
||||
@Slf4j
|
||||
public class AuthControllerTest extends TestBase {
|
||||
|
||||
@Autowired
|
||||
private ControllerTestTool t;
|
||||
@Autowired
|
||||
private SessionCache sessionCache;
|
||||
|
||||
@Test
|
||||
public void testIndex() {
|
||||
@ -26,8 +32,10 @@ public class AuthControllerTest extends TestBase {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testInt() {
|
||||
t.print(t.get("/auth/info"));
|
||||
public void testGetSession() {
|
||||
// val session = sessionCache.get("2399D8C0E96741818E622C1FB2B6A38E");
|
||||
val session = sessionCache.get("2399D8C0E96741818E622C1FB2B6A38E");
|
||||
log.info("Session: [{}].", session);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -46,8 +46,46 @@ tigon:
|
||||
role-arn: acs:ram::1137705773147949:role/ramosstemp
|
||||
cms:
|
||||
table-prefix: tj
|
||||
mybatis:
|
||||
quotation-mark: "`"
|
||||
dict:
|
||||
categories:
|
||||
- code: SITE_HOME_CATEGORY
|
||||
name: 站点首页分类
|
||||
- code: SITE_BANNER
|
||||
name: 站点轮播图
|
||||
data-type: IMAGE
|
||||
- code: SITE_ABOUT_US
|
||||
name: 站点关于我们
|
||||
data-type: RICH_TEXT
|
||||
singleton: true
|
||||
dict-attrs:
|
||||
- attr: title
|
||||
label: 标题
|
||||
type: STRING
|
||||
required: true
|
||||
- code: SITE_MEDIATOR
|
||||
name: 站点调解员
|
||||
data-type: STRING
|
||||
meta: false
|
||||
singleton: false
|
||||
tree: false
|
||||
user-code: false
|
||||
dict-attrs:
|
||||
- attr: gender
|
||||
label: 性别
|
||||
type: STRING
|
||||
required: true
|
||||
- attr: caseCount
|
||||
label: 案件数量
|
||||
type: NUMBER
|
||||
required: true
|
||||
- attr: successCount
|
||||
label: 成功数量
|
||||
type: NUMBER
|
||||
required: true
|
||||
- attr: certName
|
||||
label: 认证标识
|
||||
type: STRING
|
||||
required: true
|
||||
security:
|
||||
cookie:
|
||||
session-id: JSID
|
||||
|
Loading…
x
Reference in New Issue
Block a user