提交代码

dev-discount
胡锐 3 years ago
parent df20eace71
commit ebf80a679e
  1. 5
      hai-bweb/src/main/java/com/bweb/controller/HighGasOilPriceController.java
  2. 3
      hai-bweb/src/main/java/com/bweb/controller/HighOrderController.java
  3. 50
      hai-bweb/src/test/common/ExcelTest.java
  4. 28
      hai-service/src/main/java/com/hai/dao/HighGasOilPriceMapper.java
  5. 125
      hai-service/src/main/java/com/hai/dao/HighGasOilPriceOfficialMapper.java
  6. 7
      hai-service/src/main/java/com/hai/dao/HighGasOilPriceOfficialMapperExt.java
  7. 332
      hai-service/src/main/java/com/hai/dao/HighGasOilPriceOfficialSqlProvider.java
  8. 14
      hai-service/src/main/java/com/hai/dao/HighGasOilPriceSqlProvider.java
  9. 16
      hai-service/src/main/java/com/hai/entity/HighGasOilPrice.java
  10. 60
      hai-service/src/main/java/com/hai/entity/HighGasOilPriceExample.java
  11. 232
      hai-service/src/main/java/com/hai/entity/HighGasOilPriceOfficial.java
  12. 1003
      hai-service/src/main/java/com/hai/entity/HighGasOilPriceOfficialExample.java
  13. 7
      hai-service/src/main/java/com/hai/service/CommonService.java
  14. 32
      hai-service/src/main/java/com/hai/service/HighGasOilPriceOfficialService.java
  15. 10
      hai-service/src/main/java/com/hai/service/impl/CommonServiceImpl.java
  16. 4
      hai-service/src/main/java/com/hai/service/impl/HighGasDiscountOilPriceServiceImpl.java
  17. 2
      hai-service/src/main/java/com/hai/service/impl/HighGasOilGunNoServiceImpl.java
  18. 106
      hai-service/src/main/java/com/hai/service/impl/HighGasOilPriceOfficialServiceImpl.java

@ -56,7 +56,7 @@ public class HighGasOilPriceController {
if (body.getLong("storeId") == null
|| StringUtils.isBlank(body.getString("oilNo"))
|| body.getBigDecimal("priceGun") == null
|| body.getBigDecimal("priceVip") == null
|| body.getBigDecimal("preferentialMargin") == null
) {
log.error("HighGasDiscountOilPriceController -> editGasOilPrice() error!","");
throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, "");
@ -85,7 +85,8 @@ public class HighGasOilPriceController {
price.setMerchantStoreId(body.getLong("storeId"));
price.setOilNo(Integer.parseInt(oilNo.getCodeValue()));
price.setOilNoName(oilNo.getCodeName());
price.setPriceVip(body.getBigDecimal("priceVip"));
price.setPriceVip(body.getBigDecimal("priceGun").subtract(body.getBigDecimal("preferentialMargin")));
price.setPreferentialMargin(body.getBigDecimal("preferentialMargin"));
price.setPriceGun(body.getBigDecimal("priceGun"));
price.setPriceOfficial(new BigDecimal("8"));
price.setOilType(Integer.parseInt(oilNo.getExt1()));

@ -202,6 +202,9 @@ public class HighOrderController {
} else if (userInfoModel.getSecUser().getObjectType() == 2) {
map.put("merchantId", userInfoModel.getMerchant().getId());
} else if (userInfoModel.getSecUser().getObjectType() == 3) {
map.put("merchantId", userInfoModel.getMerchant().getId());
}
map.put("orderNo", orderNo);

File diff suppressed because one or more lines are too long

@ -40,17 +40,17 @@ public interface HighGasOilPriceMapper extends HighGasOilPriceMapperExt {
@Insert({
"insert into high_gas_oil_price (merchant_store_id, oil_no, ",
"oil_no_name, price_vip, ",
"price_gun, price_official, ",
"oil_type, oil_type_name, ",
"`status`, ext_1, ext_2, ",
"ext_3)",
"oil_no_name, preferential_margin, ",
"price_vip, price_gun, ",
"price_official, oil_type, ",
"oil_type_name, `status`, ",
"ext_1, ext_2, ext_3)",
"values (#{merchantStoreId,jdbcType=BIGINT}, #{oilNo,jdbcType=INTEGER}, ",
"#{oilNoName,jdbcType=VARCHAR}, #{priceVip,jdbcType=DECIMAL}, ",
"#{priceGun,jdbcType=DECIMAL}, #{priceOfficial,jdbcType=DECIMAL}, ",
"#{oilType,jdbcType=INTEGER}, #{oilTypeName,jdbcType=VARCHAR}, ",
"#{status,jdbcType=INTEGER}, #{ext1,jdbcType=VARCHAR}, #{ext2,jdbcType=VARCHAR}, ",
"#{ext3,jdbcType=VARCHAR})"
"#{oilNoName,jdbcType=VARCHAR}, #{preferentialMargin,jdbcType=DECIMAL}, ",
"#{priceVip,jdbcType=DECIMAL}, #{priceGun,jdbcType=DECIMAL}, ",
"#{priceOfficial,jdbcType=DECIMAL}, #{oilType,jdbcType=INTEGER}, ",
"#{oilTypeName,jdbcType=VARCHAR}, #{status,jdbcType=INTEGER}, ",
"#{ext1,jdbcType=VARCHAR}, #{ext2,jdbcType=VARCHAR}, #{ext3,jdbcType=VARCHAR})"
})
@Options(useGeneratedKeys=true,keyProperty="id")
int insert(HighGasOilPrice record);
@ -65,6 +65,7 @@ public interface HighGasOilPriceMapper extends HighGasOilPriceMapperExt {
@Result(column="merchant_store_id", property="merchantStoreId", jdbcType=JdbcType.BIGINT),
@Result(column="oil_no", property="oilNo", jdbcType=JdbcType.INTEGER),
@Result(column="oil_no_name", property="oilNoName", jdbcType=JdbcType.VARCHAR),
@Result(column="preferential_margin", property="preferentialMargin", jdbcType=JdbcType.DECIMAL),
@Result(column="price_vip", property="priceVip", jdbcType=JdbcType.DECIMAL),
@Result(column="price_gun", property="priceGun", jdbcType=JdbcType.DECIMAL),
@Result(column="price_official", property="priceOfficial", jdbcType=JdbcType.DECIMAL),
@ -79,8 +80,9 @@ public interface HighGasOilPriceMapper extends HighGasOilPriceMapperExt {
@Select({
"select",
"id, merchant_store_id, oil_no, oil_no_name, price_vip, price_gun, price_official, ",
"oil_type, oil_type_name, `status`, ext_1, ext_2, ext_3",
"id, merchant_store_id, oil_no, oil_no_name, preferential_margin, price_vip, ",
"price_gun, price_official, oil_type, oil_type_name, `status`, ext_1, ext_2, ",
"ext_3",
"from high_gas_oil_price",
"where id = #{id,jdbcType=BIGINT}"
})
@ -89,6 +91,7 @@ public interface HighGasOilPriceMapper extends HighGasOilPriceMapperExt {
@Result(column="merchant_store_id", property="merchantStoreId", jdbcType=JdbcType.BIGINT),
@Result(column="oil_no", property="oilNo", jdbcType=JdbcType.INTEGER),
@Result(column="oil_no_name", property="oilNoName", jdbcType=JdbcType.VARCHAR),
@Result(column="preferential_margin", property="preferentialMargin", jdbcType=JdbcType.DECIMAL),
@Result(column="price_vip", property="priceVip", jdbcType=JdbcType.DECIMAL),
@Result(column="price_gun", property="priceGun", jdbcType=JdbcType.DECIMAL),
@Result(column="price_official", property="priceOfficial", jdbcType=JdbcType.DECIMAL),
@ -115,6 +118,7 @@ public interface HighGasOilPriceMapper extends HighGasOilPriceMapperExt {
"set merchant_store_id = #{merchantStoreId,jdbcType=BIGINT},",
"oil_no = #{oilNo,jdbcType=INTEGER},",
"oil_no_name = #{oilNoName,jdbcType=VARCHAR},",
"preferential_margin = #{preferentialMargin,jdbcType=DECIMAL},",
"price_vip = #{priceVip,jdbcType=DECIMAL},",
"price_gun = #{priceGun,jdbcType=DECIMAL},",
"price_official = #{priceOfficial,jdbcType=DECIMAL},",

@ -0,0 +1,125 @@
package com.hai.dao;
import com.hai.entity.HighGasOilPriceOfficial;
import com.hai.entity.HighGasOilPriceOfficialExample;
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 HighGasOilPriceOfficialMapper extends HighGasOilPriceOfficialMapperExt {
@SelectProvider(type=HighGasOilPriceOfficialSqlProvider.class, method="countByExample")
long countByExample(HighGasOilPriceOfficialExample example);
@DeleteProvider(type=HighGasOilPriceOfficialSqlProvider.class, method="deleteByExample")
int deleteByExample(HighGasOilPriceOfficialExample example);
@Delete({
"delete from high_gas_oil_price_official",
"where id = #{id,jdbcType=BIGINT}"
})
int deleteByPrimaryKey(Long id);
@Insert({
"insert into high_gas_oil_price_official (region_id, region_name, ",
"oil_no, oil_no_name, ",
"price_official, oil_type, ",
"oil_type_name, `status`, ",
"ext_1, ext_2, ext_3)",
"values (#{regionId,jdbcType=BIGINT}, #{regionName,jdbcType=VARCHAR}, ",
"#{oilNo,jdbcType=INTEGER}, #{oilNoName,jdbcType=VARCHAR}, ",
"#{priceOfficial,jdbcType=DECIMAL}, #{oilType,jdbcType=INTEGER}, ",
"#{oilTypeName,jdbcType=VARCHAR}, #{status,jdbcType=INTEGER}, ",
"#{ext1,jdbcType=VARCHAR}, #{ext2,jdbcType=VARCHAR}, #{ext3,jdbcType=VARCHAR})"
})
@Options(useGeneratedKeys=true,keyProperty="id")
int insert(HighGasOilPriceOfficial record);
@InsertProvider(type=HighGasOilPriceOfficialSqlProvider.class, method="insertSelective")
@Options(useGeneratedKeys=true,keyProperty="id")
int insertSelective(HighGasOilPriceOfficial record);
@SelectProvider(type=HighGasOilPriceOfficialSqlProvider.class, method="selectByExample")
@Results({
@Result(column="id", property="id", jdbcType=JdbcType.BIGINT, id=true),
@Result(column="region_id", property="regionId", jdbcType=JdbcType.BIGINT),
@Result(column="region_name", property="regionName", jdbcType=JdbcType.VARCHAR),
@Result(column="oil_no", property="oilNo", jdbcType=JdbcType.INTEGER),
@Result(column="oil_no_name", property="oilNoName", jdbcType=JdbcType.VARCHAR),
@Result(column="price_official", property="priceOfficial", jdbcType=JdbcType.DECIMAL),
@Result(column="oil_type", property="oilType", jdbcType=JdbcType.INTEGER),
@Result(column="oil_type_name", property="oilTypeName", jdbcType=JdbcType.VARCHAR),
@Result(column="status", property="status", jdbcType=JdbcType.INTEGER),
@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<HighGasOilPriceOfficial> selectByExample(HighGasOilPriceOfficialExample example);
@Select({
"select",
"id, region_id, region_name, oil_no, oil_no_name, price_official, oil_type, oil_type_name, ",
"`status`, ext_1, ext_2, ext_3",
"from high_gas_oil_price_official",
"where id = #{id,jdbcType=BIGINT}"
})
@Results({
@Result(column="id", property="id", jdbcType=JdbcType.BIGINT, id=true),
@Result(column="region_id", property="regionId", jdbcType=JdbcType.BIGINT),
@Result(column="region_name", property="regionName", jdbcType=JdbcType.VARCHAR),
@Result(column="oil_no", property="oilNo", jdbcType=JdbcType.INTEGER),
@Result(column="oil_no_name", property="oilNoName", jdbcType=JdbcType.VARCHAR),
@Result(column="price_official", property="priceOfficial", jdbcType=JdbcType.DECIMAL),
@Result(column="oil_type", property="oilType", jdbcType=JdbcType.INTEGER),
@Result(column="oil_type_name", property="oilTypeName", jdbcType=JdbcType.VARCHAR),
@Result(column="status", property="status", jdbcType=JdbcType.INTEGER),
@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)
})
HighGasOilPriceOfficial selectByPrimaryKey(Long id);
@UpdateProvider(type=HighGasOilPriceOfficialSqlProvider.class, method="updateByExampleSelective")
int updateByExampleSelective(@Param("record") HighGasOilPriceOfficial record, @Param("example") HighGasOilPriceOfficialExample example);
@UpdateProvider(type=HighGasOilPriceOfficialSqlProvider.class, method="updateByExample")
int updateByExample(@Param("record") HighGasOilPriceOfficial record, @Param("example") HighGasOilPriceOfficialExample example);
@UpdateProvider(type=HighGasOilPriceOfficialSqlProvider.class, method="updateByPrimaryKeySelective")
int updateByPrimaryKeySelective(HighGasOilPriceOfficial record);
@Update({
"update high_gas_oil_price_official",
"set region_id = #{regionId,jdbcType=BIGINT},",
"region_name = #{regionName,jdbcType=VARCHAR},",
"oil_no = #{oilNo,jdbcType=INTEGER},",
"oil_no_name = #{oilNoName,jdbcType=VARCHAR},",
"price_official = #{priceOfficial,jdbcType=DECIMAL},",
"oil_type = #{oilType,jdbcType=INTEGER},",
"oil_type_name = #{oilTypeName,jdbcType=VARCHAR},",
"`status` = #{status,jdbcType=INTEGER},",
"ext_1 = #{ext1,jdbcType=VARCHAR},",
"ext_2 = #{ext2,jdbcType=VARCHAR},",
"ext_3 = #{ext3,jdbcType=VARCHAR}",
"where id = #{id,jdbcType=BIGINT}"
})
int updateByPrimaryKey(HighGasOilPriceOfficial record);
}

@ -0,0 +1,7 @@
package com.hai.dao;
/**
* mapper扩展类
*/
public interface HighGasOilPriceOfficialMapperExt {
}

@ -0,0 +1,332 @@
package com.hai.dao;
import com.hai.entity.HighGasOilPriceOfficial;
import com.hai.entity.HighGasOilPriceOfficialExample.Criteria;
import com.hai.entity.HighGasOilPriceOfficialExample.Criterion;
import com.hai.entity.HighGasOilPriceOfficialExample;
import java.util.List;
import java.util.Map;
import org.apache.ibatis.jdbc.SQL;
public class HighGasOilPriceOfficialSqlProvider {
public String countByExample(HighGasOilPriceOfficialExample example) {
SQL sql = new SQL();
sql.SELECT("count(*)").FROM("high_gas_oil_price_official");
applyWhere(sql, example, false);
return sql.toString();
}
public String deleteByExample(HighGasOilPriceOfficialExample example) {
SQL sql = new SQL();
sql.DELETE_FROM("high_gas_oil_price_official");
applyWhere(sql, example, false);
return sql.toString();
}
public String insertSelective(HighGasOilPriceOfficial record) {
SQL sql = new SQL();
sql.INSERT_INTO("high_gas_oil_price_official");
if (record.getRegionId() != null) {
sql.VALUES("region_id", "#{regionId,jdbcType=BIGINT}");
}
if (record.getRegionName() != null) {
sql.VALUES("region_name", "#{regionName,jdbcType=VARCHAR}");
}
if (record.getOilNo() != null) {
sql.VALUES("oil_no", "#{oilNo,jdbcType=INTEGER}");
}
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.getOilType() != null) {
sql.VALUES("oil_type", "#{oilType,jdbcType=INTEGER}");
}
if (record.getOilTypeName() != null) {
sql.VALUES("oil_type_name", "#{oilTypeName,jdbcType=VARCHAR}");
}
if (record.getStatus() != null) {
sql.VALUES("`status`", "#{status,jdbcType=INTEGER}");
}
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(HighGasOilPriceOfficialExample example) {
SQL sql = new SQL();
if (example != null && example.isDistinct()) {
sql.SELECT_DISTINCT("id");
} else {
sql.SELECT("id");
}
sql.SELECT("region_id");
sql.SELECT("region_name");
sql.SELECT("oil_no");
sql.SELECT("oil_no_name");
sql.SELECT("price_official");
sql.SELECT("oil_type");
sql.SELECT("oil_type_name");
sql.SELECT("`status`");
sql.SELECT("ext_1");
sql.SELECT("ext_2");
sql.SELECT("ext_3");
sql.FROM("high_gas_oil_price_official");
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) {
HighGasOilPriceOfficial record = (HighGasOilPriceOfficial) parameter.get("record");
HighGasOilPriceOfficialExample example = (HighGasOilPriceOfficialExample) parameter.get("example");
SQL sql = new SQL();
sql.UPDATE("high_gas_oil_price_official");
if (record.getId() != null) {
sql.SET("id = #{record.id,jdbcType=BIGINT}");
}
if (record.getRegionId() != null) {
sql.SET("region_id = #{record.regionId,jdbcType=BIGINT}");
}
if (record.getRegionName() != null) {
sql.SET("region_name = #{record.regionName,jdbcType=VARCHAR}");
}
if (record.getOilNo() != null) {
sql.SET("oil_no = #{record.oilNo,jdbcType=INTEGER}");
}
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.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.getStatus() != null) {
sql.SET("`status` = #{record.status,jdbcType=INTEGER}");
}
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("high_gas_oil_price_official");
sql.SET("id = #{record.id,jdbcType=BIGINT}");
sql.SET("region_id = #{record.regionId,jdbcType=BIGINT}");
sql.SET("region_name = #{record.regionName,jdbcType=VARCHAR}");
sql.SET("oil_no = #{record.oilNo,jdbcType=INTEGER}");
sql.SET("oil_no_name = #{record.oilNoName,jdbcType=VARCHAR}");
sql.SET("price_official = #{record.priceOfficial,jdbcType=DECIMAL}");
sql.SET("oil_type = #{record.oilType,jdbcType=INTEGER}");
sql.SET("oil_type_name = #{record.oilTypeName,jdbcType=VARCHAR}");
sql.SET("`status` = #{record.status,jdbcType=INTEGER}");
sql.SET("ext_1 = #{record.ext1,jdbcType=VARCHAR}");
sql.SET("ext_2 = #{record.ext2,jdbcType=VARCHAR}");
sql.SET("ext_3 = #{record.ext3,jdbcType=VARCHAR}");
HighGasOilPriceOfficialExample example = (HighGasOilPriceOfficialExample) parameter.get("example");
applyWhere(sql, example, true);
return sql.toString();
}
public String updateByPrimaryKeySelective(HighGasOilPriceOfficial record) {
SQL sql = new SQL();
sql.UPDATE("high_gas_oil_price_official");
if (record.getRegionId() != null) {
sql.SET("region_id = #{regionId,jdbcType=BIGINT}");
}
if (record.getRegionName() != null) {
sql.SET("region_name = #{regionName,jdbcType=VARCHAR}");
}
if (record.getOilNo() != null) {
sql.SET("oil_no = #{oilNo,jdbcType=INTEGER}");
}
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.getOilType() != null) {
sql.SET("oil_type = #{oilType,jdbcType=INTEGER}");
}
if (record.getOilTypeName() != null) {
sql.SET("oil_type_name = #{oilTypeName,jdbcType=VARCHAR}");
}
if (record.getStatus() != null) {
sql.SET("`status` = #{status,jdbcType=INTEGER}");
}
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, HighGasOilPriceOfficialExample 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());
}
}
}

@ -40,6 +40,10 @@ public class HighGasOilPriceSqlProvider {
sql.VALUES("oil_no_name", "#{oilNoName,jdbcType=VARCHAR}");
}
if (record.getPreferentialMargin() != null) {
sql.VALUES("preferential_margin", "#{preferentialMargin,jdbcType=DECIMAL}");
}
if (record.getPriceVip() != null) {
sql.VALUES("price_vip", "#{priceVip,jdbcType=DECIMAL}");
}
@ -89,6 +93,7 @@ public class HighGasOilPriceSqlProvider {
sql.SELECT("merchant_store_id");
sql.SELECT("oil_no");
sql.SELECT("oil_no_name");
sql.SELECT("preferential_margin");
sql.SELECT("price_vip");
sql.SELECT("price_gun");
sql.SELECT("price_official");
@ -131,6 +136,10 @@ public class HighGasOilPriceSqlProvider {
sql.SET("oil_no_name = #{record.oilNoName,jdbcType=VARCHAR}");
}
if (record.getPreferentialMargin() != null) {
sql.SET("preferential_margin = #{record.preferentialMargin,jdbcType=DECIMAL}");
}
if (record.getPriceVip() != null) {
sql.SET("price_vip = #{record.priceVip,jdbcType=DECIMAL}");
}
@ -179,6 +188,7 @@ public class HighGasOilPriceSqlProvider {
sql.SET("merchant_store_id = #{record.merchantStoreId,jdbcType=BIGINT}");
sql.SET("oil_no = #{record.oilNo,jdbcType=INTEGER}");
sql.SET("oil_no_name = #{record.oilNoName,jdbcType=VARCHAR}");
sql.SET("preferential_margin = #{record.preferentialMargin,jdbcType=DECIMAL}");
sql.SET("price_vip = #{record.priceVip,jdbcType=DECIMAL}");
sql.SET("price_gun = #{record.priceGun,jdbcType=DECIMAL}");
sql.SET("price_official = #{record.priceOfficial,jdbcType=DECIMAL}");
@ -210,6 +220,10 @@ public class HighGasOilPriceSqlProvider {
sql.SET("oil_no_name = #{oilNoName,jdbcType=VARCHAR}");
}
if (record.getPreferentialMargin() != null) {
sql.SET("preferential_margin = #{preferentialMargin,jdbcType=DECIMAL}");
}
if (record.getPriceVip() != null) {
sql.SET("price_vip = #{priceVip,jdbcType=DECIMAL}");
}

@ -33,6 +33,11 @@ public class HighGasOilPrice implements Serializable {
*/
private String oilNoName;
/**
* 优惠幅度
*/
private BigDecimal preferentialMargin;
/**
* 优惠价
*/
@ -103,6 +108,14 @@ public class HighGasOilPrice implements Serializable {
this.oilNoName = oilNoName;
}
public BigDecimal getPreferentialMargin() {
return preferentialMargin;
}
public void setPreferentialMargin(BigDecimal preferentialMargin) {
this.preferentialMargin = preferentialMargin;
}
public BigDecimal getPriceVip() {
return priceVip;
}
@ -191,6 +204,7 @@ public class HighGasOilPrice implements Serializable {
&& (this.getMerchantStoreId() == null ? other.getMerchantStoreId() == null : this.getMerchantStoreId().equals(other.getMerchantStoreId()))
&& (this.getOilNo() == null ? other.getOilNo() == null : this.getOilNo().equals(other.getOilNo()))
&& (this.getOilNoName() == null ? other.getOilNoName() == null : this.getOilNoName().equals(other.getOilNoName()))
&& (this.getPreferentialMargin() == null ? other.getPreferentialMargin() == null : this.getPreferentialMargin().equals(other.getPreferentialMargin()))
&& (this.getPriceVip() == null ? other.getPriceVip() == null : this.getPriceVip().equals(other.getPriceVip()))
&& (this.getPriceGun() == null ? other.getPriceGun() == null : this.getPriceGun().equals(other.getPriceGun()))
&& (this.getPriceOfficial() == null ? other.getPriceOfficial() == null : this.getPriceOfficial().equals(other.getPriceOfficial()))
@ -210,6 +224,7 @@ public class HighGasOilPrice implements Serializable {
result = prime * result + ((getMerchantStoreId() == null) ? 0 : getMerchantStoreId().hashCode());
result = prime * result + ((getOilNo() == null) ? 0 : getOilNo().hashCode());
result = prime * result + ((getOilNoName() == null) ? 0 : getOilNoName().hashCode());
result = prime * result + ((getPreferentialMargin() == null) ? 0 : getPreferentialMargin().hashCode());
result = prime * result + ((getPriceVip() == null) ? 0 : getPriceVip().hashCode());
result = prime * result + ((getPriceGun() == null) ? 0 : getPriceGun().hashCode());
result = prime * result + ((getPriceOfficial() == null) ? 0 : getPriceOfficial().hashCode());
@ -232,6 +247,7 @@ public class HighGasOilPrice implements Serializable {
sb.append(", merchantStoreId=").append(merchantStoreId);
sb.append(", oilNo=").append(oilNo);
sb.append(", oilNoName=").append(oilNoName);
sb.append(", preferentialMargin=").append(preferentialMargin);
sb.append(", priceVip=").append(priceVip);
sb.append(", priceGun=").append(priceGun);
sb.append(", priceOfficial=").append(priceOfficial);

@ -375,6 +375,66 @@ public class HighGasOilPriceExample {
return (Criteria) this;
}
public Criteria andPreferentialMarginIsNull() {
addCriterion("preferential_margin is null");
return (Criteria) this;
}
public Criteria andPreferentialMarginIsNotNull() {
addCriterion("preferential_margin is not null");
return (Criteria) this;
}
public Criteria andPreferentialMarginEqualTo(BigDecimal value) {
addCriterion("preferential_margin =", value, "preferentialMargin");
return (Criteria) this;
}
public Criteria andPreferentialMarginNotEqualTo(BigDecimal value) {
addCriterion("preferential_margin <>", value, "preferentialMargin");
return (Criteria) this;
}
public Criteria andPreferentialMarginGreaterThan(BigDecimal value) {
addCriterion("preferential_margin >", value, "preferentialMargin");
return (Criteria) this;
}
public Criteria andPreferentialMarginGreaterThanOrEqualTo(BigDecimal value) {
addCriterion("preferential_margin >=", value, "preferentialMargin");
return (Criteria) this;
}
public Criteria andPreferentialMarginLessThan(BigDecimal value) {
addCriterion("preferential_margin <", value, "preferentialMargin");
return (Criteria) this;
}
public Criteria andPreferentialMarginLessThanOrEqualTo(BigDecimal value) {
addCriterion("preferential_margin <=", value, "preferentialMargin");
return (Criteria) this;
}
public Criteria andPreferentialMarginIn(List<BigDecimal> values) {
addCriterion("preferential_margin in", values, "preferentialMargin");
return (Criteria) this;
}
public Criteria andPreferentialMarginNotIn(List<BigDecimal> values) {
addCriterion("preferential_margin not in", values, "preferentialMargin");
return (Criteria) this;
}
public Criteria andPreferentialMarginBetween(BigDecimal value1, BigDecimal value2) {
addCriterion("preferential_margin between", value1, value2, "preferentialMargin");
return (Criteria) this;
}
public Criteria andPreferentialMarginNotBetween(BigDecimal value1, BigDecimal value2) {
addCriterion("preferential_margin not between", value1, value2, "preferentialMargin");
return (Criteria) this;
}
public Criteria andPriceVipIsNull() {
addCriterion("price_vip is null");
return (Criteria) this;

@ -0,0 +1,232 @@
package com.hai.entity;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* high_gas_oil_price_official
* @author
*/
/**
*
* 代码由工具生成
*
**/
public class HighGasOilPriceOfficial implements Serializable {
/**
* 主键
*/
private Long id;
/**
* 区域id
*/
private Long regionId;
/**
* 区域名称
*/
private String regionName;
/**
* 油号
*/
private Integer oilNo;
/**
* 油品名称
*/
private String oilNoName;
/**
* 官方指导价国标价
*/
private BigDecimal priceOfficial;
/**
* 油品类型 1:汽油:2:柴油;3:天然气
*/
private Integer oilType;
/**
* 燃油类型名 1:汽油:2:柴油;3:天然气
*/
private String oilTypeName;
/**
* 状态 0删除 1正常
*/
private Integer status;
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 getRegionId() {
return regionId;
}
public void setRegionId(Long regionId) {
this.regionId = regionId;
}
public String getRegionName() {
return regionName;
}
public void setRegionName(String regionName) {
this.regionName = regionName;
}
public Integer getOilNo() {
return oilNo;
}
public void setOilNo(Integer 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 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 Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
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;
}
HighGasOilPriceOfficial other = (HighGasOilPriceOfficial) that;
return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
&& (this.getRegionId() == null ? other.getRegionId() == null : this.getRegionId().equals(other.getRegionId()))
&& (this.getRegionName() == null ? other.getRegionName() == null : this.getRegionName().equals(other.getRegionName()))
&& (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.getOilType() == null ? other.getOilType() == null : this.getOilType().equals(other.getOilType()))
&& (this.getOilTypeName() == null ? other.getOilTypeName() == null : this.getOilTypeName().equals(other.getOilTypeName()))
&& (this.getStatus() == null ? other.getStatus() == null : this.getStatus().equals(other.getStatus()))
&& (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 + ((getRegionId() == null) ? 0 : getRegionId().hashCode());
result = prime * result + ((getRegionName() == null) ? 0 : getRegionName().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 + ((getOilType() == null) ? 0 : getOilType().hashCode());
result = prime * result + ((getOilTypeName() == null) ? 0 : getOilTypeName().hashCode());
result = prime * result + ((getStatus() == null) ? 0 : getStatus().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(", regionId=").append(regionId);
sb.append(", regionName=").append(regionName);
sb.append(", oilNo=").append(oilNo);
sb.append(", oilNoName=").append(oilNoName);
sb.append(", priceOfficial=").append(priceOfficial);
sb.append(", oilType=").append(oilType);
sb.append(", oilTypeName=").append(oilTypeName);
sb.append(", status=").append(status);
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();
}
}

@ -147,6 +147,13 @@ public interface CommonService {
*/
SecRegion getRegionsById(Long regionId);
/**
* 根据地区名称模糊查询
* @param regionName
* @return
*/
SecRegion getRegionsByName(String regionName);
/**
*
* @Title: getParentInfoByRegionId

@ -0,0 +1,32 @@
package com.hai.service;
import com.hai.entity.HighGasOilPriceOfficial;
import java.math.BigDecimal;
/**
* 油品国标价
* @author hurui
*/
public interface HighGasOilPriceOfficialService {
/**
* 编辑价格
* @param regionId
* @param oilNo
*/
void editPrice(Long regionId, Integer oilNo, BigDecimal price);
/**
* 查询价格
* @param regionId
* @param oilNo
* @return
*/
HighGasOilPriceOfficial getPrice(Long regionId, Integer oilNo);
/**
* 刷新获取最新的国标价
*/
void refreshPriceOfficial();
}

@ -397,6 +397,16 @@ public class CommonServiceImpl implements CommonService {
return regionMapper.selectByPrimaryKey(regionId);
}
@Override
public SecRegion getRegionsByName(String regionName) {
SecRegionExample example = new SecRegionExample();
example.createCriteria().andRegionNameLike("%" + regionName + "%");
List<SecRegion> list = regionMapper.selectByExample(example);
if (list.size() > 0) {
return list.get(0);
}
return null;
}
@Override
public List<SecRegion> findByName(String name) {

@ -20,12 +20,10 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Service("highGasDiscountOilPriceService")
@Service("gasDiscountOilPriceService")
public class HighGasDiscountOilPriceServiceImpl implements HighGasDiscountOilPriceService {
@Resource

@ -10,7 +10,7 @@ import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
@Service("gasOilPriceService")
@Service("gasOilGunNoService")
public class HighGasOilGunNoServiceImpl implements HighGasOilGunNoService {
@Resource

@ -0,0 +1,106 @@
package com.hai.service.impl;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.hai.common.utils.HttpsUtils;
import com.hai.dao.HighGasOilPriceOfficialMapper;
import com.hai.entity.HighGasOilPriceOfficial;
import com.hai.entity.HighGasOilPriceOfficialExample;
import com.hai.entity.SecDictionary;
import com.hai.entity.SecRegion;
import com.hai.service.CommonService;
import com.hai.service.HighGasOilPriceOfficialService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Service("gasOilPriceOfficialService")
public class HighGasOilPriceOfficialServiceImpl implements HighGasOilPriceOfficialService {
@Resource
private HighGasOilPriceOfficialMapper gasOilPriceOfficialMapper;
@Resource
private CommonService commonService;
@Override
public void editPrice(Long regionId, Integer oilNo, BigDecimal price) {
HighGasOilPriceOfficial priceOfficial = getPrice(regionId, oilNo);
if (priceOfficial != null) {
priceOfficial.setPriceOfficial(price);
gasOilPriceOfficialMapper.updateByPrimaryKey(priceOfficial);
} else {
SecDictionary oil = commonService.mappingSysCode("GAS_OIL_TYPE", oilNo.toString());
SecRegion region = commonService.getRegionsById(regionId);
priceOfficial = new HighGasOilPriceOfficial();
priceOfficial.setRegionId(region.getRegionId());
priceOfficial.setRegionName(region.getRegionName());
priceOfficial.setOilNo(Integer.valueOf(oil.getCodeValue()));
priceOfficial.setOilNoName(oil.getCodeName());
priceOfficial.setPriceOfficial(price);
priceOfficial.setOilType(Integer.valueOf(oil.getExt1()));
priceOfficial.setOilTypeName(oil.getExt2());
priceOfficial.setStatus(1);
gasOilPriceOfficialMapper.insert(priceOfficial);
}
}
@Override
public HighGasOilPriceOfficial getPrice(Long regionId, Integer oilNo) {
HighGasOilPriceOfficialExample example = new HighGasOilPriceOfficialExample();
example.createCriteria().andRegionIdEqualTo(regionId).andOilNoEqualTo(oilNo);
List<HighGasOilPriceOfficial> list = gasOilPriceOfficialMapper.selectByExample(example);
if (list.size() > 0) {
return list.get(0);
}
return null;
}
@Override
public void refreshPriceOfficial() {
Map<String, String> heardParam = new HashMap<>();
heardParam.put("Content-Type", "application/json");
heardParam.put("Authorization", "APPCODE d7fb8449b8424fdbb60f01f53a04ce90");
JSONObject dataObject = HttpsUtils.doGet("http://ali-todayoil.showapi.com/todayoil", new HashMap<>(), heardParam);
if (dataObject.getInteger("showapi_res_code").equals(0)) {
JSONObject resBody = dataObject.getJSONObject("showapi_res_body");
JSONArray oilArray = resBody.getJSONArray("list");
for (Object oil : oilArray) {
JSONObject oilObject = (JSONObject) oil;
System.out.println();
SecRegion region = commonService.getRegionsByName(oilObject.getString("prov"));
if (region != null) {
BigDecimal oilNo92 = oilObject.getBigDecimal("p92");
if (oilNo92 != null) {
editPrice(region.getRegionId(), 92, oilNo92);
}
BigDecimal oilNo95 = oilObject.getBigDecimal("p95");
if (oilNo95 != null) {
editPrice(region.getRegionId(), 95, oilNo95);
}
BigDecimal oilNo98 = oilObject.getBigDecimal("p98");
if (oilNo98 != null) {
editPrice(region.getRegionId(), 98, oilNo98);
}
BigDecimal oilNo0 = oilObject.getBigDecimal("p0");
if (oilNo0 != null) {
editPrice(region.getRegionId(), 0, oilNo0);
}
}
}
}
}
}
Loading…
Cancel
Save