diff --git a/hai-cweb/src/main/java/com/cweb/controller/HighTestController.java b/hai-cweb/src/main/java/com/cweb/controller/HighTestController.java index 1a16872e..c592f7c7 100644 --- a/hai-cweb/src/main/java/com/cweb/controller/HighTestController.java +++ b/hai-cweb/src/main/java/com/cweb/controller/HighTestController.java @@ -1,405 +1 @@ -package com.cweb.controller; - -import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; -import com.cweb.config.SysConst; -import com.hai.common.exception.ErrorCode; -import com.hai.common.exception.ErrorHelp; -import com.hai.common.exception.SysCode; -import com.hai.common.pay.util.XmlUtil; -import com.hai.common.pay.util.sdk.WXPayConstants; -import com.hai.common.utils.*; -import com.hai.config.*; -import com.hai.dao.HighGasOrderPushMapper; -import com.hai.entity.*; -import com.hai.model.*; -import com.hai.service.*; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.apache.commons.lang3.StringUtils; -import org.apache.http.HttpEntity; -import org.apache.http.client.methods.CloseableHttpResponse; -import org.apache.http.client.methods.HttpPost; -import org.apache.http.conn.ssl.SSLConnectionSocketFactory; -import org.apache.http.entity.StringEntity; -import org.apache.http.impl.client.CloseableHttpClient; -import org.apache.http.impl.client.HttpClients; -import org.apache.http.ssl.SSLContexts; -import org.apache.http.util.EntityUtils; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.BeanUtils; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import javax.net.ssl.SSLContext; -import java.io.FileInputStream; -import java.math.BigDecimal; -import java.security.KeyStore; -import java.util.*; - -/** - * @Auther: 胡锐 - * @Description: - * @Date: 2021/3/26 23:08 - */ -@Controller -@RequestMapping(value = "/test") -@Api(value = "订单接口") -public class HighTestController { - - private static Logger log = LoggerFactory.getLogger(HighTestController.class); - - @Resource - private HighMerchantService highMerchantService; - - @Resource - private HighMerchantStoreService highMerchantStoreService; - - @Resource - private HighGasOilPriceService highGasOilPriceService; - - @Resource - private HighOrderService highOrderService; - - @Resource - private HighProfitSharingRecordService highProfitSharingRecordService; - - @Resource - private HighGasOrderPushMapper highGasOrderPushMapper; - - @Resource - private HuiLianTongConfig huiLianTongConfig; - - @RequestMapping(value = "/initTYMerchantStore", method = RequestMethod.GET) - @ResponseBody - @ApiOperation(value = "初始化加油站") - public ResponseData initTYMerchantStore(@RequestParam(name = "merchantId", required = true) Long merchantId) throws Exception { - - HighMerchantModel merchant = highMerchantService.getMerchantById(merchantId); - if (merchant == null) { - throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未找到商户"); - } - JSONObject jsonObjectP = TuanYouConfig.queryGasInfoListByPage(1, 1000); - JSONObject resultObjectP = jsonObjectP.getObject("result", JSONObject.class); - - for (int i = 1; i <= resultObjectP.getInteger("totalPageNum").intValue();i++) { - JSONObject jsonObject = TuanYouConfig.queryGasInfoListByPage(i, 1000); - JSONObject resultObject = jsonObject.getObject("result", JSONObject.class); - JSONArray jsonArray = resultObject.getJSONArray("gasInfoList"); - HighMerchantStore highMerchantStore; - HighGasOilPrice highGasOilPrice; - for (Object gasObject : jsonArray) { - JSONObject object = JSONObject.parseObject(JSONObject.toJSONString(gasObject)); - HighMerchantStoreModel store = highMerchantStoreService.getMerchantStoreByKey(object.getString("gasId")); - if (store != null) { - store.setType(1); - store.setMerchantId(merchant.getId()); - store.setCompanyId(merchant.getCompanyId()); - store.setStoreKey(object.getString("gasId")); - store.setStoreName(object.getString("gasName")); - store.setStoreLogo(object.getString("gasLogoSmall")); - store.setRegionId(object.getLong("provinceCode")); - store.setRegionName(object.getString("provinceName")); - store.setAddress(object.getString("gasAddress")); - store.setLongitude(object.getString("gasAddressLongitude")); - store.setLatitude(object.getString("gasAddressLatitude")); - store.setStatus(object.getInteger("gasStatus")); - store.setOperatorId(0L); - store.setOperatorName("系统创建"); - store.setUpdateTime(new Date()); - store.setExt1(object.getString("gasSourceId")); - highMerchantStoreService.updateMerchantStoreDetail(store); - - JSONArray oilPriceList = object.getJSONArray("oilPriceList"); - for (Object oilPrice : oilPriceList) { - JSONObject oilPriceObject = JSONObject.parseObject(JSONObject.toJSONString(oilPrice)); - // 查询门店油号 - highGasOilPrice = highGasOilPriceService.getGasOilPriceByStoreAndOilNo(store.getId(), oilPriceObject.getInteger("oilNo")); - if (highGasOilPrice == null) { - highGasOilPrice = new HighGasOilPrice(); - highGasOilPrice.setMerchantStoreId(store.getId()); - highGasOilPrice.setOilNo(oilPriceObject.getInteger("oilNo")); - highGasOilPrice.setOilNoName(oilPriceObject.getString("oilNoName")); - highGasOilPrice.setPriceVip(oilPriceObject.getBigDecimal("priceVip")); - highGasOilPrice.setPriceGun(oilPriceObject.getBigDecimal("priceGun")); - highGasOilPrice.setPriceOfficial(oilPriceObject.getBigDecimal("priceOfficial")); - highGasOilPrice.setOilType(oilPriceObject.getInteger("oilType")); - highGasOilPrice.setOilTypeName(oilPriceObject.getString("oilTypeName")); - } else { - highGasOilPrice.setMerchantStoreId(store.getId()); - highGasOilPrice.setOilNo(oilPriceObject.getInteger("oilNo")); - highGasOilPrice.setOilNoName(oilPriceObject.getString("oilNoName")); - highGasOilPrice.setPriceVip(oilPriceObject.getBigDecimal("priceVip")); - highGasOilPrice.setPriceGun(oilPriceObject.getBigDecimal("priceGun")); - highGasOilPrice.setPriceOfficial(oilPriceObject.getBigDecimal("priceOfficial")); - highGasOilPrice.setOilType(oilPriceObject.getInteger("oilType")); - highGasOilPrice.setOilTypeName(oilPriceObject.getString("oilTypeName")); - } - highGasOilPriceService.editGasOilPrice(highGasOilPrice); - } - } else { - highMerchantStore = new HighMerchantStore(); - highMerchantStore.setType(1); - highMerchantStore.setMerchantId(merchant.getId()); - highMerchantStore.setCompanyId(merchant.getCompanyId()); - highMerchantStore.setStoreKey(object.getString("gasId")); - highMerchantStore.setStoreName(object.getString("gasName")); - highMerchantStore.setStoreLogo(object.getString("gasLogoSmall")); - highMerchantStore.setRegionId(object.getLong("provinceCode")); - highMerchantStore.setRegionName(object.getString("provinceName")); - highMerchantStore.setAddress(object.getString("gasAddress")); - highMerchantStore.setLongitude(object.getString("gasAddressLongitude")); - highMerchantStore.setLatitude(object.getString("gasAddressLatitude")); - highMerchantStore.setStatus(1); - highMerchantStore.setOperatorId(0L); - highMerchantStore.setOperatorName("系统创建"); - highMerchantStore.setCreateTime(new Date()); - highMerchantStore.setUpdateTime(new Date()); - highMerchantStore.setExt1(object.getString("gasSourceId")); - HighMerchantStoreModel merchantStoreModel = new HighMerchantStoreModel(); - BeanUtils.copyProperties(highMerchantStore, merchantStoreModel); - highMerchantStoreService.insertMerchantStore(merchantStoreModel); - - JSONArray oilPriceList = object.getJSONArray("oilPriceList"); - for (Object oilPrice : oilPriceList) { - JSONObject oilPriceObject = JSONObject.parseObject(JSONObject.toJSONString(oilPrice)); - highGasOilPrice = new HighGasOilPrice(); - highGasOilPrice.setMerchantStoreId(merchantStoreModel.getId()); - highGasOilPrice.setOilNo(oilPriceObject.getInteger("oilNo")); - highGasOilPrice.setOilNoName(oilPriceObject.getString("oilNoName")); - highGasOilPrice.setPriceVip(oilPriceObject.getBigDecimal("priceVip")); - highGasOilPrice.setPriceGun(oilPriceObject.getBigDecimal("priceGun")); - highGasOilPrice.setPriceOfficial(oilPriceObject.getBigDecimal("priceOfficial")); - highGasOilPrice.setOilType(oilPriceObject.getInteger("oilType")); - highGasOilPrice.setOilTypeName(oilPriceObject.getString("oilTypeName")); - highGasOilPriceService.editGasOilPrice(highGasOilPrice); - } - } - } - } - return ResponseMsgUtil.success("初始化完成"); - } - - @RequestMapping(value = "/pushTuanYouOrder", method = RequestMethod.GET) - @ResponseBody - @ApiOperation(value = "推送团油订单") - public ResponseData pushTuanYouOrder() { - try { - HighOrder order = highOrderService.getOrderByOrderNo("HF2021102112141171406"); - for (HighChildOrder highChildOrder : order.getHighChildOrderList()) { - HighMerchantStoreModel store = highMerchantStoreService.getMerchantStoreById(highChildOrder.getGoodsId()); - // 推送团油订单 - Map paramMap = new HashMap<>(); - paramMap.put("gasId", store.getStoreKey()); - paramMap.put("oilNo", highChildOrder.getGasOilNo()); - paramMap.put("gunNo", highChildOrder.getGasGunNo()); - BigDecimal priceGun = highChildOrder.getGasPriceGun(); - BigDecimal priceVip = highChildOrder.getGasPriceVip(); - paramMap.put("priceGun", priceGun); // 枪单价 - paramMap.put("priceVip", priceVip); // 优惠价 - paramMap.put("driverPhone", order.getMemPhone()); - // paramMap.put("driverPhone", "17726395120"); - paramMap.put("thirdSerialNo", order.getOrderNo()); - paramMap.put("refuelingAmount", highChildOrder.getTotalPrice()); - - // 油品类型 1:汽油:2:柴油;3:天然气 - if (highChildOrder.getGasOilType() == 1) { - paramMap.put("accountNo", CommonSysConst.getSysConfig().getTuanYouGasolineAccount()); - } else if (highChildOrder.getGasOilType() == 2) { - paramMap.put("accountNo", CommonSysConst.getSysConfig().getTuanYouDieselAccount()); - } - JSONObject orderPushObject = TuanYouConfig.refuelingOrderPush(paramMap); - // 推送团油订单记录 - HighGasOrderPush highGasOrderPush = new HighGasOrderPush(); - highGasOrderPush.setCreateTime(new Date()); - highGasOrderPush.setCode(orderPushObject.getString("code")); - highGasOrderPush.setRequestContent(JSONObject.toJSONString(paramMap)); - highGasOrderPush.setReturnContent(orderPushObject.toJSONString()); - highGasOrderPushMapper.insert(highGasOrderPush); - - if (orderPushObject != null && orderPushObject.getString("code").equals("200")) { - highChildOrder.setGasOrderNo(orderPushObject.getJSONObject("result").getString("orderNo")); - } - highOrderService.updateOrder(order); - } - return ResponseMsgUtil.success(order); - } catch (Exception e) { - log.error("HighOrderController --> getOrderById() error!", e); - return ResponseMsgUtil.exception(e); - } - } - - @RequestMapping(value = "/queryCompanyAccountInfo2JD", method = RequestMethod.GET) - @ResponseBody - @ApiOperation(value = "查询团油余额") - public ResponseData queryCompanyAccountInfo2JD() { - try { - - return ResponseMsgUtil.success(TuanYouConfig.queryCompanyAccountInfo2JD()); - } catch (Exception e) { - log.error("HighOrderController --> queryCompanyAccountInfo2JD() error!", e); - return ResponseMsgUtil.exception(e); - } - } - - @RequestMapping(value = "/couJointDist", method = RequestMethod.GET) - @ResponseBody - @ApiOperation(value = "派发贵州卡券") - public ResponseData couJointDist(@RequestParam(name = "token", required = true) String token) { - try { - return ResponseMsgUtil.success(HuiLianTongConfig.couJointDist(token,"HF"+System.currentTimeMillis(),"20JY000251",2,"17726395120", "oArhO6XxKSvjI9wLP3cTK-iSG8yY")); - } catch (Exception e) { - log.error("HighOrderController --> getOrderById() error!", e); - return ResponseMsgUtil.exception(e); - } - } - - @RequestMapping(value = "/unionPay", method = RequestMethod.GET) - @ResponseBody - @ApiOperation(value = "银联支付") - public ResponseData unionPay() { - try { - return ResponseMsgUtil.success(UnionPayConfig.upPreOrder("HF"+System.currentTimeMillis(), new BigDecimal("1"), "test")); - } catch (Exception e) { - log.error("HighOrderController --> getOrderById() error!", e); - return ResponseMsgUtil.exception(e); - } - } - - @RequestMapping(value = "/unionTradeQuery", method = RequestMethod.GET) - @ResponseBody - @ApiOperation(value = "银联交易查询") - public ResponseData unionTradeQuery(@RequestParam(name = "paySerialNo", required = true) String paySerialNo) { - try { - return ResponseMsgUtil.success(UnionPayConfig.tradeQuery(paySerialNo)); - } catch (Exception e) { - log.error("HighOrderController --> unionTradeQuery() error!", e); - return ResponseMsgUtil.exception(e); - } - } - - @RequestMapping(value = "/unionZwrefund", method = RequestMethod.GET) - @ResponseBody - @ApiOperation(value = "银联交易退货") - public ResponseData unionZwrefund(@RequestParam(name = "orderNo", required = true) String orderNo, - @RequestParam(name = "paySerialNo", required = true) String paySerialNo) { - try { - return ResponseMsgUtil.success(UnionPayConfig.zwrefund(orderNo,paySerialNo,1L)); - } catch (Exception e) { - log.error("HighOrderController --> unionTradeQuery() error!", e); - return ResponseMsgUtil.exception(e); - } - } - - @RequestMapping(value = "/wxSplitAccount", method = RequestMethod.GET) - @ResponseBody - @ApiOperation(value = "微信分账") - public ResponseData wxSplitAccount() { - try { - HighOrder orderNo = highOrderService.getOrderByOrderNo("HF2021101812025050304"); - wxProfitsharing(orderNo.getOrderNo(),orderNo.getPaySerialNo(),orderNo.getPayRealPrice()); - return ResponseMsgUtil.success("分账成功"); - } catch (Exception e) { - log.error("HighOrderController --> getOrderById() error!", e); - return ResponseMsgUtil.exception(e); - } - } - - - public void wxProfitsharing(String transaction_id,String out_order_no, BigDecimal amount) { - try { - Map param = new LinkedHashMap<>(); - param.put("appid", "wx637bd6f7314daa46"); - param.put("mch_id", "1289663601"); - param.put("sub_mch_id" , "1609882817"); // 个体户黎杨珍 - param.put("transaction_id" , transaction_id); - param.put("out_order_no" , out_order_no); - param.put("nonce_str" , WxUtils.makeNonStr()); - - // 分账金额 - BigDecimal porofitSharingAmount = amount; - - List> receiversList = new ArrayList<>(); - Map receiversMap = new LinkedHashMap<>(); - receiversMap.put("type", "MERCHANT_ID"); - receiversMap.put("account", "1603942866"); - receiversMap.put("amount", porofitSharingAmount.multiply(new BigDecimal("100")).intValue()); - receiversMap.put("description", "分给商户【惠昕石化】"); - receiversList.add(receiversMap); - param.put("receivers" , JSONObject.toJSONString(receiversList)); - String signStr = WxUtils.generateSignature(param, "Skufk5oi85wDFGl888i6wsRSTkdd5df5" , WXPayConstants.SignType.HMACSHA256); - param.put("sign" , signStr); - String resultXmL = this.doRefundRequest(param.get("mch_id"),null, WxUtils.mapToXml(param)); - - // 请求分账返回的结果 - ResultProfitSharing resultProfitSharing = XmlUtil.getObjectFromXML(resultXmL, ResultProfitSharing.class); - - if (!resultProfitSharing.getResult_code().equals("FAIL")) { - HighProfitSharingRecord sharingRecord = new HighProfitSharingRecord(); - sharingRecord.setOutOrderNo(resultProfitSharing.getOut_order_no()); - sharingRecord.setTransactionId(resultProfitSharing.getTransaction_id()); - sharingRecord.setOrderId(resultProfitSharing.getOrder_id()); - sharingRecord.setStatus(resultProfitSharing.getResult_code()); - sharingRecord.setPrice(amount); - sharingRecord.setCreateTime(new Date()); - sharingRecord.setContent(resultXmL); - highProfitSharingRecordService.insert(sharingRecord); - } - - } catch (Exception e) { - log.error("CmsContentController --> getCorporateAdvertising() error!", e); - } - } - - public CloseableHttpClient readCertificate(String mchId) throws Exception{ - /** - * 注意PKCS12证书 是从微信商户平台-》账户设置-》 API安全 中下载的 - */ - KeyStore keyStore = KeyStore.getInstance("PKCS12"); - //P12文件目录 证书路径,这里需要你自己修改,linux下还是windows下的根路径 - FileInputStream instream = new FileInputStream("/home/project/wx_cert/1289663601_apiclient_cert.p12"); - // FileInputStream instream = new FileInputStream("G:\\hurui-project/hai-parent/hai-service/src/main/java/privatekey/1289663601_apiclient_cert.p12"); - try { - keyStore.load(instream, "1289663601".toCharArray());//这里写密码..默认是你的MCHID - } finally { - instream.close(); - } - SSLContext sslcontext = SSLContexts.custom().loadKeyMaterial(keyStore, "1289663601".toCharArray()).build();//这里也是写密码的 - SSLConnectionSocketFactory sslsf = new SSLConnectionSocketFactory(sslcontext, SSLConnectionSocketFactory.getDefaultHostnameVerifier()); - // Allow TLSv1 protocol only - return HttpClients.custom().setSSLSocketFactory(sslsf).build(); - } - - public String doRefundRequest(String mchId, String url, String data) throws Exception { - - //小程序退款需要调用双向证书的认证 - CloseableHttpClient httpClient = readCertificate(mchId); - try { - HttpPost httpost = new HttpPost("https://api.mch.weixin.qq.com/secapi/pay/refund"); // 设置响应头信息 - httpost.addHeader("Connection", "keep-alive"); - httpost.addHeader("Accept", "*/*"); - httpost.addHeader("Content-Type", "text/xml"); - httpost.addHeader("Host", "api.mch.weixin.qq.com"); - httpost.addHeader("X-Requested-With", "XMLHttpRequest"); - httpost.addHeader("Cache-Control", "max-age=0"); - httpost.addHeader("User-Agent", "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0) "); - httpost.setEntity(new StringEntity(data, "UTF-8")); - CloseableHttpResponse response = httpClient.execute(httpost); - try { - HttpEntity entity = response.getEntity(); - String jsonStr = EntityUtils.toString(response.getEntity(), "UTF-8"); - EntityUtils.consume(entity); - return jsonStr; - } finally { - response.close(); - } - } catch (Exception e){ - throw new RuntimeException(e); - } finally { - httpClient.close(); - } - } - -} +package com.cweb.controller; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.cweb.config.SysConst; import com.hai.common.exception.ErrorCode; import com.hai.common.exception.ErrorHelp; import com.hai.common.exception.SysCode; import com.hai.common.pay.util.XmlUtil; import com.hai.common.pay.util.sdk.WXPayConstants; import com.hai.common.utils.*; import com.hai.config.*; import com.hai.dao.HighGasOrderPushMapper; import com.hai.entity.*; import com.hai.model.*; import com.hai.service.*; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.apache.commons.lang3.StringUtils; import org.apache.http.HttpEntity; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpPost; import org.apache.http.conn.ssl.SSLConnectionSocketFactory; import org.apache.http.entity.StringEntity; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.apache.http.ssl.SSLContexts; import org.apache.http.util.EntityUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.net.ssl.SSLContext; import java.io.FileInputStream; import java.math.BigDecimal; import java.security.KeyStore; import java.util.*; /** * @Auther: 胡锐 * @Description: * @Date: 2021/3/26 23:08 */ @Controller @RequestMapping(value = "/test") @Api(value = "订单接口") public class HighTestController { private static Logger log = LoggerFactory.getLogger(HighTestController.class); @Resource private HighMerchantService highMerchantService; @Resource private HighMerchantStoreService highMerchantStoreService; @Resource private HighGasOilPriceService highGasOilPriceService; @Resource private HighOrderService highOrderService; @Resource private HighProfitSharingRecordService highProfitSharingRecordService; @Resource private HighGasOrderPushMapper highGasOrderPushMapper; @Resource private HuiLianTongConfig huiLianTongConfig; @RequestMapping(value = "/initTYMerchantStore", method = RequestMethod.GET) @ResponseBody @ApiOperation(value = "初始化加油站") public ResponseData initTYMerchantStore(@RequestParam(name = "merchantId", required = true) Long merchantId) throws Exception { HighMerchantModel merchant = highMerchantService.getMerchantById(merchantId); if (merchant == null) { throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未找到商户"); } JSONObject jsonObjectP = TuanYouConfig.queryGasInfoListByPage(1, 1000); JSONObject resultObjectP = jsonObjectP.getObject("result", JSONObject.class); for (int i = 1; i <= resultObjectP.getInteger("totalPageNum").intValue();i++) { JSONObject jsonObject = TuanYouConfig.queryGasInfoListByPage(i, 1000); JSONObject resultObject = jsonObject.getObject("result", JSONObject.class); JSONArray jsonArray = resultObject.getJSONArray("gasInfoList"); HighMerchantStore highMerchantStore; HighGasOilPrice highGasOilPrice; for (Object gasObject : jsonArray) { JSONObject object = JSONObject.parseObject(JSONObject.toJSONString(gasObject)); HighMerchantStoreModel store = highMerchantStoreService.getMerchantStoreByKey(object.getString("gasId")); if (store != null) { store.setType(1); store.setMerchantId(merchant.getId()); store.setCompanyId(merchant.getCompanyId()); store.setStoreKey(object.getString("gasId")); store.setStoreName(object.getString("gasName")); store.setStoreLogo(object.getString("gasLogoSmall")); store.setRegionId(object.getLong("provinceCode")); store.setRegionName(object.getString("provinceName")); store.setAddress(object.getString("gasAddress")); store.setLongitude(object.getString("gasAddressLongitude")); store.setLatitude(object.getString("gasAddressLatitude")); store.setStatus(object.getInteger("gasStatus")); store.setOperatorId(0L); store.setOperatorName("系统创建"); store.setUpdateTime(new Date()); store.setExt1(object.getString("gasSourceId")); highMerchantStoreService.updateMerchantStoreDetail(store); JSONArray oilPriceList = object.getJSONArray("oilPriceList"); for (Object oilPrice : oilPriceList) { JSONObject oilPriceObject = JSONObject.parseObject(JSONObject.toJSONString(oilPrice)); // 查询门店油号 highGasOilPrice = highGasOilPriceService.getGasOilPriceByStoreAndOilNo(store.getId(), oilPriceObject.getInteger("oilNo")); if (highGasOilPrice == null) { highGasOilPrice = new HighGasOilPrice(); highGasOilPrice.setMerchantStoreId(store.getId()); highGasOilPrice.setOilNo(oilPriceObject.getInteger("oilNo")); highGasOilPrice.setOilNoName(oilPriceObject.getString("oilNoName")); highGasOilPrice.setPriceVip(oilPriceObject.getBigDecimal("priceVip")); highGasOilPrice.setPriceGun(oilPriceObject.getBigDecimal("priceGun")); highGasOilPrice.setPriceOfficial(oilPriceObject.getBigDecimal("priceOfficial")); highGasOilPrice.setOilType(oilPriceObject.getInteger("oilType")); highGasOilPrice.setOilTypeName(oilPriceObject.getString("oilTypeName")); } else { highGasOilPrice.setMerchantStoreId(store.getId()); highGasOilPrice.setOilNo(oilPriceObject.getInteger("oilNo")); highGasOilPrice.setOilNoName(oilPriceObject.getString("oilNoName")); highGasOilPrice.setPriceVip(oilPriceObject.getBigDecimal("priceVip")); highGasOilPrice.setPriceGun(oilPriceObject.getBigDecimal("priceGun")); highGasOilPrice.setPriceOfficial(oilPriceObject.getBigDecimal("priceOfficial")); highGasOilPrice.setOilType(oilPriceObject.getInteger("oilType")); highGasOilPrice.setOilTypeName(oilPriceObject.getString("oilTypeName")); } highGasOilPriceService.editGasOilPrice(highGasOilPrice); } } else { highMerchantStore = new HighMerchantStore(); highMerchantStore.setType(1); highMerchantStore.setMerchantId(merchant.getId()); highMerchantStore.setCompanyId(merchant.getCompanyId()); highMerchantStore.setStoreKey(object.getString("gasId")); highMerchantStore.setStoreName(object.getString("gasName")); highMerchantStore.setStoreLogo(object.getString("gasLogoSmall")); highMerchantStore.setRegionId(object.getLong("provinceCode")); highMerchantStore.setRegionName(object.getString("provinceName")); highMerchantStore.setAddress(object.getString("gasAddress")); highMerchantStore.setLongitude(object.getString("gasAddressLongitude")); highMerchantStore.setLatitude(object.getString("gasAddressLatitude")); highMerchantStore.setStatus(1); highMerchantStore.setOperatorId(0L); highMerchantStore.setOperatorName("系统创建"); highMerchantStore.setCreateTime(new Date()); highMerchantStore.setUpdateTime(new Date()); highMerchantStore.setExt1(object.getString("gasSourceId")); HighMerchantStoreModel merchantStoreModel = new HighMerchantStoreModel(); BeanUtils.copyProperties(highMerchantStore, merchantStoreModel); highMerchantStoreService.insertMerchantStore(merchantStoreModel); JSONArray oilPriceList = object.getJSONArray("oilPriceList"); for (Object oilPrice : oilPriceList) { JSONObject oilPriceObject = JSONObject.parseObject(JSONObject.toJSONString(oilPrice)); highGasOilPrice = new HighGasOilPrice(); highGasOilPrice.setMerchantStoreId(merchantStoreModel.getId()); highGasOilPrice.setOilNo(oilPriceObject.getInteger("oilNo")); highGasOilPrice.setOilNoName(oilPriceObject.getString("oilNoName")); highGasOilPrice.setPriceVip(oilPriceObject.getBigDecimal("priceVip")); highGasOilPrice.setPriceGun(oilPriceObject.getBigDecimal("priceGun")); highGasOilPrice.setPriceOfficial(oilPriceObject.getBigDecimal("priceOfficial")); highGasOilPrice.setOilType(oilPriceObject.getInteger("oilType")); highGasOilPrice.setOilTypeName(oilPriceObject.getString("oilTypeName")); highGasOilPriceService.editGasOilPrice(highGasOilPrice); } } } } return ResponseMsgUtil.success("初始化完成"); } @RequestMapping(value = "/pushTuanYouOrder", method = RequestMethod.GET) @ResponseBody @ApiOperation(value = "推送团油订单") public ResponseData pushTuanYouOrder() { try { HighOrder order = highOrderService.getOrderByOrderNo("HF2021102112141171406"); for (HighChildOrder highChildOrder : order.getHighChildOrderList()) { HighMerchantStoreModel store = highMerchantStoreService.getMerchantStoreById(highChildOrder.getGoodsId()); // 推送团油订单 Map paramMap = new HashMap<>(); paramMap.put("gasId", store.getStoreKey()); paramMap.put("oilNo", highChildOrder.getGasOilNo()); paramMap.put("gunNo", highChildOrder.getGasGunNo()); BigDecimal priceGun = highChildOrder.getGasPriceGun(); BigDecimal priceVip = highChildOrder.getGasPriceVip(); paramMap.put("priceGun", priceGun); // 枪单价 paramMap.put("priceVip", priceVip); // 优惠价 paramMap.put("driverPhone", order.getMemPhone()); // paramMap.put("driverPhone", "17726395120"); paramMap.put("thirdSerialNo", order.getOrderNo()); paramMap.put("refuelingAmount", highChildOrder.getTotalPrice()); // 油品类型 1:汽油:2:柴油;3:天然气 if (highChildOrder.getGasOilType() == 1) { paramMap.put("accountNo", CommonSysConst.getSysConfig().getTuanYouGasolineAccount()); } else if (highChildOrder.getGasOilType() == 2) { paramMap.put("accountNo", CommonSysConst.getSysConfig().getTuanYouDieselAccount()); } JSONObject orderPushObject = TuanYouConfig.refuelingOrderPush(paramMap); // 推送团油订单记录 HighGasOrderPush highGasOrderPush = new HighGasOrderPush(); highGasOrderPush.setCreateTime(new Date()); highGasOrderPush.setCode(orderPushObject.getString("code")); highGasOrderPush.setRequestContent(JSONObject.toJSONString(paramMap)); highGasOrderPush.setReturnContent(orderPushObject.toJSONString()); highGasOrderPushMapper.insert(highGasOrderPush); if (orderPushObject != null && orderPushObject.getString("code").equals("200")) { highChildOrder.setGasOrderNo(orderPushObject.getJSONObject("result").getString("orderNo")); } highOrderService.updateOrder(order); } return ResponseMsgUtil.success(order); } catch (Exception e) { log.error("HighOrderController --> getOrderById() error!", e); return ResponseMsgUtil.exception(e); } } @RequestMapping(value = "/queryCompanyAccountInfo2JD", method = RequestMethod.GET) @ResponseBody @ApiOperation(value = "查询团油余额") public ResponseData queryCompanyAccountInfo2JD() { try { return ResponseMsgUtil.success(TuanYouConfig.queryCompanyAccountInfo2JD()); } catch (Exception e) { log.error("HighOrderController --> queryCompanyAccountInfo2JD() error!", e); return ResponseMsgUtil.exception(e); } } @RequestMapping(value = "/couJointDist", method = RequestMethod.GET) @ResponseBody @ApiOperation(value = "派发贵州卡券") public ResponseData couJointDist(@RequestParam(name = "token", required = true) String token) { try { return ResponseMsgUtil.success(HuiLianTongConfig.couJointDist(token,"HF"+System.currentTimeMillis(),"20JY000251",2,"17726395120", "oArhO6XxKSvjI9wLP3cTK-iSG8yY")); } catch (Exception e) { log.error("HighOrderController --> getOrderById() error!", e); return ResponseMsgUtil.exception(e); } } @RequestMapping(value = "/unionPay", method = RequestMethod.GET) @ResponseBody @ApiOperation(value = "银联支付") public ResponseData unionPay() { try { return ResponseMsgUtil.success(UnionPayConfig.upPreOrder("HF"+System.currentTimeMillis(), new BigDecimal("1"), "test")); } catch (Exception e) { log.error("HighOrderController --> getOrderById() error!", e); return ResponseMsgUtil.exception(e); } } @RequestMapping(value = "/getToken", method = RequestMethod.GET) @ResponseBody @ApiOperation(value = "获取贵州中石化token") public ResponseData getToken() { try { return ResponseMsgUtil.success(huiLianTongConfig.getToken()); } catch (Exception e) { log.error("HighOrderController --> getToken() error!", e); return ResponseMsgUtil.exception(e); } } @RequestMapping(value = "/unionTradeQuery", method = RequestMethod.GET) @ResponseBody @ApiOperation(value = "银联交易查询") public ResponseData unionTradeQuery(@RequestParam(name = "paySerialNo", required = true) String paySerialNo) { try { return ResponseMsgUtil.success(UnionPayConfig.tradeQuery(paySerialNo)); } catch (Exception e) { log.error("HighOrderController --> unionTradeQuery() error!", e); return ResponseMsgUtil.exception(e); } } @RequestMapping(value = "/unionZwrefund", method = RequestMethod.GET) @ResponseBody @ApiOperation(value = "银联交易退货") public ResponseData unionZwrefund(@RequestParam(name = "orderNo", required = true) String orderNo, @RequestParam(name = "paySerialNo", required = true) String paySerialNo) { try { return ResponseMsgUtil.success(UnionPayConfig.zwrefund(orderNo,paySerialNo,1L)); } catch (Exception e) { log.error("HighOrderController --> unionTradeQuery() error!", e); return ResponseMsgUtil.exception(e); } } @RequestMapping(value = "/wxSplitAccount", method = RequestMethod.GET) @ResponseBody @ApiOperation(value = "微信分账") public ResponseData wxSplitAccount() { try { HighOrder orderNo = highOrderService.getOrderByOrderNo("HF2021101812025050304"); wxProfitsharing(orderNo.getOrderNo(),orderNo.getPaySerialNo(),orderNo.getPayRealPrice()); return ResponseMsgUtil.success("分账成功"); } catch (Exception e) { log.error("HighOrderController --> getOrderById() error!", e); return ResponseMsgUtil.exception(e); } } public void wxProfitsharing(String transaction_id,String out_order_no, BigDecimal amount) { try { Map param = new LinkedHashMap<>(); param.put("appid", "wx637bd6f7314daa46"); param.put("mch_id", "1289663601"); param.put("sub_mch_id" , "1609882817"); // 个体户黎杨珍 param.put("transaction_id" , transaction_id); param.put("out_order_no" , out_order_no); param.put("nonce_str" , WxUtils.makeNonStr()); // 分账金额 BigDecimal porofitSharingAmount = amount; List> receiversList = new ArrayList<>(); Map receiversMap = new LinkedHashMap<>(); receiversMap.put("type", "MERCHANT_ID"); receiversMap.put("account", "1603942866"); receiversMap.put("amount", porofitSharingAmount.multiply(new BigDecimal("100")).intValue()); receiversMap.put("description", "分给商户【惠昕石化】"); receiversList.add(receiversMap); param.put("receivers" , JSONObject.toJSONString(receiversList)); String signStr = WxUtils.generateSignature(param, "Skufk5oi85wDFGl888i6wsRSTkdd5df5" , WXPayConstants.SignType.HMACSHA256); param.put("sign" , signStr); String resultXmL = this.doRefundRequest(param.get("mch_id"),null, WxUtils.mapToXml(param)); // 请求分账返回的结果 ResultProfitSharing resultProfitSharing = XmlUtil.getObjectFromXML(resultXmL, ResultProfitSharing.class); if (!resultProfitSharing.getResult_code().equals("FAIL")) { HighProfitSharingRecord sharingRecord = new HighProfitSharingRecord(); sharingRecord.setOutOrderNo(resultProfitSharing.getOut_order_no()); sharingRecord.setTransactionId(resultProfitSharing.getTransaction_id()); sharingRecord.setOrderId(resultProfitSharing.getOrder_id()); sharingRecord.setStatus(resultProfitSharing.getResult_code()); sharingRecord.setPrice(amount); sharingRecord.setCreateTime(new Date()); sharingRecord.setContent(resultXmL); highProfitSharingRecordService.insert(sharingRecord); } } catch (Exception e) { log.error("CmsContentController --> getCorporateAdvertising() error!", e); } } public CloseableHttpClient readCertificate(String mchId) throws Exception{ /** * 注意PKCS12证书 是从微信商户平台-》账户设置-》 API安全 中下载的 */ KeyStore keyStore = KeyStore.getInstance("PKCS12"); //P12文件目录 证书路径,这里需要你自己修改,linux下还是windows下的根路径 FileInputStream instream = new FileInputStream("/home/project/wx_cert/1289663601_apiclient_cert.p12"); // FileInputStream instream = new FileInputStream("G:\\hurui-project/hai-parent/hai-service/src/main/java/privatekey/1289663601_apiclient_cert.p12"); try { keyStore.load(instream, "1289663601".toCharArray());//这里写密码..默认是你的MCHID } finally { instream.close(); } SSLContext sslcontext = SSLContexts.custom().loadKeyMaterial(keyStore, "1289663601".toCharArray()).build();//这里也是写密码的 SSLConnectionSocketFactory sslsf = new SSLConnectionSocketFactory(sslcontext, SSLConnectionSocketFactory.getDefaultHostnameVerifier()); // Allow TLSv1 protocol only return HttpClients.custom().setSSLSocketFactory(sslsf).build(); } public String doRefundRequest(String mchId, String url, String data) throws Exception { //小程序退款需要调用双向证书的认证 CloseableHttpClient httpClient = readCertificate(mchId); try { HttpPost httpost = new HttpPost("https://api.mch.weixin.qq.com/secapi/pay/refund"); // 设置响应头信息 httpost.addHeader("Connection", "keep-alive"); httpost.addHeader("Accept", "*/*"); httpost.addHeader("Content-Type", "text/xml"); httpost.addHeader("Host", "api.mch.weixin.qq.com"); httpost.addHeader("X-Requested-With", "XMLHttpRequest"); httpost.addHeader("Cache-Control", "max-age=0"); httpost.addHeader("User-Agent", "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0) "); httpost.setEntity(new StringEntity(data, "UTF-8")); CloseableHttpResponse response = httpClient.execute(httpost); try { HttpEntity entity = response.getEntity(); String jsonStr = EntityUtils.toString(response.getEntity(), "UTF-8"); EntityUtils.consume(entity); return jsonStr; } finally { response.close(); } } catch (Exception e){ throw new RuntimeException(e); } finally { httpClient.close(); } } } \ No newline at end of file diff --git a/hai-service/src/main/java/com/hai/dao/HighCouponMapper.java b/hai-service/src/main/java/com/hai/dao/HighCouponMapper.java index a033a7a0..fb34bebd 100644 --- a/hai-service/src/main/java/com/hai/dao/HighCouponMapper.java +++ b/hai-service/src/main/java/com/hai/dao/HighCouponMapper.java @@ -51,7 +51,7 @@ public interface HighCouponMapper extends HighCouponMapperExt { "operator_id, operator_name, ", "pay_type, ext_1, ext_2, ", "ext_3, `status`, display_area, ", - "coupon_source)", + "coupon_source, distributor)", "values (#{companyId,jdbcType=BIGINT}, #{merchantId,jdbcType=BIGINT}, ", "#{couponKey,jdbcType=VARCHAR}, #{couponName,jdbcType=VARCHAR}, ", "#{couponPrice,jdbcType=DECIMAL}, #{couponImg,jdbcType=VARCHAR}, ", @@ -64,7 +64,7 @@ public interface HighCouponMapper extends HighCouponMapperExt { "#{operatorId,jdbcType=BIGINT}, #{operatorName,jdbcType=VARCHAR}, ", "#{payType,jdbcType=INTEGER}, #{ext1,jdbcType=VARCHAR}, #{ext2,jdbcType=VARCHAR}, ", "#{ext3,jdbcType=VARCHAR}, #{status,jdbcType=INTEGER}, #{displayArea,jdbcType=INTEGER}, ", - "#{couponSource,jdbcType=INTEGER})" + "#{couponSource,jdbcType=INTEGER}, #{distributor,jdbcType=INTEGER})" }) @Options(useGeneratedKeys=true,keyProperty="id") int insert(HighCoupon record); @@ -102,7 +102,8 @@ public interface HighCouponMapper extends HighCouponMapperExt { @Result(column="ext_3", property="ext3", jdbcType=JdbcType.VARCHAR), @Result(column="status", property="status", jdbcType=JdbcType.INTEGER), @Result(column="display_area", property="displayArea", jdbcType=JdbcType.INTEGER), - @Result(column="coupon_source", property="couponSource", jdbcType=JdbcType.INTEGER) + @Result(column="coupon_source", property="couponSource", jdbcType=JdbcType.INTEGER), + @Result(column="distributor", property="distributor", jdbcType=JdbcType.INTEGER) }) List selectByExample(HighCouponExample example); @@ -112,7 +113,7 @@ public interface HighCouponMapper extends HighCouponMapperExt { "coupon_carousel_img, coupon_desc, coupon_type, sales_end_time, recycle_day, ", "limit_number, sales_price, discount_price, sales_count, is_present, create_time, ", "update_time, operator_id, operator_name, pay_type, ext_1, ext_2, ext_3, `status`, ", - "display_area, coupon_source", + "display_area, coupon_source, distributor", "from high_coupon", "where id = #{id,jdbcType=BIGINT}" }) @@ -144,7 +145,8 @@ public interface HighCouponMapper extends HighCouponMapperExt { @Result(column="ext_3", property="ext3", jdbcType=JdbcType.VARCHAR), @Result(column="status", property="status", jdbcType=JdbcType.INTEGER), @Result(column="display_area", property="displayArea", jdbcType=JdbcType.INTEGER), - @Result(column="coupon_source", property="couponSource", jdbcType=JdbcType.INTEGER) + @Result(column="coupon_source", property="couponSource", jdbcType=JdbcType.INTEGER), + @Result(column="distributor", property="distributor", jdbcType=JdbcType.INTEGER) }) HighCoupon selectByPrimaryKey(Long id); @@ -185,7 +187,8 @@ public interface HighCouponMapper extends HighCouponMapperExt { "ext_3 = #{ext3,jdbcType=VARCHAR},", "`status` = #{status,jdbcType=INTEGER},", "display_area = #{displayArea,jdbcType=INTEGER},", - "coupon_source = #{couponSource,jdbcType=INTEGER}", + "coupon_source = #{couponSource,jdbcType=INTEGER},", + "distributor = #{distributor,jdbcType=INTEGER}", "where id = #{id,jdbcType=BIGINT}" }) int updateByPrimaryKey(HighCoupon record); diff --git a/hai-service/src/main/java/com/hai/dao/HighCouponSqlProvider.java b/hai-service/src/main/java/com/hai/dao/HighCouponSqlProvider.java index 7b11386b..b5cda6a7 100644 --- a/hai-service/src/main/java/com/hai/dao/HighCouponSqlProvider.java +++ b/hai-service/src/main/java/com/hai/dao/HighCouponSqlProvider.java @@ -136,6 +136,10 @@ public class HighCouponSqlProvider { sql.VALUES("coupon_source", "#{couponSource,jdbcType=INTEGER}"); } + if (record.getDistributor() != null) { + sql.VALUES("distributor", "#{distributor,jdbcType=INTEGER}"); + } + return sql.toString(); } @@ -173,6 +177,7 @@ public class HighCouponSqlProvider { sql.SELECT("`status`"); sql.SELECT("display_area"); sql.SELECT("coupon_source"); + sql.SELECT("distributor"); sql.FROM("high_coupon"); applyWhere(sql, example, false); @@ -302,6 +307,10 @@ public class HighCouponSqlProvider { sql.SET("coupon_source = #{record.couponSource,jdbcType=INTEGER}"); } + if (record.getDistributor() != null) { + sql.SET("distributor = #{record.distributor,jdbcType=INTEGER}"); + } + applyWhere(sql, example, true); return sql.toString(); } @@ -338,6 +347,7 @@ public class HighCouponSqlProvider { sql.SET("`status` = #{record.status,jdbcType=INTEGER}"); sql.SET("display_area = #{record.displayArea,jdbcType=INTEGER}"); sql.SET("coupon_source = #{record.couponSource,jdbcType=INTEGER}"); + sql.SET("distributor = #{record.distributor,jdbcType=INTEGER}"); HighCouponExample example = (HighCouponExample) parameter.get("example"); applyWhere(sql, example, true); @@ -456,6 +466,10 @@ public class HighCouponSqlProvider { sql.SET("coupon_source = #{couponSource,jdbcType=INTEGER}"); } + if (record.getDistributor() != null) { + sql.SET("distributor = #{distributor,jdbcType=INTEGER}"); + } + sql.WHERE("id = #{id,jdbcType=BIGINT}"); return sql.toString(); diff --git a/hai-service/src/main/java/com/hai/entity/HighCoupon.java b/hai-service/src/main/java/com/hai/entity/HighCoupon.java index ba9bd52d..3ee4589b 100644 --- a/hai-service/src/main/java/com/hai/entity/HighCoupon.java +++ b/hai-service/src/main/java/com/hai/entity/HighCoupon.java @@ -143,10 +143,15 @@ public class HighCoupon extends HighCouponModel implements Serializable { private Integer displayArea; /** - * 卡券来源:1.中石化 + * 卡券来源:1.中石化 2.消费券 3.其他 4:贵州中石化 */ private Integer couponSource; + /** + * 渠道商 1:主营渠道 2:银联渠道 + */ + private Integer distributor; + private static final long serialVersionUID = 1L; public Long getId() { @@ -373,6 +378,14 @@ public class HighCoupon extends HighCouponModel implements Serializable { this.couponSource = couponSource; } + public Integer getDistributor() { + return distributor; + } + + public void setDistributor(Integer distributor) { + this.distributor = distributor; + } + @Override public boolean equals(Object that) { if (this == that) { @@ -412,7 +425,8 @@ public class HighCoupon extends HighCouponModel implements Serializable { && (this.getExt3() == null ? other.getExt3() == null : this.getExt3().equals(other.getExt3())) && (this.getStatus() == null ? other.getStatus() == null : this.getStatus().equals(other.getStatus())) && (this.getDisplayArea() == null ? other.getDisplayArea() == null : this.getDisplayArea().equals(other.getDisplayArea())) - && (this.getCouponSource() == null ? other.getCouponSource() == null : this.getCouponSource().equals(other.getCouponSource())); + && (this.getCouponSource() == null ? other.getCouponSource() == null : this.getCouponSource().equals(other.getCouponSource())) + && (this.getDistributor() == null ? other.getDistributor() == null : this.getDistributor().equals(other.getDistributor())); } @Override @@ -447,6 +461,7 @@ public class HighCoupon extends HighCouponModel implements Serializable { result = prime * result + ((getStatus() == null) ? 0 : getStatus().hashCode()); result = prime * result + ((getDisplayArea() == null) ? 0 : getDisplayArea().hashCode()); result = prime * result + ((getCouponSource() == null) ? 0 : getCouponSource().hashCode()); + result = prime * result + ((getDistributor() == null) ? 0 : getDistributor().hashCode()); return result; } @@ -484,6 +499,7 @@ public class HighCoupon extends HighCouponModel implements Serializable { sb.append(", status=").append(status); sb.append(", displayArea=").append(displayArea); sb.append(", couponSource=").append(couponSource); + sb.append(", distributor=").append(distributor); sb.append(", serialVersionUID=").append(serialVersionUID); sb.append("]"); return sb.toString(); diff --git a/hai-service/src/main/java/com/hai/entity/HighCouponExample.java b/hai-service/src/main/java/com/hai/entity/HighCouponExample.java index 51d3076a..f3089f47 100644 --- a/hai-service/src/main/java/com/hai/entity/HighCouponExample.java +++ b/hai-service/src/main/java/com/hai/entity/HighCouponExample.java @@ -1895,6 +1895,66 @@ public class HighCouponExample { addCriterion("coupon_source not between", value1, value2, "couponSource"); return (Criteria) this; } + + public Criteria andDistributorIsNull() { + addCriterion("distributor is null"); + return (Criteria) this; + } + + public Criteria andDistributorIsNotNull() { + addCriterion("distributor is not null"); + return (Criteria) this; + } + + public Criteria andDistributorEqualTo(Integer value) { + addCriterion("distributor =", value, "distributor"); + return (Criteria) this; + } + + public Criteria andDistributorNotEqualTo(Integer value) { + addCriterion("distributor <>", value, "distributor"); + return (Criteria) this; + } + + public Criteria andDistributorGreaterThan(Integer value) { + addCriterion("distributor >", value, "distributor"); + return (Criteria) this; + } + + public Criteria andDistributorGreaterThanOrEqualTo(Integer value) { + addCriterion("distributor >=", value, "distributor"); + return (Criteria) this; + } + + public Criteria andDistributorLessThan(Integer value) { + addCriterion("distributor <", value, "distributor"); + return (Criteria) this; + } + + public Criteria andDistributorLessThanOrEqualTo(Integer value) { + addCriterion("distributor <=", value, "distributor"); + return (Criteria) this; + } + + public Criteria andDistributorIn(List values) { + addCriterion("distributor in", values, "distributor"); + return (Criteria) this; + } + + public Criteria andDistributorNotIn(List values) { + addCriterion("distributor not in", values, "distributor"); + return (Criteria) this; + } + + public Criteria andDistributorBetween(Integer value1, Integer value2) { + addCriterion("distributor between", value1, value2, "distributor"); + return (Criteria) this; + } + + public Criteria andDistributorNotBetween(Integer value1, Integer value2) { + addCriterion("distributor not between", value1, value2, "distributor"); + return (Criteria) this; + } } /**