提交代码

dev-discount
胡锐 3 years ago
parent 791309d957
commit 041931c606
  1. 11
      hai-bweb/src/main/java/com/bweb/controller/CommonController.java
  2. 109
      hai-bweb/src/main/java/com/bweb/controller/HighTyAgentPriceController.java
  3. 76
      hai-cweb/src/main/java/com/cweb/controller/HighGasController.java
  4. 27
      hai-cweb/src/main/java/com/cweb/controller/HighOrderController.java
  5. 17
      hai-service/src/main/java/com/hai/dao/HighTyAgentPriceMapper.java
  6. 28
      hai-service/src/main/java/com/hai/dao/HighTyAgentPriceSqlProvider.java
  7. 32
      hai-service/src/main/java/com/hai/entity/HighTyAgentPrice.java
  8. 130
      hai-service/src/main/java/com/hai/entity/HighTyAgentPriceExample.java
  9. 14
      hai-service/src/main/java/com/hai/service/HighTyAgentPriceService.java
  10. 14
      hai-service/src/main/java/com/hai/service/impl/HighTyAgentPriceServiceImpl.java

@ -5,6 +5,7 @@ import com.hai.common.utils.DateUtil;
import com.hai.common.utils.ResponseMsgUtil; import com.hai.common.utils.ResponseMsgUtil;
import com.hai.config.TuanYouConfig; import com.hai.config.TuanYouConfig;
import com.hai.entity.SecConfig; import com.hai.entity.SecConfig;
import com.hai.entity.SecDictionary;
import com.hai.model.*; import com.hai.model.*;
import com.hai.service.CommonService; import com.hai.service.CommonService;
import com.hai.service.SecConfigService; import com.hai.service.SecConfigService;
@ -16,8 +17,11 @@ import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Comparator;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@RestController @RestController
@ -87,8 +91,11 @@ public class CommonController {
@ApiOperation(value = "根据 码值类型 查询数据字典") @ApiOperation(value = "根据 码值类型 查询数据字典")
public ResponseData getDictionaryByCodeType(@RequestParam(name = "codeType", required = true) String codeType) { public ResponseData getDictionaryByCodeType(@RequestParam(name = "codeType", required = true) String codeType) {
try { try {
List<SecDictionary> list = commonService.getDictionarys(codeType);
return ResponseMsgUtil.success(commonService.getDictionarys(codeType)); if (list != null && list.size() > 0) {
list = list.stream().sorted(Comparator.comparingDouble(entry -> entry.getSortId())).collect(Collectors.toList());
}
return ResponseMsgUtil.success(list);
} catch (Exception e) { } catch (Exception e) {
log.error("CommonController --> getDictionaryByCodeType() error!", e); log.error("CommonController --> getDictionaryByCodeType() error!", e);

@ -9,6 +9,7 @@ import com.hai.common.exception.SysCode;
import com.hai.common.security.UserCenter; import com.hai.common.security.UserCenter;
import com.hai.common.utils.ResponseMsgUtil; import com.hai.common.utils.ResponseMsgUtil;
import com.hai.entity.*; import com.hai.entity.*;
import com.hai.model.HighMerchantStoreModel;
import com.hai.model.ResponseData; import com.hai.model.ResponseData;
import com.hai.service.*; import com.hai.service.*;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
@ -67,7 +68,8 @@ public class HighTyAgentPriceController {
for (Object obj : bodyArray) { for (Object obj : bodyArray) {
JSONObject body = (JSONObject)JSONObject.toJSON(obj); JSONObject body = (JSONObject)JSONObject.toJSON(obj);
if (body.getInteger("belongType") == null if (body.getInteger("belongType") == null
|| body.getLong("tyAgentOilStationId") == null || body.getLong("oilStationId") == null
|| StringUtils.isBlank(body.getString("oilStationName"))
|| StringUtils.isBlank(body.getString("oilNoName")) || StringUtils.isBlank(body.getString("oilNoName"))
|| StringUtils.isBlank(body.getString("oilNo")) || StringUtils.isBlank(body.getString("oilNo"))
|| body.getBigDecimal("priceRate") == null) { || body.getBigDecimal("priceRate") == null) {
@ -75,10 +77,12 @@ public class HighTyAgentPriceController {
} }
// 查询油站 // 查询油站
HighTyAgentPrice agentOilStation = tyAgentPriceService.getDetail(body.getInteger("belongType"),body.getLong("tyAgentOilStationId"), body.getString("oilNo")); HighTyAgentPrice agentOilStation = tyAgentPriceService.getDetail(body.getInteger("belongType"),body.getLong("oilStationId"), body.getString("oilNo"));
if (agentOilStation == null) { if (agentOilStation == null) {
agentOilStation = new HighTyAgentPrice(); agentOilStation = new HighTyAgentPrice();
agentOilStation.setBelongType(body.getInteger("belongType")); agentOilStation.setBelongType(body.getInteger("belongType"));
agentOilStation.setOilStationId(body.getLong("oilStationId"));
agentOilStation.setOilStationName(body.getString("oilStationName"));
agentOilStation.setTyAgentOilStationId(body.getLong("tyAgentOilStationId")); agentOilStation.setTyAgentOilStationId(body.getLong("tyAgentOilStationId"));
agentOilStation.setOilNoName(body.getString("oilNoName")); agentOilStation.setOilNoName(body.getString("oilNoName"));
agentOilStation.setOilNo(body.getString("oilNo")); agentOilStation.setOilNo(body.getString("oilNo"));
@ -97,6 +101,90 @@ public class HighTyAgentPriceController {
} }
} }
@RequestMapping(value = "/batchConfigPrice", method = RequestMethod.POST)
@ResponseBody
@ApiOperation(value = "批量配置价格")
public ResponseData batchConfigPrice(@RequestBody JSONObject body) {
try {
if (body.getInteger("belongType") == null
|| body.getInteger("oilNo") == null
|| body.getBigDecimal("priceRate") == null
|| body.getJSONArray("oilStationList") == null
) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, "");
}
String oilNoName = commonService.getDictionaryCodeName("GAS_OIL_TYPE", body.getInteger("oilNo").toString());
if (StringUtils.isBlank(oilNoName)) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未知的油品");
}
for (Object obj : body.getJSONArray("oilStationList")) {
JSONObject oilStation = (JSONObject)JSONObject.toJSON(obj);
if (oilStation.getLong("oilStationId") == null || StringUtils.isBlank(oilStation.getString("oilStationName"))) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMPETENCE_INSUFFICIENT, "");
}
// 查询油站
HighTyAgentPrice agentOilStation = tyAgentPriceService.getDetail(body.getInteger("belongType"), oilStation.getLong("oilStationId"), body.getString("oilNo"));
if (agentOilStation == null) {
agentOilStation = new HighTyAgentPrice();
agentOilStation.setBelongType(body.getInteger("belongType"));
agentOilStation.setOilStationId(oilStation.getLong("oilStationId"));
agentOilStation.setOilStationName(oilStation.getString("oilStationName"));
agentOilStation.setTyAgentOilStationId(oilStation.getLong("tyAgentOilStationId"));
agentOilStation.setOilNoName(oilNoName);
agentOilStation.setOilNo(body.getString("oilNo"));
agentOilStation.setPriceRate(body.getBigDecimal("priceRate"));
} else {
agentOilStation.setPriceRate(body.getBigDecimal("priceRate"));
}
tyAgentPriceService.editTyAgentPrice(agentOilStation);
}
return ResponseMsgUtil.success("操作成功");
} catch (Exception e) {
log.error("HighTyAgentPriceController --> editPrice() error!", e);
return ResponseMsgUtil.exception(e);
}
}
@RequestMapping(value = "/batchConfigOilNo", method = RequestMethod.POST)
@ResponseBody
@ApiOperation(value = "批量油品管理")
public ResponseData batchConfigOilNo(@RequestBody JSONObject body) {
try {
if (body.getInteger("oilNo") == null
|| body.getInteger("status") == null
|| body.getJSONArray("oilStationList") == null
) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, "");
}
String oilNoName = commonService.getDictionaryCodeName("GAS_OIL_TYPE", body.getInteger("oilNo").toString());
if (StringUtils.isBlank(oilNoName)) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未知的油品");
}
for (Object obj : body.getJSONArray("oilStationList")) {
JSONObject oilStation = (JSONObject)JSONObject.toJSON(obj);
if (oilStation.getLong("oilStationId") == null) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMPETENCE_INSUFFICIENT, "");
}
HighGasOilPrice oilNo = gasOilPriceService.getGasOilPriceByStoreAndOilNo(oilStation.getLong("oilStationId"), body.getInteger("oilNo"));
if (oilNo != null) {
oilNo.setStatus(body.getInteger("status"));
gasOilPriceService.editGasOilPrice(oilNo);
}
}
return ResponseMsgUtil.success("操作成功");
} catch (Exception e) {
log.error("HighTyAgentPriceController --> batchConfigOilNo() error!", e);
return ResponseMsgUtil.exception(e);
}
}
@RequestMapping(value = "/getOilStationPrice", method = RequestMethod.GET) @RequestMapping(value = "/getOilStationPrice", method = RequestMethod.GET)
@ResponseBody @ResponseBody
@ApiOperation(value = "油站价格") @ApiOperation(value = "油站价格")
@ -104,11 +192,6 @@ public class HighTyAgentPriceController {
@RequestParam(name = "oilStationId", required = true) Long oilStationId) { @RequestParam(name = "oilStationId", required = true) Long oilStationId) {
try { try {
HighTyAgentOilStation station = tyAgentOilStationService.getDetailByOilStationId(oilStationId);
if (station == null) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "加油站未分配,无法查看");
}
List<HighGasOilPrice> oilPriceList = gasOilPriceService.getGasOilPriceByStore(oilStationId); List<HighGasOilPrice> oilPriceList = gasOilPriceService.getGasOilPriceByStore(oilStationId);
if (oilPriceList == null) { if (oilPriceList == null) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "此加油站,暂无法配置"); throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "此加油站,暂无法配置");
@ -118,18 +201,24 @@ public class HighTyAgentPriceController {
for (HighGasOilPrice price : oilPriceList) { for (HighGasOilPrice price : oilPriceList) {
oilPriceMap = new HashMap<>(); oilPriceMap = new HashMap<>();
oilPriceMap.put("tyAgentOilStationId", station.getId());
oilPriceMap.put("oilStationId", price.getMerchantStoreId());
oilPriceMap.put("oilNo", price.getOilNo()); oilPriceMap.put("oilNo", price.getOilNo());
oilPriceMap.put("oilNoName", price.getOilNoName()); oilPriceMap.put("oilNoName", price.getOilNoName());
oilPriceMap.put("status", price.getStatus()); oilPriceMap.put("status", price.getStatus());
oilPriceMap.put("lowPrice", commonService.getDictionaryCodeName("TY_AGENT_OIL_STATION_LOW_PRICE", price.getOilNo().toString())); oilPriceMap.put("lowPrice", commonService.getDictionaryCodeName("TY_AGENT_OIL_STATION_LOW_PRICE", price.getOilNo().toString()));
// 价格 // 价格
HighTyAgentPrice priceRate = tyAgentPriceService.getDetail(belongType, station.getId(), price.getOilNo().toString()); HighTyAgentPrice priceRate = tyAgentPriceService.getDetail(belongType, oilStationId, price.getOilNo().toString());
if (priceRate == null) { if (priceRate == null) {
// 油站
HighMerchantStore store = merchantStoreService.getDetailById(price.getMerchantStoreId());
if (store != null) {
oilPriceMap.put("oilStationId", store.getId());
oilPriceMap.put("oilStationName", store.getStoreName());
}
oilPriceMap.put("priceRate", gasDiscountOilPriceService.getDetailByOilNo(price.getOilNo().toString()).getPriceRate()); oilPriceMap.put("priceRate", gasDiscountOilPriceService.getDetailByOilNo(price.getOilNo().toString()).getPriceRate());
} else { } else {
oilPriceMap.put("oilStationId", priceRate.getOilStationId());
oilPriceMap.put("oilStationName", priceRate.getOilStationName());
oilPriceMap.put("priceRate", priceRate.getPriceRate()); oilPriceMap.put("priceRate", priceRate.getPriceRate());
} }
oilPriceMapList.add(oilPriceMap); oilPriceMapList.add(oilPriceMap);

@ -14,6 +14,7 @@ import com.hai.config.CommonSysConst;
import com.hai.config.TuanYouConfig; import com.hai.config.TuanYouConfig;
import com.hai.dao.HighGasOrderPushMapper; import com.hai.dao.HighGasOrderPushMapper;
import com.hai.entity.*; import com.hai.entity.*;
import com.hai.enum_type.GasOilPriceStatusEnum;
import com.hai.enum_type.OrderPushType; import com.hai.enum_type.OrderPushType;
import com.hai.model.HighMerchantStoreModel; import com.hai.model.HighMerchantStoreModel;
import com.hai.model.ResponseData; import com.hai.model.ResponseData;
@ -100,7 +101,16 @@ public class HighGasController {
PageInfo<Map<String, Object>> mapPageInfo = PageUtil.initPageInfoObj(pageNum, distance.size(), pageSize, new PageInfo<>(distance)); PageInfo<Map<String, Object>> mapPageInfo = PageUtil.initPageInfoObj(pageNum, distance.size(), pageSize, new PageInfo<>(distance));
for (Map<String, Object> map : mapPageInfo.getList()) { for (Map<String, Object> map : mapPageInfo.getList()) {
if (StringUtils.isNotBlank(MapUtils.getString(map, "oil_no"))) { if (StringUtils.isNotBlank(MapUtils.getString(map, "oil_no"))) {
// 查询是否配置了优惠比例
// 查询是否配置了【油站的】优惠比例
HighTyAgentPrice tyAgentPrice = tyAgentPriceService.getDetail(1, MapUtils.getLong(map, "id"), MapUtils.getString(map, "oil_no"));
if (tyAgentPrice != null) {
// 优惠比例 / 100 = 最终优惠比例
BigDecimal priceRate = tyAgentPrice.getPriceRate().divide(new BigDecimal("100").setScale(2, BigDecimal.ROUND_DOWN));
// 油品国标价 * 最终优惠比例
map.put("price_vip", new BigDecimal(MapUtils.getString(map, "price_official")).multiply(priceRate).setScale(2, BigDecimal.ROUND_HALF_UP));
} else {
// 查询是否配置了【油品】优惠比例
HighGasDiscountOilPrice gasDiscountOilPrice = highGasDiscountOilPriceService.getDetailByOilNo(MapUtils.getString(map, "oil_no")); HighGasDiscountOilPrice gasDiscountOilPrice = highGasDiscountOilPriceService.getDetailByOilNo(MapUtils.getString(map, "oil_no"));
if (gasDiscountOilPrice != null) { if (gasDiscountOilPrice != null) {
// 优惠比例 / 100 = 最终优惠比例 // 优惠比例 / 100 = 最终优惠比例
@ -108,22 +118,20 @@ public class HighGasController {
// 油品国标价 * 最终优惠比例 // 油品国标价 * 最终优惠比例
map.put("price_vip", new BigDecimal(MapUtils.getString(map, "price_official")).multiply(priceRate).setScale(2, BigDecimal.ROUND_HALF_UP)); map.put("price_vip", new BigDecimal(MapUtils.getString(map, "price_official")).multiply(priceRate).setScale(2, BigDecimal.ROUND_HALF_UP));
} }
}
// 查询是否配置了【代理商】优惠比例
if (isTyAgent != null && isTyAgent == true) { if (isTyAgent != null && isTyAgent == true) {
// 查询是否配置了优惠比例 HighTyAgentPrice agentPrice = tyAgentPriceService.getDetail(2, MapUtils.getLong(map, "id"), MapUtils.getString(map, "oil_no"));
HighTyAgentOilStation tyAgentOilStation = tyAgentOilStationService.getDetailByOilStationId(MapUtils.getLong(map, "id")); if (agentPrice != null) {
if (tyAgentOilStation != null) {
HighTyAgentPrice tyAgentPrice = tyAgentPriceService.getDetail(2,tyAgentOilStation.getId(), MapUtils.getString(map, "oil_no"));
if (tyAgentPrice != null) {
// 优惠比例 / 100 = 最终优惠比例 // 优惠比例 / 100 = 最终优惠比例
BigDecimal priceRate = tyAgentPrice.getPriceRate().divide(new BigDecimal("100").setScale(2, BigDecimal.ROUND_DOWN)); BigDecimal priceRate = agentPrice.getPriceRate().divide(new BigDecimal("100").setScale(2, BigDecimal.ROUND_DOWN));
// 油品国标价 * 最终优惠比例 // 油品国标价 * 最终优惠比例
map.put("price_vip", new BigDecimal(MapUtils.getString(map, "price_official")).multiply(priceRate).setScale(2, BigDecimal.ROUND_HALF_UP)); map.put("price_vip", new BigDecimal(MapUtils.getString(map, "price_official")).multiply(priceRate).setScale(2, BigDecimal.ROUND_HALF_UP));
} }
} }
} }
} }
}
return ResponseMsgUtil.success(mapPageInfo); return ResponseMsgUtil.success(mapPageInfo);
} }
return ResponseMsgUtil.success(new PageInfo<>()); return ResponseMsgUtil.success(new PageInfo<>());
@ -142,21 +150,27 @@ public class HighGasController {
@RequestParam(name = "isTyAgent", required = false) Boolean isTyAgent) { @RequestParam(name = "isTyAgent", required = false) Boolean isTyAgent) {
try { try {
BigDecimal discount = new BigDecimal("1"); BigDecimal discount = new BigDecimal("1");
// 查询是否配置了【油站的】优惠比例
HighTyAgentPrice tyAgentPrice = tyAgentPriceService.getDetail(1, goodsId, oilNo);
if (tyAgentPrice != null) {
discount = tyAgentPrice.getPriceRate();
} else {
// 查询是否配置了【油品】优惠比例
HighGasDiscountOilPrice gasDiscountOilPrice = highGasDiscountOilPriceService.getDetailByOilNo(oilNo);
if (gasDiscountOilPrice != null) {
discount = gasDiscountOilPrice.getPriceRate();
}
}
if (isTyAgent != null && isTyAgent.equals(true)) { if (isTyAgent != null && isTyAgent.equals(true)) {
// 查询加油站
HighTyAgentOilStation oilStation = tyAgentOilStationService.getDetailByOilStationId(goodsId);
if (oilStation != null) {
// 价格 // 价格
HighTyAgentPrice priceRate = tyAgentPriceService.getDetail(1, oilStation.getId(), oilNo); HighTyAgentPrice priceRate = tyAgentPriceService.getDetail(2, goodsId, oilNo);
if (priceRate == null) { if (priceRate == null) {
discount = gasDiscountOilPriceService.getDetailByOilNo(oilNo).getPriceRate(); discount = gasDiscountOilPriceService.getDetailByOilNo(oilNo).getPriceRate();
} else { } else {
discount = priceRate.getPriceRate(); discount = priceRate.getPriceRate();
} }
} }
} else {
discount = gasDiscountOilPriceService.getDetailByOilNo(oilNo).getPriceRate();
}
return ResponseMsgUtil.success(price.multiply(discount.divide(new BigDecimal("100"))).setScale(2,BigDecimal.ROUND_HALF_UP)); return ResponseMsgUtil.success(price.multiply(discount.divide(new BigDecimal("100"))).setScale(2,BigDecimal.ROUND_HALF_UP));
} catch (Exception e) { } catch (Exception e) {
log.error("HighGasController -> oilPriceCompute() error!",e); log.error("HighGasController -> oilPriceCompute() error!",e);
@ -192,7 +206,22 @@ public class HighGasController {
// 处理油品价格 // 处理油品价格
for (Object oilPriceObject : originalOilPriceList) { for (Object oilPriceObject : originalOilPriceList) {
JSONObject price = JSON.parseObject(JSONObject.toJSONString(oilPriceObject), JSONObject.class); JSONObject price = JSON.parseObject(JSONObject.toJSONString(oilPriceObject), JSONObject.class);
// 查询是否配置了优惠比例
// 查询油站油品状态
HighGasOilPrice oilNo = highGasOilPriceService.getGasOilPriceByStoreAndOilNo(store.getId(), price.getInteger("oilNo"));
if (oilNo != null && !oilNo.getStatus().equals(GasOilPriceStatusEnum.status1.getStatus())) {
continue;
}
// 查询是否配置了【油站的】优惠比例
HighTyAgentPrice tyAgentPrice = tyAgentPriceService.getDetail(1, store.getId(), price.getString("oilNo"));
if (tyAgentPrice != null) {
// 优惠比例 / 100 = 最终优惠比例
BigDecimal priceRate = tyAgentPrice.getPriceRate().divide(new BigDecimal("100").setScale(2, BigDecimal.ROUND_DOWN));
// 油品国标价 * 最终优惠比例
price.put("priceVip", price.getBigDecimal("priceOfficial").multiply(priceRate).setScale(2, BigDecimal.ROUND_HALF_UP));
} else {
// 查询是否配置了【油品】优惠比例
HighGasDiscountOilPrice gasDiscountOilPrice = highGasDiscountOilPriceService.getDetailByOilNo(price.getString("oilNo")); HighGasDiscountOilPrice gasDiscountOilPrice = highGasDiscountOilPriceService.getDetailByOilNo(price.getString("oilNo"));
if (gasDiscountOilPrice != null) { if (gasDiscountOilPrice != null) {
// 优惠比例 / 100 = 最终优惠比例 // 优惠比例 / 100 = 最终优惠比例
@ -200,25 +229,20 @@ public class HighGasController {
// 油品国标价 * 最终优惠比例 // 油品国标价 * 最终优惠比例
price.put("priceVip", price.getBigDecimal("priceOfficial").multiply(priceRate).setScale(2, BigDecimal.ROUND_HALF_UP)); price.put("priceVip", price.getBigDecimal("priceOfficial").multiply(priceRate).setScale(2, BigDecimal.ROUND_HALF_UP));
} }
}
// 查询是否配置了【代理商油站】优惠比例
if (isTyAgent != null && isTyAgent == true) { if (isTyAgent != null && isTyAgent == true) {
// 查询是否配置了优惠比例 HighTyAgentPrice agentPrice = tyAgentPriceService.getDetail(2, store.getId(), price.getString("oilNo"));
HighTyAgentOilStation tyAgentOilStation = tyAgentOilStationService.getDetailByOilStationId(store.getId()); if (agentPrice != null) {
if (tyAgentOilStation != null) {
HighTyAgentPrice tyAgentPrice = tyAgentPriceService.getDetail(1, tyAgentOilStation.getId(), price.getString("oilNo"));
if (tyAgentPrice != null) {
// 优惠比例 / 100 = 最终优惠比例 // 优惠比例 / 100 = 最终优惠比例
BigDecimal priceRate = tyAgentPrice.getPriceRate().divide(new BigDecimal("100").setScale(2, BigDecimal.ROUND_DOWN)); BigDecimal priceRate = agentPrice.getPriceRate().divide(new BigDecimal("100").setScale(2, BigDecimal.ROUND_DOWN));
// 油品国标价 * 最终优惠比例 // 油品国标价 * 最终优惠比例
price.put("priceVip", price.getBigDecimal("priceOfficial").multiply(priceRate).setScale(2, BigDecimal.ROUND_HALF_UP)); price.put("priceVip", price.getBigDecimal("priceOfficial").multiply(priceRate).setScale(2, BigDecimal.ROUND_HALF_UP));
} }
} }
}
// 过滤油品,只保留汽油
if (price.getInteger("oilType") == 1) {
newOilPriceList.add(price); newOilPriceList.add(price);
} }
}
result.put("oilPriceList", newOilPriceList); result.put("oilPriceList", newOilPriceList);
double distance = CoordCommonUtil.getDistance(Double.valueOf(result.get("gasAddressLatitude").toString()), Double.valueOf(result.get("gasAddressLongitude").toString()), Double.valueOf(latitude), Double.valueOf(longitude)); double distance = CoordCommonUtil.getDistance(Double.valueOf(result.get("gasAddressLatitude").toString()), Double.valueOf(result.get("gasAddressLongitude").toString()), Double.valueOf(latitude), Double.valueOf(longitude));

@ -234,28 +234,27 @@ public class HighOrderController {
highOrder.setPayType(2); // 第三方平台 highOrder.setPayType(2); // 第三方平台
BigDecimal discount = new BigDecimal("1"); BigDecimal discount = new BigDecimal("1");
if (highOrder.getIsTyAgent() != null && highOrder.getIsTyAgent() == true) { // 查询是否配置了【油站的】优惠比例
// 查询加油站 HighTyAgentPrice tyAgentPrice = tyAgentPriceService.getDetail(1, childOrder.getGoodsId(), childOrder.getGasOilNo());
HighTyAgentOilStation oilStation = tyAgentOilStationService.getDetailByOilStationId(childOrder.getGoodsId()); if (tyAgentPrice != null) {
if (oilStation != null) { discount = tyAgentPrice.getPriceRate();
childOrder.setGasSalesmanId(oilStation.getTySalesmanId()); } else {
childOrder.setGasSalesmanName(oilStation.getTySalesmanName()); // 查询是否配置了【油品】优惠比例
childOrder.setGasAgentId(oilStation.getTyAgentId()); HighGasDiscountOilPrice gasDiscountOilPrice = gasDiscountOilPriceService.getDetailByOilNo(childOrder.getGasOilNo());
childOrder.setGasAgentName(oilStation.getTyAgentName()); if (gasDiscountOilPrice != null) {
childOrder.setGasOrgId(oilStation.getOrganizationId()); discount = gasDiscountOilPrice.getPriceRate();
childOrder.setGasOrgName(oilStation.getOrganizationName()); }
}
if (highOrder.getIsTyAgent() != null && highOrder.getIsTyAgent().equals(true)) {
// 价格 // 价格
HighTyAgentPrice priceRate = tyAgentPriceService.getDetail(1, oilStation.getId(), childOrder.getGasOilNo()); HighTyAgentPrice priceRate = tyAgentPriceService.getDetail(2, childOrder.getGoodsId(), childOrder.getGasOilNo());
if (priceRate == null) { if (priceRate == null) {
discount = gasDiscountOilPriceService.getDetailByOilNo(childOrder.getGasOilNo()).getPriceRate(); discount = gasDiscountOilPriceService.getDetailByOilNo(childOrder.getGasOilNo()).getPriceRate();
} else { } else {
discount = priceRate.getPriceRate(); discount = priceRate.getPriceRate();
} }
} }
} else {
discount = gasDiscountOilPriceService.getDetailByOilNo(childOrder.getGasOilNo()).getPriceRate();
}
// 获取当前加油价格 // 获取当前加油价格
JSONObject jsonObject = TuanYouConfig.queryCompanyPriceDetail(store.getStoreKey(), childOrder.getGasOilNo()); JSONObject jsonObject = TuanYouConfig.queryCompanyPriceDetail(store.getStoreKey(), childOrder.getGasOilNo());

@ -39,12 +39,14 @@ public interface HighTyAgentPriceMapper extends HighTyAgentPriceMapperExt {
int deleteByPrimaryKey(Long id); int deleteByPrimaryKey(Long id);
@Insert({ @Insert({
"insert into high_ty_agent_price (belong_type, ty_agent_oil_station_id, ", "insert into high_ty_agent_price (belong_type, oil_station_id, ",
"oil_station_name, ty_agent_oil_station_id, ",
"oil_no_name, oil_no, ", "oil_no_name, oil_no, ",
"price_rate, `status`, ", "price_rate, `status`, ",
"create_time, update_time, ", "create_time, update_time, ",
"ext_1, ext_2, ext_3)", "ext_1, ext_2, ext_3)",
"values (#{belongType,jdbcType=INTEGER}, #{tyAgentOilStationId,jdbcType=BIGINT}, ", "values (#{belongType,jdbcType=INTEGER}, #{oilStationId,jdbcType=BIGINT}, ",
"#{oilStationName,jdbcType=VARCHAR}, #{tyAgentOilStationId,jdbcType=BIGINT}, ",
"#{oilNoName,jdbcType=VARCHAR}, #{oilNo,jdbcType=VARCHAR}, ", "#{oilNoName,jdbcType=VARCHAR}, #{oilNo,jdbcType=VARCHAR}, ",
"#{priceRate,jdbcType=DECIMAL}, #{status,jdbcType=INTEGER}, ", "#{priceRate,jdbcType=DECIMAL}, #{status,jdbcType=INTEGER}, ",
"#{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP}, ", "#{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP}, ",
@ -61,6 +63,8 @@ public interface HighTyAgentPriceMapper extends HighTyAgentPriceMapperExt {
@Results({ @Results({
@Result(column="id", property="id", jdbcType=JdbcType.BIGINT, id=true), @Result(column="id", property="id", jdbcType=JdbcType.BIGINT, id=true),
@Result(column="belong_type", property="belongType", jdbcType=JdbcType.INTEGER), @Result(column="belong_type", property="belongType", jdbcType=JdbcType.INTEGER),
@Result(column="oil_station_id", property="oilStationId", jdbcType=JdbcType.BIGINT),
@Result(column="oil_station_name", property="oilStationName", jdbcType=JdbcType.VARCHAR),
@Result(column="ty_agent_oil_station_id", property="tyAgentOilStationId", jdbcType=JdbcType.BIGINT), @Result(column="ty_agent_oil_station_id", property="tyAgentOilStationId", jdbcType=JdbcType.BIGINT),
@Result(column="oil_no_name", property="oilNoName", jdbcType=JdbcType.VARCHAR), @Result(column="oil_no_name", property="oilNoName", jdbcType=JdbcType.VARCHAR),
@Result(column="oil_no", property="oilNo", jdbcType=JdbcType.VARCHAR), @Result(column="oil_no", property="oilNo", jdbcType=JdbcType.VARCHAR),
@ -76,14 +80,17 @@ public interface HighTyAgentPriceMapper extends HighTyAgentPriceMapperExt {
@Select({ @Select({
"select", "select",
"id, belong_type, ty_agent_oil_station_id, oil_no_name, oil_no, price_rate, `status`, ", "id, belong_type, oil_station_id, oil_station_name, ty_agent_oil_station_id, ",
"create_time, update_time, ext_1, ext_2, ext_3", "oil_no_name, oil_no, price_rate, `status`, create_time, update_time, ext_1, ",
"ext_2, ext_3",
"from high_ty_agent_price", "from high_ty_agent_price",
"where id = #{id,jdbcType=BIGINT}" "where id = #{id,jdbcType=BIGINT}"
}) })
@Results({ @Results({
@Result(column="id", property="id", jdbcType=JdbcType.BIGINT, id=true), @Result(column="id", property="id", jdbcType=JdbcType.BIGINT, id=true),
@Result(column="belong_type", property="belongType", jdbcType=JdbcType.INTEGER), @Result(column="belong_type", property="belongType", jdbcType=JdbcType.INTEGER),
@Result(column="oil_station_id", property="oilStationId", jdbcType=JdbcType.BIGINT),
@Result(column="oil_station_name", property="oilStationName", jdbcType=JdbcType.VARCHAR),
@Result(column="ty_agent_oil_station_id", property="tyAgentOilStationId", jdbcType=JdbcType.BIGINT), @Result(column="ty_agent_oil_station_id", property="tyAgentOilStationId", jdbcType=JdbcType.BIGINT),
@Result(column="oil_no_name", property="oilNoName", jdbcType=JdbcType.VARCHAR), @Result(column="oil_no_name", property="oilNoName", jdbcType=JdbcType.VARCHAR),
@Result(column="oil_no", property="oilNo", jdbcType=JdbcType.VARCHAR), @Result(column="oil_no", property="oilNo", jdbcType=JdbcType.VARCHAR),
@ -109,6 +116,8 @@ public interface HighTyAgentPriceMapper extends HighTyAgentPriceMapperExt {
@Update({ @Update({
"update high_ty_agent_price", "update high_ty_agent_price",
"set belong_type = #{belongType,jdbcType=INTEGER},", "set belong_type = #{belongType,jdbcType=INTEGER},",
"oil_station_id = #{oilStationId,jdbcType=BIGINT},",
"oil_station_name = #{oilStationName,jdbcType=VARCHAR},",
"ty_agent_oil_station_id = #{tyAgentOilStationId,jdbcType=BIGINT},", "ty_agent_oil_station_id = #{tyAgentOilStationId,jdbcType=BIGINT},",
"oil_no_name = #{oilNoName,jdbcType=VARCHAR},", "oil_no_name = #{oilNoName,jdbcType=VARCHAR},",
"oil_no = #{oilNo,jdbcType=VARCHAR},", "oil_no = #{oilNo,jdbcType=VARCHAR},",

@ -32,6 +32,14 @@ public class HighTyAgentPriceSqlProvider {
sql.VALUES("belong_type", "#{belongType,jdbcType=INTEGER}"); sql.VALUES("belong_type", "#{belongType,jdbcType=INTEGER}");
} }
if (record.getOilStationId() != null) {
sql.VALUES("oil_station_id", "#{oilStationId,jdbcType=BIGINT}");
}
if (record.getOilStationName() != null) {
sql.VALUES("oil_station_name", "#{oilStationName,jdbcType=VARCHAR}");
}
if (record.getTyAgentOilStationId() != null) { if (record.getTyAgentOilStationId() != null) {
sql.VALUES("ty_agent_oil_station_id", "#{tyAgentOilStationId,jdbcType=BIGINT}"); sql.VALUES("ty_agent_oil_station_id", "#{tyAgentOilStationId,jdbcType=BIGINT}");
} }
@ -83,6 +91,8 @@ public class HighTyAgentPriceSqlProvider {
sql.SELECT("id"); sql.SELECT("id");
} }
sql.SELECT("belong_type"); sql.SELECT("belong_type");
sql.SELECT("oil_station_id");
sql.SELECT("oil_station_name");
sql.SELECT("ty_agent_oil_station_id"); sql.SELECT("ty_agent_oil_station_id");
sql.SELECT("oil_no_name"); sql.SELECT("oil_no_name");
sql.SELECT("oil_no"); sql.SELECT("oil_no");
@ -118,6 +128,14 @@ public class HighTyAgentPriceSqlProvider {
sql.SET("belong_type = #{record.belongType,jdbcType=INTEGER}"); sql.SET("belong_type = #{record.belongType,jdbcType=INTEGER}");
} }
if (record.getOilStationId() != null) {
sql.SET("oil_station_id = #{record.oilStationId,jdbcType=BIGINT}");
}
if (record.getOilStationName() != null) {
sql.SET("oil_station_name = #{record.oilStationName,jdbcType=VARCHAR}");
}
if (record.getTyAgentOilStationId() != null) { if (record.getTyAgentOilStationId() != null) {
sql.SET("ty_agent_oil_station_id = #{record.tyAgentOilStationId,jdbcType=BIGINT}"); sql.SET("ty_agent_oil_station_id = #{record.tyAgentOilStationId,jdbcType=BIGINT}");
} }
@ -168,6 +186,8 @@ public class HighTyAgentPriceSqlProvider {
sql.SET("id = #{record.id,jdbcType=BIGINT}"); sql.SET("id = #{record.id,jdbcType=BIGINT}");
sql.SET("belong_type = #{record.belongType,jdbcType=INTEGER}"); sql.SET("belong_type = #{record.belongType,jdbcType=INTEGER}");
sql.SET("oil_station_id = #{record.oilStationId,jdbcType=BIGINT}");
sql.SET("oil_station_name = #{record.oilStationName,jdbcType=VARCHAR}");
sql.SET("ty_agent_oil_station_id = #{record.tyAgentOilStationId,jdbcType=BIGINT}"); sql.SET("ty_agent_oil_station_id = #{record.tyAgentOilStationId,jdbcType=BIGINT}");
sql.SET("oil_no_name = #{record.oilNoName,jdbcType=VARCHAR}"); sql.SET("oil_no_name = #{record.oilNoName,jdbcType=VARCHAR}");
sql.SET("oil_no = #{record.oilNo,jdbcType=VARCHAR}"); sql.SET("oil_no = #{record.oilNo,jdbcType=VARCHAR}");
@ -192,6 +212,14 @@ public class HighTyAgentPriceSqlProvider {
sql.SET("belong_type = #{belongType,jdbcType=INTEGER}"); sql.SET("belong_type = #{belongType,jdbcType=INTEGER}");
} }
if (record.getOilStationId() != null) {
sql.SET("oil_station_id = #{oilStationId,jdbcType=BIGINT}");
}
if (record.getOilStationName() != null) {
sql.SET("oil_station_name = #{oilStationName,jdbcType=VARCHAR}");
}
if (record.getTyAgentOilStationId() != null) { if (record.getTyAgentOilStationId() != null) {
sql.SET("ty_agent_oil_station_id = #{tyAgentOilStationId,jdbcType=BIGINT}"); sql.SET("ty_agent_oil_station_id = #{tyAgentOilStationId,jdbcType=BIGINT}");
} }

@ -21,6 +21,16 @@ public class HighTyAgentPrice implements Serializable {
*/ */
private Integer belongType; private Integer belongType;
/**
* 加油站id
*/
private Long oilStationId;
/**
* 加油站名称
*/
private String oilStationName;
/** /**
* 代理油站id * 代理油站id
*/ */
@ -80,6 +90,22 @@ public class HighTyAgentPrice implements Serializable {
this.belongType = belongType; this.belongType = belongType;
} }
public Long getOilStationId() {
return oilStationId;
}
public void setOilStationId(Long oilStationId) {
this.oilStationId = oilStationId;
}
public String getOilStationName() {
return oilStationName;
}
public void setOilStationName(String oilStationName) {
this.oilStationName = oilStationName;
}
public Long getTyAgentOilStationId() { public Long getTyAgentOilStationId() {
return tyAgentOilStationId; return tyAgentOilStationId;
} }
@ -174,6 +200,8 @@ public class HighTyAgentPrice implements Serializable {
HighTyAgentPrice other = (HighTyAgentPrice) that; HighTyAgentPrice other = (HighTyAgentPrice) that;
return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId())) return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
&& (this.getBelongType() == null ? other.getBelongType() == null : this.getBelongType().equals(other.getBelongType())) && (this.getBelongType() == null ? other.getBelongType() == null : this.getBelongType().equals(other.getBelongType()))
&& (this.getOilStationId() == null ? other.getOilStationId() == null : this.getOilStationId().equals(other.getOilStationId()))
&& (this.getOilStationName() == null ? other.getOilStationName() == null : this.getOilStationName().equals(other.getOilStationName()))
&& (this.getTyAgentOilStationId() == null ? other.getTyAgentOilStationId() == null : this.getTyAgentOilStationId().equals(other.getTyAgentOilStationId())) && (this.getTyAgentOilStationId() == null ? other.getTyAgentOilStationId() == null : this.getTyAgentOilStationId().equals(other.getTyAgentOilStationId()))
&& (this.getOilNoName() == null ? other.getOilNoName() == null : this.getOilNoName().equals(other.getOilNoName())) && (this.getOilNoName() == null ? other.getOilNoName() == null : this.getOilNoName().equals(other.getOilNoName()))
&& (this.getOilNo() == null ? other.getOilNo() == null : this.getOilNo().equals(other.getOilNo())) && (this.getOilNo() == null ? other.getOilNo() == null : this.getOilNo().equals(other.getOilNo()))
@ -192,6 +220,8 @@ public class HighTyAgentPrice implements Serializable {
int result = 1; int result = 1;
result = prime * result + ((getId() == null) ? 0 : getId().hashCode()); result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
result = prime * result + ((getBelongType() == null) ? 0 : getBelongType().hashCode()); result = prime * result + ((getBelongType() == null) ? 0 : getBelongType().hashCode());
result = prime * result + ((getOilStationId() == null) ? 0 : getOilStationId().hashCode());
result = prime * result + ((getOilStationName() == null) ? 0 : getOilStationName().hashCode());
result = prime * result + ((getTyAgentOilStationId() == null) ? 0 : getTyAgentOilStationId().hashCode()); result = prime * result + ((getTyAgentOilStationId() == null) ? 0 : getTyAgentOilStationId().hashCode());
result = prime * result + ((getOilNoName() == null) ? 0 : getOilNoName().hashCode()); result = prime * result + ((getOilNoName() == null) ? 0 : getOilNoName().hashCode());
result = prime * result + ((getOilNo() == null) ? 0 : getOilNo().hashCode()); result = prime * result + ((getOilNo() == null) ? 0 : getOilNo().hashCode());
@ -213,6 +243,8 @@ public class HighTyAgentPrice implements Serializable {
sb.append("Hash = ").append(hashCode()); sb.append("Hash = ").append(hashCode());
sb.append(", id=").append(id); sb.append(", id=").append(id);
sb.append(", belongType=").append(belongType); sb.append(", belongType=").append(belongType);
sb.append(", oilStationId=").append(oilStationId);
sb.append(", oilStationName=").append(oilStationName);
sb.append(", tyAgentOilStationId=").append(tyAgentOilStationId); sb.append(", tyAgentOilStationId=").append(tyAgentOilStationId);
sb.append(", oilNoName=").append(oilNoName); sb.append(", oilNoName=").append(oilNoName);
sb.append(", oilNo=").append(oilNo); sb.append(", oilNo=").append(oilNo);

@ -246,6 +246,136 @@ public class HighTyAgentPriceExample {
return (Criteria) this; return (Criteria) this;
} }
public Criteria andOilStationIdIsNull() {
addCriterion("oil_station_id is null");
return (Criteria) this;
}
public Criteria andOilStationIdIsNotNull() {
addCriterion("oil_station_id is not null");
return (Criteria) this;
}
public Criteria andOilStationIdEqualTo(Long value) {
addCriterion("oil_station_id =", value, "oilStationId");
return (Criteria) this;
}
public Criteria andOilStationIdNotEqualTo(Long value) {
addCriterion("oil_station_id <>", value, "oilStationId");
return (Criteria) this;
}
public Criteria andOilStationIdGreaterThan(Long value) {
addCriterion("oil_station_id >", value, "oilStationId");
return (Criteria) this;
}
public Criteria andOilStationIdGreaterThanOrEqualTo(Long value) {
addCriterion("oil_station_id >=", value, "oilStationId");
return (Criteria) this;
}
public Criteria andOilStationIdLessThan(Long value) {
addCriterion("oil_station_id <", value, "oilStationId");
return (Criteria) this;
}
public Criteria andOilStationIdLessThanOrEqualTo(Long value) {
addCriterion("oil_station_id <=", value, "oilStationId");
return (Criteria) this;
}
public Criteria andOilStationIdIn(List<Long> values) {
addCriterion("oil_station_id in", values, "oilStationId");
return (Criteria) this;
}
public Criteria andOilStationIdNotIn(List<Long> values) {
addCriterion("oil_station_id not in", values, "oilStationId");
return (Criteria) this;
}
public Criteria andOilStationIdBetween(Long value1, Long value2) {
addCriterion("oil_station_id between", value1, value2, "oilStationId");
return (Criteria) this;
}
public Criteria andOilStationIdNotBetween(Long value1, Long value2) {
addCriterion("oil_station_id not between", value1, value2, "oilStationId");
return (Criteria) this;
}
public Criteria andOilStationNameIsNull() {
addCriterion("oil_station_name is null");
return (Criteria) this;
}
public Criteria andOilStationNameIsNotNull() {
addCriterion("oil_station_name is not null");
return (Criteria) this;
}
public Criteria andOilStationNameEqualTo(String value) {
addCriterion("oil_station_name =", value, "oilStationName");
return (Criteria) this;
}
public Criteria andOilStationNameNotEqualTo(String value) {
addCriterion("oil_station_name <>", value, "oilStationName");
return (Criteria) this;
}
public Criteria andOilStationNameGreaterThan(String value) {
addCriterion("oil_station_name >", value, "oilStationName");
return (Criteria) this;
}
public Criteria andOilStationNameGreaterThanOrEqualTo(String value) {
addCriterion("oil_station_name >=", value, "oilStationName");
return (Criteria) this;
}
public Criteria andOilStationNameLessThan(String value) {
addCriterion("oil_station_name <", value, "oilStationName");
return (Criteria) this;
}
public Criteria andOilStationNameLessThanOrEqualTo(String value) {
addCriterion("oil_station_name <=", value, "oilStationName");
return (Criteria) this;
}
public Criteria andOilStationNameLike(String value) {
addCriterion("oil_station_name like", value, "oilStationName");
return (Criteria) this;
}
public Criteria andOilStationNameNotLike(String value) {
addCriterion("oil_station_name not like", value, "oilStationName");
return (Criteria) this;
}
public Criteria andOilStationNameIn(List<String> values) {
addCriterion("oil_station_name in", values, "oilStationName");
return (Criteria) this;
}
public Criteria andOilStationNameNotIn(List<String> values) {
addCriterion("oil_station_name not in", values, "oilStationName");
return (Criteria) this;
}
public Criteria andOilStationNameBetween(String value1, String value2) {
addCriterion("oil_station_name between", value1, value2, "oilStationName");
return (Criteria) this;
}
public Criteria andOilStationNameNotBetween(String value1, String value2) {
addCriterion("oil_station_name not between", value1, value2, "oilStationName");
return (Criteria) this;
}
public Criteria andTyAgentOilStationIdIsNull() { public Criteria andTyAgentOilStationIdIsNull() {
addCriterion("ty_agent_oil_station_id is null"); addCriterion("ty_agent_oil_station_id is null");
return (Criteria) this; return (Criteria) this;

@ -2,6 +2,8 @@ package com.hai.service;
import com.hai.entity.HighTyAgentPrice; import com.hai.entity.HighTyAgentPrice;
import java.util.List;
/** /**
* 加油价格 * 加油价格
* @author hurui * @author hurui
@ -17,10 +19,18 @@ public interface HighTyAgentPriceService {
/** /**
* 根据代理油站id 查询详情 * 根据代理油站id 查询详情
* @param belongType * @param belongType
* @param tyAgentOilStationId * @param oilStationId
* @param oilNo * @param oilNo
* @return * @return
*/ */
HighTyAgentPrice getDetail(Integer belongType, Long tyAgentOilStationId, String oilNo); HighTyAgentPrice getDetail(Integer belongType, Long oilStationId, String oilNo);
/**
* 查询油站价格
* @param belongType
* @param oilStationId
* @return
*/
List<HighTyAgentPrice> getPriceList(Integer belongType, Long oilStationId);
} }

@ -30,12 +30,12 @@ public class HighTyAgentPriceServiceImpl implements HighTyAgentPriceService {
} }
@Override @Override
public HighTyAgentPrice getDetail(Integer belongType, Long tyAgentOilStationId, String oilNo) { public HighTyAgentPrice getDetail(Integer belongType, Long oilStationId, String oilNo) {
HighTyAgentPriceExample example = new HighTyAgentPriceExample(); HighTyAgentPriceExample example = new HighTyAgentPriceExample();
example.createCriteria() example.createCriteria()
.andBelongTypeEqualTo(belongType) .andBelongTypeEqualTo(belongType)
.andStatusEqualTo(1) .andStatusEqualTo(1)
.andTyAgentOilStationIdEqualTo(tyAgentOilStationId) .andOilStationIdEqualTo(oilStationId)
.andOilNoEqualTo(oilNo); .andOilNoEqualTo(oilNo);
List<HighTyAgentPrice> list = tyAgentPriceMapper.selectByExample(example); List<HighTyAgentPrice> list = tyAgentPriceMapper.selectByExample(example);
if (list.size() > 0) { if (list.size() > 0) {
@ -43,4 +43,14 @@ public class HighTyAgentPriceServiceImpl implements HighTyAgentPriceService {
} }
return null; return null;
} }
@Override
public List<HighTyAgentPrice> getPriceList(Integer belongType, Long oilStationId) {
HighTyAgentPriceExample example = new HighTyAgentPriceExample();
example.createCriteria()
.andBelongTypeEqualTo(belongType)
.andOilStationIdEqualTo(oilStationId)
.andStatusEqualTo(1);
return tyAgentPriceMapper.selectByExample(example);
}
} }

Loading…
Cancel
Save