| | |
| | | |
| | | import com.nq.enums.EStockType; |
| | | import com.nq.service.IRateServices; |
| | | import com.nq.service.ISiteAdminService; |
| | | import com.nq.service.ISiteSettingService; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.math.BigDecimal; |
| | | import java.math.RoundingMode; |
| | | |
| | | @Service |
| | | public class RateServicesImpl implements IRateServices { |
| | | |
| | | @Resource |
| | | ISiteSettingService iSiteSettingService; |
| | | @Override |
| | | public BigDecimal currencyRate(EStockType fromStockType, EStockType tofromStockType) { |
| | | if(fromStockType == null || tofromStockType == null){ |
| | | return new BigDecimal(1); |
| | | } |
| | | BigDecimal rate = iSiteSettingService.getSiteSetting().getExchangeRate(); |
| | | BigDecimal rate1 = new BigDecimal(7.35); |
| | | if(fromStockType==EStockType.US){ |
| | | if(tofromStockType==EStockType.MAS){ |
| | | return rate; |
| | | }else if(tofromStockType==EStockType.HK){ |
| | | return rate1; |
| | | } |
| | | }if(fromStockType==EStockType.HK){ |
| | | if(tofromStockType==EStockType.MAS){ |
| | | return new BigDecimal(1).divide(rate1,18, RoundingMode.HALF_DOWN).multiply(rate); |
| | | }else if(tofromStockType==EStockType.US){ |
| | | return new BigDecimal(1).divide(rate1,18, RoundingMode.HALF_DOWN); |
| | | } |
| | | } else { |
| | | if(tofromStockType==EStockType.US){ |
| | | return new BigDecimal(1).divide(rate,18, RoundingMode.HALF_DOWN); |
| | | }else{ |
| | | return new BigDecimal(1).divide(rate,18, RoundingMode.HALF_DOWN).multiply(rate1); |
| | | } |
| | | } |
| | | // if(fromStockType == null || tofromStockType == null){ |
| | | // return new BigDecimal(1); |
| | | // } |
| | | // BigDecimal rate = iSiteSettingService.getSiteSetting().getExchangeRate(); |
| | | // BigDecimal rate1 = new BigDecimal(7.35); |
| | | // if(fromStockType==EStockType.US){ |
| | | // if(tofromStockType==EStockType.MAS){ |
| | | // return rate; |
| | | // }else if(tofromStockType==EStockType.HK){ |
| | | // return rate1; |
| | | // } |
| | | // }if(fromStockType==EStockType.HK){ |
| | | // if(tofromStockType==EStockType.MAS){ |
| | | // return new BigDecimal(1).divide(rate1,18, RoundingMode.HALF_DOWN).multiply(rate); |
| | | // }else if(tofromStockType==EStockType.US){ |
| | | // return new BigDecimal(1).divide(rate1,18, RoundingMode.HALF_DOWN); |
| | | // } |
| | | // } else { |
| | | // if(tofromStockType==EStockType.US){ |
| | | // return new BigDecimal(1).divide(rate,18, RoundingMode.HALF_DOWN); |
| | | // }else{ |
| | | // return new BigDecimal(1).divide(rate,18, RoundingMode.HALF_DOWN).multiply(rate1); |
| | | // } |
| | | // } |
| | | |
| | | return new BigDecimal(1); |
| | | |