Commit 4bd99ea5 by Water Wang

Merge branch 'dev_20200420_life' into dev

parents 0af1b5f6 f6ed3749
...@@ -19,8 +19,8 @@ public class PractitionerController { ...@@ -19,8 +19,8 @@ public class PractitionerController {
/** /**
* 线下经纪人排行榜 * 线下经纪人排行榜
* @param requestVO * @param requestVO
* @return * @return Object
*/ */
@RequestMapping("/practitionerRank") @RequestMapping("/practitionerRank")
public Object practitionerRank(@RequestBody PractitionerRankRequestVO requestVO){ public Object practitionerRank(@RequestBody PractitionerRankRequestVO requestVO){
......
...@@ -7,14 +7,17 @@ import com.yd.api.practitioner.vo.rank.PractitionerInfoForAchievement; ...@@ -7,14 +7,17 @@ import com.yd.api.practitioner.vo.rank.PractitionerInfoForAchievement;
import com.yd.api.result.CommonResult; import com.yd.api.result.CommonResult;
import com.yd.dal.entity.practitioner.PractitionerBasicInfo; import com.yd.dal.entity.practitioner.PractitionerBasicInfo;
import com.yd.dal.entity.practitioner.PractitionerRankInfo; import com.yd.dal.entity.practitioner.PractitionerRankInfo;
import com.yd.dal.service.practitioner.PractitionerServiceDAL; import com.yd.dal.service.meta.MdCodeDALService;
import com.yd.dal.service.practitioner.PractitionerDALService;
import com.yd.util.config.ZHBErrorConfig; import com.yd.util.config.ZHBErrorConfig;
import com.yd.util.deshandler.DESTypeHandler;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.google.common.base.Strings; import com.google.common.base.Strings;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator; import java.util.Comparator;
import java.util.List; import java.util.List;
...@@ -22,7 +25,9 @@ import java.util.List; ...@@ -22,7 +25,9 @@ import java.util.List;
public class PractitionerServiceImpl implements com.yd.api.practitioner.service.PractitionerService { public class PractitionerServiceImpl implements com.yd.api.practitioner.service.PractitionerService {
@Autowired @Autowired
private PractitionerServiceDAL practitionerServiceDAL; private PractitionerDALService practitionerDALService;
@Autowired
private MdCodeDALService mdCodeDALService;
@Override @Override
public PractitionerRankResponseVO practitionerRank(PractitionerRankRequestVO requestVO) { public PractitionerRankResponseVO practitionerRank(PractitionerRankRequestVO requestVO) {
PractitionerRankResponseVO responseVO = new PractitionerRankResponseVO(); PractitionerRankResponseVO responseVO = new PractitionerRankResponseVO();
...@@ -57,9 +62,17 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service. ...@@ -57,9 +62,17 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service.
private List<PractitionerRankInfo> getPractitionerRankInfo(Integer time, Integer platform) { private List<PractitionerRankInfo> getPractitionerRankInfo(Integer time, Integer platform) {
List<PractitionerRankInfo> rankInfoList; List<PractitionerRankInfo> rankInfoList;
if(platform == 1){ if(platform == 1){
rankInfoList = practitionerServiceDAL.getPractitionerRankInfoForOnline(time); Long practitionerTypeId = 28L;
rankInfoList = practitionerDALService.getPractitionerRankInfoForOnline(time,practitionerTypeId);
//特殊人员处理
String mobileSpecialStr = mdCodeDALService.findCodeByType("special_practitioner_mobile");
if(!Strings.isNullOrEmpty(mobileSpecialStr)){
List<String> mobileSpecials = Arrays.asList(mobileSpecialStr.split(","));
List<PractitionerRankInfo> rankInfoListSpecials = practitionerDALService.getPractitionerRankInfoForSpecials(mobileSpecials,time);
rankInfoList.addAll(rankInfoListSpecials);
}
}else{ }else{
rankInfoList = practitionerServiceDAL.getPractitionerRankInfoForOffline(time); rankInfoList = practitionerDALService.getPractitionerRankInfoForOffline(time);
} }
return rankInfoList; return rankInfoList;
} }
...@@ -67,7 +80,9 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service. ...@@ -67,7 +80,9 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service.
private PractitionerBasicInfo getPractitionerBasicInfo(String mobileNo, Integer platform) { private PractitionerBasicInfo getPractitionerBasicInfo(String mobileNo, Integer platform) {
PractitionerBasicInfo practitionerBasicInfo; PractitionerBasicInfo practitionerBasicInfo;
if(platform == 1){ if(platform == 1){
practitionerBasicInfo = practitionerServiceDAL.getPractitionerBasicInfoForOnline(mobileNo); DESTypeHandler jpaCryptoConverter = new DESTypeHandler();
mobileNo = jpaCryptoConverter.encode(mobileNo);
practitionerBasicInfo = practitionerDALService.getPractitionerBasicInfoForOnline(mobileNo);
if(practitionerBasicInfo != null){ if(practitionerBasicInfo != null){
Long practitionerId = practitionerBasicInfo.getPractitionerIdForOnline(); Long practitionerId = practitionerBasicInfo.getPractitionerIdForOnline();
if(practitionerId != null){ if(practitionerId != null){
...@@ -75,16 +90,16 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service. ...@@ -75,16 +90,16 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service.
} }
} }
}else{ }else{
practitionerBasicInfo = practitionerServiceDAL.getPractitionerBasicInfoForOffline(mobileNo); practitionerBasicInfo = practitionerDALService.getPractitionerBasicInfoForOffline(mobileNo);
} }
return practitionerBasicInfo; return practitionerBasicInfo;
} }
private void getPractitionerRankResult(PractitionerRankResponseVO responseVO, List<PractitionerRankInfo> rankInfoList, Integer type, String practitionerId) { private void getPractitionerRankResult(PractitionerRankResponseVO responseVO, List<PractitionerRankInfo> rankInfoList, Integer type, String practitionerId) {
PractitionerInfoForAchievement practitionerInfo = new PractitionerInfoForAchievement(); PractitionerInfoForAchievement practitionerInfo = new PractitionerInfoForAchievement(0D,0D,0);
List<AclCustomerFortuneStatistics> rankList = new ArrayList<>(); List<AclCustomerFortuneStatistics> rankList = new ArrayList<>();
if(!rankInfoList.isEmpty()){ if(!rankInfoList.isEmpty()){
//1-保费,2-佣金,3-件数 //排序---1-保费,2-佣金,3-件数
if(2 == type){ if(2 == type){
rankInfoList.sort(Comparator.comparingDouble(PractitionerRankInfo::getFyc).reversed()); rankInfoList.sort(Comparator.comparingDouble(PractitionerRankInfo::getFyc).reversed());
}else if(3 == type){ }else if(3 == type){
...@@ -94,42 +109,31 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service. ...@@ -94,42 +109,31 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service.
} }
AclCustomerFortuneStatistics fortuneStatistics; AclCustomerFortuneStatistics fortuneStatistics;
int rank = 1; int rank = 1;
boolean rank10 ,getSelf = false; Long practitionerIdForOnLine;
String practitionerIdItem;
for(PractitionerRankInfo practitionerItem : rankInfoList){ for(PractitionerRankInfo practitionerItem : rankInfoList){
Long practitionerIdForOnLine = practitionerItem.getPractitionerIdForOnLine(); //更新对象里面的内容,将PractitionerIdForOnLine里的信息赋值到PractitionerId
practitionerIdForOnLine = practitionerItem.getPractitionerIdForOnLine();
if(practitionerIdForOnLine != null){ if(practitionerIdForOnLine != null){
practitionerItem.setPractitionerId(practitionerIdForOnLine.toString()); practitionerItem.setPractitionerId(practitionerIdForOnLine.toString());
} }
rank10 = (rank > 10); practitionerIdItem = practitionerItem.getPractitionerId();
if(!rank10){ if(rank <= 10){//排名
fortuneStatistics = new AclCustomerFortuneStatistics(); fortuneStatistics = new AclCustomerFortuneStatistics();
BeanUtils.copyProperties(practitionerItem,fortuneStatistics); BeanUtils.copyProperties(practitionerItem,fortuneStatistics);
fortuneStatistics.setSubordinateSystemName(practitionerItem.getSpcDivName()); fortuneStatistics.setSubordinateSystemName(practitionerItem.getSpcDivName());
fortuneStatistics.setRank(rank); fortuneStatistics.setRank(rank);
rankList.add(fortuneStatistics); rankList.add(fortuneStatistics);
} }
if(!getSelf){ if(practitionerId.equals(practitionerIdItem)){//赋值
String practitionerIdItem = practitionerItem.getPractitionerId(); BeanUtils.copyProperties(practitionerItem,practitionerInfo);
if(practitionerId.equals(practitionerIdItem)){ practitionerInfo.setRank(rank);
BeanUtils.copyProperties(practitionerItem,practitionerInfo); if(rank > 10){
practitionerInfo.setRank(rank); break;
getSelf = true;
} }
} }
if(rank10 && getSelf){
break;
}
rank ++; rank ++;
} }
if(!getSelf){
practitionerInfo.setCount(0);
practitionerInfo.setFyc(0D);
practitionerInfo.setFyp(0D);
}
}else{
practitionerInfo.setCount(0);
practitionerInfo.setFyc(0D);
practitionerInfo.setFyp(0D);
} }
responseVO.setPractitionerInfo(practitionerInfo); responseVO.setPractitionerInfo(practitionerInfo);
responseVO.setRank(rankList); responseVO.setRank(rankList);
......
...@@ -51,4 +51,11 @@ public class PractitionerInfoForAchievement implements Serializable { ...@@ -51,4 +51,11 @@ public class PractitionerInfoForAchievement implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
public PractitionerInfoForAchievement(Double fyp, Double fyc, Integer count) {
this.fyp = fyp;
this.fyc = fyc;
this.count = count;
}
public PractitionerInfoForAchievement() {
}
} }
package com.yd.api.security;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.yd.api.result.JsonResult;
import com.yd.api.security.vo.DESCommonVO;
import com.yd.util.deshandler.DESTypeHandler;
@RestController
@RequestMapping(value="/data/security")
public class DataSecurityController {
@RequestMapping("/dataencrypt")
public Object encrypt(@RequestBody DESCommonVO requestVO) throws Exception{
JsonResult result = new JsonResult();
String resultString = "";
try {
DESTypeHandler jpaCryptoConverter = new DESTypeHandler();
resultString = jpaCryptoConverter.encode((requestVO.getContent()));
requestVO.setEncrypted(resultString);
} catch (Exception e) {
e.printStackTrace();
}
result.setData(requestVO);
return result;
}
@RequestMapping("/datadecrypt")
public Object Decrypt(@RequestBody DESCommonVO requestVO) throws Exception{
JsonResult result = new JsonResult();
String content = "";
try {
DESTypeHandler jpaCryptoConverter = new DESTypeHandler();
content = jpaCryptoConverter.decode(requestVO.getEncrypted());
requestVO.setContent(content);
} catch (Exception e) {
e.printStackTrace();
}
result.setData(requestVO);
return result;
}
}
package com.yd.api.security.vo;
import java.util.List;
public class ConvertTable {
private String tableName;//表名
private List<String> fields;
public String getTableName() {
return tableName;
}
public void setTableName(String tableName) {
this.tableName = tableName;
}
public List<String> getFields() {
return fields;
}
public void setFields(List<String> fields) {
this.fields = fields;
}
}
package com.yd.api.security.vo;
import java.util.List;
import com.yd.api.result.CommonResult;
import com.yd.util.page.PaginationInfo;
public class ConvertTableList {
private List<ConvertTable> convertTables;
private CommonResult commonResult;
private String dbName;//数据库名
private String operate;//1.加密(DataEncrypt)2.解密(DataDecrypt)
public String getOperate() {
return operate;
}
public void setOperate(String operate) {
this.operate = operate;
}
private PaginationInfo paginationInfo;
public PaginationInfo getPaginationInfo() {
return paginationInfo;
}
public void setPaginationInfo(PaginationInfo paginationInfo) {
this.paginationInfo = paginationInfo;
}
public List<ConvertTable> getConvertTables() {
return convertTables;
}
public void setConvertTables(List<ConvertTable> convertTables) {
this.convertTables = convertTables;
}
public CommonResult getCommonResult() {
return commonResult;
}
public void setCommonResult(CommonResult commonResult) {
this.commonResult = commonResult;
}
public String getDbName() {
return dbName;
}
public void setDbName(String dbName) {
this.dbName = dbName;
}
}
package com.yd.api.security.vo;
import java.io.Serializable;
public class DESCommonVO implements Serializable{
/**
*
*/
private static final long serialVersionUID = 1L;
private String content;
private String encrypted;
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public String getEncrypted() {
return encrypted;
}
public void setEncrypted(String encrypt) {
encrypted = encrypt;
}
}
package com.yd.api.security.vo;
public class DesDecryptRequestVO {
}
package com.yd.api.security.vo;
import com.yd.api.result.CommonResult;
public class DesDecryptResponseVO {
private String desDecryptResult;
private CommonResult commonResult;
public String getDesDecryptResult() {
return desDecryptResult;
}
public void setDesDecryptResult(String desDecryptResult) {
this.desDecryptResult = desDecryptResult;
}
public CommonResult getCommonResult() {
return commonResult;
}
public void setCommonResult(CommonResult commonResult) {
this.commonResult = commonResult;
}
}
package com.yd.api.security.vo;
public class DesEncryptRequestVO {
private String encryptString;
private String type;
public String getEncryptString() {
return encryptString;
}
public void setEncryptString(String encryptString) {
this.encryptString = encryptString;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
}
package com.yd.api.security.vo;
import com.yd.api.result.CommonResult;
public class DesEncryptResponseVO {
private String encryptResult;
private CommonResult commonResult;
public String getEncryptResult() {
return encryptResult;
}
public void setEncryptResult(String encryptResult) {
this.encryptResult = encryptResult;
}
public CommonResult getCommonResult() {
return commonResult;
}
public void setCommonResult(CommonResult commonResult) {
this.commonResult = commonResult;
}
}
package com.yd.dal.entity.meta;
import java.util.Date;
public class MdCode {
private Long id;
private String codeType;
private String codeCode;
private String codeName;
private Integer isActive;
private String remark;
private Date createAt;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getCodeType() {
return codeType;
}
public void setCodeType(String codeType) {
this.codeType = codeType;
}
public String getCodeCode() {
return codeCode;
}
public void setCodeCode(String codeCode) {
this.codeCode = codeCode;
}
public String getCodeName() {
return codeName;
}
public void setCodeName(String codeName) {
this.codeName = codeName;
}
public Integer getIsActive() {
return isActive;
}
public void setIsActive(Integer isActive) {
this.isActive = isActive;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public Date getCreateAt() {
return createAt;
}
public void setCreateAt(Date createAt) {
this.createAt = createAt;
}
}
package com.yd.dal.entity.practitioner; package com.yd.dal.entity.practitioner;
public class PractitionerRankInfo { public class PractitionerRankInfo {
private Long customerId;
private Long practitionerIdForOnLine; private Long practitionerIdForOnLine;
private String practitionerId; private String practitionerId;
private String name; private String name;
...@@ -11,6 +12,14 @@ public class PractitionerRankInfo { ...@@ -11,6 +12,14 @@ public class PractitionerRankInfo {
private Double fyp; private Double fyp;
private Double fyc; private Double fyc;
public Long getCustomerId() {
return customerId;
}
public void setCustomerId(Long customerId) {
this.customerId = customerId;
}
public Long getPractitionerIdForOnLine() { public Long getPractitionerIdForOnLine() {
return practitionerIdForOnLine; return practitionerIdForOnLine;
} }
......
package com.yd.dal.mapper.meta;
import com.yd.dal.entity.meta.MdCode;
import java.util.List;
public interface MdCodeMapper {
List<MdCode> findByCodeType(String codeType);
String findCodeByType(String codeType);
}
...@@ -13,5 +13,7 @@ public interface PractitionerMapper { ...@@ -13,5 +13,7 @@ public interface PractitionerMapper {
PractitionerBasicInfo getPractitionerInfoByMobileNoForOnline(String mobileNo); PractitionerBasicInfo getPractitionerInfoByMobileNoForOnline(String mobileNo);
List<PractitionerRankInfo> getPractitionerRankInfoForOnline(Integer time); List<PractitionerRankInfo> getPractitionerRankInfoForOnline(@Param("time")Integer time,@Param("practitionerTypeId")Long practitionerTypeId);
List<PractitionerRankInfo> getPractitionerRankInfoForSpecials(@Param("mobileSpecials") List<String> mobileSpecials, @Param("time")Integer time);
} }
package com.yd.dal.service.meta;
import com.yd.dal.entity.meta.MdCode;
import org.springframework.stereotype.Service;
import java.util.List;
@Service("mdCodeDALService")
public interface MdCodeDALService {
/**
* 通过codeType获取配置信息
* @param codeType
* @return
*/
List<MdCode> findByCodeType(String codeType);
/**
* 通过type获取code并且 is_active = 1
* @param codeType
* @return
*/
String findCodeByType(String codeType);
}
package com.yd.dal.service.meta.impl;
import com.google.common.base.Strings;
import com.yd.dal.entity.meta.MdCode;
import com.yd.dal.mapper.meta.MdCodeMapper;
import com.yd.dal.service.meta.MdCodeDALService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
@Service("mdCodeDALService")
public class MdCodeDALServiceImpl implements MdCodeDALService {
@Resource
private MdCodeMapper mdCodeMapper;
@Override
public List<MdCode> findByCodeType(String codeType) {
List<MdCode> codeList = new ArrayList<>();
if(!Strings.isNullOrEmpty(codeType)){
codeList = mdCodeMapper.findByCodeType(codeType);
}
return codeList;
}
@Override
public String findCodeByType(String codeType) {
if(!Strings.isNullOrEmpty(codeType)){
return mdCodeMapper.findCodeByType(codeType);
}
return null;
}
}
...@@ -5,7 +5,7 @@ import com.yd.dal.entity.practitioner.PractitionerRankInfo; ...@@ -5,7 +5,7 @@ import com.yd.dal.entity.practitioner.PractitionerRankInfo;
import java.util.List; import java.util.List;
public interface PractitionerServiceDAL { public interface PractitionerDALService {
/** /**
* 线下--通过手机号码获取经纪人的基础信息 * 线下--通过手机号码获取经纪人的基础信息
* @param mobileNo * @param mobileNo
...@@ -31,5 +31,12 @@ public interface PractitionerServiceDAL { ...@@ -31,5 +31,12 @@ public interface PractitionerServiceDAL {
* @param time 1-month,2-year * @param time 1-month,2-year
* @return * @return
*/ */
List<PractitionerRankInfo> getPractitionerRankInfoForOnline(Integer time); List<PractitionerRankInfo> getPractitionerRankInfoForOnline(Integer time,Long practitionerTypeId);
/**
* 线上--按照时间进行查询特殊人员的排名统计信息
* @param mobileSpecials
* @return
*/
List<PractitionerRankInfo> getPractitionerRankInfoForSpecials(List<String> mobileSpecials,Integer time);
} }
...@@ -5,7 +5,7 @@ import com.yd.dal.entity.practitioner.PractitionerBasicInfo; ...@@ -5,7 +5,7 @@ import com.yd.dal.entity.practitioner.PractitionerBasicInfo;
import com.yd.dal.entity.practitioner.PractitionerRankInfo; import com.yd.dal.entity.practitioner.PractitionerRankInfo;
import com.yd.dal.mapper.practitioner.PractitionerMapper; import com.yd.dal.mapper.practitioner.PractitionerMapper;
import com.yd.dal.service.customer.CustomerDAImpl; import com.yd.dal.service.customer.CustomerDAImpl;
import com.yd.dal.service.practitioner.PractitionerServiceDAL; import com.yd.dal.service.practitioner.PractitionerDALService;
import com.yd.util.intercept.annotation.TargetDataSource; import com.yd.util.intercept.annotation.TargetDataSource;
import com.yd.util.intercept.commons.DataSourceKey; import com.yd.util.intercept.commons.DataSourceKey;
import org.apache.log4j.Logger; import org.apache.log4j.Logger;
...@@ -15,7 +15,7 @@ import javax.annotation.Resource; ...@@ -15,7 +15,7 @@ import javax.annotation.Resource;
import java.util.List; import java.util.List;
@Service("practitionerServiceDAL") @Service("practitionerServiceDAL")
public class PractitionerServiceImplDAL implements PractitionerServiceDAL { public class PractitionerDALServiceImpl implements PractitionerDALService {
private static final Logger LOG = Logger.getLogger(CustomerDAImpl.class); private static final Logger LOG = Logger.getLogger(CustomerDAImpl.class);
@Resource @Resource
private PractitionerMapper practitionerMapper; private PractitionerMapper practitionerMapper;
...@@ -47,7 +47,12 @@ public class PractitionerServiceImplDAL implements PractitionerServiceDAL { ...@@ -47,7 +47,12 @@ public class PractitionerServiceImplDAL implements PractitionerServiceDAL {
} }
@Override @Override
public List<PractitionerRankInfo> getPractitionerRankInfoForOnline(Integer time) { public List<PractitionerRankInfo> getPractitionerRankInfoForOnline(Integer time,Long practitionerTypeId) {
return practitionerMapper.getPractitionerRankInfoForOnline(time); return practitionerMapper.getPractitionerRankInfoForOnline(time,practitionerTypeId);
}
@Override
public List<PractitionerRankInfo> getPractitionerRankInfoForSpecials(List<String> mobileSpecials,Integer time) {
return practitionerMapper.getPractitionerRankInfoForSpecials(mobileSpecials,time);
} }
} }
...@@ -32,30 +32,19 @@ public class DESTypeHandler extends BaseTypeHandler<Object> { ...@@ -32,30 +32,19 @@ public class DESTypeHandler extends BaseTypeHandler<Object> {
@Override @Override
public void setNonNullParameter(PreparedStatement ps, int i, Object parameter, JdbcType jdbcType) public void setNonNullParameter(PreparedStatement ps, int i, Object parameter, JdbcType jdbcType)
throws SQLException { throws SQLException {
sensitiveenabled = Boolean.valueOf(properties.get(secret_property_enabled_key).toString());
if (sensitiveenabled==false)
{
return;
}
if (parameter == null) if (parameter == null)
{ {
return; return;
} }
sensitivekey = (String)properties.get(secret_property_key);
DESUtils des;
String result = null; String result = null;
try {
des = new DESUtils(sensitivekey, "utf-8"); if (parameter != null)
if (parameter != null) {
{ result = encode((String)parameter);
result = des.encode((String)parameter);
}
ps.setString(i, result);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} }
ps.setString(i, result);
} }
@Override @Override
...@@ -82,14 +71,45 @@ public class DESTypeHandler extends BaseTypeHandler<Object> { ...@@ -82,14 +71,45 @@ public class DESTypeHandler extends BaseTypeHandler<Object> {
String result = decode(columnValue); String result = decode(columnValue);
return result; return result;
} }
/**
private String decode(String columnValue) { * 解密
* @param context
* @return
*/
public String encode(String context){
sensitiveenabled = Boolean.valueOf(properties.get(secret_property_enabled_key).toString());
if (sensitiveenabled==false)
{
return null;
}
sensitivekey = (String)properties.get(secret_property_key);
DESUtils des;
String result = null;
try {
des = new DESUtils(sensitivekey, "utf-8");
if (context != null)
{
result = des.encode((String)context);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return result;
}
/**
* 解密
* @return
*/
public String decode(String encrypted) {
sensitiveenabled = Boolean.valueOf(properties.get(secret_property_enabled_key).toString()); sensitiveenabled = Boolean.valueOf(properties.get(secret_property_enabled_key).toString());
if (sensitiveenabled==false) if (sensitiveenabled==false)
{ {
return columnValue; return encrypted;
} }
if (columnValue == null) if (encrypted == null)
{ {
return null; return null;
} }
...@@ -98,14 +118,15 @@ public class DESTypeHandler extends BaseTypeHandler<Object> { ...@@ -98,14 +118,15 @@ public class DESTypeHandler extends BaseTypeHandler<Object> {
String result = null; String result = null;
try { try {
des = new DESUtils(sensitivekey, "utf-8"); des = new DESUtils(sensitivekey, "utf-8");
if (columnValue != null) if (encrypted != null)
{ {
result = des.decode(columnValue); result = des.decode(encrypted);
} }
} catch (Exception e) { } catch (Exception e) {
// TODO Auto-generated catch block // TODO Auto-generated catch block
e.printStackTrace(); e.printStackTrace();
} }
return result; return result;
} }
......
<?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.yd.dal.mapper.meta.MdCodeMapper">
<resultMap id="md_code_result_map" type="com.yd.dal.entity.meta.MdCode">
<result column="id" property="id"/>
<result column="codeType" property="codeType"/>
<result column="codeCode" property="codeCode" />
<result column="codeName" property="codeName"/>
<result column="isActive" property="isActive"/>
<result column="remark" property="remark"/>
<result column="createAt" property="createAt"/>
</resultMap>
<select id="findByCodeType" resultMap="md_code_result_map">
SELECT
t.id as id,
t.code_type as codeType,
t.code_code as codeCode,
t.code_name as codeName,
t.is_active as isActive,
t.remark as remark,
t.created_at as creteAt
FROM ag_md_code t
where t.is_active = 1 and t.code_type = #{codeType}
</select>
<select id="findCodeByType" resultType="java.lang.String">
SELECT
t.code_code as codeCode
FROM ag_md_code t
where t.is_active = 1 and t.code_type = #{codeType}
</select>
</mapper>
\ No newline at end of file
...@@ -40,6 +40,7 @@ ...@@ -40,6 +40,7 @@
<resultMap id="practitioner_rank_map" type="com.yd.dal.entity.practitioner.PractitionerRankInfo"> <resultMap id="practitioner_rank_map" type="com.yd.dal.entity.practitioner.PractitionerRankInfo">
<result column="customerId" property="customerId"/>
<result column="practitionerIdForOnLine" property="practitionerIdForOnLine"/> <result column="practitionerIdForOnLine" property="practitionerIdForOnLine"/>
<result column="practitionerId" property="practitionerId"/> <result column="practitionerId" property="practitionerId"/>
<result column="name" property="name"/> <result column="name" property="name"/>
...@@ -75,33 +76,65 @@ ...@@ -75,33 +76,65 @@
</choose> </choose>
group by p.SAL_MST_ID; group by p.SAL_MST_ID;
</select> </select>
<select id="getPractitionerRankInfoForOnline" resultMap="practitioner_rank_map" resultType="java.lang.Integer">
<select id="getPractitionerRankInfoForOnline" resultMap="practitioner_rank_map">
SELECT SELECT
p.id as practitionerIdForOnLine , p.customer_id as customerId,
p.name as name ,-- 姓名 p.id as practitionerIdForOnLine ,
<!-- o.drop_option_code as titleCode,&#45;&#45; 职称code--> p.name as name ,-- 姓名
<!-- o.drop_option_name as titleName,&#45;&#45; 职称名称--> ss.name as spcDivName,-- 体系id
ss.name as spcDivName,-- 体系id count(f.id) as count,-- 保单id
count(f.id) as count,-- 保单id sum(f.order_price) as fyp,-- 保费
sum(f.order_price) as fyp,-- 保费 sum(f.referral_amount) as fyc -- 应发佣金
sum(f.referral_amount) as fyc -- 应发佣金
FROM ag_acl_customer_fortune f INNER JOIN ag_po_order o ON f.order_id = o.id FROM ag_acl_customer_fortune f INNER JOIN ag_po_order o ON f.order_id = o.id
left JOIN ag_acl_practitioner p ON f.customer_id = p.customer_id inner JOIN ag_acl_practitioner p ON f.customer_id = p.customer_id
<!-- left join ag_acl_practitioner_setting s on p.id = s.practitioner_id--> left join ag_acl_practitioner_setting s on p.id = s.practitioner_id
<!-- left join ag_md_drop_options o on s.practitioner_level = o.id--> left join ag_acl_practitioner_subordinate_system ss on p.subordinate_system_id = ss.id
inner join ag_acl_practitioner_subordinate_system ss on p.subordinate_system_id = ss.id
WHERE o.status = 3 and o.order_price > 0 WHERE o.status = 3 and o.order_price > 0
<choose> <if test="practitionerTypeId != null">
<when test="time == 1"> and s.practitioner_type_id = #{practitionerTypeId}
and DATE_FORMAT(f.order_date, '%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' ) </if>
</when> <choose>
<otherwise> <when test="time == 1">
and YEAR(f.order_date) = YEAR(now()) and DATE_FORMAT(f.order_date, '%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' )
</otherwise> </when>
</choose> <otherwise>
and YEAR(f.order_date) = YEAR(now())
</otherwise>
</choose>
group by p.id; group by p.id;
</select> </select>
<select id="getPractitionerRankInfoForSpecials" resultMap="practitioner_rank_map" resultType="java.util.List">
SELECT
p.customer_id as customerId,
p.id as practitionerIdForOnLine ,
p.name as name ,-- 姓名
ss.name as spcDivName,-- 体系id
count(f.id) as count,-- 保单id
sum(f.order_price) as fyp,-- 保费
sum(f.referral_amount) as fyc -- 应发佣金
FROM ag_acl_customer_fortune f INNER JOIN ag_po_order o ON f.order_id = o.id
inner JOIN ag_acl_practitioner p ON f.customer_id = p.customer_id
left join ag_acl_customer c on p.customer_id = c.id
left join ag_acl_practitioner_subordinate_system ss on p.subordinate_system_id = ss.id
WHERE o.status = 3 and o.order_price > 0
and c.login in
<foreach collection="mobileSpecials" index="index" item="item" open="(" separator="," close=")">
#{item}
</foreach>
<choose>
<when test="time == 1">
and DATE_FORMAT(f.order_date, '%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' )
</when>
<otherwise>
and YEAR(f.order_date) = YEAR(now())
</otherwise>
</choose>
group by p.id;
</select>
</mapper> </mapper>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment