package com.nova.sankuai.service.impl;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.nova.sankuai.domain.entity.SystemParam;
|
import com.nova.sankuai.domain.enums.AppParamTypeEnum;
|
import com.nova.sankuai.domain.enums.customerinfo.*;
|
import com.nova.sankuai.domain.enums.vipservice.PayTypeEnum;
|
import com.nova.sankuai.domain.enums.yixin.*;
|
import com.nova.sankuai.domain.vo.EnumParamsVo;
|
import com.nova.sankuai.domain.vo.PayTypeParamVo;
|
import com.nova.sankuai.domain.vo.PayTypeVo;
|
import com.nova.sankuai.domain.vo.SystemConfigVo;
|
import com.nova.sankuai.infra.config.CommonException;
|
import com.nova.sankuai.infra.mapper.SystemParamMapper;
|
import com.nova.sankuai.service.ISystemParamService;
|
import lombok.AllArgsConstructor;
|
import lombok.extern.slf4j.Slf4j;
|
import org.apache.commons.lang3.StringUtils;
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
|
/**
|
* @author weikangdi
|
* @create 2022/1/19
|
*/
|
@Service
|
@AllArgsConstructor
|
@Slf4j
|
public class SystemParamServiceImpl extends ServiceImpl<SystemParamMapper, SystemParam> implements ISystemParamService {
|
|
private final SystemParamMapper systemParamMapper;
|
|
|
@Override
|
@Transactional(rollbackFor = Exception.class)
|
public void updateLoanMarketArray(Integer type) {
|
SystemParam systemParam = systemParamMapper.getDefaultParam();
|
systemParam.setLoanMarketArray(type);
|
updateById(systemParam);
|
}
|
|
@Override
|
public SystemConfigVo getSystemParam() {
|
SystemParam systemParam = systemParamMapper.getDefaultParam();
|
return SystemConfigVo.parseVo(systemParam);
|
}
|
|
@Override
|
public PayTypeParamVo getPayTypeList() {
|
PayTypeParamVo payTypeParamVo = new PayTypeParamVo();
|
List<PayTypeVo> payTypeVos = new ArrayList<>();
|
for (PayTypeEnum payTypeEnum : PayTypeEnum.values()) {
|
PayTypeVo payTypeVo = new PayTypeVo();
|
payTypeVo.setCode(payTypeEnum.getCode());
|
payTypeVo.setName(payTypeEnum.getValue());
|
payTypeVos.add(payTypeVo);
|
}
|
SystemParam systemParam = systemParamMapper.getDefaultParam();
|
payTypeParamVo.setCode(systemParam.getPaymentMethod());
|
payTypeParamVo.setName(PayTypeEnum.value(systemParam.getPaymentMethod()));
|
payTypeParamVo.setPayTypeList(payTypeVos);
|
return payTypeParamVo;
|
}
|
|
@Override
|
@Transactional(rollbackFor = Exception.class)
|
public void updatePayType(Integer code) {
|
String value = PayTypeEnum.value(code);
|
if (StringUtils.isEmpty(value)) {
|
throw new CommonException("该支付方式不存在!");
|
}
|
SystemParam systemParam = systemParamMapper.getDefaultParam();
|
String oldValue = PayTypeEnum.value(systemParam.getPaymentMethod());
|
systemParam.setPaymentMethod(code);
|
updateById(systemParam);
|
log.info("支付方式从" + oldValue + "切换到" + value);
|
}
|
|
@Override
|
public List<EnumParamsVo> getEnumParams(String code) {
|
AppParamTypeEnum paramTypeEnum = AppParamTypeEnum.valueOf(code);
|
if (paramTypeEnum == null) {
|
throw new CommonException("不存在的枚举类型");
|
}
|
List<EnumParamsVo> paramsVos = new ArrayList<>();
|
switch (paramTypeEnum) {
|
//职业类别
|
case OCCUPATION_ENUM:
|
paramsVos = YiXinOccupationEnum.parseParams();
|
break;
|
//职务信息
|
case JOB_TITLE_ENUM:
|
paramsVos = YiXinJobTitleEnum.parseParams();
|
break;
|
//家庭联系人关系
|
case HOME_RELATION_ENUM:
|
paramsVos = YiXinHomeRelationEnum.parseParams();
|
break;
|
//其他联系人关系
|
case FRIEND_RELATION_ENUM:
|
paramsVos = YiXinFriendRelationEnum.parseParams();
|
break;
|
//学历
|
case EDUCATION_ENUM:
|
paramsVos = YiXinEducationEnum.parseParams();
|
break;
|
//公司性质
|
case COMPANY_NATURE_ENUM:
|
paramsVos = YiXinCompanyNatureEnum.parseParams();
|
break;
|
//公司所属行业
|
case COMPANY_TRADE_ENUM:
|
paramsVos = YiXinCompanyTradeEnum.parseParams();
|
break;
|
//居住房类型
|
case LIVEST_ENUM:
|
paramsVos = YiXinLivestEnum.parseParams();
|
break;
|
//婚姻状况
|
case MARITAL_ENUM:
|
paramsVos = YiXinMaritalStatusEnum.parseParams();
|
break;
|
//芝麻分信息
|
case SESAME_ENUM:
|
paramsVos = SesameStatusEnum.parseParams();
|
break;
|
//社保信息
|
case SOCIAL_SECURITY_ENUM:
|
paramsVos = SocialSecurityStatusEnum.parseParams();
|
break;
|
//公积金信息
|
case PROVIDENT_FUND_ENUM:
|
paramsVos = ProvidentFundStatusEnum.parseParams();
|
break;
|
//房产信息
|
case HOUSE_ENUM:
|
paramsVos = HouseStatusEnum.parseParams();
|
break;
|
//车产信息
|
case CAR_ENUM:
|
paramsVos = CarStatusEnum.parseParams();
|
break;
|
//保单信息
|
case POLICY_ENUM:
|
paramsVos = InsuranceStatusEnum.parseParams();
|
break;
|
//信用卡信息
|
case CREDIT_CARD_ENUM:
|
paramsVos = CreditCardStatusEnum.parseParams();
|
break;
|
//月收入信息
|
case MONTHLY_INCOME_ENUM:
|
paramsVos = YiXinMonthlyIncomeEnum.parseParams();
|
break;
|
}
|
return paramsVos;
|
}
|
}
|