Commit de3de82d authored by dingzhiwei's avatar dingzhiwei
Browse files

初始化Jeepay项目

parent 40dcaf4a
package org.xxpay.mgr.controller;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.xxpay.common.util.DateUtil;
import org.xxpay.common.util.MyLog;
import org.xxpay.dal.dao.model.MchNotify;
import org.xxpay.dal.dao.plugin.PageModel;
import org.xxpay.mgr.service.MchNotifyService;
import java.util.List;
@Controller
@RequestMapping("/mch_notify")
public class MchNotifyController {
private final static MyLog _log = MyLog.getLog(MchNotifyController.class);
@Autowired
private MchNotifyService mchNotifyService;
@RequestMapping("/list.html")
public String listInput(ModelMap model) {
return "mch_notify/list";
}
@RequestMapping("/list")
@ResponseBody
public String list(@ModelAttribute MchNotify mchNotify, Integer pageIndex, Integer pageSize) {
PageModel pageModel = new PageModel();
int count = mchNotifyService.count(mchNotify);
if(count <= 0) return JSON.toJSONString(pageModel);
List<MchNotify> mchNotifyList = mchNotifyService.getMchNotifyList((pageIndex-1)*pageSize, pageSize, mchNotify);
if(!CollectionUtils.isEmpty(mchNotifyList)) {
JSONArray array = new JSONArray();
for(MchNotify po : mchNotifyList) {
JSONObject object = (JSONObject) JSONObject.toJSON(po);
if(po.getCreateTime() != null) object.put("createTime", DateUtil.date2Str(po.getCreateTime()));
if(po.getLastNotifyTime() != null) object.put("lastNotifyTime", DateUtil.date2Str(po.getLastNotifyTime()));
array.add(object);
}
pageModel.setList(array);
}
pageModel.setCount(count);
pageModel.setMsg("ok");
pageModel.setRel(true);
return JSON.toJSONString(pageModel);
}
@RequestMapping("/view.html")
public String viewInput(String orderId, ModelMap model) {
MchNotify item = null;
if(StringUtils.isNotBlank(orderId)) {
item = mchNotifyService.selectMchNotify(orderId);
}
if(item == null) {
item = new MchNotify();
model.put("item", item);
return "mch_notify/view";
}
JSONObject object = (JSONObject) JSON.toJSON(item);
if(item.getCreateTime() != null) object.put("createTime", DateUtil.date2Str(item.getCreateTime()));
if(item.getUpdateTime() != null) object.put("updateTime", DateUtil.date2Str(item.getUpdateTime()));
if(item.getLastNotifyTime() != null) object.put("lastNotifyTime", DateUtil.date2Str(item.getLastNotifyTime()));
model.put("item", object);
return "mch_notify/view";
}
}
\ No newline at end of file
package org.xxpay.mgr.controller;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.math.NumberUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*;
import org.xxpay.common.constant.PayConstant;
import org.xxpay.common.util.DateUtil;
import org.xxpay.common.util.MyLog;
import org.xxpay.dal.dao.model.PayChannel;
import org.xxpay.dal.dao.plugin.PageModel;
import org.xxpay.mgr.service.PayChannelService;
import java.util.List;
@Controller
@RequestMapping("/pay_channel")
public class PayChannelController {
private final static MyLog _log = MyLog.getLog(PayChannelController.class);
@Autowired
private PayChannelService payChannelService;
@RequestMapping("/list.html")
public String listInput(ModelMap model) {
return "pay_channel/list";
}
@RequestMapping("/edit.html")
public String editInput(String id, ModelMap model) {
PayChannel item = null;
if(StringUtils.isNotBlank(id) && NumberUtils.isNumber(id)) {
item = payChannelService.selectPayChannel(Integer.parseInt(id));
}
if(item == null) item = new PayChannel();
model.put("item", item);
return "pay_channel/edit";
}
@RequestMapping("/list")
@ResponseBody
public String list(@ModelAttribute PayChannel payChannel, Integer pageIndex, Integer pageSize) {
PageModel pageModel = new PageModel();
int count = payChannelService.count(payChannel);
if(count <= 0) return JSON.toJSONString(pageModel);
List<PayChannel> payChannelList = payChannelService.getPayChannelList((pageIndex-1)*pageSize, pageSize, payChannel);
if(!CollectionUtils.isEmpty(payChannelList)) {
JSONArray array = new JSONArray();
for(PayChannel pc : payChannelList) {
JSONObject object = (JSONObject) JSONObject.toJSON(pc);
object.put("createTime", DateUtil.date2Str(pc.getCreateTime()));
array.add(object);
}
pageModel.setList(array);
}
pageModel.setCount(count);
pageModel.setMsg("ok");
pageModel.setRel(true);
return JSON.toJSONString(pageModel);
}
@RequestMapping(value = "/save", method = RequestMethod.POST)
@ResponseBody
public String save(@RequestParam String params) {
JSONObject po = JSONObject.parseObject(params);
String channelId = po.getString("channelId");
String param = po.getString("param");
// 对于配置支付宝参数时,前端将+号转为空格bug处理
if(PayConstant.PAY_CHANNEL_ALIPAY_MOBILE.equals(channelId) ||
PayConstant.PAY_CHANNEL_ALIPAY_PC.equals(channelId) ||
PayConstant.PAY_CHANNEL_ALIPAY_WAP.equals(channelId) ||
PayConstant.PAY_CHANNEL_ALIPAY_QR.equals(channelId)) {
JSONObject paramObj = null;
try{
paramObj = JSON.parseObject(po.getString("param"));
}catch (Exception e) {
_log.info("param is not json");
}
if(paramObj != null) {
paramObj.put("private_key", paramObj.getString("private_key").replaceAll(" ", "+"));
paramObj.put("alipay_public_key", paramObj.getString("alipay_public_key").replaceAll(" ", "+"));
param = paramObj.toJSONString();
}
}
PayChannel payChannel = new PayChannel();
Integer id = po.getInteger("id");
payChannel.setChannelId(channelId);
payChannel.setMchId(po.getString("mchId"));
payChannel.setChannelName(po.getString("channelName"));
payChannel.setChannelMchId(po.getString("channelMchId"));
payChannel.setState((byte) ("on".equalsIgnoreCase(po.getString("state")) ? 1 : 0));
payChannel.setParam(param);
payChannel.setRemark(po.getString("remark"));
int result;
if(id == null) {
// 添加
result = payChannelService.addPayChannel(payChannel);
}else {
// 修改
payChannel.setId(id);
result = payChannelService.updatePayChannel(payChannel);
}
_log.info("保存渠道记录,返回:{}", result);
return result+"";
}
@RequestMapping("/view.html")
public String viewInput(String id, ModelMap model) {
PayChannel item = null;
if(StringUtils.isNotBlank(id) && NumberUtils.isNumber(id)) {
item = payChannelService.selectPayChannel(Integer.parseInt(id));
}
if(item == null) item = new PayChannel();
model.put("item", item);
return "pay_channel/view";
}
}
\ No newline at end of file
package org.xxpay.mgr.controller;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.xxpay.common.util.AmountUtil;
import org.xxpay.common.util.DateUtil;
import org.xxpay.common.util.MyLog;
import org.xxpay.dal.dao.model.PayOrder;
import org.xxpay.dal.dao.plugin.PageModel;
import org.xxpay.mgr.service.PayOrderService;
import java.util.Date;
import java.util.List;
@Controller
@RequestMapping("/pay_order")
public class PayOrderController {
private final static MyLog _log = MyLog.getLog(PayOrderController.class);
@Autowired
private PayOrderService payOrderService;
@RequestMapping("/list.html")
public String listInput(ModelMap model) {
return "pay_order/list";
}
@RequestMapping("/list")
@ResponseBody
public String list(@ModelAttribute PayOrder payOrder, Integer pageIndex, Integer pageSize) {
PageModel pageModel = new PageModel();
int count = payOrderService.count(payOrder);
if(count <= 0) return JSON.toJSONString(pageModel);
List<PayOrder> payOrderList = payOrderService.getPayOrderList((pageIndex-1)*pageSize, pageSize, payOrder);
if(!CollectionUtils.isEmpty(payOrderList)) {
JSONArray array = new JSONArray();
for(PayOrder po : payOrderList) {
JSONObject object = (JSONObject) JSONObject.toJSON(po);
if(po.getCreateTime() != null) object.put("createTime", DateUtil.date2Str(po.getCreateTime()));
if(po.getAmount() != null) object.put("amount", AmountUtil.convertCent2Dollar(po.getAmount()+""));
array.add(object);
}
pageModel.setList(array);
}
pageModel.setCount(count);
pageModel.setMsg("ok");
pageModel.setRel(true);
return JSON.toJSONString(pageModel);
}
@RequestMapping("/view.html")
public String viewInput(String payOrderId, ModelMap model) {
PayOrder item = null;
if(StringUtils.isNotBlank(payOrderId)) {
item = payOrderService.selectPayOrder(payOrderId);
}
if(item == null) {
item = new PayOrder();
model.put("item", item);
return "pay_order/view";
}
JSONObject object = (JSONObject) JSON.toJSON(item);
if(item.getPaySuccTime() != null) object.put("paySuccTime", DateUtil.date2Str(new Date(item.getPaySuccTime())));
if(item.getLastNotifyTime() != null) object.put("lastNotifyTime", DateUtil.date2Str(new Date(item.getLastNotifyTime())));
if(item.getExpireTime() != null) object.put("expireTime", DateUtil.date2Str(new Date(item.getExpireTime())));
if(item.getAmount() != null) object.put("amount", AmountUtil.convertCent2Dollar(item.getAmount()+""));
model.put("item", object);
return "pay_order/view";
}
}
\ No newline at end of file
package org.xxpay.mgr.controller;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.xxpay.common.util.AmountUtil;
import org.xxpay.common.util.DateUtil;
import org.xxpay.common.util.MyLog;
import org.xxpay.dal.dao.model.RefundOrder;
import org.xxpay.dal.dao.plugin.PageModel;
import org.xxpay.mgr.service.RefundOrderService;
import java.util.List;
@Controller
@RequestMapping("/refund_order")
public class RefundOrderController {
private final static MyLog _log = MyLog.getLog(RefundOrderController.class);
@Autowired
private RefundOrderService refundOrderService;
@RequestMapping("/list.html")
public String listInput(ModelMap model) {
return "refund_order/list";
}
@RequestMapping("/list")
@ResponseBody
public String list(@ModelAttribute RefundOrder refundOrder, Integer pageIndex, Integer pageSize) {
PageModel pageModel = new PageModel();
int count = refundOrderService.count(refundOrder);
if(count <= 0) return JSON.toJSONString(pageModel);
List<RefundOrder> refundOrderList = refundOrderService.getRefundOrderList((pageIndex-1)*pageSize, pageSize, refundOrder);
if(!CollectionUtils.isEmpty(refundOrderList)) {
JSONArray array = new JSONArray();
for(RefundOrder po : refundOrderList) {
JSONObject object = (JSONObject) JSONObject.toJSON(po);
if(po.getCreateTime() != null) object.put("createTime", DateUtil.date2Str(po.getCreateTime()));
if(po.getRefundAmount() != null) object.put("amount", AmountUtil.convertCent2Dollar(po.getRefundAmount()+""));
array.add(object);
}
pageModel.setList(array);
}
pageModel.setCount(count);
pageModel.setMsg("ok");
pageModel.setRel(true);
return JSON.toJSONString(pageModel);
}
@RequestMapping("/view.html")
public String viewInput(String refundOrderId, ModelMap model) {
RefundOrder item = null;
if(StringUtils.isNotBlank(refundOrderId)) {
item = refundOrderService.selectRefundOrder(refundOrderId);
}
if(item == null) {
item = new RefundOrder();
model.put("item", item);
return "refund_order/view";
}
JSONObject object = (JSONObject) JSON.toJSON(item);
if(item.getRefundSuccTime() != null) object.put("refundSuccTime", DateUtil.date2Str(item.getRefundSuccTime()));
if(item.getExpireTime() != null) object.put("expireTime", DateUtil.date2Str(item.getExpireTime()));
if(item.getRefundAmount() != null) object.put("amount", AmountUtil.convertCent2Dollar(item.getRefundAmount()+""));
model.put("item", object);
return "refund_order/view";
}
}
\ No newline at end of file
package org.xxpay.mgr.controller;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.xxpay.common.util.AmountUtil;
import org.xxpay.common.util.DateUtil;
import org.xxpay.common.util.MyLog;
import org.xxpay.dal.dao.model.TransOrder;
import org.xxpay.dal.dao.plugin.PageModel;
import org.xxpay.mgr.service.TransOrderService;
import java.util.Date;
import java.util.List;
@Controller
@RequestMapping("/trans_order")
public class TransOrderController {
private final static MyLog _log = MyLog.getLog(TransOrderController.class);
@Autowired
private TransOrderService transOrderService;
@RequestMapping("/list.html")
public String listInput(ModelMap model) {
return "trans_order/list";
}
@RequestMapping("/list")
@ResponseBody
public String list(@ModelAttribute TransOrder transOrder, Integer pageIndex, Integer pageSize) {
PageModel pageModel = new PageModel();
int count = transOrderService.count(transOrder);
if(count <= 0) return JSON.toJSONString(pageModel);
List<TransOrder> transOrderList = transOrderService.getTransOrderList((pageIndex-1)*pageSize, pageSize, transOrder);
if(!CollectionUtils.isEmpty(transOrderList)) {
JSONArray array = new JSONArray();
for(TransOrder po : transOrderList) {
JSONObject object = (JSONObject) JSONObject.toJSON(po);
if(po.getCreateTime() != null) object.put("createTime", DateUtil.date2Str(po.getCreateTime()));
if(po.getAmount() != null) object.put("amount", AmountUtil.convertCent2Dollar(po.getAmount()+""));
array.add(object);
}
pageModel.setList(array);
}
pageModel.setCount(count);
pageModel.setMsg("ok");
pageModel.setRel(true);
return JSON.toJSONString(pageModel);
}
@RequestMapping("/view.html")
public String viewInput(String transOrderId, ModelMap model) {
TransOrder item = null;
if(StringUtils.isNotBlank(transOrderId)) {
item = transOrderService.selectTransOrder(transOrderId);
}
if(item == null) {
item = new TransOrder();
model.put("item", item);
return "trans_order/view";
}
JSONObject object = (JSONObject) JSON.toJSON(item);
if(item.getTransSuccTime() != null) object.put("transSuccTime", DateUtil.date2Str(item.getTransSuccTime()));
if(item.getExpireTime() != null) object.put("expireTime", DateUtil.date2Str(item.getExpireTime()));
if(item.getAmount() != null) object.put("amount", AmountUtil.convertCent2Dollar(item.getAmount()+""));
model.put("item", object);
return "trans_order/view";
}
}
\ No newline at end of file
package org.xxpay.mgr.service;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;
import org.xxpay.dal.dao.mapper.MchInfoMapper;
import org.xxpay.dal.dao.model.MchInfo;
import org.xxpay.dal.dao.model.MchInfoExample;
import java.util.List;
/**
* Created by dingzhiwei on 17/5/4.
*/
@Component
public class MchInfoService {
@Autowired
private MchInfoMapper mchInfoMapper;
public int addMchInfo(MchInfo mchInfo) {
MchInfoExample example = new MchInfoExample();
example.setOrderByClause("mchId DESC");
example.setOffset(0);
example.setLimit(1);
List<MchInfo> mchInfos = mchInfoMapper.selectByExample(example);
String mchId = "10000000";
if(!CollectionUtils.isEmpty(mchInfos)) {
mchId = String.valueOf(Integer.parseInt(mchInfos.get(0).getMchId()) + 1);
}
mchInfo.setMchId(mchId);
return mchInfoMapper.insertSelective(mchInfo);
}
public int updateMchInfo(MchInfo mchInfo) {
return mchInfoMapper.updateByPrimaryKeySelective(mchInfo);
}
public MchInfo selectMchInfo(String mchId) {
return mchInfoMapper.selectByPrimaryKey(mchId);
}
public List<MchInfo> getMchInfoList(int offset, int limit, MchInfo mchInfo) {
MchInfoExample example = new MchInfoExample();
example.setOrderByClause("createTime DESC");
example.setOffset(offset);
example.setLimit(limit);
MchInfoExample.Criteria criteria = example.createCriteria();
setCriteria(criteria, mchInfo);
return mchInfoMapper.selectByExample(example);
}
public Integer count(MchInfo mchInfo) {
MchInfoExample example = new MchInfoExample();
MchInfoExample.Criteria criteria = example.createCriteria();
setCriteria(criteria, mchInfo);
return mchInfoMapper.countByExample(example);
}
void setCriteria(MchInfoExample.Criteria criteria, MchInfo mchInfo) {
if(mchInfo != null) {
if(StringUtils.isNotBlank(mchInfo.getMchId())) criteria.andMchIdEqualTo(mchInfo.getMchId());
if(mchInfo.getType() != null && !"-99".equals(mchInfo.getType())) criteria.andTypeEqualTo(mchInfo.getType());
}
}
}
package org.xxpay.mgr.service;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.xxpay.dal.dao.mapper.MchNotifyMapper;
import org.xxpay.dal.dao.mapper.MchNotifyMapper;
import org.xxpay.dal.dao.model.MchNotify;
import org.xxpay.dal.dao.model.MchNotifyExample;
import java.util.List;
/**
* Created by dingzhiwei on 17/11/03.
*/
@Component
public class MchNotifyService {
@Autowired
private MchNotifyMapper mchNotifyMapper;
public MchNotify selectMchNotify(String orderId) {
return mchNotifyMapper.selectByPrimaryKey(orderId);
}
public List<MchNotify> getMchNotifyList(int offset, int limit, MchNotify mchNotify) {
MchNotifyExample example = new MchNotifyExample();
example.setOrderByClause("createTime DESC");
example.setOffset(offset);
example.setLimit(limit);
MchNotifyExample.Criteria criteria = example.createCriteria();
setCriteria(criteria, mchNotify);
return mchNotifyMapper.selectByExample(example);
}
public Integer count(MchNotify mchNotify) {
MchNotifyExample example = new MchNotifyExample();
MchNotifyExample.Criteria criteria = example.createCriteria();
setCriteria(criteria, mchNotify);
return mchNotifyMapper.countByExample(example);
}
void setCriteria(MchNotifyExample.Criteria criteria, MchNotify mchNotify) {
if(mchNotify != null) {
if(StringUtils.isNotBlank(mchNotify.getMchId())) criteria.andMchIdEqualTo(mchNotify.getMchId());
if(StringUtils.isNotBlank(mchNotify.getOrderId())) criteria.andOrderIdEqualTo(mchNotify.getOrderId());
if(StringUtils.isNotBlank(mchNotify.getOrderType())) criteria.andOrderTypeEqualTo(mchNotify.getOrderType());
if(StringUtils.isNotBlank(mchNotify.getMchOrderNo())) criteria.andMchOrderNoEqualTo(mchNotify.getMchOrderNo());
if(mchNotify.getStatus() != null && mchNotify.getStatus() != -99) criteria.andStatusEqualTo(mchNotify.getStatus());
}
}
}
package org.xxpay.mgr.service;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;
import org.xxpay.dal.dao.mapper.PayChannelMapper;
import org.xxpay.dal.dao.model.PayChannel;
import org.xxpay.dal.dao.model.PayChannelExample;
import java.util.List;
/**
* Created by dingzhiwei on 17/5/7.
*/
@Component
public class PayChannelService {
@Autowired
private PayChannelMapper payChannelMapper;
public int addPayChannel(PayChannel payChannel) {
return payChannelMapper.insertSelective(payChannel);
}
public int updatePayChannel(PayChannel payChannel) {
return payChannelMapper.updateByPrimaryKeySelective(payChannel);
}
public PayChannel selectPayChannel(String channelId, String mchId) {
PayChannelExample example = new PayChannelExample();
PayChannelExample.Criteria criteria = example.createCriteria();
criteria.andChannelIdEqualTo(channelId);
criteria.andMchIdEqualTo(mchId);
List<PayChannel> payChannelList = payChannelMapper.selectByExample(example);
if(CollectionUtils.isEmpty(payChannelList)) return null;
return payChannelList.get(0);
}
public PayChannel selectPayChannel(int id) {
return payChannelMapper.selectByPrimaryKey(id);
}
public List<PayChannel> getPayChannelList(int offset, int limit, PayChannel payChannel) {
PayChannelExample example = new PayChannelExample();
example.setOrderByClause("mchId ASC, channelId ASC, createTime DESC");
example.setOffset(offset);
example.setLimit(limit);
PayChannelExample.Criteria criteria = example.createCriteria();
setCriteria(criteria, payChannel);
return payChannelMapper.selectByExample(example);
}
public Integer count(PayChannel payChannel) {
PayChannelExample example = new PayChannelExample();
PayChannelExample.Criteria criteria = example.createCriteria();
setCriteria(criteria, payChannel);
return payChannelMapper.countByExample(example);
}
void setCriteria(PayChannelExample.Criteria criteria, PayChannel payChannel) {
if(payChannel != null) {
if(StringUtils.isNotBlank(payChannel.getMchId())) criteria.andMchIdEqualTo(payChannel.getMchId());
if(StringUtils.isNotBlank(payChannel.getChannelId())) criteria.andChannelIdEqualTo(payChannel.getChannelId());
}
}
}
package org.xxpay.mgr.service;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.xxpay.common.constant.PayConstant;
import org.xxpay.dal.dao.mapper.PayOrderMapper;
import org.xxpay.dal.dao.model.PayOrder;
import org.xxpay.dal.dao.model.PayOrderExample;
import java.util.List;
/**
* Created by dingzhiwei on 17/5/7.
*/
@Component
public class PayOrderService {
@Autowired
private PayOrderMapper payOrderMapper;
public PayOrder selectPayOrder(String payOrderId) {
return payOrderMapper.selectByPrimaryKey(payOrderId);
}
public List<PayOrder> getPayOrderList(int offset, int limit, PayOrder payOrder) {
PayOrderExample example = new PayOrderExample();
example.setOrderByClause("createTime DESC");
example.setOffset(offset);
example.setLimit(limit);
PayOrderExample.Criteria criteria = example.createCriteria();
setCriteria(criteria, payOrder);
return payOrderMapper.selectByExample(example);
}
public Integer count(PayOrder payOrder) {
PayOrderExample example = new PayOrderExample();
PayOrderExample.Criteria criteria = example.createCriteria();
setCriteria(criteria, payOrder);
return payOrderMapper.countByExample(example);
}
void setCriteria(PayOrderExample.Criteria criteria, PayOrder payOrder) {
if(payOrder != null) {
if(StringUtils.isNotBlank(payOrder.getMchId())) criteria.andMchIdEqualTo(payOrder.getMchId());
if(StringUtils.isNotBlank(payOrder.getPayOrderId())) criteria.andPayOrderIdEqualTo(payOrder.getPayOrderId());
if(StringUtils.isNotBlank(payOrder.getMchOrderNo())) criteria.andMchOrderNoEqualTo(payOrder.getMchOrderNo());
if(StringUtils.isNotBlank(payOrder.getChannelOrderNo())) criteria.andChannelOrderNoEqualTo(payOrder.getChannelOrderNo());
if(payOrder.getStatus() != null && payOrder.getStatus() != -99) criteria.andStatusEqualTo(payOrder.getStatus());
}
}
}
package org.xxpay.mgr.service;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.xxpay.dal.dao.mapper.RefundOrderMapper;
import org.xxpay.dal.dao.model.RefundOrder;
import org.xxpay.dal.dao.model.RefundOrderExample;
import java.util.List;
/**
* Created by dingzhiwei on 17/11/03.
*/
@Component
public class RefundOrderService {
@Autowired
private RefundOrderMapper refundOrderMapper;
public RefundOrder selectRefundOrder(String refundOrderId) {
return refundOrderMapper.selectByPrimaryKey(refundOrderId);
}
public List<RefundOrder> getRefundOrderList(int offset, int limit, RefundOrder refundOrder) {
RefundOrderExample example = new RefundOrderExample();
example.setOrderByClause("createTime DESC");
example.setOffset(offset);
example.setLimit(limit);
RefundOrderExample.Criteria criteria = example.createCriteria();
setCriteria(criteria, refundOrder);
return refundOrderMapper.selectByExample(example);
}
public Integer count(RefundOrder refundOrder) {
RefundOrderExample example = new RefundOrderExample();
RefundOrderExample.Criteria criteria = example.createCriteria();
setCriteria(criteria, refundOrder);
return refundOrderMapper.countByExample(example);
}
void setCriteria(RefundOrderExample.Criteria criteria, RefundOrder refundOrder) {
if(refundOrder != null) {
if(StringUtils.isNotBlank(refundOrder.getMchId())) criteria.andMchIdEqualTo(refundOrder.getMchId());
if(StringUtils.isNotBlank(refundOrder.getRefundOrderId())) criteria.andRefundOrderIdEqualTo(refundOrder.getRefundOrderId());
if(StringUtils.isNotBlank(refundOrder.getRefundOrderId())) criteria.andMchRefundNoEqualTo(refundOrder.getMchRefundNo());
if(StringUtils.isNotBlank(refundOrder.getChannelOrderNo())) criteria.andChannelOrderNoEqualTo(refundOrder.getChannelOrderNo());
if(refundOrder.getStatus() != null && refundOrder.getStatus() != -99) criteria.andStatusEqualTo(refundOrder.getStatus());
}
}
}
package org.xxpay.mgr.service;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.xxpay.dal.dao.mapper.TransOrderMapper;
import org.xxpay.dal.dao.model.TransOrder;
import org.xxpay.dal.dao.model.TransOrderExample;
import java.util.List;
/**
* Created by dingzhiwei on 17/11/03.
*/
@Component
public class TransOrderService {
@Autowired
private TransOrderMapper transOrderMapper;
public TransOrder selectTransOrder(String transOrderId) {
return transOrderMapper.selectByPrimaryKey(transOrderId);
}
public List<TransOrder> getTransOrderList(int offset, int limit, TransOrder transOrder) {
TransOrderExample example = new TransOrderExample();
example.setOrderByClause("createTime DESC");
example.setOffset(offset);
example.setLimit(limit);
TransOrderExample.Criteria criteria = example.createCriteria();
setCriteria(criteria, transOrder);
return transOrderMapper.selectByExample(example);
}
public Integer count(TransOrder transOrder) {
TransOrderExample example = new TransOrderExample();
TransOrderExample.Criteria criteria = example.createCriteria();
setCriteria(criteria, transOrder);
return transOrderMapper.countByExample(example);
}
void setCriteria(TransOrderExample.Criteria criteria, TransOrder transOrder) {
if(transOrder != null) {
if(StringUtils.isNotBlank(transOrder.getMchId())) criteria.andMchIdEqualTo(transOrder.getMchId());
if(StringUtils.isNotBlank(transOrder.getTransOrderId())) criteria.andTransOrderIdEqualTo(transOrder.getTransOrderId());
if(StringUtils.isNotBlank(transOrder.getMchTransNo())) criteria.andMchTransNoEqualTo(transOrder.getMchTransNo());
if(StringUtils.isNotBlank(transOrder.getChannelOrderNo())) criteria.andChannelOrderNoEqualTo(transOrder.getChannelOrderNo());
if(transOrder.getStatus() != null && transOrder.getStatus() != -99) criteria.andStatusEqualTo(transOrder.getStatus());
}
}
}
server.port=8092
spring.freemarker.cache=false
spring.freemarker.charset=UTF-8
spring.freemarker.check-template-location=true
spring.freemarker.content-type=text/html
spring.freemarker.expose-request-attributes=true
spring.freemarker.expose-session-attributes=true
spring.freemarker.request-context-attribute=request
spring.freemarker.suffix=.ftl
spring.freemarker.templateEncoding=UTF-8
spring.freemarker.templateLoaderPath=classpath:/templates/
#\u6570\u636E\u5E93\u914D\u7F6E
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/xxpaydb?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false
spring.datasource.username=xxpay
spring.datasource.password=xxpay
# \u4E0B\u9762\u4E3A\u8FDE\u63A5\u6C60\u7684\u8865\u5145\u8BBE\u7F6E\uFF0C\u5E94\u7528\u5230\u4E0A\u9762\u6240\u6709\u6570\u636E\u6E90\u4E2D# \u521D\u59CB\u5316\u5927\u5C0F\uFF0C\u6700\u5C0F\uFF0C\u6700\u5927
spring.datasource.initialSize=5
spring.datasource.minIdle=5
spring.datasource.maxActive=20
# \u914D\u7F6E\u83B7\u53D6\u8FDE\u63A5\u7B49\u5F85\u8D85\u65F6\u7684\u65F6\u95F4
spring.datasource.maxWait=60000
# \u914D\u7F6E\u95F4\u9694\u591A\u4E45\u624D\u8FDB\u884C\u4E00\u6B21\u68C0\u6D4B\uFF0C\u68C0\u6D4B\u9700\u8981\u5173\u95ED\u7684\u7A7A\u95F2\u8FDE\u63A5\uFF0C\u5355\u4F4D\u662F\u6BEB\u79D2
spring.datasource.timeBetweenEvictionRunsMillis=60000
# \u914D\u7F6E\u4E00\u4E2A\u8FDE\u63A5\u5728\u6C60\u4E2D\u6700\u5C0F\u751F\u5B58\u7684\u65F6\u95F4\uFF0C\u5355\u4F4D\u662F\u6BEB\u79D2
spring.datasource.minEvictableIdleTimeMillis=300000
spring.datasource.validationQuery=SELECT 1 FROM DUAL
spring.datasource.testWhileIdle=true
spring.datasource.testOnBorrow=false
spring.datasource.testOnReturn=false
# \u6253\u5F00PSCache\uFF0C\u5E76\u4E14\u6307\u5B9A\u6BCF\u4E2A\u8FDE\u63A5\u4E0APSCache\u7684\u5927\u5C0F
spring.datasource.poolPreparedStatements=true
spring.datasource.maxPoolPreparedStatementPerConnectionSize=20
# \u914D\u7F6E\u76D1\u63A7\u7EDF\u8BA1\u62E6\u622A\u7684filters\uFF0C\u53BB\u6389\u540E\u76D1\u63A7\u754C\u9762sql\u65E0\u6CD5\u7EDF\u8BA1\uFF0C'wall'\u7528\u4E8E\u9632\u706B\u5899
spring.datasource.filters=stat,wall,log4j
# \u901A\u8FC7connectProperties\u5C5E\u6027\u6765\u6253\u5F00mergeSql\u529F\u80FD\uFF1B\u6162SQL\u8BB0\u5F55
spring.datasource.connectionProperties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
# \u5408\u5E76\u591A\u4E2ADruidDataSource\u7684\u76D1\u63A7\u6570\u636E
#spring.datasource.useGlobalDataSourceStat=true
### \u65E5\u5FD7
logging.file=./log/xxpay-mgr.log
spring.mvc.favicon.enabled = false
\ No newline at end of file
.beg-table-box {
position: relative;
height: 100%;
width: 100%;
max-width: 100%;
}
.beg-table-header {
position: absolute;
width: 100%;
}
.beg-table-header table {
width: 100%;
max-width: 100%;
}
.beg-table-header table thead tr th {
vertical-align: bottom;
border-bottom: 2px solid #DDDDDD;
padding: 7px 15px;
background-color: #f2f2f2;
}
.beg-table-body {
overflow: auto;
width: 100%;
max-height: 100%;
}
.beg-table {
width: 100%;
max-width: 100%;
height: 100%;
margin-bottom: 40px;
}
.beg-table thead {}
.beg-table thead tr {}
.beg-table thead tr th {
vertical-align: bottom;
border-bottom: 2px solid #DDDDDD;
padding: 7px 15px;
background-color: #f2f2f2;
}
.beg-table tbody {}
.beg-table tbody tr {}
.beg-table tbody tr td {
padding: 7px 15px;
border-bottom: 1px solid #DDDDDD;
vertical-align: top;
}
.beg-table-bordered {
border: 1px solid #DDDDDD;
}
.beg-table-bordered td,
.beg-table-bordered th {
border: 1px solid #DDDDDD;
}
.beg-table-striped tbody tr:nth-child(even),
.beg-table-hovered tbody tr:hover {
background-color: #f6f6f6;
}
/*page*/
.beg-table-box .beg-table-paged {
position: absolute;
bottom: 0;
width: 100%;
height: 40px;
line-height: 40px;
background-color: #f2f2f2;
}
.beg-table-box .beg-table-paged .layui-laypage {
margin: 3px 5px 0 5px;
}
.beg-table-box .beg-table-paged .layui-laypage a {
/*margin: 0;*/
}
\ No newline at end of file
.btable {
position: relative;
width: 100%;
height: 100%;
}
.btable .layui-form-checkbox {
margin-top: 0;
height: 20px;
line-height: 20px;
}
.btable .layui-table {
/*margin: 5px;*/
margin-bottom: 38px;
}
.btable .layui-table td {
padding: 6px 15px;
}
.btable .layui-laypage {
margin: 5px;
}
.btable .layui-laypage a, .btable .layui-laypage span {
border: 0;
margin: 0;
}
.btable .layui-laypage button, .btable .layui-laypage input, .btable .layui-laypage .layui-laypage-total {
height: 28px;
line-height: 28px;
}
.btable .layui-laypage button, .btable .layui-laypage input {
border: 0;
}
.btable .btable-paged {
width: 100%;
background-color: #f2f2f2;
position: fixed;
bottom: 0;
}
.btable thead tr th {
position: relative;
}
.btable-order {
position: absolute;
right: 0;
top: 10px;
}
.btable-order .up, .down {
width: 30px;
height: 10px;
text-align: center;
position: absolute;
top: 0;
right: 0;
cursor: pointer;
}
.btable-order .down {
top: 10px;
}
.btable-order .up .fa {
width: 30px;
position: absolute;
right: 0;
top: 0;
}
.btable-order .down .fa {
height: 8px;
position: absolute;
top: -5px;
right: 11px;
}
/**
layui官网
By 贤心
*/
/* 布局 */
.site-inline{font-size: 0;}
.site-tree, .site-content{display: inline-block; *display:inline; *zoom:1; vertical-align: top; font-size: 14px;}
.site-tree{width: 220px; min-height: 900px; padding: 5px 0 20px;}
.site-content{width: 899px; min-height: 900px; padding: 20px 0 10px 20px;}
/* 头部 */admin-side-toggle
.header{height: 65px; border-bottom: 1px solid #404553; background-color: #393D49; color: #fff;}
.logo{position: absolute; left: 0; top: 18px;}
.logo img{width: 82px; height: 31px;}
.header .layui-nav{position: absolute; right: 0; top: 0; padding: 0; background: none;}
.header .layui-nav .layui-nav-item{margin: 0 20px; line-height: 66px;}
.menu{position: absolute; right: 0; top: 0; line-height: 65px;}
.menu a{display:inline-block; *display:inline; *zoom:1; vertical-align:top;}
.menu a{position: relative; padding: 0 20px; margin: 0 20px; color: #c2c2c2; font-size: 14px;}
.menu a:hover{color: #fff; transition: all .5s; -webkit-transition: all .5s}
.menu a.this{color: #fff}
.menu a.this::after{content: ''; position: absolute; left: 0; bottom: -1px; width: 100%; height: 5px; background-color: #5FB878;}
.header-index{background-color: #080018; border: none;}
.layui-layout-admin .header-demo{border-bottom-color: #1AA094; background-color: #fff;}
.header-demo .logo{left: 40px;}
.header-demo .layui-nav{top: 0;}
.header-demo .layui-nav .layui-nav-item{margin: 0 10px; line-height: 65px;}
.header-demo .layui-nav .layui-nav-item a{color: #999;}
.header-demo .layui-nav .layui-this{background-color: #f2f2f2;}
.header-demo .layui-nav .layui-nav-item a:hover,
.header-demo .layui-nav .layui-this a{color: #000;}
.header-demo .layui-nav .layui-this:after,
.header-demo .layui-nav-bar{background-color: #393D49;}
.header-demo .layui-nav .layui-this a{padding: 0 20px;}
/* 底部 */
.footer{padding: 30px 0; line-height: 30px; text-align: center; background-color: #eee; color: #666; font-weight: 300;}
body .layui-layout-admin .footer-demo{height: auto; padding: 5px 0; line-height: 26px;}
.footer a{padding: 0 5px;}
/* 首页banner部分 */
.site-banner{position: relative; height: 600px; text-align: center; overflow: hidden; background-color: #393D49;}
.site-banner-bg
,.site-banner-main{position: absolute; left: 0; top: 0; width: 100%; height: 100%;}
.site-banner-bg{background-position: center 0;}
.site-zfj{padding-top: 25px; height: 220px;}
.site-zfj i{position: absolute; left: 50%; top: 25px; width: 200px; height: 200px; margin-left: -100px; font-size: 200px; color: #c2c2c2;}
@-webkit-keyframes site-zfj {
0% {opacity: 1; -webkit-transform: translate3d(0, 0, 0) rotate(0deg) scale(1);}
10% {opacity: 0.8; -webkit-transform: translate3d(-100px, 0px, 0) rotate(10deg) scale(0.7);}
35% {opacity: 0.6; -webkit-transform: translate3d(100px, 0px, 0) rotate(30deg) scale(0.4);}
50% {opacity: 0.4; -webkit-transform: translate3d(0, 0, 0) rotate(360deg) scale(0);}
80% {opacity: 0.2; -webkit-transform: translate3d(0, 0, 0) rotate(720deg) scale(1);}
90% {opacity: 0.1; -webkit-transform: translate3d(0, 0, 0) rotate(3600deg) scale(6);}
100% {opacity: 1; -webkit-transform: translate3d(0, 0, 0) rotate(3600deg) scale(1);}
}
@keyframes site-zfj {
0% {opacity: 1; transform: translate3d(0, 0, 0) rotate(0deg) scale(1);}
10% {opacity: 0.8; transform: translate3d(-100px, 0px, 0) rotate(10deg) scale(0.7);}
35% {opacity: 0.6; transform: translate3d(100px, 0px, 0) rotate(30deg) scale(0.4);}
50% {opacity: 0.4; transform: translate3d(0, 0, 0) rotate(360deg) scale(0);}
80% {opacity: 0.2; transform: translate3d(0, 0, 0) rotate(720deg) scale(1);}
90% {opacity: 0.1; transform: translate3d(0, 0, 0) rotate(3600deg) scale(6);}
100% {opacity: 1; transform: translate3d(0, 0, 0) rotate(3600deg) scale(1);}
}
@-webkit-keyframes site-desc {
0% { -webkit-transform: scale(1.1);}
100% {opacity: 1; -webkit-transform: scale(1);}
}
@keyframes site-desc {
0% { transform: scale(1.1);}
100% {transform: scale(1);}
}
.layui-anim-scaleSpring{-webkit-animation-name: layui-scale-spring; animation-name: layui-scale-spring}
.site-zfj-anim i{-webkit-animation-name: site-zfj; animation-name: site-zfj; -webkit-animation-duration: 5s; animation-duration: 5s; -webkit-animation-timing-function: linear; animation-timing-function: linear;}
.site-desc{position: relative; height: 70px; margin-top: 25px; background: url(../images/layui/desc.png) center no-repeat;}
.site-desc-anim{-webkit-animation-name: site-desc; animation-name: site-desc;}
.site-desc cite{position: absolute; bottom: -40px; left: 0; width: 100%; color: #c2c2c2; font-style: normal;}
.site-download{margin-top: 80px; font-size: 0;}
.site-download a{position: relative; padding: 0 45px 0 90px; height: 60px; line-height: 60px; border: 1px solid #464B5B; font-size: 24px; color: #ccc; transition: all .5s; -webkit-transition: all .5s;}
.site-download a:hover{border: 1px solid #778097; color: #fff; border-radius: 30px; }
.site-download a cite{position: absolute; left: 45px; font-size: 30px;}
.site-version{position: relative; margin-top: 15px; color: #ccc; font-size: 12px;}
.site-version span{padding: 0 3px;}
.site-version *{font-style: normal;}
.site-version a{color: #e2e2e2; text-decoration: underline;}
.site-banner-other{position: absolute; left: 0; bottom: 32px; width: 100%; text-align: center;}
.site-banner-other iframe{border: none;}
.site-idea{margin: 50px 0; font-size: 0; text-align: center; font-weight: 300;}
.site-idea li{display: inline-block; vertical-align: top; *display: inline; *zoom:1; font-size: 14px; }
.site-idea li{width: 298px; height: 150px; padding: 30px; line-height: 24px; margin-left: 30px; border: 1px solid #d2d2d2; text-align: left;}
.site-idea li:first-child{margin-left: 0}
.site-idea .layui-field-title{border-color: #d2d2d2}
.site-idea .layui-field-title legend{margin: 0 20px 20px 0; padding: 0 20px; text-align: center;}
/* 辅助 */
.site-tips{margin-bottom: 10px; padding: 15px; border-left: 5px solid #0078AD; background-color: #f2f2f2;}
body .site-tips p{margin: 0;}
/* 目录 */
.site-dir{display: none;}
.site-dir li{line-height: 26px; margin-left: 20px; overflow: visible; list-style-type: disc;}
.site-dir li a{display: block;}
.site-dir li a:active{color: #01AAED;}
.site-dir li a.layui-this{color: #01AAED;}
body .layui-layer-dir{box-shadow: none; border: 1px solid #d2d2d2;}
body .layui-layer-dir .layui-layer-content{padding: 10px; max-height: 280px; overflow: auto;}
.site-dir a em{padding-left: 5px; font-size: 12px; color: #c2c2c2; font-style: normal;}
/* 文档 */
.site-tree{border-right: 1px solid #eee; }
.site-tree .layui-tree{line-height: 32px;}
.site-tree .layui-tree li i{position: relative; font-size: 22px; color: #000}
.site-tree .layui-tree li a cite{padding: 0 8px;}
.site-tree .layui-tree .site-tree-noicon a cite{padding-left: 15px;}
.site-tree .layui-tree li a em{font-size: 12px; color: #bbb; padding-right: 5px; font-style: normal;}
.site-tree .layui-tree li h2{line-height: 36px; border-left: 5px solid #009E94; margin: 15px 0 5px; padding: 0 10px; background-color: #f2f2f2;}
.site-tree .layui-tree li ul{margin-left: 27px; line-height: 28px;}
.site-tree .layui-tree li ul a,
.site-tree .layui-tree li ul a i{color: #777;}
.site-tree .layui-tree li ul a:hover{color: #333;}
.site-tree .layui-tree li ul li{margin-left: 25px; overflow: visible; list-style-type: disc; /*list-style-position: inside;*/}
.site-tree .layui-tree li ul li cite,
.site-tree .layui-tree .site-tree-noicon ul li cite{padding-left: 0;}
.site-tree .layui-tree .layui-this a{color: #01AAED;}
.site-tree .layui-tree .layui-this .layui-icon{color: #01AAED;}
.site-fix .site-tree{position: fixed; top: 0; bottom: 0; z-index: 666; min-height: 0; overflow: auto; background-color: #fff;}
.site-fix .site-content{margin-left: 220px;}
.site-fix-footer .site-tree{margin-bottom: 120px;}
.site-title{ margin: 30px 0 20px;}
.site-title fieldset{border: none; padding: 0; border-top: 1px solid #eee;}
.site-title fieldset legend{margin-left: 20px; padding: 0 10px; font-size: 22px; font-weight: 300;}
.site-text a{color: #01AAED;}
.site-h1{margin-bottom: 20px; line-height: 60px; padding-bottom: 10px; color: #393D49; border-bottom: 1px solid #eee; font-size: 28px; font-weight: 300;}
.site-h1 .layui-icon{position: relative; top: 5px; font-size: 50px; margin-right: 10px;}
.site-text{position:relative;}
.site-text p{margin-bottom: 10px; line-height:22px;}
.site-text em{padding: 0 3px; font-weight: 500; font-style: italic; color: #666;}
.site-text code{margin:0 5px; padding: 3px 10px; border: 1px solid #e2e2e2; background-color: #fbfbfb; color: #666; border-radius: 2px;}
.site-table{width: 100%; margin: 10px 0;}
.site-table thead{background-color:#f2f2f2; }
.site-table th,
.site-table td{padding: 6px 15px; min-height: 20px; line-height: 20px; border:1px solid #ddd; font-size: 14px; font-weight: 400;}
.site-table tr:nth-child(even){background: #fbfbfb;}
.site-block{padding: 20px; border: 1px solid #eee;}
.site-block .layui-form{margin-right: 200px;}
/* 演示 */
body .layui-layout-admin .site-demo{bottom: 82px; padding: 0;z-index:-1;}
body .site-demo-nav .layui-nav-item{line-height: 40px}
.layui-nav-item .layui-icon{position: relative; /*font-size: 20px;*/}
.layui-nav-item a cite{padding: 0 10px;}
.site-demo .layui-main{margin: 15px; line-height: 22px;}
.site-demo-editor{position: absolute; top: 0; bottom: 0; left: 0; width: 50%; }
.site-demo-area{position: absolute; top: 0; bottom: 90px; width: 100%;}
.site-demo-editor textarea{position: absolute; width: 100%; height: 100%; padding: 15px; border: none; resize: none; /*background-color: #F7FBFF;*/ background-color: #272822; color: #CFBFAF; font-family: Courier New; font-size: 12px; -webkit-box-sizing: border-box !important; -moz-box-sizing: border-box !important; box-sizing: border-box !important;}
.site-demo-btn{position: absolute; bottom: 100px; right: 20px;}
.site-demo-zanzhu{position: absolute; bottom: 0; left: 0; width: 100%; height: 90px; text-align: center; background-color: #e2e2e2; overflow: hidden;}
.site-demo-zanzhu>*{position: relative; z-index: 1;}
.site-demo-zanzhu:before{content: ""; position: absolute; z-index: 0; top: 50%; left: 50%; width: 120px; margin: -10px 0px 0px -60px; text-align: center; color: rgb(170, 170, 170); font-size: 18px; font-weight: 300; }
.site-demo-result{position: absolute; right: 0; top: 0; bottom: 0; width: 50%;}
.site-demo-result iframe{position: absolute; width: 100%; height: 100%;}
.site-demo-button{margin-bottom: 30px;}
.site-demo-button div{margin: 20px 30px 10px;}
.site-demo-button .layui-btn{margin-bottom: 10px;}
.site-demo-laytpl{text-align: center;}
.site-demo-laytpl textarea,
.site-demo-laytpl div span{width: 40%; padding: 15px; margin: 0 15px;}
.site-demo-laytpl textarea{height: 300px; border: none; background-color: #3F3F3F; color: #E3CEAB; font-family: Courier New; resize: none;}
.site-demo-laytpl div span{display: inline-block; text-align: center; background: #101010; color: #fff;}
.site-demo-tplres{margin: 10px 0; text-align: center}
.site-demo-tplres .site-demo-tplh2,
.site-demo-tplres .site-demo-tplview{display: inline-block; width: 50%;}
.site-demo-tplres h2{padding: 15px; background: #e2e2e2;}
.site-demo-tplres h3{font-weight: 700;}
.site-demo-tplres div{padding: 14px; border: 1px solid #e2e2e2; text-align: left;}
.site-demo-upload,
.site-demo-upload img{width: 200px; height: 200px; border-radius: 100%;}
.site-demo-upload{position: relative; background: #e2e2e2;}
.site-demo-upload .site-demo-upbar{position: absolute; top: 50%; left: 50%; margin: -18px 0 0 -56px;}
.site-demo-upload .layui-upload-button{background-color: rgba(0,0,0,.2); color: rgba(255,255,255,1);}
.site-demo-util{position: relative; width: 300px;}
.site-demo-util img{width: 300px; border-radius: 100%;}
.site-demo-util span{position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: #333; cursor: pointer;}
@-webkit-keyframes demo-fengjie {
0% {-webkit-filter: blur(0); opacity: 1; background: #fff; height: 300px; border-radius: 100%;}
80% {-webkit-filter: blur(50px); opacity: 0.95;}
100% {-webkit-filter: blur(20px); opacity: 0; background: #fff;}
}
@keyframes demo-fengjie {
0% {filter: blur(0); opacity: 1; background: #fff; height: 300px; border-radius: 100%;}
80% {filter: blur(50px); opacity: 0.95;}
100% {filter: blur(20px); opacity: 0; background: #fff;}
}
.site-demo-fengjie{-webkit-animation-name: demo-fengjie; animation-name: demo-fengjie; -webkit-animation-duration: 5s; animation-duration: 5s;}
.layui-layout-admin .site-demo-body{top: 117px;}
.site-demo-title{position: fixed; left: 200px; right: 0; top: 76px;}
.site-demo-code{position: absolute; left: 0; top: 0; width: 100%; height: 100%; border: none; padding: 10px; resize: none; font-size: 12px; background-color: #F7FBFF; color: #881280; font-family: Courier New;}
.site-demo-body .layui-elem-quote a{color: #01AAED;}
.site-demo-body .layui-elem-quote a:hover{color: #FF5722;}
/* 其它 */
#trans-tooltip,
#tip-arrow-bottom,
#tip-arrow-top{display: none !important;}
/* 独立组件 */
.alone{width:730px; margin:200px auto;}
.alone ul{margin-left:1px; font-size:0;}
.alone li{display:inline-block; width:181px; font-size: 16px; text-align:center; line-height:80px; margin:0 1px 1px 0; background-color:#393D49; color:#fff;}
.alone li:hover{opacity:0.8;}
.alone li a{display:block; color:#fff;}
/* 自定义css */
.admin-header-item-mobile{
position: absolute; right: 0px; height: 70px;line-height: 70px;
padding: 0 20px; text-align: center; top:0;
display: none;
}
.admin-nav-tree .layui-nav-child a {
padding-left: 30px;
}
.admin{
border: 0;
margin: 0;
box-shadow:none;
}
.admin-nav-card{
margin-top: 5px;
}
.admin-nav-card .layui-icon{
position: relative;
}
.admin-nav-card .layui-tab-item iframe{
width: 100%;
border: 0;
height: 100%;
}
.admin-nav-card>.layui-tab-title{
border-bottom: 1px solid #1AA094;
}
.admin-nav-card .layui-tab-title cite{
font-style: normal;
padding-left: 5px;
}
.admin-nav-card>.layui-tab-title .layui-this{
color: white;
background-color: #1AA094;
}
.admin-nav-card>.layui-tab-title .layui-this:after{
border-bottom: 0;
}
.admin-header-user img{
width: 40px; height: 40px; border-radius: 100%;
/*position: relative;
top: 15px;*/
}
.admin-header-user .layui-nav-more{
top:33px;
}
.admin-header-user .layui-nav-mored{
top: 26px;
}
/*lock*/
.admin-header-lock{
width: 320px; height: 150px; padding: 20px; position: relative; text-align: center;
}
.admin-header-lock-img{
width: 60px; height: 60px; margin: 0 auto;
}
.admin-header-lock-img img{
width: 60px; height: 60px; border-radius: 100%;
}
.admin-header-lock-name{
color: #009688;margin: 8px 0 15px 0;
}
.admin-header-lock-input{
width: 150px; color: #FFFFFF; height: 30px; border: 0;background-color: #009688; padding: 0 7px; border-radius: 2px;
}
/*table*/
.site-table tbody tr td {text-align: center;}
.site-table tbody tr td .layui-btn+.layui-btn{margin-left: 0px;}
.admin-table-page {position: fixed;z-index: 19940201;bottom: 0;width: 100%;background-color: #eee;border-bottom: 1px solid #ddd;left: 0px;}
.admin-table-page .page{padding-left:20px;}
.admin-table-page .page .layui-laypage {margin: 6px 0 0 0;}
/**/
.admin-main {margin: 15px;}
.admin-side-toggle,.admin-side-full{
position: absolute; cursor: pointer;
z-index: 19940201;
left: 200px;
color: white;
text-align: center;
width: 30px;
height: 30px;
background-color: #1AA094;
line-height: 30px;
top: 25%;
}
.admin-side-toggle:hover{
background-color: #5FB878;
}
.admin-side-full{
left: 240px;
}
.admin-login-box{
width: 185px; height: 70px; position: relative;
}
.beg-navbar .layui-nav-child dd a{
padding-left: 30px;
}
.admin-contextmenu{
position: absolute;line-height: 36px;padding: 5px 0;
border: 1px solid #d2d2d2;background-color: white;z-index: 19940201;border-radius: 2px;white-space: nowrap;top:30px;
/*width: 100px;height: 200px; */
}
.admin-contextmenu ul li{
padding: 0 15px;
}
.admin-contextmenu ul li:hover{
background-color: #eee;
cursor: pointer;
}
/* 适配多设备 */
@media screen and (max-width: 750px) {
.layui-main{width: auto; margin: 0 10px;}
.logo,
.header-demo .logo{left: 10px;}
.site-nav-layim{display: none !important;}
.header .layui-nav .layui-nav-item{margin: 0;}
.header .layui-nav .layui-nav-item a{padding: 0 15px;}
.site-banner{height: 300px;}
.site-banner-bg{background-size: cover;}
.site-zfj{height: 100px; padding-top: 5px;}
.site-zfj i{top: 10px; width: 100px; height: 100px; margin-left: -50px; font-size: 100px;}
.site-desc{background-size: 70%; margin: 0;}
.site-desc cite{display: none;}
.site-download{margin-top: 0; }
.site-download a{height: 40px; line-height: 40px; padding: 0 25px 0 60px; border: 1px solid #778097; border-radius: 30px; color: #fff; font-size: 16px;}
.site-download a cite{left: 20px;}
.site-banner-other{bottom: 15px;}
.site-idea{margin: 20px 0;}
.site-idea li{margin: 0 0 20px 0; width: 100%; height: auto; -webkit-box-sizing: border-box !important; -moz-box-sizing: border-box !important; box-sizing: border-box !important;}
.site-hengfu img{max-width: 100%}
.layui-layer-dir{display: none;}
.site-tree{position: fixed; top: 0; bottom: 0; min-height: 0; overflow: auto; z-index: 1000; left: -260px; background-color: #fff; transition: all .3s; -webkit-transition: all .3s;}
.site-content{width: 100%; padding: 0; overflow: auto;}
.site-content img{max-width: 100%;}
.site-tree-mobile{display: block!important; position: fixed; z-index: 100000; bottom: 15px; left: 15px; width: 50px; height: 50px; line-height: 50px; border-radius: 2px; text-align: center; background-color: rgba(0,0,0,.7); color: #fff;}
.site-home .site-tree-mobile{display: none!important;}
.site-mobile .site-tree-mobile{display: none !important;}
.site-mobile .site-tree{left: 0;}
.site-mobile .site-mobile-shade{content: ''; position: fixed; top: 0; bottom: 0; left: 0; right: 0; background-color: rgba(0,0,0,.8); z-index: 9999;}
.site-tree-mobile i{font-size: 20px;}
.layui-code-view{-webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;}
.layui-layout-admin .layui-side{position: fixed; top: 0; left: -260px; transition: all .3s; -webkit-transition: all .3s; z-index: 10000;}
.layui-body{position: static; bottom: 0; left: 0;}
.site-mobile .layui-side{left: 0;}
body .layui-layout-admin .footer-demo{position: static;}
.site-demo-area,
.site-demo-editor,
.site-demo-result,
.site-demo-editor textarea,
.site-demo-result iframe{position: static; width: 100%;}
.site-demo-editor textarea{height: 350px;}
.site-demo-zanzhu{display: none;}
.site-demo-btn{bottom: auto; top: 370px;}
.site-demo-result iframe{height: 500px;}
.site-demo-laytpl textarea, .site-demo-laytpl div span{margin: 0;}
.site-demo-tplres .site-demo-tplh2, .site-demo-tplres .site-demo-tplview{width: 100%; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;}
.site-demo-title{position: static; left: 0;}
body .layui-layout-admin .site-demo{}
.site-demo-code{position: static; height: 350px;}
.admin-side-toggle ,.admin-header-item{display: none;}
.admin-header-item-mobile{ display: block; }
}
.beg-layout-container{
/*min-width: 1024px;*/
}
.beg-layout-container .beg-layout-main{
position: absolute;
}
.beg-layout-container .beg-layout-header{
background-color: #FFFFFF;
height: 55px;
position: fixed;
width: 100%;
min-width: 800px;
border-bottom: 5px solid #1AA094;
}
.beg-layout-container .beg-layout-header .beg-layout-logo{
width: 200px;
height: 60px;
text-align: center;
line-height: 60px;
}
.beg-layout-container .beg-layout-header .beg-layout-side-toggle{
position: absolute;
cursor: pointer;
z-index: 19940201;
left: 200px;
color: white;
text-align: center;
width: 30px;
height: 30px;
background-color: #1AA094;
line-height: 30px;
top: 25%;
}
.beg-layout-container .beg-layout-header .beg-layout-side-toggle:hover{
background-color: #5FB878;
}
.beg-layout-container .beg-layout-header .beg-layout-menu{
top: 0;
left:230px;
}
.beg-layout-header .beg-layout-menu .beg-layout-nav{
background: none;
}
.beg-layout-header .beg-layout-menu .beg-layout-nav .layui-nav-item{
line-height: 60px;
}
.beg-layout-header .beg-layout-menu .beg-layout-nav .layui-nav-item .layui-nav-more{
top:27px
}
.beg-layout-header .beg-layout-menu .beg-layout-nav .layui-nav-item .layui-nav-mored{
top:20px
}
.beg-layout-header .beg-layout-menu .beg-layout-nav .layui-this{
color: #FFFFFF;
background-color: #4E5465;
}
.beg-layout-header .beg-layout-menu .beg-layout-nav .layui-this:after,.beg-layout-header .layui-nav-bar{
background-color: #4E5465;
}
.beg-layout-header .beg-layout-menu .beg-layout-nav .layui-nav-item a{
color: #393D49;
}
.beg-layout-header .beg-layout-menu .beg-layout-nav .layui-this a{
color: #FFFFFF;
}
.beg-layout-header .beg-layout-menu .beg-layout-nav .layui-nav-item a:hover{
color: #FFFFFF;
background-color: #4E5465;
}
.beg-layout-header .beg-layout-panel{
right: 10px;
}
.beg-layout-header .beg-layout-panel .beg-layout-nav{
background: none;
}
.beg-layout-header .beg-layout-panel .beg-layout-nav a{
color: #393D49;
}
.beg-layout-header .beg-layou-head{
}
.beg-layout-header .beg-layou-head img{
width: 40px; height: 40px; border-radius: 100%;
}
.beg-layout-container .beg-layout-side{
background-color: #393D49;
color: #FFFFFF;
top: 60px;
}
.beg-layout-container .beg-layout-body{
top: 60px;
height: auto;
}
.beg-layout-container .beg-layout-body .layout-nav-card cite{
font-style: normal;
padding-left: 5px;
}
.beg-layout-body iframe{
width: 100%;
border: 0;
height: 99.5%;
}
.beg-layout-container .beg-layout-footer{
line-height: 44px;
text-align: center;
}
.layout-tab-contextmenu {width: 135px; background-color: #CCCCCC;position: absolute; z-index: 19940201;display: none;}
.layout-tab-contextmenu .layui-nav{
padding: 5px 3px;
}
.layout-tab-contextmenu .layui-nav .layui-nav-item{
line-height: 27px;width: 100%;
}
.layout-tab-contextmenu .layui-nav .layui-nav-item:hover{
background-color: #5FB878;
}
.layout-tab-contextmenu .layui-nav .layui-nav-item a{
text-align: left;
}
.layout-tab-contextmenu .layui-nav .layui-this:after, .layout-tab-contextmenu .layui-nav-bar {
transition: none; -webkit-transition:none; background: none;
}
.admin-contextmenu{
position: absolute;line-height: 36px;padding: 5px 0;
border: 1px solid #d2d2d2;background-color: white;z-index: 19940201;border-radius: 2px;white-space: nowrap;top:30px;
/*width: 100px;height: 200px; */
}
.admin-contextmenu ul li{
padding: 0 15px;
}
.admin-contextmenu ul li:hover{
background-color: #eee;
cursor: pointer;
}
@media screen and (max-width: 1024px) {
.beg-layout-menu cite{
display: none;
}
}
\ No newline at end of file
.beg-login-bg {
background: url(../Images/login-bg-1.jpg) no-repeat center center fixed;
background-color: #393D49;
}
.beg-login-box {
width: 450px;
height: 330px;
margin: 10% auto;
background-color: rgba(255, 255, 255, 0.407843);
border-radius: 10px;
color: aliceblue;
}
.beg-login-box header {
height: 39px;
padding: 10px;
border-bottom: 1px solid aliceblue;
}
.beg-login-box header h1 {
text-align: center;
font-size: 25px;
line-height: 40px;
}
.beg-login-box .beg-login-main {
height: 185px;
padding: 30px 90px 0;
}
.beg-login-main .layui-form-item {
position: relative;
}
.beg-login-main .layui-form-item .beg-login-icon {
position: absolute;
color: #cccccc;
top: 10px;
left: 10px;
}
.beg-login-main .layui-form-item input {
padding-left: 34px;
}
.beg-login-box footer {
height: 35px;
padding: 10px 10px 0 10px;
}
.beg-login-box footer p {
line-height: 35px;
text-align: center;
}
.beg-pull-left {
float: left !important;
}
.beg-pull-right {
float: right !important;
}
.beg-clear {
clear: both;
}
.beg-login-remember {
line-height: 38px;
}
.beg-login-remember .layui-form-switch {
margin-top: 0px;
}
.beg-login-code-box {
position: relative;
padding: 10px;
}
.beg-login-code-box input {
position: absolute;
width: 100px;
}
.beg-login-code-box img {
cursor: pointer;
position: absolute;
left: 115px;
height: 38px;
}
\ No newline at end of file
.admin-main{
margin: 15px;
}
.admin-main .layui-field-title .layui-field-box{
padding: 10px 30px;
}
.admin-main .layui-field-title .layui-field-box p{
padding: 5px 0;
}
/*table*/
.site-table tbody tr td {text-align: center;}
.site-table tbody tr td .layui-btn+.layui-btn{margin-left: 0px;}
.admin-table-page {position: fixed;z-index: 19940201;bottom: 0;width: 100%;background-color: #eee;border-bottom: 1px solid #ddd;left: 0px;}
.admin-table-page .page{padding-left:20px;}
.admin-table-page .page .layui-laypage {margin: 6px 0 0 0;}
.table-hover tbody tr:hover{ background-color: #EEEEEE; }
.admin-table{
}
.admin-table .layui-form-checkbox{
margin-top: 0;
height: 20px;
line-height: 20px;
}
This source diff could not be displayed because it is too large. You can view the blob instead.
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment