提交2。0代码

dev-discount
袁野 2 years ago
parent 0f29439608
commit c7fd02d5f4
  1. 33
      hai-bweb/src/main/java/com/bweb/controller/ApiIpAddressController.java
  2. 149
      hai-bweb/src/main/java/com/bweb/controller/ApiMchProduct/ApiMchProductController.java
  3. 4
      hai-bweb/src/main/java/com/bweb/controller/ApiProductController.java
  4. 2
      hai-cweb/src/main/java/com/cweb/controller/CmsContentController.java
  5. 10
      hai-order/src/main/java/com/web/controller/business/OrderMobileRechargeController.java
  6. 2
      hai-service/src/main/java/com/hai/config/CmsContentConfig.java
  7. 112
      hai-service/src/main/java/com/hai/openApi/model/ApiGasOliPriceModel.java
  8. 96
      hai-service/src/main/java/com/hai/openApi/model/ApiMchStoreModel.java
  9. 25
      hai-service/src/main/java/com/hai/openApi/service/ApiMchProductService.java
  10. 93
      hai-service/src/main/java/com/hai/openApi/service/impl/ApiMchProductServiceImpl.java
  11. 4
      hai-service/src/main/java/com/hai/order/model/OrderThirdPartyModel.java
  12. 1
      hai-service/src/main/java/com/hai/order/service/impl/OrderServiceImpl.java
  13. 33
      hai-service/src/main/java/com/hai/order/type/OrderProductType.java
  14. 3
      hai-service/src/main/java/com/hai/service/SecConfigService.java
  15. 3
      hai-service/src/main/java/com/hai/service/impl/OutRechargeChildOrderServiceImpl.java
  16. 2
      hai-service/src/main/java/com/hai/service/impl/OutRechargeOrderServiceImpl.java
  17. 26
      hai-service/src/main/java/com/hai/service/impl/SecConfigServiceImpl.java
  18. 137
      v1/src/main/java/com/v1/controller/RefuelOnlineController.java
  19. 26
      v1/src/main/resources/dev/logback.xml

@ -121,38 +121,5 @@ public class ApiIpAddressController {
}
}
@RequestMapping(value="/configMerchant",method = RequestMethod.POST)
@ResponseBody
@ApiOperation(value = "配置门店可用接口")
public ResponseData configMerchant(@RequestBody JSONObject object, HttpServletRequest request) {
try {
SessionObject sessionObject = userCenter.getSessionObject(request);
UserInfoModel userInfoModel = (UserInfoModel) sessionObject.getObject();
if (userInfoModel.getBsCompany() == null) {
log.error("HighMerchantController -> updateMerchant() error!","该主角色没有权限");
throw ErrorHelp.genException(SysCode.System, ErrorCode.MENU_TREE_HAS_NOT_ERROR, "");
}
if (object.getString("mchId") == null || object.getString("configProduct") == null) {
log.error("ApiMemberProductController -> insertMemberProduct() error!","参数错误");
throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, "");
}
ApiMerchants merchants = apiMerchantsService.findByMchId(object.getString("mchId"));
if (merchants == null) {
log.error("ApiMemberProductController -> insertMemberProduct() error!","商户状态错误");
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "商户状态错误");
}
secConfigService.configMerchant(object.getString("mchId") , object.getString("configProduct"));
return ResponseMsgUtil.success("配置成功");
} catch (Exception e) {
log.error("ApiMerchantsController -> insertMerchant() error!",e);
return ResponseMsgUtil.exception(e);
}
}
}

@ -1,30 +1,33 @@
package com.bweb.controller.ApiMchProduct;
import com.alibaba.fastjson.JSONObject;
import com.github.pagehelper.PageInfo;
import com.hai.common.exception.ErrorCode;
import com.hai.common.exception.ErrorHelp;
import com.hai.common.exception.SysCode;
import com.hai.common.security.SessionObject;
import com.hai.common.security.UserCenter;
import com.hai.common.utils.ResponseMsgUtil;
import com.hai.entity.*;
import com.hai.model.ResponseData;
import com.hai.model.UserInfoModel;
import com.hai.openApi.service.ApiMchProductService;
import com.hai.order.type.OrderProductType;
import com.hai.service.ApiMerchantsService;
import com.hai.service.BsCompanyService;
import com.hai.service.HighMerchantService;
import com.hai.service.SecConfigService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.models.auth.In;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.Objects;
import java.math.BigDecimal;
import java.util.*;
@Controller
@RequestMapping(value = "/apiMchProduct")
@ -39,6 +42,18 @@ public class ApiMchProductController {
@Autowired
private UserCenter userCenter;
@Resource
private BsCompanyService bsCompanyService;
@Resource
private HighMerchantService highMerchantService;
@Resource
private ApiMerchantsService apiMerchantsService;
@Resource
private SecConfigService secConfigService;
@RequestMapping(value = "/insertMchProduct", method = RequestMethod.POST)
@ResponseBody
@ -46,40 +61,128 @@ public class ApiMchProductController {
public ResponseData insertMchProduct(@RequestBody JSONObject object, HttpServletRequest request) {
try {
SessionObject sessionObject = userCenter.getSessionObject(request);
UserInfoModel userInfoModel = (UserInfoModel) sessionObject.getObject();
if (object == null ||
object.getInteger("productType") == null ||
object.getString("mchId") == null ||
object.getBigDecimal("discount") == null
object.getString("mchId") == null
) {
log.error("ApiProductController -> insertProduct() error!");
throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, "");
}
if (Objects.equals(object.getInteger("productType"), OrderProductType.PRODUCT_TYPE6.getNumber())) {
if (object.getLong("companyId") == null ||
object.getString("merchantId") == null
) {
log.error("ApiProductController -> insertProduct() error!");
throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, "");
ApiMerchants merchants = apiMerchantsService.findByMchId(object.getString("mchId"));
if (merchants == null) {
log.error("ApiMemberProductController -> insertMemberProduct() error!","商户状态错误");
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "商户状态错误");
}
apiMchProductService.detailConfigMchProduct(object.getString("mchId"));
secConfigService.deleteSecConfig(object.getString("mchId"));
if (object.getJSONArray("productType") != null && object.getJSONArray("productType").size() > 0) {
apiMchProductService.configMchProduct(object);
}
return ResponseMsgUtil.success("配置成功");
} catch (Exception e) {
log.error("ApiProductController --> insertPrice() error!", e);
return ResponseMsgUtil.exception(e);
}
}
@RequestMapping(value = "/getListApiMchProduct", method = RequestMethod.GET)
@ResponseBody
@ApiOperation(value = "查询商户产品列表")
public ResponseData getListApiMchProduct(@RequestParam(value = "mchId", required = true) String mchId) {
try {
Map<String, Object> map = new HashMap<>();
map.put("mchId", mchId);
List<ApiMchProduct> list = apiMchProductService.getListMchProduct(map);
for (ApiMchProduct apiMchProduct : list) {
if (apiMchProduct.getProductType().equals(6)) {
apiMchProduct.setExt1(OrderProductType.getDataByType(apiMchProduct.getProductType()).getName() + productName(apiMchProduct.getCompanyId(),apiMchProduct.getMerchantId()));
} else {
apiMchProduct.setExt1(OrderProductType.getDataByType(apiMchProduct.getProductType()).getName());
}
}
return ResponseMsgUtil.success(list);
} catch (Exception e) {
log.error("OutRechargePriceController --> getListUser() error!", e);
return ResponseMsgUtil.exception(e);
}
}
@RequestMapping(value = "/detailApiMchProduct", method = RequestMethod.GET)
@ResponseBody
@ApiOperation(value = "删除商户产品")
public ResponseData detailApiMchProduct(@RequestParam(value = "id", required = true) Long id) {
try {
object.put("operatorId", userInfoModel.getSecUser().getId());
object.put("operatorName", userInfoModel.getSecUser().getLoginName());
ApiMchProduct apiMchProduct = apiMchProductService.findById(id);
secConfigService.deleteSecConfig(apiMchProduct.getMchId() , OrderProductType.getDataByType(apiMchProduct.getProductType()).getApiCode());
apiMchProductService.detailApiMchProduct(id);
return ResponseMsgUtil.success("操作成功");
apiMchProductService.insertMchProduct(object);
} catch (Exception e) {
log.error("OutRechargePriceController --> getListUser() error!", e);
return ResponseMsgUtil.exception(e);
}
}
return ResponseMsgUtil.success("新增成功");
@RequestMapping(value = "/findMchProduct", method = RequestMethod.GET)
@ResponseBody
@ApiOperation(value = "查询商户产品")
public ResponseData findMchProduct(@RequestParam(value = "id", required = true) Long id) {
try {
return ResponseMsgUtil.success(apiMchProductService.findById(id));
} catch (Exception e) {
log.error("OutRechargePriceController --> getListUser() error!", e);
return ResponseMsgUtil.exception(e);
}
}
@RequestMapping(value = "/editMchProduct", method = RequestMethod.POST)
@ResponseBody
@ApiOperation(value = "修改配置产品")
public ResponseData editMchProduct(@RequestBody JSONObject object) {
try {
if (object == null ||
object.getBigDecimal("discount") == null ||
object.getLong("id") == null
) {
log.error("ApiProductController -> configApiProduct() error!");
throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, "");
}
ApiMchProduct apiMchProduct = apiMchProductService.findById(object.getLong("id"));
apiMchProduct.setDiscount(object.getBigDecimal("discount"));
apiMchProduct.setUpdateTime(new Date());
apiMchProductService.updateMchProduct(apiMchProduct);
return ResponseMsgUtil.success("修改成功");
} catch (Exception e) {
log.error("ApiProductController --> insertPrice() error!", e);
return ResponseMsgUtil.exception(e);
}
}
// 编辑产品名称
private String productName(Long companyId , Long merchantId) {
return "(" + bsCompanyService.getCompanyById(companyId).getName() + "-" + highMerchantService.getMerchantById(merchantId).getMerchantName() + ")";
}
}

@ -52,12 +52,10 @@ public class ApiProductController {
@RequestParam(value = "phoneRechargeType", required = false) Integer phoneRechargeType,
@RequestParam(value = "status", required = false) Integer status,
@RequestParam(name = "pageNum", required = true) Integer pageNum,
@RequestParam(name = "pageSize", required = true) Integer pageSize, HttpServletRequest request
@RequestParam(name = "pageSize", required = true) Integer pageSize
) {
try {
SessionObject sessionObject = userCenter.getSessionObject(request);
UserInfoModel userInfoModel = (UserInfoModel) sessionObject.getObject();
Map<String, Object> map = new HashMap<>();

@ -140,7 +140,7 @@ public class CmsContentController {
}
if (cmsCategory.getType() == 3 || cmsCategory.getType() == 6 || cmsCategory.getType() == 9) {
if (object.getJSONArray("childDate").size() >0) {
if (object.getJSONArray("childDate") != null && object.getJSONArray("childDate").size() >0) {
objectList.add(object);
}
} else {

@ -9,6 +9,8 @@ import com.hai.common.exception.SysCode;
import com.hai.common.security.UserCenter;
import com.hai.common.utils.ResponseMsgUtil;
import com.hai.entity.HighOrder;
import com.hai.entity.OutRechargeChildOrder;
import com.hai.entity.OutRechargeOrder;
import com.hai.enum_type.OrderStatusEnum;
import com.hai.enum_type.UserObjectTypeEnum;
import com.hai.model.ResponseData;
@ -16,6 +18,7 @@ import com.hai.model.UserInfoModel;
import com.hai.order.model.OrderThirdPartyModel;
import com.hai.order.service.OrderService;
import com.hai.order.type.OrderPayType;
import com.hai.service.OutRechargeChildOrderService;
import com.hai.service.OutRechargeOrderService;
import com.hai.service.impl.OutRechargeOrderServiceImpl;
import com.web.config.SysConst;
@ -50,6 +53,9 @@ public class OrderMobileRechargeController {
@Resource
private OutRechargeOrderService outRechargeOrderService;
@Resource
private OutRechargeChildOrderService outRechargeChildOrderService;
@Resource
private OrderService orderService;
@ -165,6 +171,10 @@ public class OrderMobileRechargeController {
for (HighOrder thirdPartyModel : orderList) {
model = new OrderThirdPartyModel();
model.setOrderNo(thirdPartyModel.getOrderNo());
OutRechargeOrder outRechargeOrder = outRechargeOrderService.findByOrderNo(thirdPartyModel.getOrderNo());
if (outRechargeOrder.getOutRechargeChildOrders().size() > 0) {
model.setRegOrderNo(outRechargeOrder.getOutRechargeChildOrders().get(0).getOrderNo());
}
model.setMemPhone(thirdPartyModel.getMemPhone());
model.setTitle(thirdPartyModel.getTitle());
model.setTotalPrice(thirdPartyModel.getTotalPrice());

@ -41,7 +41,7 @@ public class CmsContentConfig {
map.put("status" , 1);
PageHelper.startPage(1, 3);
return new PageInfo<>( highDiscountPackageService.getDiscountPackageList(map)).getList();
} else if (CmsContentDataEnum.REFUEL.getName().equals(title) || CmsContentDataEnum.INTEGRAL.getName().equals(title)){
} else if (CmsContentDataEnum.REFUEL.getName().equals(title) || CmsContentDataEnum.INTEGRAL.getName().equals(title) || CmsContentDataEnum.UNION_CARD.getName().equals(title)){
map.put("companyId", companyId);
map.put("displayArea", CmsContentDataEnum.getTypeByName(title));
map.put("notCouponSource", 2);

@ -0,0 +1,112 @@
package com.hai.openApi.model;
import java.math.BigDecimal;
import java.util.List;
public class ApiGasOliPriceModel {
/**
* 油号
*/
private String oilNo;
/**
* 油品名称
*/
private String oilNoName;
/**
* 成本价
*/
private BigDecimal priceCost;
/**
* 枪价
*/
private BigDecimal priceGun;
/**
* 官方指导价
*/
private BigDecimal priceOfficial;
/**
* 油品类型 1:汽油:2:柴油;3:天然气
*/
private Integer oilType;
/**
* 燃油类型名 1:汽油:2:柴油;3:天然气
*/
private String oilTypeName;
/**
* 油枪号数组
*/
private String[] gasOliNo;
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 getPriceCost() {
return priceCost;
}
public void setPriceCost(BigDecimal priceCost) {
this.priceCost = priceCost;
}
public BigDecimal getPriceGun() {
return priceGun;
}
public void setPriceGun(BigDecimal priceGun) {
this.priceGun = priceGun;
}
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 String[] getGasOliNo() {
return gasOliNo;
}
public void setGasOliNo(String[] gasOliNo) {
this.gasOliNo = gasOliNo;
}
}

@ -0,0 +1,96 @@
package com.hai.openApi.model;
import java.util.List;
public class ApiMchStoreModel {
// 区域名称
private String regionName;
// 门店logo
private String storeLogo;
// 门店编码
private String storeCode;
// 门店名称
private String storeName;
// 门店地址
private String address;
// 经度
private String longitude;
// 纬度
/**
* 商户地址纬度
*/
private String latitude;
private List<ApiGasOliPriceModel> apiGasOliPriceModels;
public String getRegionName() {
return regionName;
}
public void setRegionName(String regionName) {
this.regionName = regionName;
}
public String getStoreLogo() {
return storeLogo;
}
public void setStoreLogo(String storeLogo) {
this.storeLogo = storeLogo;
}
public String getStoreCode() {
return storeCode;
}
public void setStoreCode(String storeCode) {
this.storeCode = storeCode;
}
public String getStoreName() {
return storeName;
}
public void setStoreName(String storeName) {
this.storeName = storeName;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getLongitude() {
return longitude;
}
public void setLongitude(String longitude) {
this.longitude = longitude;
}
public String getLatitude() {
return latitude;
}
public void setLatitude(String latitude) {
this.latitude = latitude;
}
public List<ApiGasOliPriceModel> getApiGasOliPriceModels() {
return apiGasOliPriceModels;
}
public void setApiGasOliPriceModels(List<ApiGasOliPriceModel> apiGasOliPriceModels) {
this.apiGasOliPriceModels = apiGasOliPriceModels;
}
}

@ -23,7 +23,10 @@ public interface ApiMchProductService {
* @Param [apiMchProduct]
* @Return void
*/
void insertMchProduct(JSONObject object);
void insertMchProduct(ApiMchProduct apiMchProduct);
void configMchProduct(JSONObject object);
/**
* @Author Sum1Dream
* @Name updateMchProduct
@ -53,4 +56,24 @@ public interface ApiMchProductService {
* @Return com.hai.entity.ApiMchProduct
*/
ApiMchProduct findById(Long id);
/**
* @Author Sum1Dream
* @Name detailConfigMchProduct
* @Description // 删除商户配置相关产品
* @Date 17:02 2023/2/23
* @Param [mchId]
* @Return void
*/
void detailConfigMchProduct(String mchId);
/**
* @Author Sum1Dream
* @Name detailApiMchProduct
* @Description // 根据id删除配置产品
* @Date 11:06 2023/2/24
* @Param [id]
* @Return void
*/
void detailApiMchProduct(Long id);
}

@ -1,14 +1,25 @@
package com.hai.openApi.service.impl;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.hai.common.exception.ErrorCode;
import com.hai.common.exception.ErrorHelp;
import com.hai.common.exception.SysCode;
import com.hai.dao.ApiMchProductMapper;
import com.hai.entity.ApiMchProduct;
import com.hai.entity.ApiMchProductExample;
import com.hai.entity.SecConfig;
import com.hai.openApi.service.ApiMchProductService;
import com.hai.order.type.OrderProductType;
import com.hai.service.SecConfigService;
import org.apache.commons.collections4.MapUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Objects;
@Service("apiMchProductService")
public class ApiMchProductServiceImpl implements ApiMchProductService {
@ -16,9 +27,57 @@ public class ApiMchProductServiceImpl implements ApiMchProductService {
@Resource
private ApiMchProductMapper apiMchProductMapper;
@Resource
private SecConfigService secConfigService;
@Override
public void insertMchProduct(JSONObject object) {
// apiMchProductMapper.insert(apiMchProduct);
public void insertMchProduct(ApiMchProduct apiMchProduct) {
apiMchProductMapper.insert(apiMchProduct);
}
@Override
public void configMchProduct(JSONObject object) {
// 转换产品类型数组
JSONArray productTypeS = object.getJSONArray("productType");
ApiMchProduct apiMchProduct;
for (Object productType : productTypeS) {
apiMchProduct = new ApiMchProduct();
apiMchProduct.setProductType(Integer.valueOf(productType.toString()));
apiMchProduct.setMchId(object.getString("mchId"));
apiMchProduct.setDiscount(object.getBigDecimal("discount"));
apiMchProduct.setStatus(1);
apiMchProduct.setCreateTime(new Date());
apiMchProduct.setUpdateTime(new Date());
// 插入接口权限
SecConfig secConfig = new SecConfig();
secConfig.setCodeValue(object.getString("mchId"));
secConfig.setCodeType(OrderProductType.getDataByType(Integer.valueOf(productType.toString())).getApiCode());
secConfigService.insertSecConfig(secConfig);
if (Integer.valueOf(productType.toString()).equals(OrderProductType.PRODUCT_TYPE6.getNumber())) {
if (object.getLong("companyId") == null ||
object.getString("merchantId") == null
) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, "");
}
JSONArray merchantIdS = object.getJSONArray("merchantId");
for (Object merchantId : merchantIdS) {
apiMchProduct.setMerchantId(Long.valueOf(merchantId.toString()));
apiMchProduct.setCompanyId(object.getLong("companyId"));
insertMchProduct(apiMchProduct);
}
} else {
insertMchProduct(apiMchProduct);
}
}
}
@Override
@ -28,11 +87,39 @@ public class ApiMchProductServiceImpl implements ApiMchProductService {
@Override
public List<ApiMchProduct> getListMchProduct(Map<String, Object> map) {
return null;
ApiMchProductExample example = new ApiMchProductExample();
ApiMchProductExample.Criteria criteria = example.createCriteria();
if (MapUtils.getString(map , "mchId") != null) {
criteria.andMchIdEqualTo(MapUtils.getString(map , "mchId"));
}
if (MapUtils.getInteger(map , "productType") != null) {
criteria.andProductTypeEqualTo(MapUtils.getInteger(map , "productType"));
}
criteria.andStatusEqualTo(1);
return apiMchProductMapper.selectByExample(example);
}
@Override
public ApiMchProduct findById(Long id) {
return apiMchProductMapper.selectByPrimaryKey(id);
}
@Override
public void detailConfigMchProduct(String mchId) {
ApiMchProductExample example = new ApiMchProductExample();
example.createCriteria().andMchIdEqualTo(mchId);
List<ApiMchProduct> list = apiMchProductMapper.selectByExample(example);
for (ApiMchProduct apiMchProduct : list) {
apiMchProductMapper.deleteByPrimaryKey(apiMchProduct.getId());
}
}
@Override
public void detailApiMchProduct(Long id) {
apiMchProductMapper.deleteByPrimaryKey(id);
}
}

@ -20,6 +20,10 @@ public class OrderThirdPartyModel {
@ExcelProperty(value = "交易订单号")
private String orderNo;
@ColumnWidth(25)
@ExcelProperty(value = "充值订单号")
private String regOrderNo;
@ColumnWidth(15)
@ExcelProperty(value = "客户电话")
private String memPhone;

@ -743,7 +743,6 @@ public class OrderServiceImpl implements OrderService {
criteria.andCreateTimeLessThan(new Date(MapUtils.getLong(param, "finishTimeE")));
}
example.setOrderByClause("create_time desc");
return orderMapper.selectByExample(example);
}

@ -9,16 +9,16 @@ import java.util.Objects;
* @date: 2022/8/25
**/
public enum OrderProductType {
PRODUCT_TYPE1(1, "星巴克","orderLogo/starbucks.png"),
PRODUCT_TYPE2(2, "肯德基", "orderLogo/kfc.png"),
PRODUCT_TYPE3(3, "第三方充值", "orderLogo/member-top-up.png"),
PRODUCT_TYPE4(4, "积分充值", "orderLogo/integral-top-up.png"),
PRODUCT_TYPE5(5, "购买卡券", "orderLogo/coupon.png"),
PRODUCT_TYPE6(6, "在线加油" , "orderLogo/refuel-online.png"),
PRODUCT_TYPE7(7, "优惠券包", "orderLogo/coupon-packs.png"),
PRODUCT_TYPE8(8, "汇联通工会卡充值", "orderLogo/hlt.png"),
PRODUCT_TYPE9(9, "话费充值" , "orderLogo/calls.png"),
PRODUCT_TYPE10(10, "电影票" ,""),
PRODUCT_TYPE1(1, "星巴克","orderLogo/starbucks.png", "STARBUCKS_CONFIG"),
PRODUCT_TYPE2(2, "肯德基", "orderLogo/kfc.png" , "KFC_CONFIG"),
PRODUCT_TYPE3(3, "第三方充值", "orderLogo/member-top-up.png" , "MEMBER_RECHARGE_CONFIG"),
PRODUCT_TYPE4(4, "积分充值", "orderLogo/integral-top-up.png" , "INTEGRAL_RECHARGE_CONFIG"),
PRODUCT_TYPE5(5, "购买卡券", "orderLogo/coupon.png", "COUPON_CONFIG"),
PRODUCT_TYPE6(6, "在线加油" , "orderLogo/refuel-online.png", "REFUEL_ONLINE_CONFIG"),
PRODUCT_TYPE7(7, "优惠券包", "orderLogo/coupon-packs.png", "COUPON_PACKS_CONFIG"),
PRODUCT_TYPE8(8, "汇联通工会卡充值", "orderLogo/hlt.png", "HLT_CONFIG"),
PRODUCT_TYPE9(9, "话费充值" , "orderLogo/calls.png", "CALLS_CONFIG"),
PRODUCT_TYPE10(10, "电影票" ,"" , ""),
;
private Integer number;
@ -27,10 +27,13 @@ public enum OrderProductType {
private String imgUrl;
OrderProductType(int number, String name , String imgUrl) {
private String apiCode;
OrderProductType(int number, String name , String imgUrl , String apiCode) {
this.number = number;
this.name = name;
this.imgUrl = imgUrl;
this.apiCode = apiCode;
}
/**
@ -68,4 +71,12 @@ public enum OrderProductType {
public void setImgUrl(String imgUrl) {
this.imgUrl = imgUrl;
}
public String getApiCode() {
return apiCode;
}
public void setApiCode(String apiCode) {
this.apiCode = apiCode;
}
}

@ -89,6 +89,7 @@ public interface SecConfigService {
* @Param [mchId, configProduct]
* @Return void
*/
void configMerchant(String mchId , String configProduct);
void deleteSecConfig(String mchId);
void deleteSecConfig(String mchId, String codeType);
}

@ -60,9 +60,8 @@ public class OutRechargeChildOrderServiceImpl implements OutRechargeChildOrderSe
public OutRechargeChildOrder findByOrderNo(String orderNo) {
OutRechargeChildOrderExample example = new OutRechargeChildOrderExample();
OutRechargeChildOrderExample.Criteria criteria = example.createCriteria();
criteria.andOrderNoEqualTo(orderNo);
example.setOrderByClause("create_time desc");
List<OutRechargeChildOrder> list = rechargeChildOrderMapper.selectByExample(example);
if (list.size() > 0 ) {

@ -619,7 +619,7 @@ public class OutRechargeOrderServiceImpl implements OutRechargeOrderService {
// 组装查询子订单数据
childOrderMap.put("parent_order_id", outRechargeOrder.getId());
// 添加查询是否存在充值中的子订单
// 查询子订单
List<OutRechargeChildOrder> childOrderList = outRechargeChildOrderService.getListRechargeChildOrder(childOrderMap);
// 定义新的子订单对象

@ -5,18 +5,14 @@ import com.hai.common.utils.WxUtils;
import com.hai.dao.SecConfigMapper;
import com.hai.entity.SecConfig;
import com.hai.entity.SecConfigExample;
import com.hai.entity.SecDictionary;
import com.hai.entity.SecDictionaryExample;
import com.hai.service.ApiMerchantsService;
import com.hai.service.SecConfigService;
import org.apache.commons.collections4.MapUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.SortedMap;
@Service("secConfigServiceImpl")
public class SecConfigServiceImpl implements SecConfigService {
@ -81,26 +77,22 @@ public class SecConfigServiceImpl implements SecConfigService {
}
@Override
public void configMerchant(String mchId, String configProduct) {
public void deleteSecConfig(String mchId) {
SecConfigExample example = new SecConfigExample();
example.createCriteria().andCodeValueEqualTo(mchId);
// 删除当前配置
secConfigMapper.deleteByExample(example);
List<SecConfig> list = secConfigMapper.selectByExample(example);
// 删除当前所有配置
for (SecConfig secConfig : list) {
secConfigMapper.deleteByPrimaryKey(secConfig.getId());
}
String [] configProductArray = configProduct.split(",");
@Override
public void deleteSecConfig(String mchId, String codeType) {
SecConfigExample example = new SecConfigExample();
for (String s : configProductArray) {
SecConfig secConfig = new SecConfig();
secConfig.setCodeType(s);
secConfig.setCodeValue(mchId);
secConfigMapper.insert(secConfig);
}
example.createCriteria().andCodeValueEqualTo(mchId).andCodeTypeEqualTo(codeType);
// 删除当前配置
secConfigMapper.deleteByExample(example);
}
}

@ -0,0 +1,137 @@
package com.v1.controller;
import com.alibaba.fastjson.JSONObject;
import com.hai.common.exception.ErrorCode;
import com.hai.common.exception.ErrorHelp;
import com.hai.common.exception.SysCode;
import com.hai.common.utils.ResponseMsgUtil;
import com.hai.entity.*;
import com.hai.model.ResponseData;
import com.hai.openApi.model.ApiMchStoreModel;
import com.hai.openApi.service.ApiMchProductService;
import com.hai.order.type.OrderProductType;
import com.hai.service.ApiIpAddressService;
import com.hai.service.ApiMerchantsService;
import com.hai.service.HighMerchantStoreService;
import com.hai.service.SecConfigService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Controller
@RequestMapping(value = "/refuelOnline")
@Api(value = "在线加油接口")
public class RefuelOnlineController {
private static Logger log = LoggerFactory.getLogger(RefuelOnlineController.class);
@Resource
private ApiIpAddressService apiIpAddressService;
@Resource
private ApiMerchantsService apiMerchantsService;
@Resource
private SecConfigService secConfigService;
@Resource
private ApiMchProductService apiMchProductService;
@Resource
private HighMerchantStoreService highMerchantStoreService;
@RequestMapping(value = "/getStationStores", method = RequestMethod.POST)
@ResponseBody
@ApiOperation(value = "获取油站门店")
public ResponseData getStationStores(@RequestBody JSONObject object , HttpServletRequest request ) {
try {
String ip = "";
// 有的user可能使用代理,为处理用户使用代理的情况,使用x-forwarded-for
if (request.getHeader("x-forwarded-for") == null) {
ip = request.getRemoteAddr();
} else {
ip = request.getHeader("x-forwarded-for");
}
if (!apiIpAddressService.validationIpAddressLegal(object.getString("merchId") , ip)) {
log.error("getRechargeProduct error!", "非法ip地址,请联系管理人员!");
throw ErrorHelp.genException(SysCode.System, ErrorCode.IP_ERROR, "非法ip地址,请联系管理人员!");
}
if (StringUtils.isBlank(object.getString("apiKey")) ||
StringUtils.isBlank(object.getString("merchId")) ||
StringUtils.isBlank(object.getString("sign"))
) {
log.error("getRechargeProduct error!", "请求参数校验失败!");
throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR);
}
ApiMerchants apiMerchants = apiMerchantsService.findByMchId(object.getString("merchId"));
if (apiMerchants == null) {
log.error("getRechargeProduct error!", "帐户号错误!");
throw ErrorHelp.genException(SysCode.System, ErrorCode.ACCOUNT_NOT_EXIST);
}
if (!secConfigService.isConfig(OrderProductType.PRODUCT_TYPE6.getApiCode(), object.getString("merchId"))) {
log.error("getAllCities error!", "当前帐户无权限查询!");
throw ErrorHelp.genException(SysCode.System, ErrorCode.MERCHANT_NOT_AUTHORIZED, "当前帐户无权限查询!");
}
Map<String , Object> map = new HashMap<>();
map.put("apiKey" , object.getString("apiKey"));
map.put("merchId" , object.getString("merchId"));
if (!secConfigService.isSignVerify(map , object.getString("sign"))) {
log.error("getRechargeProduct error!", "签名校验失败!");
throw ErrorHelp.genException(SysCode.System, ErrorCode.SIGN_VERIFY);
}
Map<String, Object> mapProduct = new HashMap<>();
mapProduct.put("mchId" , object.getString("merchId"));
mapProduct.put("productType" , OrderProductType.PRODUCT_TYPE6.getNumber());
List<ApiMchProduct> apiMchProducts = apiMchProductService.getListMchProduct(mapProduct);
Map<String, Object> mapMerchant;
List<HighMerchantStore> merchantStores = new ArrayList<>();
for (ApiMchProduct mchProduct : apiMchProducts) {
mapMerchant = new HashMap<>();
mapMerchant.put("merchantId" , mchProduct.getMerchantId());
merchantStores.addAll(highMerchantStoreService.getMerchantStoreList(mapMerchant));
}
List<ApiMchStoreModel> apiMchStoreModels = new ArrayList<>();
for (HighMerchantStore merchantStore : merchantStores) {
ApiMchStoreModel apiMchStoreModel = new ApiMchStoreModel();
apiMchStoreModel.setAddress(merchantStore.getAddress());
// apiMchStoreModel.setStore_logo();
}
return ResponseMsgUtil.success(merchantStores);
} catch (Exception e) {
log.error("HighOpenApiController --> getRechargeProduct() error!", e);
return ResponseMsgUtil.exception(e);
}
}
}

@ -57,6 +57,25 @@
<charset>UTF-8</charset> <!-- 此处设置字符集 -->
</encoder>
</appender>
<appender name="RechargeLog"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<File>log/RechargeLog.log</File>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>log/RechargeLog/RechargeLog.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>
@ -72,4 +91,11 @@
<logger name="com.hai" level="ERROR">
<appender-ref ref="errorlog" />
</logger>
<logger name="com.hai.config.RechargeConfig" level="INFO">
<appender-ref ref="RechargeLog" />
</logger>
<logger name="com.hai.service.impl.OutRechargeOrderServiceImpl" level="INFO">
<appender-ref ref="RechargeLog" />
</logger>
</configuration>

Loading…
Cancel
Save