提交代码

master
胡锐 4 months ago
parent 0993e8d32e
commit e519697727
  1. 42
      bweb/src/main/java/com/bweb/controller/BsGasOilPriceController.java
  2. 79
      bweb/src/main/java/com/bweb/controller/BsGasOilPriceWeekController.java
  3. 20
      cweb/src/main/java/com/cweb/controller/BsGasController.java
  4. 91
      cweb/src/main/resources/prod2/application.yml
  5. 1
      cweb/src/main/resources/prod2/config.properties
  6. 72
      cweb/src/main/resources/prod2/logback.xml
  7. 34
      schedule/src/main/java/com/hfkj/schedule/GasOilPriceSchedule.java
  8. 10
      service/src/main/java/com/hfkj/dao/BsGasOilPriceMapperExt.java
  9. 141
      service/src/main/java/com/hfkj/dao/BsGasOilPriceWeekMapper.java
  10. 19
      service/src/main/java/com/hfkj/dao/BsGasOilPriceWeekMapperExt.java
  11. 388
      service/src/main/java/com/hfkj/dao/BsGasOilPriceWeekSqlProvider.java
  12. 297
      service/src/main/java/com/hfkj/entity/BsGasOilPriceWeek.java
  13. 1254
      service/src/main/java/com/hfkj/entity/BsGasOilPriceWeekExample.java
  14. 3
      service/src/main/java/com/hfkj/service/gas/BsGasOilPriceOfficialService.java
  15. 2
      service/src/main/java/com/hfkj/service/gas/BsGasOilPriceService.java
  16. 56
      service/src/main/java/com/hfkj/service/gas/BsGasOilPriceWeekService.java
  17. 38
      service/src/main/java/com/hfkj/service/gas/impl/BsGasOilPriceOfficialServiceImpl.java
  18. 14
      service/src/main/java/com/hfkj/service/gas/impl/BsGasOilPriceServiceImpl.java
  19. 3
      service/src/main/java/com/hfkj/service/gas/impl/BsGasOilPriceTaskServiceImpl.java
  20. 135
      service/src/main/java/com/hfkj/service/gas/impl/BsGasOilPriceWeekServiceImpl.java
  21. 4
      service/src/main/java/com/hfkj/service/merchant/impl/BsMerchantServiceImpl.java
  22. 40
      service/src/main/java/com/hfkj/sysenum/gas/GasOilPriceWeekEnum.java
  23. 15
      service/src/main/resources/prod2/commonConfig.properties

@ -11,12 +11,16 @@ import com.hfkj.common.utils.ResponseMsgUtil;
import com.hfkj.entity.*; import com.hfkj.entity.*;
import com.hfkj.model.ResponseData; import com.hfkj.model.ResponseData;
import com.hfkj.model.SecUserSessionObject; import com.hfkj.model.SecUserSessionObject;
import com.hfkj.service.gas.BsGasOilPriceOfficialService;
import com.hfkj.service.gas.BsGasOilPriceService; import com.hfkj.service.gas.BsGasOilPriceService;
import com.hfkj.service.gas.BsGasOilPriceWeekService;
import com.hfkj.service.merchant.BsMerchantService; import com.hfkj.service.merchant.BsMerchantService;
import com.hfkj.service.CommonService; import com.hfkj.service.CommonService;
import com.hfkj.service.gas.BsGasService; import com.hfkj.service.gas.BsGasService;
import com.hfkj.sysenum.MerchantSourceTypeEnum;
import com.hfkj.sysenum.gas.GasOilPriceStatusEnum; import com.hfkj.sysenum.gas.GasOilPriceStatusEnum;
import com.hfkj.sysenum.SecUserObjectTypeEnum; import com.hfkj.sysenum.SecUserObjectTypeEnum;
import com.hfkj.sysenum.gas.GasOilPriceWeekEnum;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
@ -27,6 +31,8 @@ import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.Calendar;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
@ -46,6 +52,10 @@ public class BsGasOilPriceController {
private CommonService commonService; private CommonService commonService;
@Resource @Resource
private BsGasService gasService; private BsGasService gasService;
@Resource
private BsGasOilPriceWeekService gasOilPriceWeekService;
@Resource
private BsGasOilPriceOfficialService gasOilPriceOfficialService;
@RequestMapping(value = "/createOil", method = RequestMethod.POST) @RequestMapping(value = "/createOil", method = RequestMethod.POST)
@ResponseBody @ResponseBody
@ -59,9 +69,7 @@ public class BsGasOilPriceController {
if (body == null if (body == null
|| body.getMerNo() == null || body.getMerNo() == null
|| StringUtils.isBlank(body.getOilNo()) || StringUtils.isBlank(body.getOilNo())){
|| body.getPriceOfficial() == null
|| body.getGasStationDrop() == null){
log.error("BsGasOilPriceController --> createOil() error!", "参数错误"); log.error("BsGasOilPriceController --> createOil() error!", "参数错误");
throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, ""); throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, "");
} }
@ -72,6 +80,9 @@ public class BsGasOilPriceController {
log.error("BsGasOilPriceController --> createOil() error!", "未知的商户"); log.error("BsGasOilPriceController --> createOil() error!", "未知的商户");
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未知的商户"); throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未知的商户");
} }
if (!merchant.getSourceType().equals(MerchantSourceTypeEnum.type1.getNumber())) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "第三方油站不能创建油品");
}
// 是否重复添加商户油品 // 是否重复添加商户油品
if (gasOilPriceService.getGasOilPrice(merchant.getId(), body.getOilNo()) != null) { if (gasOilPriceService.getGasOilPrice(merchant.getId(), body.getOilNo()) != null) {
log.error("BsGasOilPriceController --> createOil() error!", "重复添加" + body.getOilNo() + "油品"); log.error("BsGasOilPriceController --> createOil() error!", "重复添加" + body.getOilNo() + "油品");
@ -89,6 +100,11 @@ public class BsGasOilPriceController {
log.error("BsGasOilPriceController --> createOil() error!", "未知的的油品类型"); log.error("BsGasOilPriceController --> createOil() error!", "未知的的油品类型");
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未知的的油品类型"); throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未知的的油品类型");
} }
// 查询国标价
BsGasOilPriceOfficial priceOfficial = gasOilPriceOfficialService.getPrice(merchant.getProvinceCode(), merchant.getOilPriceZoneId(), oilNo.getCodeValue());
if (priceOfficial == null) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未配置当前油站所在区域国标价,请联系运营配置!");
}
BsGasOilPrice oilPrice = new BsGasOilPrice(); BsGasOilPrice oilPrice = new BsGasOilPrice();
oilPrice.setMerId(merchant.getId()); oilPrice.setMerId(merchant.getId());
@ -98,13 +114,29 @@ public class BsGasOilPriceController {
oilPrice.setOilNo(oilNo.getCodeValue()); oilPrice.setOilNo(oilNo.getCodeValue());
oilPrice.setOilNoName(oilNo.getCodeName()); oilPrice.setOilNoName(oilNo.getCodeName());
oilPrice.setPreferentialMargin(new BigDecimal("0")); oilPrice.setPreferentialMargin(new BigDecimal("0"));
oilPrice.setGasStationDrop(body.getGasStationDrop()); oilPrice.setPriceOfficial(priceOfficial.getPriceOfficial());
oilPrice.setPriceOfficial(body.getPriceOfficial()); oilPrice.setGasStationDrop(new BigDecimal("0"));
oilPrice.setPriceGun(oilPrice.getPriceOfficial().subtract(body.getGasStationDrop())); oilPrice.setPriceGun(oilPrice.getPriceOfficial().subtract(body.getGasStationDrop()));
oilPrice.setPriceVip(oilPrice.getPriceGun()); oilPrice.setPriceVip(oilPrice.getPriceGun());
oilPrice.setStatus(GasOilPriceStatusEnum.status1.getNumber()); oilPrice.setStatus(GasOilPriceStatusEnum.status1.getNumber());
gasOilPriceService.editOilPrice(oilPrice); gasOilPriceService.editOilPrice(oilPrice);
// 初始化周期价格
for (GasOilPriceWeekEnum weekEnum : GasOilPriceWeekEnum.values()) {
BsGasOilPriceWeek priceWeek = new BsGasOilPriceWeek();
priceWeek.setMerId(oilPrice.getMerId());
priceWeek.setMerNo(oilPrice.getMerNo());
priceWeek.setWeeks(weekEnum.getNumber());
priceWeek.setOilType(oilPrice.getOilType());
priceWeek.setOilTypeName(oilPrice.getOilTypeName());
priceWeek.setOilNo(oilPrice.getOilNo());
priceWeek.setOilNoName(oilPrice.getOilNoName());
priceWeek.setPriceOfficial(oilPrice.getPriceOfficial());
priceWeek.setPriceGun(oilPrice.getPriceGun());
priceWeek.setPriceVip(oilPrice.getPriceVip());
gasOilPriceWeekService.editData(priceWeek);
}
// 删除缓存 // 删除缓存
gasService.clean(oilPrice.getMerNo()); gasService.clean(oilPrice.getMerNo());
return ResponseMsgUtil.success("操作成功"); return ResponseMsgUtil.success("操作成功");

@ -0,0 +1,79 @@
package com.bweb.controller;
import com.hfkj.common.exception.ErrorCode;
import com.hfkj.common.exception.ErrorHelp;
import com.hfkj.common.exception.SysCode;
import com.hfkj.common.utils.ResponseMsgUtil;
import com.hfkj.entity.BsGasOilPriceWeek;
import com.hfkj.model.ResponseData;
import com.hfkj.service.gas.BsGasOilPriceWeekService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.HashMap;
import java.util.Map;
/**
* @className: BsGasOilPriceWeekController
* @author: HuRui
* @date: 2024/7/29
**/
@Controller
@RequestMapping(value = "/gasOilPriceWeek")
@Api(value = "油品价格配置")
public class BsGasOilPriceWeekController {
private static Logger log = LoggerFactory.getLogger(BsGasOrderController.class);
@Resource
private BsGasOilPriceWeekService gasOilPriceWeekService;
@RequestMapping(value = "/updatePrice", method = RequestMethod.POST)
@ResponseBody
@ApiOperation(value = "修改价格")
public ResponseData updatePrice(@RequestBody BsGasOilPriceWeek body) {
try {
if (body.getId() == null
|| body.getPriceGun() == null
|| body.getPriceVip() == null
) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, "");
}
// 查询价格
BsGasOilPriceWeek oilPrice = gasOilPriceWeekService.getOilPrice(body.getId());
if (oilPrice == null) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未知的数据");
}
oilPrice.setPriceGun(body.getPriceGun());
oilPrice.setPriceVip(body.getPriceVip());
gasOilPriceWeekService.updatePrice(oilPrice);
return ResponseMsgUtil.success("操作成功");
} catch (Exception e) {
return ResponseMsgUtil.exception(e);
}
}
@RequestMapping(value = "/getPriceList", method = RequestMethod.GET)
@ResponseBody
@ApiOperation(value = "查询价格列表")
public ResponseData getPriceList(@RequestParam(name = "merNo", required = true) String merNo,
@RequestParam(name = "oilNo", required = true) String oilNo) {
try {
Map<String,Object> param = new HashMap<>();
param.put("merNo", merNo);
param.put("oilNo", oilNo);
return ResponseMsgUtil.success(gasOilPriceWeekService.getOilPriceList(param));
} catch (Exception e) {
return ResponseMsgUtil.exception(e);
}
}
}

@ -17,6 +17,7 @@ import com.hfkj.model.GasListModel;
import com.hfkj.model.GasModel; import com.hfkj.model.GasModel;
import com.hfkj.model.ResponseData; import com.hfkj.model.ResponseData;
import com.hfkj.service.agent.BsAgentPriceService; import com.hfkj.service.agent.BsAgentPriceService;
import com.hfkj.service.gas.BsGasOilPriceWeekService;
import com.hfkj.service.gas.BsGasService; import com.hfkj.service.gas.BsGasService;
import com.hfkj.sysenum.MerchantSourceTypeEnum; import com.hfkj.sysenum.MerchantSourceTypeEnum;
import com.hfkj.sysenum.agent.AgentPriceTypeEnum; import com.hfkj.sysenum.agent.AgentPriceTypeEnum;
@ -29,6 +30,7 @@ import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDate;
@Controller @Controller
@RequestMapping(value = "/gas") @RequestMapping(value = "/gas")
@ -44,6 +46,24 @@ public class BsGasController {
private NewLinkGasService newLinkGasService; private NewLinkGasService newLinkGasService;
@Resource @Resource
private CqShellPetroleumGasService cqShellPetroleumGasService; private CqShellPetroleumGasService cqShellPetroleumGasService;
@Resource
private BsGasOilPriceWeekService gasOilPriceWeekService;
@RequestMapping(value="/updatePriceWeek",method = RequestMethod.GET)
@ResponseBody
@ApiOperation(value = "updatePriceWeek")
public ResponseData updatePriceWeek(@RequestParam(name = "week", required = true) Integer week) {
try {
// 更新价格
gasOilPriceWeekService.updatePriceWeek(week);
return ResponseMsgUtil.success("操作成功");
} catch (Exception e) {
return ResponseMsgUtil.exception(e);
}
}
@RequestMapping(value="/refresh",method = RequestMethod.GET) @RequestMapping(value="/refresh",method = RequestMethod.GET)
@ResponseBody @ResponseBody
@ApiOperation(value = "refresh") @ApiOperation(value = "refresh")

@ -0,0 +1,91 @@
server:
port: 9901
servlet:
context-path: /crest
#配置是否为debug模式,debug模式下,不开启权限校验
debug: false
#datasource数据源设置
spring:
datasource:
url: jdbc:mysql://192.168.0.63:21100/hai_oil?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false
username: oil
password: HUfukeji123456!@#
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.jdbc.Driver
filters: stat
maxActive: 10
initialSize: 5
maxWait: 60000
minIdle: 5
timeBetweenEvictionRunsMillis: 60000
minEvictableIdleTimeMillis: 300000
validationQuery: select 'x'
testWhileIdle: true
testOnBorrow: false
testOnReturn: false
poolPreparedStatements: true
maxOpenPreparedStatements: 20
redis:
database: 2
host: 127.0.0.1
port: 36379
password: HF123456.Redis
timeout: 1000
jedis:
pool:
max-active: 20
max-wait: -1
max-idle: 10
min-idle: 0
#配置日期返回至前台为时间戳
jackson:
serialization:
write-dates-as-timestamps: true
rocketmq:
name-server: 1.95.43.71:9876
producer:
access-key: huifukeji
secret-key: HF123456.
#必须指定group
group: default-group
consumer:
access-key: huifukeji
secret-key: HF123456.
jetcache:
statIntervalMinutes: 15
areaInCacheName: false
local:
default:
type: linkedhashmap
keyConvertor: fastjson
remote:
default:
type: redis
host: 127.0.0.1
port: 36379
password: HF123456.Redis
database: 2
keyConvertor: fastjson
broadcastChannel: projectA
valueEncoder: java
valueDecoder: java
poolConfig:
minIdle: 5
maxIdle: 20
maxTotal: 50
mybatis:
mapperLocations:
- classpath*:sqlmap*/*.xml
type-aliases-package:
org.springboot.sample.entity
pagehelper:
helperDialect: mysql
reasonable: true
supportMethodsArguments: true
params: count=countSql

@ -0,0 +1 @@
fileUrl=/home/project/oil/filesystem

@ -0,0 +1,72 @@
<configuration>
<!-- %m输出的信息,%p日志级别,%t线程名,%d日期,%c类的全名,,,, -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d %p (%file:%line\)- %m%n</pattern>
<charset>UTF-8</charset>
</encoder>
</appender>
<appender name="baselog"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<File>log/base.log</File>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>log/base.log.%d.%i</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<!-- or whenever the file size reaches 64 MB -->
<maxFileSize>64 MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<encoder>
<pattern>
%d %p (%file:%line\)- %m%n
</pattern>
<charset>UTF-8</charset> <!-- 此处设置字符集 -->
</encoder>
</appender>
<appender name="daolog"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<File>log/dao.log</File>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>log/dao.log.%d.%i</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<!-- or whenever the file size reaches 64 MB -->
<maxFileSize>64 MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<encoder>
<pattern>
%d %p (%file:%line\)- %m%n
</pattern>
<charset>UTF-8</charset> <!-- 此处设置字符集 -->
</encoder>
</appender>
<appender name="errorlog"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<File>log/error.log</File>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>log/error.log.%d.%i</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<!-- or whenever the file size reaches 64 MB -->
<maxFileSize>64 MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<encoder>
<pattern>
%d %p (%file:%line\)- %m%n
</pattern>
<charset>UTF-8</charset> <!-- 此处设置字符集 -->
</encoder>
</appender>
<root level="DEBUG">
<appender-ref ref="STDOUT" />
</root>
<logger name="com.hfkj" level="DEBUG">
<appender-ref ref="baselog" />
</logger>
<logger name="com.hfkj.dao" level="DEBUG">
<appender-ref ref="daolog" />
</logger>
<logger name="com.hfkj" level="ERROR">
<appender-ref ref="errorlog" />
</logger>
</configuration>

@ -0,0 +1,34 @@
package com.hfkj.schedule;
import com.hfkj.channel.gas.newlink.NewLinkGasService;
import com.hfkj.channel.gas.shell.CqShellPetroleumGasService;
import com.hfkj.service.gas.BsGasOilPriceWeekService;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.time.LocalDate;
/**
* 油价任务
* @className: GasSchedule
* @author: HuRui
* @date: 2024/7/30
**/
@Component
public class GasOilPriceSchedule {
@Resource
private BsGasOilPriceWeekService gasOilPriceWeekService;
@Scheduled(cron = "3 0 0 * * ?") // 每日凌晨00:00:03 执行一次
public void newLinkGasSchedule() {
try {
// 更新价格
gasOilPriceWeekService.updatePriceWeek(LocalDate.now().getDayOfWeek().getValue());
} catch (Exception e) {
System.out.println("更新价格失败!!!");
}
}
}

@ -14,12 +14,15 @@ import java.util.Map;
* mapper扩展类 * mapper扩展类
*/ */
public interface BsGasOilPriceMapperExt { public interface BsGasOilPriceMapperExt {
@Select({" select b.* from bs_merchant a, bs_gas_oil_price b " + @Select({" <script>" +
" select b.* from bs_merchant a, bs_gas_oil_price b " +
" where a.id = b.mer_id " + " where a.id = b.mer_id " +
" and a.source_type = 1 " + " and a.source_type = 1 " +
" and a.`status` = 1 " + " and a.`status` = 1 " +
" and a.province_code = #{regionId} " + " and a.province_code = #{regionId} " +
" and b.oil_no = #{oilNo} "}) " and b.oil_no = #{oilNo} " +
" <if test='oilPriceZoneId != null'> and a.oil_price_zone_id = #{oilPriceZoneId} </if>" +
" </script>"})
@Results({ @Results({
@Result(column="id", property="id", jdbcType=JdbcType.BIGINT, id=true), @Result(column="id", property="id", jdbcType=JdbcType.BIGINT, id=true),
@Result(column="mer_id", property="merId", jdbcType=JdbcType.BIGINT), @Result(column="mer_id", property="merId", jdbcType=JdbcType.BIGINT),
@ -33,6 +36,7 @@ public interface BsGasOilPriceMapperExt {
@Result(column="price_official", property="priceOfficial", jdbcType=JdbcType.DECIMAL), @Result(column="price_official", property="priceOfficial", jdbcType=JdbcType.DECIMAL),
@Result(column="price_gun", property="priceGun", jdbcType=JdbcType.DECIMAL), @Result(column="price_gun", property="priceGun", jdbcType=JdbcType.DECIMAL),
@Result(column="price_vip", property="priceVip", jdbcType=JdbcType.DECIMAL), @Result(column="price_vip", property="priceVip", jdbcType=JdbcType.DECIMAL),
@Result(column="price_cost", property="priceCost", jdbcType=JdbcType.DECIMAL),
@Result(column="create_time", property="createTime", jdbcType=JdbcType.TIMESTAMP), @Result(column="create_time", property="createTime", jdbcType=JdbcType.TIMESTAMP),
@Result(column="update_time", property="updateTime", jdbcType=JdbcType.TIMESTAMP), @Result(column="update_time", property="updateTime", jdbcType=JdbcType.TIMESTAMP),
@Result(column="status", property="status", jdbcType=JdbcType.INTEGER), @Result(column="status", property="status", jdbcType=JdbcType.INTEGER),
@ -40,6 +44,6 @@ public interface BsGasOilPriceMapperExt {
@Result(column="ext_2", property="ext2", jdbcType=JdbcType.VARCHAR), @Result(column="ext_2", property="ext2", jdbcType=JdbcType.VARCHAR),
@Result(column="ext_3", property="ext3", jdbcType=JdbcType.VARCHAR) @Result(column="ext_3", property="ext3", jdbcType=JdbcType.VARCHAR)
}) })
List<BsGasOilPrice> selectPriceListByRegionAndOilNo(@Param("regionId") Long regionId, @Param("oilNo") String oilNo); List<BsGasOilPrice> selectPriceListByRegionAndOilNo(@Param("regionId") Long regionId, @Param("oilPriceZoneId") Integer oilPriceZoneId, @Param("oilNo") String oilNo);
} }

@ -0,0 +1,141 @@
package com.hfkj.dao;
import com.hfkj.entity.BsGasOilPriceWeek;
import com.hfkj.entity.BsGasOilPriceWeekExample;
import java.util.List;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.DeleteProvider;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.InsertProvider;
import org.apache.ibatis.annotations.Options;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Result;
import org.apache.ibatis.annotations.Results;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.SelectProvider;
import org.apache.ibatis.annotations.Update;
import org.apache.ibatis.annotations.UpdateProvider;
import org.apache.ibatis.type.JdbcType;
import org.springframework.stereotype.Repository;
/**
*
* 代码由工具生成,请勿修改!!!
* 如果需要扩展请在其父类进行扩展
*
**/
@Repository
public interface BsGasOilPriceWeekMapper extends BsGasOilPriceWeekMapperExt {
@SelectProvider(type=BsGasOilPriceWeekSqlProvider.class, method="countByExample")
long countByExample(BsGasOilPriceWeekExample example);
@DeleteProvider(type=BsGasOilPriceWeekSqlProvider.class, method="deleteByExample")
int deleteByExample(BsGasOilPriceWeekExample example);
@Delete({
"delete from bs_gas_oil_price_week",
"where id = #{id,jdbcType=BIGINT}"
})
int deleteByPrimaryKey(Long id);
@Insert({
"insert into bs_gas_oil_price_week (mer_id, mer_no, ",
"weeks, oil_type, ",
"oil_type_name, oil_no, ",
"oil_no_name, price_official, ",
"price_gun, price_vip, ",
"create_time, update_time, ",
"ext_1, ext_2, ext_3)",
"values (#{merId,jdbcType=BIGINT}, #{merNo,jdbcType=VARCHAR}, ",
"#{weeks,jdbcType=INTEGER}, #{oilType,jdbcType=INTEGER}, ",
"#{oilTypeName,jdbcType=VARCHAR}, #{oilNo,jdbcType=VARCHAR}, ",
"#{oilNoName,jdbcType=VARCHAR}, #{priceOfficial,jdbcType=DECIMAL}, ",
"#{priceGun,jdbcType=DECIMAL}, #{priceVip,jdbcType=DECIMAL}, ",
"#{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP}, ",
"#{ext1,jdbcType=VARCHAR}, #{ext2,jdbcType=VARCHAR}, #{ext3,jdbcType=VARCHAR})"
})
@Options(useGeneratedKeys=true,keyProperty="id")
int insert(BsGasOilPriceWeek record);
@InsertProvider(type=BsGasOilPriceWeekSqlProvider.class, method="insertSelective")
@Options(useGeneratedKeys=true,keyProperty="id")
int insertSelective(BsGasOilPriceWeek record);
@SelectProvider(type=BsGasOilPriceWeekSqlProvider.class, method="selectByExample")
@Results({
@Result(column="id", property="id", jdbcType=JdbcType.BIGINT, id=true),
@Result(column="mer_id", property="merId", jdbcType=JdbcType.BIGINT),
@Result(column="mer_no", property="merNo", jdbcType=JdbcType.VARCHAR),
@Result(column="weeks", property="weeks", jdbcType=JdbcType.INTEGER),
@Result(column="oil_type", property="oilType", jdbcType=JdbcType.INTEGER),
@Result(column="oil_type_name", property="oilTypeName", jdbcType=JdbcType.VARCHAR),
@Result(column="oil_no", property="oilNo", jdbcType=JdbcType.VARCHAR),
@Result(column="oil_no_name", property="oilNoName", jdbcType=JdbcType.VARCHAR),
@Result(column="price_official", property="priceOfficial", jdbcType=JdbcType.DECIMAL),
@Result(column="price_gun", property="priceGun", jdbcType=JdbcType.DECIMAL),
@Result(column="price_vip", property="priceVip", jdbcType=JdbcType.DECIMAL),
@Result(column="create_time", property="createTime", jdbcType=JdbcType.TIMESTAMP),
@Result(column="update_time", property="updateTime", jdbcType=JdbcType.TIMESTAMP),
@Result(column="ext_1", property="ext1", jdbcType=JdbcType.VARCHAR),
@Result(column="ext_2", property="ext2", jdbcType=JdbcType.VARCHAR),
@Result(column="ext_3", property="ext3", jdbcType=JdbcType.VARCHAR)
})
List<BsGasOilPriceWeek> selectByExample(BsGasOilPriceWeekExample example);
@Select({
"select",
"id, mer_id, mer_no, weeks, oil_type, oil_type_name, oil_no, oil_no_name, price_official, ",
"price_gun, price_vip, create_time, update_time, ext_1, ext_2, ext_3",
"from bs_gas_oil_price_week",
"where id = #{id,jdbcType=BIGINT}"
})
@Results({
@Result(column="id", property="id", jdbcType=JdbcType.BIGINT, id=true),
@Result(column="mer_id", property="merId", jdbcType=JdbcType.BIGINT),
@Result(column="mer_no", property="merNo", jdbcType=JdbcType.VARCHAR),
@Result(column="weeks", property="weeks", jdbcType=JdbcType.INTEGER),
@Result(column="oil_type", property="oilType", jdbcType=JdbcType.INTEGER),
@Result(column="oil_type_name", property="oilTypeName", jdbcType=JdbcType.VARCHAR),
@Result(column="oil_no", property="oilNo", jdbcType=JdbcType.VARCHAR),
@Result(column="oil_no_name", property="oilNoName", jdbcType=JdbcType.VARCHAR),
@Result(column="price_official", property="priceOfficial", jdbcType=JdbcType.DECIMAL),
@Result(column="price_gun", property="priceGun", jdbcType=JdbcType.DECIMAL),
@Result(column="price_vip", property="priceVip", jdbcType=JdbcType.DECIMAL),
@Result(column="create_time", property="createTime", jdbcType=JdbcType.TIMESTAMP),
@Result(column="update_time", property="updateTime", jdbcType=JdbcType.TIMESTAMP),
@Result(column="ext_1", property="ext1", jdbcType=JdbcType.VARCHAR),
@Result(column="ext_2", property="ext2", jdbcType=JdbcType.VARCHAR),
@Result(column="ext_3", property="ext3", jdbcType=JdbcType.VARCHAR)
})
BsGasOilPriceWeek selectByPrimaryKey(Long id);
@UpdateProvider(type=BsGasOilPriceWeekSqlProvider.class, method="updateByExampleSelective")
int updateByExampleSelective(@Param("record") BsGasOilPriceWeek record, @Param("example") BsGasOilPriceWeekExample example);
@UpdateProvider(type=BsGasOilPriceWeekSqlProvider.class, method="updateByExample")
int updateByExample(@Param("record") BsGasOilPriceWeek record, @Param("example") BsGasOilPriceWeekExample example);
@UpdateProvider(type=BsGasOilPriceWeekSqlProvider.class, method="updateByPrimaryKeySelective")
int updateByPrimaryKeySelective(BsGasOilPriceWeek record);
@Update({
"update bs_gas_oil_price_week",
"set mer_id = #{merId,jdbcType=BIGINT},",
"mer_no = #{merNo,jdbcType=VARCHAR},",
"weeks = #{weeks,jdbcType=INTEGER},",
"oil_type = #{oilType,jdbcType=INTEGER},",
"oil_type_name = #{oilTypeName,jdbcType=VARCHAR},",
"oil_no = #{oilNo,jdbcType=VARCHAR},",
"oil_no_name = #{oilNoName,jdbcType=VARCHAR},",
"price_official = #{priceOfficial,jdbcType=DECIMAL},",
"price_gun = #{priceGun,jdbcType=DECIMAL},",
"price_vip = #{priceVip,jdbcType=DECIMAL},",
"create_time = #{createTime,jdbcType=TIMESTAMP},",
"update_time = #{updateTime,jdbcType=TIMESTAMP},",
"ext_1 = #{ext1,jdbcType=VARCHAR},",
"ext_2 = #{ext2,jdbcType=VARCHAR},",
"ext_3 = #{ext3,jdbcType=VARCHAR}",
"where id = #{id,jdbcType=BIGINT}"
})
int updateByPrimaryKey(BsGasOilPriceWeek record);
}

@ -0,0 +1,19 @@
package com.hfkj.dao;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Update;
/**
* mapper扩展类
*/
public interface BsGasOilPriceWeekMapperExt {
/**
* 更新价格
* @param week 周期
*/
@Update(" update (select weeks,mer_id,oil_no,price_official,price_gun,price_vip from bs_gas_oil_price_week where weeks = #{week}) a " +
" LEFT JOIN bs_gas_oil_price b on b.mer_id = a.mer_id and b.oil_no = a.oil_no " +
" set b.price_gun = a.price_gun, b.price_vip = a.price_vip, b.gas_station_drop = (a.price_official - a.price_gun)")
void updatePrice(@Param("week") Integer week);
}

@ -0,0 +1,388 @@
package com.hfkj.dao;
import com.hfkj.entity.BsGasOilPriceWeek;
import com.hfkj.entity.BsGasOilPriceWeekExample.Criteria;
import com.hfkj.entity.BsGasOilPriceWeekExample.Criterion;
import com.hfkj.entity.BsGasOilPriceWeekExample;
import java.util.List;
import java.util.Map;
import org.apache.ibatis.jdbc.SQL;
public class BsGasOilPriceWeekSqlProvider {
public String countByExample(BsGasOilPriceWeekExample example) {
SQL sql = new SQL();
sql.SELECT("count(*)").FROM("bs_gas_oil_price_week");
applyWhere(sql, example, false);
return sql.toString();
}
public String deleteByExample(BsGasOilPriceWeekExample example) {
SQL sql = new SQL();
sql.DELETE_FROM("bs_gas_oil_price_week");
applyWhere(sql, example, false);
return sql.toString();
}
public String insertSelective(BsGasOilPriceWeek record) {
SQL sql = new SQL();
sql.INSERT_INTO("bs_gas_oil_price_week");
if (record.getMerId() != null) {
sql.VALUES("mer_id", "#{merId,jdbcType=BIGINT}");
}
if (record.getMerNo() != null) {
sql.VALUES("mer_no", "#{merNo,jdbcType=VARCHAR}");
}
if (record.getWeeks() != null) {
sql.VALUES("weeks", "#{weeks,jdbcType=INTEGER}");
}
if (record.getOilType() != null) {
sql.VALUES("oil_type", "#{oilType,jdbcType=INTEGER}");
}
if (record.getOilTypeName() != null) {
sql.VALUES("oil_type_name", "#{oilTypeName,jdbcType=VARCHAR}");
}
if (record.getOilNo() != null) {
sql.VALUES("oil_no", "#{oilNo,jdbcType=VARCHAR}");
}
if (record.getOilNoName() != null) {
sql.VALUES("oil_no_name", "#{oilNoName,jdbcType=VARCHAR}");
}
if (record.getPriceOfficial() != null) {
sql.VALUES("price_official", "#{priceOfficial,jdbcType=DECIMAL}");
}
if (record.getPriceGun() != null) {
sql.VALUES("price_gun", "#{priceGun,jdbcType=DECIMAL}");
}
if (record.getPriceVip() != null) {
sql.VALUES("price_vip", "#{priceVip,jdbcType=DECIMAL}");
}
if (record.getCreateTime() != null) {
sql.VALUES("create_time", "#{createTime,jdbcType=TIMESTAMP}");
}
if (record.getUpdateTime() != null) {
sql.VALUES("update_time", "#{updateTime,jdbcType=TIMESTAMP}");
}
if (record.getExt1() != null) {
sql.VALUES("ext_1", "#{ext1,jdbcType=VARCHAR}");
}
if (record.getExt2() != null) {
sql.VALUES("ext_2", "#{ext2,jdbcType=VARCHAR}");
}
if (record.getExt3() != null) {
sql.VALUES("ext_3", "#{ext3,jdbcType=VARCHAR}");
}
return sql.toString();
}
public String selectByExample(BsGasOilPriceWeekExample example) {
SQL sql = new SQL();
if (example != null && example.isDistinct()) {
sql.SELECT_DISTINCT("id");
} else {
sql.SELECT("id");
}
sql.SELECT("mer_id");
sql.SELECT("mer_no");
sql.SELECT("weeks");
sql.SELECT("oil_type");
sql.SELECT("oil_type_name");
sql.SELECT("oil_no");
sql.SELECT("oil_no_name");
sql.SELECT("price_official");
sql.SELECT("price_gun");
sql.SELECT("price_vip");
sql.SELECT("create_time");
sql.SELECT("update_time");
sql.SELECT("ext_1");
sql.SELECT("ext_2");
sql.SELECT("ext_3");
sql.FROM("bs_gas_oil_price_week");
applyWhere(sql, example, false);
if (example != null && example.getOrderByClause() != null) {
sql.ORDER_BY(example.getOrderByClause());
}
return sql.toString();
}
public String updateByExampleSelective(Map<String, Object> parameter) {
BsGasOilPriceWeek record = (BsGasOilPriceWeek) parameter.get("record");
BsGasOilPriceWeekExample example = (BsGasOilPriceWeekExample) parameter.get("example");
SQL sql = new SQL();
sql.UPDATE("bs_gas_oil_price_week");
if (record.getId() != null) {
sql.SET("id = #{record.id,jdbcType=BIGINT}");
}
if (record.getMerId() != null) {
sql.SET("mer_id = #{record.merId,jdbcType=BIGINT}");
}
if (record.getMerNo() != null) {
sql.SET("mer_no = #{record.merNo,jdbcType=VARCHAR}");
}
if (record.getWeeks() != null) {
sql.SET("weeks = #{record.weeks,jdbcType=INTEGER}");
}
if (record.getOilType() != null) {
sql.SET("oil_type = #{record.oilType,jdbcType=INTEGER}");
}
if (record.getOilTypeName() != null) {
sql.SET("oil_type_name = #{record.oilTypeName,jdbcType=VARCHAR}");
}
if (record.getOilNo() != null) {
sql.SET("oil_no = #{record.oilNo,jdbcType=VARCHAR}");
}
if (record.getOilNoName() != null) {
sql.SET("oil_no_name = #{record.oilNoName,jdbcType=VARCHAR}");
}
if (record.getPriceOfficial() != null) {
sql.SET("price_official = #{record.priceOfficial,jdbcType=DECIMAL}");
}
if (record.getPriceGun() != null) {
sql.SET("price_gun = #{record.priceGun,jdbcType=DECIMAL}");
}
if (record.getPriceVip() != null) {
sql.SET("price_vip = #{record.priceVip,jdbcType=DECIMAL}");
}
if (record.getCreateTime() != null) {
sql.SET("create_time = #{record.createTime,jdbcType=TIMESTAMP}");
}
if (record.getUpdateTime() != null) {
sql.SET("update_time = #{record.updateTime,jdbcType=TIMESTAMP}");
}
if (record.getExt1() != null) {
sql.SET("ext_1 = #{record.ext1,jdbcType=VARCHAR}");
}
if (record.getExt2() != null) {
sql.SET("ext_2 = #{record.ext2,jdbcType=VARCHAR}");
}
if (record.getExt3() != null) {
sql.SET("ext_3 = #{record.ext3,jdbcType=VARCHAR}");
}
applyWhere(sql, example, true);
return sql.toString();
}
public String updateByExample(Map<String, Object> parameter) {
SQL sql = new SQL();
sql.UPDATE("bs_gas_oil_price_week");
sql.SET("id = #{record.id,jdbcType=BIGINT}");
sql.SET("mer_id = #{record.merId,jdbcType=BIGINT}");
sql.SET("mer_no = #{record.merNo,jdbcType=VARCHAR}");
sql.SET("weeks = #{record.weeks,jdbcType=INTEGER}");
sql.SET("oil_type = #{record.oilType,jdbcType=INTEGER}");
sql.SET("oil_type_name = #{record.oilTypeName,jdbcType=VARCHAR}");
sql.SET("oil_no = #{record.oilNo,jdbcType=VARCHAR}");
sql.SET("oil_no_name = #{record.oilNoName,jdbcType=VARCHAR}");
sql.SET("price_official = #{record.priceOfficial,jdbcType=DECIMAL}");
sql.SET("price_gun = #{record.priceGun,jdbcType=DECIMAL}");
sql.SET("price_vip = #{record.priceVip,jdbcType=DECIMAL}");
sql.SET("create_time = #{record.createTime,jdbcType=TIMESTAMP}");
sql.SET("update_time = #{record.updateTime,jdbcType=TIMESTAMP}");
sql.SET("ext_1 = #{record.ext1,jdbcType=VARCHAR}");
sql.SET("ext_2 = #{record.ext2,jdbcType=VARCHAR}");
sql.SET("ext_3 = #{record.ext3,jdbcType=VARCHAR}");
BsGasOilPriceWeekExample example = (BsGasOilPriceWeekExample) parameter.get("example");
applyWhere(sql, example, true);
return sql.toString();
}
public String updateByPrimaryKeySelective(BsGasOilPriceWeek record) {
SQL sql = new SQL();
sql.UPDATE("bs_gas_oil_price_week");
if (record.getMerId() != null) {
sql.SET("mer_id = #{merId,jdbcType=BIGINT}");
}
if (record.getMerNo() != null) {
sql.SET("mer_no = #{merNo,jdbcType=VARCHAR}");
}
if (record.getWeeks() != null) {
sql.SET("weeks = #{weeks,jdbcType=INTEGER}");
}
if (record.getOilType() != null) {
sql.SET("oil_type = #{oilType,jdbcType=INTEGER}");
}
if (record.getOilTypeName() != null) {
sql.SET("oil_type_name = #{oilTypeName,jdbcType=VARCHAR}");
}
if (record.getOilNo() != null) {
sql.SET("oil_no = #{oilNo,jdbcType=VARCHAR}");
}
if (record.getOilNoName() != null) {
sql.SET("oil_no_name = #{oilNoName,jdbcType=VARCHAR}");
}
if (record.getPriceOfficial() != null) {
sql.SET("price_official = #{priceOfficial,jdbcType=DECIMAL}");
}
if (record.getPriceGun() != null) {
sql.SET("price_gun = #{priceGun,jdbcType=DECIMAL}");
}
if (record.getPriceVip() != null) {
sql.SET("price_vip = #{priceVip,jdbcType=DECIMAL}");
}
if (record.getCreateTime() != null) {
sql.SET("create_time = #{createTime,jdbcType=TIMESTAMP}");
}
if (record.getUpdateTime() != null) {
sql.SET("update_time = #{updateTime,jdbcType=TIMESTAMP}");
}
if (record.getExt1() != null) {
sql.SET("ext_1 = #{ext1,jdbcType=VARCHAR}");
}
if (record.getExt2() != null) {
sql.SET("ext_2 = #{ext2,jdbcType=VARCHAR}");
}
if (record.getExt3() != null) {
sql.SET("ext_3 = #{ext3,jdbcType=VARCHAR}");
}
sql.WHERE("id = #{id,jdbcType=BIGINT}");
return sql.toString();
}
protected void applyWhere(SQL sql, BsGasOilPriceWeekExample example, boolean includeExamplePhrase) {
if (example == null) {
return;
}
String parmPhrase1;
String parmPhrase1_th;
String parmPhrase2;
String parmPhrase2_th;
String parmPhrase3;
String parmPhrase3_th;
if (includeExamplePhrase) {
parmPhrase1 = "%s #{example.oredCriteria[%d].allCriteria[%d].value}";
parmPhrase1_th = "%s #{example.oredCriteria[%d].allCriteria[%d].value,typeHandler=%s}";
parmPhrase2 = "%s #{example.oredCriteria[%d].allCriteria[%d].value} and #{example.oredCriteria[%d].criteria[%d].secondValue}";
parmPhrase2_th = "%s #{example.oredCriteria[%d].allCriteria[%d].value,typeHandler=%s} and #{example.oredCriteria[%d].criteria[%d].secondValue,typeHandler=%s}";
parmPhrase3 = "#{example.oredCriteria[%d].allCriteria[%d].value[%d]}";
parmPhrase3_th = "#{example.oredCriteria[%d].allCriteria[%d].value[%d],typeHandler=%s}";
} else {
parmPhrase1 = "%s #{oredCriteria[%d].allCriteria[%d].value}";
parmPhrase1_th = "%s #{oredCriteria[%d].allCriteria[%d].value,typeHandler=%s}";
parmPhrase2 = "%s #{oredCriteria[%d].allCriteria[%d].value} and #{oredCriteria[%d].criteria[%d].secondValue}";
parmPhrase2_th = "%s #{oredCriteria[%d].allCriteria[%d].value,typeHandler=%s} and #{oredCriteria[%d].criteria[%d].secondValue,typeHandler=%s}";
parmPhrase3 = "#{oredCriteria[%d].allCriteria[%d].value[%d]}";
parmPhrase3_th = "#{oredCriteria[%d].allCriteria[%d].value[%d],typeHandler=%s}";
}
StringBuilder sb = new StringBuilder();
List<Criteria> oredCriteria = example.getOredCriteria();
boolean firstCriteria = true;
for (int i = 0; i < oredCriteria.size(); i++) {
Criteria criteria = oredCriteria.get(i);
if (criteria.isValid()) {
if (firstCriteria) {
firstCriteria = false;
} else {
sb.append(" or ");
}
sb.append('(');
List<Criterion> criterions = criteria.getAllCriteria();
boolean firstCriterion = true;
for (int j = 0; j < criterions.size(); j++) {
Criterion criterion = criterions.get(j);
if (firstCriterion) {
firstCriterion = false;
} else {
sb.append(" and ");
}
if (criterion.isNoValue()) {
sb.append(criterion.getCondition());
} else if (criterion.isSingleValue()) {
if (criterion.getTypeHandler() == null) {
sb.append(String.format(parmPhrase1, criterion.getCondition(), i, j));
} else {
sb.append(String.format(parmPhrase1_th, criterion.getCondition(), i, j,criterion.getTypeHandler()));
}
} else if (criterion.isBetweenValue()) {
if (criterion.getTypeHandler() == null) {
sb.append(String.format(parmPhrase2, criterion.getCondition(), i, j, i, j));
} else {
sb.append(String.format(parmPhrase2_th, criterion.getCondition(), i, j, criterion.getTypeHandler(), i, j, criterion.getTypeHandler()));
}
} else if (criterion.isListValue()) {
sb.append(criterion.getCondition());
sb.append(" (");
List<?> listItems = (List<?>) criterion.getValue();
boolean comma = false;
for (int k = 0; k < listItems.size(); k++) {
if (comma) {
sb.append(", ");
} else {
comma = true;
}
if (criterion.getTypeHandler() == null) {
sb.append(String.format(parmPhrase3, i, j, k));
} else {
sb.append(String.format(parmPhrase3_th, i, j, k, criterion.getTypeHandler()));
}
}
sb.append(')');
}
}
sb.append(')');
}
}
if (sb.length() > 0) {
sql.WHERE(sb.toString());
}
}
}

@ -0,0 +1,297 @@
package com.hfkj.entity;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* bs_gas_oil_price_week
* @author
*/
/**
*
* 代码由工具生成
*
**/
public class BsGasOilPriceWeek implements Serializable {
/**
* 主键
*/
private Long id;
/**
* 商户id
*/
private Long merId;
/**
* 商户编号
*/
private String merNo;
/**
* 星期周期 1星期一 2星期二 3星期三 4星期四 5星期五 6星期六 7星期天
*/
private Integer weeks;
/**
* 油品类型 1:汽油:2:柴油;3:天然气
*/
private Integer oilType;
/**
* 燃油类型名 1:汽油:2:柴油;3:天然气
*/
private String oilTypeName;
/**
* 油号
*/
private String oilNo;
/**
* 油品名称
*/
private String oilNoName;
/**
* 官方指导价
*/
private BigDecimal priceOfficial;
/**
* 枪价
*/
private BigDecimal priceGun;
/**
* 优惠价
*/
private BigDecimal priceVip;
/**
* 创建时间
*/
private Date createTime;
/**
* 修改时间
*/
private Date updateTime;
private String ext1;
private String ext2;
private String ext3;
private static final long serialVersionUID = 1L;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public Long getMerId() {
return merId;
}
public void setMerId(Long merId) {
this.merId = merId;
}
public String getMerNo() {
return merNo;
}
public void setMerNo(String merNo) {
this.merNo = merNo;
}
public Integer getWeeks() {
return weeks;
}
public void setWeeks(Integer weeks) {
this.weeks = weeks;
}
public Integer getOilType() {
return oilType;
}
public void setOilType(Integer oilType) {
this.oilType = oilType;
}
public String getOilTypeName() {
return oilTypeName;
}
public void setOilTypeName(String oilTypeName) {
this.oilTypeName = oilTypeName;
}
public String getOilNo() {
return oilNo;
}
public void setOilNo(String oilNo) {
this.oilNo = oilNo;
}
public String getOilNoName() {
return oilNoName;
}
public void setOilNoName(String oilNoName) {
this.oilNoName = oilNoName;
}
public BigDecimal getPriceOfficial() {
return priceOfficial;
}
public void setPriceOfficial(BigDecimal priceOfficial) {
this.priceOfficial = priceOfficial;
}
public BigDecimal getPriceGun() {
return priceGun;
}
public void setPriceGun(BigDecimal priceGun) {
this.priceGun = priceGun;
}
public BigDecimal getPriceVip() {
return priceVip;
}
public void setPriceVip(BigDecimal priceVip) {
this.priceVip = priceVip;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public Date getUpdateTime() {
return updateTime;
}
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
public String getExt1() {
return ext1;
}
public void setExt1(String ext1) {
this.ext1 = ext1;
}
public String getExt2() {
return ext2;
}
public void setExt2(String ext2) {
this.ext2 = ext2;
}
public String getExt3() {
return ext3;
}
public void setExt3(String ext3) {
this.ext3 = ext3;
}
@Override
public boolean equals(Object that) {
if (this == that) {
return true;
}
if (that == null) {
return false;
}
if (getClass() != that.getClass()) {
return false;
}
BsGasOilPriceWeek other = (BsGasOilPriceWeek) that;
return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
&& (this.getMerId() == null ? other.getMerId() == null : this.getMerId().equals(other.getMerId()))
&& (this.getMerNo() == null ? other.getMerNo() == null : this.getMerNo().equals(other.getMerNo()))
&& (this.getWeeks() == null ? other.getWeeks() == null : this.getWeeks().equals(other.getWeeks()))
&& (this.getOilType() == null ? other.getOilType() == null : this.getOilType().equals(other.getOilType()))
&& (this.getOilTypeName() == null ? other.getOilTypeName() == null : this.getOilTypeName().equals(other.getOilTypeName()))
&& (this.getOilNo() == null ? other.getOilNo() == null : this.getOilNo().equals(other.getOilNo()))
&& (this.getOilNoName() == null ? other.getOilNoName() == null : this.getOilNoName().equals(other.getOilNoName()))
&& (this.getPriceOfficial() == null ? other.getPriceOfficial() == null : this.getPriceOfficial().equals(other.getPriceOfficial()))
&& (this.getPriceGun() == null ? other.getPriceGun() == null : this.getPriceGun().equals(other.getPriceGun()))
&& (this.getPriceVip() == null ? other.getPriceVip() == null : this.getPriceVip().equals(other.getPriceVip()))
&& (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
&& (this.getUpdateTime() == null ? other.getUpdateTime() == null : this.getUpdateTime().equals(other.getUpdateTime()))
&& (this.getExt1() == null ? other.getExt1() == null : this.getExt1().equals(other.getExt1()))
&& (this.getExt2() == null ? other.getExt2() == null : this.getExt2().equals(other.getExt2()))
&& (this.getExt3() == null ? other.getExt3() == null : this.getExt3().equals(other.getExt3()));
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
result = prime * result + ((getMerId() == null) ? 0 : getMerId().hashCode());
result = prime * result + ((getMerNo() == null) ? 0 : getMerNo().hashCode());
result = prime * result + ((getWeeks() == null) ? 0 : getWeeks().hashCode());
result = prime * result + ((getOilType() == null) ? 0 : getOilType().hashCode());
result = prime * result + ((getOilTypeName() == null) ? 0 : getOilTypeName().hashCode());
result = prime * result + ((getOilNo() == null) ? 0 : getOilNo().hashCode());
result = prime * result + ((getOilNoName() == null) ? 0 : getOilNoName().hashCode());
result = prime * result + ((getPriceOfficial() == null) ? 0 : getPriceOfficial().hashCode());
result = prime * result + ((getPriceGun() == null) ? 0 : getPriceGun().hashCode());
result = prime * result + ((getPriceVip() == null) ? 0 : getPriceVip().hashCode());
result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
result = prime * result + ((getUpdateTime() == null) ? 0 : getUpdateTime().hashCode());
result = prime * result + ((getExt1() == null) ? 0 : getExt1().hashCode());
result = prime * result + ((getExt2() == null) ? 0 : getExt2().hashCode());
result = prime * result + ((getExt3() == null) ? 0 : getExt3().hashCode());
return result;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append(getClass().getSimpleName());
sb.append(" [");
sb.append("Hash = ").append(hashCode());
sb.append(", id=").append(id);
sb.append(", merId=").append(merId);
sb.append(", merNo=").append(merNo);
sb.append(", weeks=").append(weeks);
sb.append(", oilType=").append(oilType);
sb.append(", oilTypeName=").append(oilTypeName);
sb.append(", oilNo=").append(oilNo);
sb.append(", oilNoName=").append(oilNoName);
sb.append(", priceOfficial=").append(priceOfficial);
sb.append(", priceGun=").append(priceGun);
sb.append(", priceVip=").append(priceVip);
sb.append(", createTime=").append(createTime);
sb.append(", updateTime=").append(updateTime);
sb.append(", ext1=").append(ext1);
sb.append(", ext2=").append(ext2);
sb.append(", ext3=").append(ext3);
sb.append(", serialVersionUID=").append(serialVersionUID);
sb.append("]");
return sb.toString();
}
}

@ -44,5 +44,6 @@ public interface BsGasOilPriceOfficialService {
* @param regionId 区域 * @param regionId 区域
* @param oilNo 油品 * @param oilNo 油品
*/ */
void refreshGasPriceOfficial(Long regionId, String oilNo); void refreshGasPriceOfficial(Long regionId, Integer oilPriceZoneId, String oilNo);
} }

@ -73,5 +73,5 @@ public interface BsGasOilPriceService {
* @param oilNo * @param oilNo
* @return * @return
*/ */
List<BsGasOilPrice> getPriceListByRegionAndOilNo(Long regionId, String oilNo); List<BsGasOilPrice> getPriceListByRegionAndOilNo(Long regionId,Integer oilPriceZoneId , String oilNo);
} }

@ -0,0 +1,56 @@
package com.hfkj.service.gas;
import com.hfkj.entity.BsGasOilPriceWeek;
import com.hfkj.sysenum.gas.GasOilNoEnum;
import java.util.List;
import java.util.Map;
/**
* @className: BsGasOilPriceWeekService
* @author: HuRui
* @date: 2024/7/29
**/
public interface BsGasOilPriceWeekService {
/**
* 编辑数据
* @param data
*/
void editData(BsGasOilPriceWeek data);
/**
* 修改价格
* @param priceWeek
*/
void updatePrice(BsGasOilPriceWeek priceWeek);
/**
* 修改价格
* @param week 周期
*/
void updatePriceWeek(Integer week);
/**
* 查询价格
* @param merNo
* @param oilNo
* @return
*/
BsGasOilPriceWeek getOilPrice(String merNo, GasOilNoEnum oilNo);
/**
* 查询价格
* @param priceWeekId
* @return
*/
BsGasOilPriceWeek getOilPrice(Long priceWeekId);
/**
* 查询油价列表
* @param param
* @return
*/
List<BsGasOilPriceWeek> getOilPriceList(Map<String,Object> param);
}

@ -8,6 +8,8 @@ import com.hfkj.entity.*;
import com.hfkj.service.gas.BsGasOilPriceOfficialService; import com.hfkj.service.gas.BsGasOilPriceOfficialService;
import com.hfkj.service.gas.BsGasOilPriceService; import com.hfkj.service.gas.BsGasOilPriceService;
import com.hfkj.service.CommonService; import com.hfkj.service.CommonService;
import com.hfkj.service.gas.BsGasOilPriceWeekService;
import com.hfkj.sysenum.gas.GasOilNoEnum;
import org.apache.commons.collections4.MapUtils; import org.apache.commons.collections4.MapUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -23,10 +25,10 @@ public class BsGasOilPriceOfficialServiceImpl implements BsGasOilPriceOfficialSe
@Resource @Resource
private BsGasOilPriceOfficialMapper gasOilPriceOfficialMapper; private BsGasOilPriceOfficialMapper gasOilPriceOfficialMapper;
@Resource @Resource
private BsGasOilPriceService highGasOilPriceService; private BsGasOilPriceService highGasOilPriceService;
@Resource
private BsGasOilPriceWeekService gasOilPriceWeekService;
@Resource @Resource
private CommonService commonService; private CommonService commonService;
@ -89,6 +91,10 @@ public class BsGasOilPriceOfficialServiceImpl implements BsGasOilPriceOfficialSe
criteria.andRegionIdEqualTo(MapUtils.getLong(param, "regionId")); criteria.andRegionIdEqualTo(MapUtils.getLong(param, "regionId"));
} }
if (MapUtils.getLong(param, "oilPriceZoneId") != null) {
criteria.andOilPriceZoneIdEqualTo(MapUtils.getInteger(param, "oilPriceZoneId"));
}
if (StringUtils.isNotBlank(MapUtils.getString(param, "oilNo"))) { if (StringUtils.isNotBlank(MapUtils.getString(param, "oilNo"))) {
criteria.andOilNoEqualTo(MapUtils.getString(param, "oilNo")); criteria.andOilNoEqualTo(MapUtils.getString(param, "oilNo"));
} }
@ -142,22 +148,28 @@ public class BsGasOilPriceOfficialServiceImpl implements BsGasOilPriceOfficialSe
} }
@Override @Override
public void refreshGasPriceOfficial(Long regionId, String oilNo) { public void refreshGasPriceOfficial(Long regionId,Integer oilPriceZoneId, String oilNo) {
Map<String, Object> param = new HashMap<>(); // 查询国标价
param.put("regionId", regionId); BsGasOilPriceOfficial price = getPrice(regionId, oilPriceZoneId, oilNo);
param.put("oilNo", oilNo); if (price != null) {
List<BsGasOilPriceOfficial> priceList = getPriceList(param);
for (BsGasOilPriceOfficial priceOfficial : priceList) {
// 查询区域下的油品 // 查询区域下的油品
List<BsGasOilPrice> list = highGasOilPriceService.getPriceListByRegionAndOilNo(priceOfficial.getRegionId(), priceOfficial.getOilNo()); List<BsGasOilPrice> list = highGasOilPriceService.getPriceListByRegionAndOilNo(regionId, oilPriceZoneId, oilNo);
for (BsGasOilPrice gasOilPrice : list) { for (BsGasOilPrice gasOilPrice : list) {
gasOilPrice.setPriceOfficial(priceOfficial.getPriceOfficial()); gasOilPrice.setPriceOfficial(price.getPriceOfficial());
gasOilPrice.setPriceGun(priceOfficial.getPriceOfficial().subtract(gasOilPrice.getGasStationDrop())); gasOilPrice.setGasStationDrop(price.getPriceOfficial().subtract(gasOilPrice.getPriceVip()));
gasOilPrice.setPriceVip(gasOilPrice.getPriceGun().subtract(gasOilPrice.getPreferentialMargin()));
highGasOilPriceService.editOilPrice(gasOilPrice); highGasOilPriceService.editOilPrice(gasOilPrice);
Map<String,Object> param = new HashMap<>();
param.put("merNo", gasOilPrice.getMerNo());
param.put("oilNo", gasOilPrice.getOilNo());
List<BsGasOilPriceWeek> oilPriceList = gasOilPriceWeekService.getOilPriceList(param);
for (BsGasOilPriceWeek week : oilPriceList) {
week.setPriceOfficial(gasOilPrice.getPriceOfficial());
gasOilPriceWeekService.editData(week);
} }
} }
} }
}
} }

@ -33,10 +33,6 @@ public class BsGasOilPriceServiceImpl implements BsGasOilPriceService {
private BsGasOilGunNoService gasOilGunNoService; private BsGasOilGunNoService gasOilGunNoService;
@Resource @Resource
private BsGasService gasService; private BsGasService gasService;
@Resource
private RedisUtil redisUtil;
private final static String GAS_OIL_PRICE_KEY = "GAS_OIL_PRICE_KEY:";
@Override @Override
public void editData(BsGasOilPrice data) { public void editData(BsGasOilPrice data) {
@ -61,9 +57,6 @@ public class BsGasOilPriceServiceImpl implements BsGasOilPriceService {
public void editOilPrice(BsGasOilPrice data) { public void editOilPrice(BsGasOilPrice data) {
editData(data); editData(data);
// 加入缓存
redisUtil.set(GAS_OIL_PRICE_KEY + data.getId(), data);
// 清除油站缓存 // 清除油站缓存
gasService.clean(data.getMerNo()); gasService.clean(data.getMerNo());
} }
@ -76,9 +69,6 @@ public class BsGasOilPriceServiceImpl implements BsGasOilPriceService {
// 删除抢号 // 删除抢号
gasOilGunNoService.delete(data.getMerNo(), data.getOilNo()); gasOilGunNoService.delete(data.getMerNo(), data.getOilNo());
// 删除缓存
redisUtil.del(GAS_OIL_PRICE_KEY + data.getId());
} }
@Override @Override
@ -127,8 +117,8 @@ public class BsGasOilPriceServiceImpl implements BsGasOilPriceService {
} }
@Override @Override
public List<BsGasOilPrice> getPriceListByRegionAndOilNo(Long regionId, String oilNo) { public List<BsGasOilPrice> getPriceListByRegionAndOilNo(Long regionId,Integer oilPriceZoneId, String oilNo) {
return gasOilPriceMapper.selectPriceListByRegionAndOilNo(regionId,oilNo); return gasOilPriceMapper.selectPriceListByRegionAndOilNo(regionId, oilPriceZoneId, oilNo);
} }

@ -93,7 +93,8 @@ public class BsGasOilPriceTaskServiceImpl implements BsGasOilPriceTaskService {
gasOilPriceOfficialService.editPrice(gasOilPriceTask.getRegionId(),gasOilPriceTask.getOilPriceZoneId(), gasOilPriceTask.getOilNo(), gasOilPriceTask.getPrice()); gasOilPriceOfficialService.editPrice(gasOilPriceTask.getRegionId(),gasOilPriceTask.getOilPriceZoneId(), gasOilPriceTask.getOilNo(), gasOilPriceTask.getPrice());
// 更新自建站的国标价 // 更新自建站的国标价
gasOilPriceOfficialService.refreshGasPriceOfficial(gasOilPriceTask.getRegionId(), gasOilPriceTask.getOilNo()); gasOilPriceOfficialService.refreshGasPriceOfficial(gasOilPriceTask.getRegionId(), gasOilPriceTask.getOilPriceZoneId(), gasOilPriceTask.getOilNo());
} else if (gasOilPriceTask.getPriceType().equals(GasTaskPriceTypeEnum.type2.getStatus())) { } else if (gasOilPriceTask.getPriceType().equals(GasTaskPriceTypeEnum.type2.getStatus())) {
// 油站价 // 油站价
// 查询油品价格 // 查询油品价格

@ -0,0 +1,135 @@
package com.hfkj.service.gas.impl;
import com.hfkj.common.exception.ErrorCode;
import com.hfkj.common.exception.ErrorHelp;
import com.hfkj.common.exception.SysCode;
import com.hfkj.common.utils.RedisUtil;
import com.hfkj.dao.BsGasOilPriceWeekMapper;
import com.hfkj.entity.BsGasOilPrice;
import com.hfkj.entity.BsGasOilPriceWeek;
import com.hfkj.entity.BsGasOilPriceWeekExample;
import com.hfkj.entity.BsMerchant;
import com.hfkj.service.gas.BsGasOilPriceService;
import com.hfkj.service.gas.BsGasOilPriceWeekService;
import com.hfkj.service.gas.BsGasService;
import com.hfkj.service.merchant.BsMerchantService;
import com.hfkj.sysenum.MerchantSourceTypeEnum;
import com.hfkj.sysenum.gas.GasOilNoEnum;
import org.apache.commons.collections4.MapUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.time.LocalDate;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @className: BsGasOilPriceWeekServiceImpl
* @author: HuRui
* @date: 2024/7/29
**/
@Service("gasOilPriceWeekService")
public class BsGasOilPriceWeekServiceImpl implements BsGasOilPriceWeekService {
@Resource
private BsGasOilPriceWeekMapper gasOilPriceWeekMapper;
@Resource
private BsGasOilPriceService gasOilPriceService;
@Resource
private BsGasService gasService;
@Resource
private BsMerchantService merchantService;
@Resource
private RedisUtil redisUtil;
private final static String CACHE_KEY = "GAS_OIL_PRICE_WEEK:";
@Override
public void editData(BsGasOilPriceWeek data) {
data.setUpdateTime(new Date());
if (data.getId() == null) {
data.setCreateTime(new Date());
gasOilPriceWeekMapper.insert(data);
} else {
gasOilPriceWeekMapper.updateByPrimaryKey(data);
}
redisUtil.set(CACHE_KEY + data.getMerNo() + "_" + data.getOilNo(), data);
}
@Override
@Transactional(propagation= Propagation.REQUIRES_NEW,rollbackFor= {RuntimeException.class})
public void updatePrice(BsGasOilPriceWeek priceWeek) {
editData(priceWeek);
// 当前星期
int week = LocalDate.now().getDayOfWeek().getValue();
// 如果是当天
if (priceWeek.getWeeks().equals(week)) {
// 查询油站油价数据
BsGasOilPrice oilPrice = gasOilPriceService.getGasOilPrice(priceWeek.getMerId(), priceWeek.getOilNo());
if (oilPrice == null) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未找到油品价格数据");
}
oilPrice.setPriceGun(priceWeek.getPriceGun());
oilPrice.setPriceVip(priceWeek.getPriceVip());
gasOilPriceService.editOilPrice(oilPrice);
}
}
@Override
public void updatePriceWeek(Integer week) {
// 更新价格
gasOilPriceWeekMapper.updatePrice(week);
Map<String,Object> param = new HashMap<>();
param.put("sourceType", MerchantSourceTypeEnum.type1.getNumber());
List<BsMerchant> merchantList = merchantService.getMerchantList(param);
for (BsMerchant merchant : merchantList) {
// 清除油站缓存
gasService.clean(merchant.getMerNo());
}
}
@Override
public BsGasOilPriceWeek getOilPrice(String merNo, GasOilNoEnum oilNo) {
String key = CACHE_KEY + merNo + "_" + oilNo;
// 缓存
Object cache = redisUtil.get(key);
if (cache != null) {
return (BsGasOilPriceWeek) cache;
}
BsGasOilPriceWeekExample example = new BsGasOilPriceWeekExample();
example.createCriteria().andMerNoEqualTo(merNo).andOilNoEqualTo(oilNo.getCode().toString());
List<BsGasOilPriceWeek> list = gasOilPriceWeekMapper.selectByExample(example);
if (!list.isEmpty()) {
BsGasOilPriceWeek oilPriceWeek = list.get(0);
redisUtil.set(key, oilPriceWeek);
return oilPriceWeek;
}
return null;
}
@Override
public BsGasOilPriceWeek getOilPrice(Long priceWeekId) {
return gasOilPriceWeekMapper.selectByPrimaryKey(priceWeekId);
}
@Override
public List<BsGasOilPriceWeek> getOilPriceList(Map<String, Object> param) {
BsGasOilPriceWeekExample example = new BsGasOilPriceWeekExample();
BsGasOilPriceWeekExample.Criteria criteria = example.createCriteria();
if (StringUtils.isNotBlank(MapUtils.getString(param, "merNo"))) {
criteria.andMerNoEqualTo(MapUtils.getString(param, "merNo"));
}
if (StringUtils.isNotBlank(MapUtils.getString(param, "oilNo"))) {
criteria.andOilNoEqualTo(MapUtils.getString(param, "oilNo"));
}
example.setOrderByClause("weeks");
return gasOilPriceWeekMapper.selectByExample(example);
}
}

@ -186,10 +186,6 @@ public class BsMerchantServiceImpl implements BsMerchantService {
criteria.andAreaCodeEqualTo(MapUtils.getLong(param, "areaCode")); criteria.andAreaCodeEqualTo(MapUtils.getLong(param, "areaCode"));
} }
if (MapUtils.getInteger(param, "sourceType") != null) {
criteria.andSourceTypeEqualTo(MapUtils.getInteger(param, "sourceType"));
}
if (StringUtils.isNotBlank(MapUtils.getString(param, "merNo"))) { if (StringUtils.isNotBlank(MapUtils.getString(param, "merNo"))) {
criteria.andMerNoLike("%"+MapUtils.getString(param, "merNo")+"%"); criteria.andMerNoLike("%"+MapUtils.getString(param, "merNo")+"%");
} }

@ -0,0 +1,40 @@
package com.hfkj.sysenum.gas;
import lombok.Getter;
import java.util.Objects;
/**
* @className: GasOilPriceWeekEnum
* @author: HuRui
* @date: 2024/7/29
**/
@Getter
public enum GasOilPriceWeekEnum {
week1(1, "星期一"),
week2(2, "星期二"),
week3(3, "星期三"),
week4(4, "星期四"),
week5(5, "星期五"),
week6(6, "星期六"),
week7(7, "星期天"),
;
private Integer number;
private String name;
GasOilPriceWeekEnum(int number, String name) {
this.number = number;
this.name = name;
}
public static GasOilPriceWeekEnum getNameByType(Integer type) {
for (GasOilPriceWeekEnum ele : values()) {
if (Objects.equals(type,ele.getNumber())) {
return ele;
}
}
return null;
}
}

@ -0,0 +1,15 @@
filesystem=/home/project/oil/filesystem
huiPayPreorderNotifyUrl=https://oil.dctpay.com/crest/notify/huipay
domainName=https://oil.dctpay.com
wxMaAppId=wx8d49e2f83025229d
wxMaAppSecret=d8d6dcaef77d3b659258a01b5ddba5df
newLinkReqUrl=https://hcs.czb365.com
newLinkAppKey=305490138943968
newLinkAppSecret=dbf7dca3de20c2f2a41fd64cfb682be8
cqShellReqUrl=http://api.shenmapay.com/gateway.html
cqShellPartnerId=S0302208021401950202
cqShellPlatMerchantId=S0302206141001919666
cqShellPlatMerchantKey=pic1yj2l3zby5ywpznrtdz7458ce2soj
Loading…
Cancel
Save