Merge remote-tracking branch 'origin/master'
New file |
| | |
| | | package com.stylefeng.guns.modular.system.controller.general; |
| | | |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.stylefeng.guns.core.base.controller.BaseController; |
| | | import com.stylefeng.guns.modular.system.controller.resp.TDriverResp; |
| | | import com.stylefeng.guns.modular.system.controller.util.ExcelUtil; |
| | | import com.stylefeng.guns.modular.system.enums.TBillStateEnum; |
| | | import com.stylefeng.guns.modular.system.model.TDriver; |
| | | import io.swagger.annotations.ApiImplicitParam; |
| | | import io.swagger.annotations.ApiImplicitParams; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.apache.poi.hssf.usermodel.HSSFWorkbook; |
| | | import org.springframework.stereotype.Controller; |
| | | import org.springframework.util.StringUtils; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.ResponseBody; |
| | | import org.springframework.ui.Model; |
| | | import org.springframework.web.bind.annotation.PathVariable; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import com.stylefeng.guns.core.log.LogObjectHolder; |
| | | import org.springframework.web.bind.annotation.RequestParam; |
| | | import com.stylefeng.guns.modular.system.model.TBill; |
| | | import com.stylefeng.guns.modular.system.service.ITBillService; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.io.OutputStream; |
| | | import java.math.BigDecimal; |
| | | import java.text.DateFormat; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | |
| | | /** |
| | | * 控制器 |
| | | * |
| | | * @author fengshuonan |
| | | * @Date 2023-03-14 15:15:19 |
| | | */ |
| | | @Controller |
| | | @RequestMapping("/tBill") |
| | | public class TBillController extends BaseController { |
| | | |
| | | private String PREFIX = "/system/tBill/"; |
| | | |
| | | @Autowired |
| | | private ITBillService tBillService; |
| | | |
| | | /** |
| | | * 跳转到首页 |
| | | */ |
| | | @RequestMapping("") |
| | | public String index() { |
| | | return PREFIX + "tBill.html"; |
| | | } |
| | | |
| | | /** |
| | | * 跳转到添加 |
| | | */ |
| | | @RequestMapping("/tBill_add") |
| | | public String tBillAdd() { |
| | | return PREFIX + "tBill_add.html"; |
| | | } |
| | | |
| | | /** |
| | | * 跳转到修改 |
| | | */ |
| | | @RequestMapping("/tBill_update/{tBillId}") |
| | | public String tBillUpdate(@PathVariable Integer tBillId, Model model) { |
| | | TBill tBill = tBillService.selectById(tBillId); |
| | | model.addAttribute("item",tBill); |
| | | LogObjectHolder.me().set(tBill); |
| | | return PREFIX + "tBill_edit.html"; |
| | | } |
| | | |
| | | /** |
| | | * 获取列表 |
| | | */ |
| | | @RequestMapping(value = "/list") |
| | | @ResponseBody |
| | | public Object list(String createTime,String addresseePhone,Integer state,Integer billType,Integer billHeaderType) { |
| | | EntityWrapper<TBill> wrapper = tBillService.getPageListWrapper(createTime,addresseePhone,state,billType,billHeaderType); |
| | | return tBillService.selectList(wrapper); |
| | | } |
| | | |
| | | /** |
| | | * 详情 |
| | | */ |
| | | @RequestMapping(value = "/confirm") |
| | | @ResponseBody |
| | | public Object confirm(Integer tBillId) { |
| | | TBill tBill = tBillService.selectById(tBillId); |
| | | tBill.setState(TBillStateEnum.FINISH_BILL.getCode()); |
| | | tBillService.updateById(tBill); |
| | | return SUCCESS_TIP; |
| | | } |
| | | |
| | | /** |
| | | * 详情 |
| | | */ |
| | | @RequestMapping(value = "/cancel") |
| | | @ResponseBody |
| | | public Object cancel(Integer tBillId) { |
| | | TBill tBill = tBillService.selectById(tBillId); |
| | | tBill.setState(TBillStateEnum.FAIL_BILL.getCode()); |
| | | tBillService.updateById(tBill); |
| | | return SUCCESS_TIP; |
| | | } |
| | | |
| | | /** |
| | | * 获取列表 |
| | | */ |
| | | @RequestMapping(value = "/list-back") |
| | | @ResponseBody |
| | | public Object listBack(String condition) { |
| | | return tBillService.selectList(null); |
| | | } |
| | | |
| | | /** |
| | | * 新增 |
| | | */ |
| | | @RequestMapping(value = "/add") |
| | | @ResponseBody |
| | | public Object add(TBill tBill) { |
| | | tBillService.insert(tBill); |
| | | return SUCCESS_TIP; |
| | | } |
| | | |
| | | /** |
| | | * 删除 |
| | | */ |
| | | @RequestMapping(value = "/delete") |
| | | @ResponseBody |
| | | public Object delete(@RequestParam Integer tBillId) { |
| | | tBillService.deleteById(tBillId); |
| | | return SUCCESS_TIP; |
| | | } |
| | | |
| | | /** |
| | | * 修改 |
| | | */ |
| | | @RequestMapping(value = "/update") |
| | | @ResponseBody |
| | | public Object update(TBill tBill) { |
| | | tBillService.updateById(tBill); |
| | | return SUCCESS_TIP; |
| | | } |
| | | |
| | | /** |
| | | * 详情 |
| | | */ |
| | | @RequestMapping(value = "/detail/{tBillId}") |
| | | @ResponseBody |
| | | public Object detail(@PathVariable("tBillId") Integer tBillId) { |
| | | return tBillService.selectById(tBillId); |
| | | } |
| | | |
| | | @ApiOperation(value = "导出发票列表",notes="导出发票列表") |
| | | @RequestMapping(value = "/export") |
| | | @ResponseBody |
| | | public void export(String createTime,String addresseePhone,Integer state,Integer billType,Integer billHeaderType, HttpServletResponse response) { |
| | | try { |
| | | Date date = new Date(); |
| | | DateFormat format = new SimpleDateFormat("yyyyMMdd"); |
| | | String time1 = format.format(date); |
| | | String fileName = "BillInfo"+time1+".xls"; |
| | | String[] title = new String[] {"申请时间","发票类型","抬头类型","发票抬头","公司税号","发票内容", |
| | | "发票金额","收件人姓名","收件人电话","收件人邮箱","开票状态"}; |
| | | EntityWrapper<TBill> wrapper = tBillService.getPageListWrapper(createTime,addresseePhone,state,billType,billHeaderType); |
| | | List<TBill> tBills = tBillService.selectList(wrapper); |
| | | String[][] values = new String[tBills.size()][]; |
| | | for (int i = 0; i < tBills.size(); i++) { |
| | | TBill d = tBills.get(i); |
| | | values[i] = new String[title.length]; |
| | | values[i][0] = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(d.getCreateTime()); |
| | | Integer billType1 = d.getBillType(); |
| | | if(1 == billType1){ |
| | | values[i][1] = "电子发票"; |
| | | } |
| | | Integer billHeaderType1 = d.getBillHeaderType(); |
| | | if(1 == billHeaderType1){ |
| | | values[i][2] = "公司"; |
| | | } else if (2 == billHeaderType1) { |
| | | values[i][2] = "个人"; |
| | | } |
| | | values[i][3] = d.getCompanyName(); |
| | | values[i][4] = d.getCompanyTaxNumber(); |
| | | values[i][5] = d.getBillContent(); |
| | | values[i][6] = String.valueOf(Objects.nonNull(d.getBillAmount())?d.getBillAmount(): BigDecimal.ZERO); |
| | | values[i][7] = d.getAddresseeName(); |
| | | values[i][8] = d.getAddresseePhone(); |
| | | values[i][9] = d.getAddresseeEmail(); |
| | | Integer state1 = d.getState(); |
| | | if(1 == state1){ |
| | | values[i][10] = "待开票"; |
| | | } else if (2 == state1) { |
| | | values[i][10] = "已开票"; |
| | | } else if (3 == state1) { |
| | | values[i][10] = "开票失败"; |
| | | } |
| | | } |
| | | HSSFWorkbook wb = ExcelUtil.getHSSFWorkbook("Variance"+time1, title, values, null); |
| | | ExcelUtil.setResponseHeader(response, fileName); |
| | | OutputStream os = response.getOutputStream(); |
| | | wb.write(os); |
| | | os.flush(); |
| | | os.close(); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | } |
| | |
| | | import com.stylefeng.guns.core.shiro.ShiroKit; |
| | | import com.stylefeng.guns.modular.system.controller.resp.TBranchOfficeResp; |
| | | import com.stylefeng.guns.modular.system.controller.resp.TDriverResp; |
| | | import com.stylefeng.guns.modular.system.enums.StatusEnum; |
| | | import com.stylefeng.guns.modular.system.model.*; |
| | | import com.stylefeng.guns.modular.system.service.ITRegionService; |
| | | import com.stylefeng.guns.modular.system.service.ITSystemConfigService; |
| | |
| | | @ResponseBody |
| | | public Object start(Integer id) { |
| | | TBranchOffice tBranchOffice = tBranchOfficeService.selectById(id); |
| | | tBranchOffice.setStatus(1); |
| | | tBranchOffice.setStatus(StatusEnum.NORMAL.getCode()); |
| | | tBranchOfficeService.updateById(tBranchOffice); |
| | | return SUCCESS_TIP; |
| | | } |
| | |
| | | @ResponseBody |
| | | public Object updateStatus(Integer id) { |
| | | TBranchOffice tBranchOffice = tBranchOfficeService.selectById(id); |
| | | tBranchOffice.setStatus(2); |
| | | tBranchOffice.setStatus(StatusEnum.FREEZE.getCode()); |
| | | tBranchOfficeService.updateById(tBranchOffice); |
| | | return SUCCESS_TIP; |
| | | } |
| | |
| | | if(Objects.nonNull(o)){ |
| | | return o; |
| | | } |
| | | tBranchOffice.setStatus(1); |
| | | tBranchOffice.setStatus(StatusEnum.NORMAL.getCode()); |
| | | |
| | | tBranchOfficeService.insert(tBranchOffice); |
| | | return SUCCESS_TIP; |
| | |
| | | @RequestMapping(value = "/delete") |
| | | @ResponseBody |
| | | public Object delete(@RequestParam Integer tBranchOfficeId) { |
| | | tBranchOfficeService.deleteById(tBranchOfficeId); |
| | | TBranchOffice tBranchOffice = tBranchOfficeService.selectById(tBranchOfficeId); |
| | | tBranchOffice.setStatus(StatusEnum.DELETE.getCode()); |
| | | tBranchOfficeService.updateById(tBranchOffice); |
| | | return SUCCESS_TIP; |
| | | } |
| | | |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.controller.general; |
| | | |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.stylefeng.guns.core.base.controller.BaseController; |
| | | import com.stylefeng.guns.core.util.DateUtil; |
| | | import com.stylefeng.guns.modular.system.enums.StatusEnum; |
| | | import com.stylefeng.guns.modular.system.model.TSystemBulletin; |
| | | import org.springframework.stereotype.Controller; |
| | | import org.springframework.util.StringUtils; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.ResponseBody; |
| | | import org.springframework.ui.Model; |
| | | import org.springframework.web.bind.annotation.PathVariable; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import com.stylefeng.guns.core.log.LogObjectHolder; |
| | | import org.springframework.web.bind.annotation.RequestParam; |
| | | import com.stylefeng.guns.modular.system.model.TBroadcast; |
| | | import com.stylefeng.guns.modular.system.service.ITBroadcastService; |
| | | |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * 控制器 |
| | | * |
| | | * @author fengshuonan |
| | | * @Date 2023-03-16 10:38:00 |
| | | */ |
| | | @Controller |
| | | @RequestMapping("/tBroadcast") |
| | | public class TBroadcastController extends BaseController { |
| | | |
| | | private String PREFIX = "/system/tBroadcast/"; |
| | | |
| | | @Autowired |
| | | private ITBroadcastService tBroadcastService; |
| | | |
| | | /** |
| | | * 跳转到首页 |
| | | */ |
| | | @RequestMapping("") |
| | | public String index() { |
| | | return PREFIX + "tBroadcast.html"; |
| | | } |
| | | |
| | | /** |
| | | * 跳转到添加 |
| | | */ |
| | | @RequestMapping("/tBroadcast_add") |
| | | public String tBroadcastAdd() { |
| | | return PREFIX + "tBroadcast_add.html"; |
| | | } |
| | | |
| | | /** |
| | | * 跳转到修改 |
| | | */ |
| | | @RequestMapping("/tBroadcast_update/{tBroadcastId}") |
| | | public String tBroadcastUpdate(@PathVariable Integer tBroadcastId, Model model) { |
| | | TBroadcast tBroadcast = tBroadcastService.selectById(tBroadcastId); |
| | | model.addAttribute("item",tBroadcast); |
| | | LogObjectHolder.me().set(tBroadcast); |
| | | return PREFIX + "tBroadcast_edit.html"; |
| | | } |
| | | |
| | | /** |
| | | * 获取列表 |
| | | */ |
| | | @RequestMapping(value = "/list") |
| | | @ResponseBody |
| | | public Object list(String createTime,String content) { |
| | | |
| | | EntityWrapper<TBroadcast> wrapper = new EntityWrapper<>(); |
| | | |
| | | if(StringUtils.hasLength(content)){ |
| | | wrapper.like("content",content); |
| | | } |
| | | if(StringUtils.hasLength(createTime)){ |
| | | String[] split = createTime.split(" - "); |
| | | Date startTime = DateUtil.getDate_str4(split[0]); |
| | | Date endTime = DateUtil.getDate_str4(split[1]); |
| | | wrapper.between("createTime",startTime,endTime); |
| | | } |
| | | wrapper.ne("status", StatusEnum.DELETE.getCode()); |
| | | return tBroadcastService.selectList(wrapper); |
| | | } |
| | | |
| | | /** |
| | | * 获取列表 |
| | | */ |
| | | @RequestMapping(value = "/list-back") |
| | | @ResponseBody |
| | | public Object listBack(String condition) { |
| | | return tBroadcastService.selectList(null); |
| | | } |
| | | |
| | | /** |
| | | * 新增 |
| | | */ |
| | | @RequestMapping(value = "/add") |
| | | @ResponseBody |
| | | public Object add(TBroadcast tBroadcast) { |
| | | tBroadcastService.insert(tBroadcast); |
| | | return SUCCESS_TIP; |
| | | } |
| | | |
| | | /** |
| | | * 删除 |
| | | */ |
| | | @RequestMapping(value = "/delete") |
| | | @ResponseBody |
| | | public Object delete(@RequestParam Integer tBroadcastId) { |
| | | TBroadcast tBroadcast = tBroadcastService.selectById(tBroadcastId); |
| | | tBroadcast.setStatus(StatusEnum.DELETE.getCode()); |
| | | tBroadcastService.updateById(tBroadcast); |
| | | return SUCCESS_TIP; |
| | | } |
| | | |
| | | /** |
| | | * 修改 |
| | | */ |
| | | @RequestMapping(value = "/update") |
| | | @ResponseBody |
| | | public Object update(TBroadcast tBroadcast) { |
| | | tBroadcastService.updateById(tBroadcast); |
| | | return SUCCESS_TIP; |
| | | } |
| | | |
| | | /** |
| | | * 详情 |
| | | */ |
| | | @RequestMapping(value = "/detail/{tBroadcastId}") |
| | | @ResponseBody |
| | | public Object detail(@PathVariable("tBroadcastId") Integer tBroadcastId) { |
| | | return tBroadcastService.selectById(tBroadcastId); |
| | | } |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.controller.general; |
| | | |
| | | import com.stylefeng.guns.core.base.controller.BaseController; |
| | | import org.springframework.stereotype.Controller; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.ResponseBody; |
| | | import org.springframework.ui.Model; |
| | | import org.springframework.web.bind.annotation.PathVariable; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import com.stylefeng.guns.core.log.LogObjectHolder; |
| | | import org.springframework.web.bind.annotation.RequestParam; |
| | | import com.stylefeng.guns.modular.system.model.TCommercial; |
| | | import com.stylefeng.guns.modular.system.service.ITCommercialService; |
| | | |
| | | /** |
| | | * 控制器 |
| | | * |
| | | * @author fengshuonan |
| | | * @Date 2023-03-16 10:38:08 |
| | | */ |
| | | @Controller |
| | | @RequestMapping("/tCommercial") |
| | | public class TCommercialController extends BaseController { |
| | | |
| | | private String PREFIX = "/system/tCommercial/"; |
| | | |
| | | @Autowired |
| | | private ITCommercialService tCommercialService; |
| | | |
| | | /** |
| | | * 跳转到首页 |
| | | */ |
| | | @RequestMapping("") |
| | | public String index() { |
| | | return PREFIX + "tCommercial.html"; |
| | | } |
| | | |
| | | /** |
| | | * 跳转到添加 |
| | | */ |
| | | @RequestMapping("/tCommercial_add") |
| | | public String tCommercialAdd() { |
| | | return PREFIX + "tCommercial_add.html"; |
| | | } |
| | | |
| | | /** |
| | | * 跳转到修改 |
| | | */ |
| | | @RequestMapping("/tCommercial_update/{tCommercialId}") |
| | | public String tCommercialUpdate(@PathVariable Integer tCommercialId, Model model) { |
| | | TCommercial tCommercial = tCommercialService.selectById(tCommercialId); |
| | | model.addAttribute("item",tCommercial); |
| | | LogObjectHolder.me().set(tCommercial); |
| | | return PREFIX + "tCommercial_edit.html"; |
| | | } |
| | | |
| | | /** |
| | | * 获取列表 |
| | | */ |
| | | @RequestMapping(value = "/list") |
| | | @ResponseBody |
| | | public Object list(String condition) { |
| | | return tCommercialService.selectList(null); |
| | | } |
| | | |
| | | /** |
| | | * 新增 |
| | | */ |
| | | @RequestMapping(value = "/add") |
| | | @ResponseBody |
| | | public Object add(TCommercial tCommercial) { |
| | | tCommercialService.insert(tCommercial); |
| | | return SUCCESS_TIP; |
| | | } |
| | | |
| | | /** |
| | | * 删除 |
| | | */ |
| | | @RequestMapping(value = "/delete") |
| | | @ResponseBody |
| | | public Object delete(@RequestParam Integer tCommercialId) { |
| | | tCommercialService.deleteById(tCommercialId); |
| | | return SUCCESS_TIP; |
| | | } |
| | | |
| | | /** |
| | | * 修改 |
| | | */ |
| | | @RequestMapping(value = "/update") |
| | | @ResponseBody |
| | | public Object update(TCommercial tCommercial) { |
| | | tCommercialService.updateById(tCommercial); |
| | | return SUCCESS_TIP; |
| | | } |
| | | |
| | | /** |
| | | * 详情 |
| | | */ |
| | | @RequestMapping(value = "/detail/{tCommercialId}") |
| | | @ResponseBody |
| | | public Object detail(@PathVariable("tCommercialId") Integer tCommercialId) { |
| | | return tCommercialService.selectById(tCommercialId); |
| | | } |
| | | } |
| | |
| | | import com.stylefeng.guns.core.util.DateUtil; |
| | | import com.stylefeng.guns.modular.system.controller.req.CouponSendReq; |
| | | import com.stylefeng.guns.modular.system.enums.CouponStatusEnum; |
| | | import com.stylefeng.guns.modular.system.enums.StatusEnum; |
| | | import com.stylefeng.guns.modular.system.model.TAgent; |
| | | import com.stylefeng.guns.modular.system.model.TUserToCoupon; |
| | | import com.stylefeng.guns.modular.system.service.ITUserToCouponService; |
| | |
| | | Date endTime = DateUtil.getDate_str4(split[1]); |
| | | wrapper.between("create_time",startTime,endTime); |
| | | } |
| | | wrapper.ne("status", StatusEnum.DELETE.getCode()); |
| | | wrapper.orderBy(true,"create_time",false); |
| | | return tCouponService.selectList(wrapper); |
| | | } |
| | |
| | | @RequestMapping(value = "/delete") |
| | | @ResponseBody |
| | | public Object delete(@RequestParam Integer tCouponId) { |
| | | /*TCoupon tCoupon = tCouponService.selectById(tCouponId); |
| | | tCoupon.setCouponStatus(StatusEnum.DELETE.getCode()); |
| | | tCouponService.updateById(tCoupon);*/ |
| | | tCouponService.deleteById(tCouponId); |
| | | return SUCCESS_TIP; |
| | | } |
| | |
| | | package com.stylefeng.guns.modular.system.controller.general; |
| | | |
| | | import cn.hutool.core.util.CreditCodeUtil; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.stylefeng.guns.core.base.controller.BaseController; |
| | |
| | | import com.stylefeng.guns.modular.system.controller.resp.TDriverCommissionResp; |
| | | import com.stylefeng.guns.modular.system.controller.resp.TDriverResp; |
| | | import com.stylefeng.guns.modular.system.controller.util.*; |
| | | import com.stylefeng.guns.modular.system.enums.UserTypeEnum; |
| | | import com.stylefeng.guns.modular.system.model.*; |
| | | import com.stylefeng.guns.modular.system.service.ITAgentService; |
| | | import com.stylefeng.guns.modular.system.service.ITBranchOfficeService; |
| | | import com.stylefeng.guns.modular.system.service.ITRegionService; |
| | | import com.stylefeng.guns.modular.system.service.*; |
| | | import io.swagger.annotations.ApiImplicitParam; |
| | | import io.swagger.annotations.ApiImplicitParams; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.data.redis.core.RedisTemplate; |
| | | import org.springframework.stereotype.Controller; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.util.StringUtils; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.ResponseBody; |
| | |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import com.stylefeng.guns.core.log.LogObjectHolder; |
| | | import org.springframework.web.bind.annotation.RequestParam; |
| | | import com.stylefeng.guns.modular.system.service.ITDriverService; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.io.File; |
| | |
| | | private HttpUtils httpUtils; |
| | | @Autowired |
| | | private TokenUtils tokenUtils; |
| | | @Autowired |
| | | private ITRechargeRecordService tRechargeRecordService; |
| | | |
| | | /** |
| | | * 跳转到首页 |
| | |
| | | */ |
| | | @ApiOperation(value = "充值余额") |
| | | @RequestMapping(value = "/recharge-balance") |
| | | @Transactional(rollbackFor = Exception.class) |
| | | @ResponseBody |
| | | public Object rechargeBalance(Integer id, String money) { |
| | | TDriver tDriver = tDriverService.selectById(id); |
| | | tDriver.setBackgroundBalance(new BigDecimal(money).add(tDriver.getBackgroundBalance())); |
| | | tDriverService.updateById(tDriver); |
| | | |
| | | // 添加充值记录 |
| | | TRechargeRecord tRechargeRecord = new TRechargeRecord(); |
| | | tRechargeRecord.setType(UserTypeEnum.AGENT.getCode()); |
| | | tRechargeRecord.setUserId(id); |
| | | tRechargeRecord.setCode(UUIDUtil.getNumberRandom(16)); |
| | | tRechargeRecord.setAmount(new BigDecimal(money)); |
| | | tRechargeRecord.setPayType(2); |
| | | tRechargeRecord.setPayTime(new Date()); |
| | | tRechargeRecord.setPayStatus(2); |
| | | tRechargeRecord.setCreateTime(new Date()); |
| | | tRechargeRecord.setAgentId(Objects.requireNonNull(ShiroKit.getUser()).getId()); |
| | | tRechargeRecordService.insert(tRechargeRecord); |
| | | return SUCCESS_TIP; |
| | | } |
| | | |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.controller.general; |
| | | |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.stylefeng.guns.core.base.controller.BaseController; |
| | | import com.stylefeng.guns.core.util.DateUtil; |
| | | import com.stylefeng.guns.modular.system.enums.StatusEnum; |
| | | import org.springframework.stereotype.Controller; |
| | | import org.springframework.util.StringUtils; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.ResponseBody; |
| | | import org.springframework.ui.Model; |
| | | import org.springframework.web.bind.annotation.PathVariable; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import com.stylefeng.guns.core.log.LogObjectHolder; |
| | | import org.springframework.web.bind.annotation.RequestParam; |
| | | import com.stylefeng.guns.modular.system.model.TEdition; |
| | | import com.stylefeng.guns.modular.system.service.ITEditionService; |
| | | |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * 控制器 |
| | | * |
| | | * @author fengshuonan |
| | | * @Date 2023-03-14 09:44:02 |
| | | */ |
| | | @Controller |
| | | @RequestMapping("/tEdition") |
| | | public class TEditionController extends BaseController { |
| | | |
| | | private String PREFIX = "/system/tEdition/"; |
| | | |
| | | @Autowired |
| | | private ITEditionService tEditionService; |
| | | |
| | | /** |
| | | * 跳转到首页 |
| | | */ |
| | | @RequestMapping("") |
| | | public String index() { |
| | | return PREFIX + "tEdition.html"; |
| | | } |
| | | |
| | | /** |
| | | * 跳转到添加 |
| | | */ |
| | | @RequestMapping("/tEdition_add") |
| | | public String tEditionAdd() { |
| | | return PREFIX + "tEdition_add.html"; |
| | | } |
| | | |
| | | /** |
| | | * 跳转到修改 |
| | | */ |
| | | @RequestMapping("/tEdition_update/{tEditionId}") |
| | | public String tEditionUpdate(@PathVariable Integer tEditionId, Model model) { |
| | | TEdition tEdition = tEditionService.selectById(tEditionId); |
| | | model.addAttribute("item",tEdition); |
| | | LogObjectHolder.me().set(tEdition); |
| | | return PREFIX + "tEdition_edit.html"; |
| | | } |
| | | |
| | | /** |
| | | * 获取列表 |
| | | */ |
| | | @RequestMapping(value = "/list") |
| | | @ResponseBody |
| | | public Object list(String createTime,String editionNo) { |
| | | EntityWrapper<TEdition> wrapper = new EntityWrapper<>(); |
| | | if(StringUtils.hasLength(createTime)){ |
| | | String[] split = createTime.split(" - "); |
| | | Date startTime = DateUtil.getDate_str4(split[0]); |
| | | Date endTime = DateUtil.getDate_str4(split[1]); |
| | | wrapper.between("createTime",startTime,endTime); |
| | | } |
| | | if(StringUtils.hasLength(editionNo)){ |
| | | wrapper.like("editionNo",editionNo); |
| | | } |
| | | wrapper.ne("status", StatusEnum.DELETE.getCode()); |
| | | return tEditionService.selectList(wrapper); |
| | | } |
| | | |
| | | /** |
| | | * 获取列表 |
| | | */ |
| | | @RequestMapping(value = "/list-back") |
| | | @ResponseBody |
| | | public Object listBack(String condition) { |
| | | return tEditionService.selectList(null); |
| | | } |
| | | |
| | | /** |
| | | * 新增 |
| | | */ |
| | | @RequestMapping(value = "/add") |
| | | @ResponseBody |
| | | public Object add(TEdition tEdition) { |
| | | tEditionService.insert(tEdition); |
| | | return SUCCESS_TIP; |
| | | } |
| | | |
| | | /** |
| | | * 删除 |
| | | */ |
| | | @RequestMapping(value = "/delete") |
| | | @ResponseBody |
| | | public Object delete(@RequestParam Integer tEditionId) { |
| | | TEdition tEdition = tEditionService.selectById(tEditionId); |
| | | tEdition.setStatus(StatusEnum.DELETE.getCode()); |
| | | tEditionService.updateById(tEdition); |
| | | return SUCCESS_TIP; |
| | | } |
| | | |
| | | /** |
| | | * 修改 |
| | | */ |
| | | @RequestMapping(value = "/update") |
| | | @ResponseBody |
| | | public Object update(TEdition tEdition) { |
| | | tEditionService.updateById(tEdition); |
| | | return SUCCESS_TIP; |
| | | } |
| | | |
| | | /** |
| | | * 详情 |
| | | */ |
| | | @RequestMapping(value = "/detail/{tEditionId}") |
| | | @ResponseBody |
| | | public Object detail(@PathVariable("tEditionId") Integer tEditionId) { |
| | | return tEditionService.selectById(tEditionId); |
| | | } |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.controller.general; |
| | | |
| | | import com.stylefeng.guns.core.base.controller.BaseController; |
| | | import com.stylefeng.guns.core.shiro.ShiroKit; |
| | | import com.stylefeng.guns.modular.system.service.IUserService; |
| | | import com.stylefeng.guns.modular.system.util.DateUtil; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Controller; |
| | | import org.springframework.ui.Model; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.Date; |
| | | import java.util.Objects; |
| | | |
| | | /** |
| | | * 控制器 |
| | | * |
| | | * @author fengshuonan |
| | | * @Date 2023-03-14 15:15:19 |
| | | */ |
| | | @Controller |
| | | @RequestMapping("/tHomePage") |
| | | public class THomePageController extends BaseController { |
| | | |
| | | @Autowired |
| | | private IUserService userService; |
| | | |
| | | private String PREFIX = "/system/tHomePage/"; |
| | | |
| | | /** |
| | | * 跳转到地图 |
| | | */ |
| | | @RequestMapping("/map") |
| | | public String map() { |
| | | return PREFIX + "tHomePageMap.html"; |
| | | } |
| | | |
| | | /** |
| | | * 跳转到地图 |
| | | */ |
| | | @RequestMapping("/statistics") |
| | | public String statistics(Model model) { |
| | | model.addAttribute("txt",new SimpleDateFormat("yyyy年MM月dd日").format(new Date()) + DateUtil.getWeekDay(new Date()) + ",欢迎" + |
| | | Objects.requireNonNull(ShiroKit.getUser()).getName() + "登录"); |
| | | return PREFIX + "tHomePageStatistics.html"; |
| | | } |
| | | |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.controller.general; |
| | | |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.stylefeng.guns.core.base.controller.BaseController; |
| | | import com.stylefeng.guns.modular.system.controller.resp.RevenueExpenditureResp; |
| | | import com.stylefeng.guns.modular.system.controller.resp.TDriverCommissionResp; |
| | | import com.stylefeng.guns.modular.system.controller.util.ExcelUtil; |
| | | import com.stylefeng.guns.modular.system.model.TDriver; |
| | | import io.swagger.annotations.ApiImplicitParam; |
| | | import io.swagger.annotations.ApiImplicitParams; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.apache.poi.hssf.usermodel.HSSFWorkbook; |
| | | import org.springframework.stereotype.Controller; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.ResponseBody; |
| | | import org.springframework.ui.Model; |
| | | import org.springframework.web.bind.annotation.PathVariable; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import com.stylefeng.guns.core.log.LogObjectHolder; |
| | | import org.springframework.web.bind.annotation.RequestParam; |
| | | import com.stylefeng.guns.modular.system.model.TRevenue; |
| | | import com.stylefeng.guns.modular.system.service.ITRevenueService; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.io.OutputStream; |
| | | import java.math.BigDecimal; |
| | | import java.text.DateFormat; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | |
| | | /** |
| | | * 控制器 |
| | | * |
| | | * @author fengshuonan |
| | | * @Date 2023-03-13 09:49:19 |
| | | */ |
| | | @Controller |
| | | @RequestMapping("/tRevenue") |
| | | public class TRevenueController extends BaseController { |
| | | |
| | | private String PREFIX = "/system/tRevenue/"; |
| | | |
| | | @Autowired |
| | | private ITRevenueService tRevenueService; |
| | | |
| | | /** |
| | | * 跳转到首页 |
| | | */ |
| | | @RequestMapping("") |
| | | public String index() { |
| | | return PREFIX + "tRevenue.html"; |
| | | } |
| | | |
| | | /** |
| | | * 跳转到添加 |
| | | */ |
| | | @RequestMapping("/tRevenue_add") |
| | | public String tRevenueAdd() { |
| | | return PREFIX + "tRevenue_add.html"; |
| | | } |
| | | |
| | | /** |
| | | * 跳转到修改 |
| | | */ |
| | | @RequestMapping("/tRevenue_update/{tRevenueId}") |
| | | public String tRevenueUpdate(@PathVariable Integer tRevenueId, Model model) { |
| | | TRevenue tRevenue = tRevenueService.selectById(tRevenueId); |
| | | model.addAttribute("item",tRevenue); |
| | | LogObjectHolder.me().set(tRevenue); |
| | | return PREFIX + "tRevenue_edit.html"; |
| | | } |
| | | |
| | | /** |
| | | * 跳转到佣金提现详情 |
| | | */ |
| | | @RequestMapping("/commissionDetail") |
| | | public String commissionDetail(String code, Model model) { |
| | | tRevenueService.commissionDetail(code,model); |
| | | return PREFIX + "tRevenueCommissionDetail.html"; |
| | | } |
| | | |
| | | /** |
| | | * 跳转到余额提现详情 |
| | | */ |
| | | @RequestMapping("/balanceDetail") |
| | | public String balanceDetail(String code, Model model) { |
| | | tRevenueService.balanceDetail(code,model); |
| | | return PREFIX + "tRevenueBalanceDetail.html"; |
| | | } |
| | | |
| | | /** |
| | | * 跳转到支付订单详情 |
| | | */ |
| | | @RequestMapping("/orderDetail") |
| | | public String orderDetail(String code, Model model) { |
| | | tRevenueService.orderDetail(code,model); |
| | | return PREFIX + "tRevenueOrderDetail.html"; |
| | | } |
| | | |
| | | /** |
| | | * 获取列表 |
| | | */ |
| | | @RequestMapping(value = "/list") |
| | | @ResponseBody |
| | | public Object list(String code,Integer businessType,Integer payType,String driverName,String businessTime) { |
| | | return tRevenueService.getPageList(code,businessType,payType,driverName,businessTime); |
| | | } |
| | | |
| | | /** |
| | | * 获取列表 |
| | | */ |
| | | @RequestMapping(value = "/list-back") |
| | | @ResponseBody |
| | | public Object listBack(String condition) { |
| | | return tRevenueService.selectList(null); |
| | | } |
| | | |
| | | /** |
| | | * 新增 |
| | | */ |
| | | @RequestMapping(value = "/add") |
| | | @ResponseBody |
| | | public Object add(TRevenue tRevenue) { |
| | | tRevenueService.insert(tRevenue); |
| | | return SUCCESS_TIP; |
| | | } |
| | | |
| | | /** |
| | | * 删除 |
| | | */ |
| | | @RequestMapping(value = "/delete") |
| | | @ResponseBody |
| | | public Object delete(@RequestParam Integer tRevenueId) { |
| | | tRevenueService.deleteById(tRevenueId); |
| | | return SUCCESS_TIP; |
| | | } |
| | | |
| | | /** |
| | | * 修改 |
| | | */ |
| | | @RequestMapping(value = "/update") |
| | | @ResponseBody |
| | | public Object update(TRevenue tRevenue) { |
| | | tRevenueService.updateById(tRevenue); |
| | | return SUCCESS_TIP; |
| | | } |
| | | |
| | | /** |
| | | * 详情 |
| | | */ |
| | | @RequestMapping(value = "/detail/{tRevenueId}") |
| | | @ResponseBody |
| | | public Object detail(@PathVariable("tRevenueId") Integer tRevenueId) { |
| | | return tRevenueService.selectById(tRevenueId); |
| | | } |
| | | |
| | | @ApiOperation(value = "导出收支明细列表",notes="导出收支明细列表") |
| | | @RequestMapping(value = "/export") |
| | | @ResponseBody |
| | | public void export(String code,Integer businessType,Integer payType,String driverName,String businessTime, HttpServletResponse response) { |
| | | try { |
| | | Date date = new Date(); |
| | | DateFormat format = new SimpleDateFormat("yyyyMMdd"); |
| | | String time1 = format.format(date); |
| | | String fileName = "RevenueExpenditureDetailsInfo"+time1+".xls"; |
| | | String[] title = new String[] {"订单号","交易时间","交易类型","司机姓名","司机电话", |
| | | "支付类型","金额","佣金提成","优惠券","余额","状态"}; |
| | | List<RevenueExpenditureResp> pageList = tRevenueService.getPageList(code, businessType, payType, driverName, businessTime); |
| | | |
| | | String[][] values = new String[pageList.size()][]; |
| | | for (int i = 0; i < pageList.size(); i++) { |
| | | RevenueExpenditureResp d = pageList.get(i); |
| | | values[i] = new String[title.length]; |
| | | values[i][0] = d.getCode(); |
| | | values[i][1] = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(d.getBusinessTime()); |
| | | Integer businessType1 = d.getBusinessType(); |
| | | if(1 == businessType1){ |
| | | values[i][2] = "支付订单"; |
| | | }else if (11 == businessType1){ |
| | | values[i][2] = "佣金提现"; |
| | | }else if (12 == businessType1){ |
| | | values[i][2] = "余额提现"; |
| | | } |
| | | values[i][3] = d.getDriverName(); |
| | | values[i][4] = d.getDriverPhone(); |
| | | Integer payType1 = d.getPayType(); |
| | | if(1 == payType1){ |
| | | values[i][5] = "微信支付"; |
| | | }else if (2 == payType1){ |
| | | values[i][5] = "余额支付"; |
| | | }else if (3 == payType1){ |
| | | values[i][5] = "线下收款"; |
| | | } |
| | | values[i][6] = String.valueOf(Objects.isNull(d.getAmount())? BigDecimal.ZERO :d.getAmount()); |
| | | values[i][7] = String.valueOf(Objects.isNull(d.getCommissionAmount())? BigDecimal.ZERO :d.getCommissionAmount()); |
| | | values[i][8] = String.valueOf(Objects.isNull(d.getDiscountedPrice())? BigDecimal.ZERO :d.getDiscountedPrice()); |
| | | values[i][9] = String.valueOf(Objects.isNull(d.getAccountBalance())? BigDecimal.ZERO :d.getAccountBalance()); |
| | | Integer state = d.getState(); |
| | | if(2 == state){ |
| | | values[i][10] = "完成"; |
| | | }else if(108 == state){ |
| | | values[i][10] = "完成"; |
| | | }else if(109 == state){ |
| | | values[i][10] = "完成"; |
| | | } |
| | | } |
| | | HSSFWorkbook wb = ExcelUtil.getHSSFWorkbook("Variance"+time1, title, values, null); |
| | | ExcelUtil.setResponseHeader(response, fileName); |
| | | OutputStream os = response.getOutputStream(); |
| | | wb.write(os); |
| | | os.flush(); |
| | | os.close(); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.controller.general; |
| | | |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.stylefeng.guns.core.base.controller.BaseController; |
| | | import com.stylefeng.guns.core.util.DateUtil; |
| | | import com.stylefeng.guns.modular.system.controller.util.LabelReplaceUtil; |
| | | import com.stylefeng.guns.modular.system.enums.StatusEnum; |
| | | import com.stylefeng.guns.modular.system.enums.UserTypeEnum; |
| | | import com.stylefeng.guns.modular.system.model.TDriver; |
| | | import com.stylefeng.guns.modular.system.model.TSystemBulletinUser; |
| | | import com.stylefeng.guns.modular.system.service.ITDriverService; |
| | | import com.stylefeng.guns.modular.system.service.ITSystemBulletinUserService; |
| | | import org.springframework.stereotype.Controller; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.util.StringUtils; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.ResponseBody; |
| | | import org.springframework.ui.Model; |
| | | import org.springframework.web.bind.annotation.PathVariable; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import com.stylefeng.guns.core.log.LogObjectHolder; |
| | | import org.springframework.web.bind.annotation.RequestParam; |
| | | import com.stylefeng.guns.modular.system.model.TSystemBulletin; |
| | | import com.stylefeng.guns.modular.system.service.ITSystemBulletinService; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * 控制器 |
| | | * |
| | | * @author fengshuonan |
| | | * @Date 2023-03-16 10:38:23 |
| | | */ |
| | | @Controller |
| | | @RequestMapping("/tSystemBulletin") |
| | | public class TSystemBulletinController extends BaseController { |
| | | |
| | | private String PREFIX = "/system/tSystemBulletin/"; |
| | | |
| | | @Autowired |
| | | private ITSystemBulletinService tSystemBulletinService; |
| | | @Autowired |
| | | private ITSystemBulletinUserService tSystemBulletinUserService; |
| | | |
| | | /** |
| | | * 跳转到首页 |
| | | */ |
| | | @RequestMapping("") |
| | | public String index() { |
| | | return PREFIX + "tSystemBulletin.html"; |
| | | } |
| | | |
| | | /** |
| | | * 跳转到添加 |
| | | */ |
| | | @RequestMapping("/tSystemBulletin_add") |
| | | public String tSystemBulletinAdd() { |
| | | return PREFIX + "tSystemBulletin_add.html"; |
| | | } |
| | | |
| | | /** |
| | | * 跳转到修改 |
| | | */ |
| | | @RequestMapping("/tSystemBulletin_update/{tSystemBulletinId}") |
| | | public String tSystemBulletinUpdate(@PathVariable Integer tSystemBulletinId, Model model) { |
| | | TSystemBulletin tSystemBulletin = tSystemBulletinService.selectById(tSystemBulletinId); |
| | | model.addAttribute("item",tSystemBulletin); |
| | | LogObjectHolder.me().set(tSystemBulletin); |
| | | return PREFIX + "tSystemBulletin_edit.html"; |
| | | } |
| | | |
| | | /** |
| | | * 获取列表 |
| | | */ |
| | | @RequestMapping(value = "/list") |
| | | @ResponseBody |
| | | public Object list(String createTime,String content) { |
| | | |
| | | EntityWrapper<TSystemBulletin> wrapper = new EntityWrapper<>(); |
| | | |
| | | if(StringUtils.hasLength(content)){ |
| | | wrapper.like("content",content); |
| | | } |
| | | if(StringUtils.hasLength(createTime)){ |
| | | String[] split = createTime.split(" - "); |
| | | Date startTime = DateUtil.getDate_str4(split[0]); |
| | | Date endTime = DateUtil.getDate_str4(split[1]); |
| | | wrapper.between("createTime",startTime,endTime); |
| | | } |
| | | wrapper.ne("status",3); |
| | | return tSystemBulletinService.selectList(wrapper); |
| | | } |
| | | |
| | | /** |
| | | * 获取列表 |
| | | */ |
| | | @RequestMapping(value = "/list-back") |
| | | @ResponseBody |
| | | public Object listBack(String condition) { |
| | | return tSystemBulletinService.selectList(null); |
| | | } |
| | | |
| | | /** |
| | | * 新增 |
| | | */ |
| | | @RequestMapping(value = "/add") |
| | | @ResponseBody |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public Object add(TSystemBulletin tSystemBulletin) { |
| | | tSystemBulletin.setContent(LabelReplaceUtil.replace(tSystemBulletin.getContent())); |
| | | tSystemBulletin.setState(1); |
| | | tSystemBulletin.setCreateTime(new Date()); |
| | | tSystemBulletin.setStatus(1); |
| | | tSystemBulletinService.insert(tSystemBulletin); |
| | | return SUCCESS_TIP; |
| | | } |
| | | |
| | | /** |
| | | * 新增发送 |
| | | */ |
| | | @RequestMapping(value = "/addSend") |
| | | @ResponseBody |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public Object addSend(TSystemBulletin tSystemBulletin) { |
| | | tSystemBulletin.setContent(LabelReplaceUtil.replace(tSystemBulletin.getContent())); |
| | | tSystemBulletin.setState(2); |
| | | tSystemBulletin.setCreateTime(new Date()); |
| | | tSystemBulletin.setStatus(1); |
| | | tSystemBulletinService.insert(tSystemBulletin); |
| | | tSystemBulletinService.sendBulletin(tSystemBulletin); |
| | | return SUCCESS_TIP; |
| | | } |
| | | |
| | | /** |
| | | * 编辑发送 |
| | | */ |
| | | @RequestMapping(value = "/editSend") |
| | | @ResponseBody |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public Object editSend(TSystemBulletin tSystemBulletin) { |
| | | tSystemBulletin.setContent(LabelReplaceUtil.replace(tSystemBulletin.getContent())); |
| | | tSystemBulletin.setState(2); |
| | | tSystemBulletinService.updateById(tSystemBulletin); |
| | | tSystemBulletinService.sendBulletin(tSystemBulletin); |
| | | return SUCCESS_TIP; |
| | | } |
| | | |
| | | /** |
| | | * 删除 |
| | | */ |
| | | @RequestMapping(value = "/delete") |
| | | @Transactional(rollbackFor = Exception.class) |
| | | @ResponseBody |
| | | public Object delete(@RequestParam Integer tSystemBulletinId) { |
| | | |
| | | TSystemBulletin tSystemBulletin = tSystemBulletinService.selectById(tSystemBulletinId); |
| | | tSystemBulletin.setStatus(StatusEnum.DELETE.getCode()); |
| | | tSystemBulletinService.updateById(tSystemBulletin); |
| | | |
| | | // 公告用户关联关系状态修改 |
| | | tSystemBulletinUserService.deleteBulletinUser(tSystemBulletinId); |
| | | |
| | | return SUCCESS_TIP; |
| | | } |
| | | |
| | | /** |
| | | * 修改 |
| | | */ |
| | | @RequestMapping(value = "/update") |
| | | @ResponseBody |
| | | public Object update(TSystemBulletin tSystemBulletin) { |
| | | tSystemBulletin.setContent(LabelReplaceUtil.replace(tSystemBulletin.getContent())); |
| | | tSystemBulletinService.updateById(tSystemBulletin); |
| | | return SUCCESS_TIP; |
| | | } |
| | | |
| | | /** |
| | | * 详情 |
| | | */ |
| | | @RequestMapping(value = "/detail/{tSystemBulletinId}") |
| | | @ResponseBody |
| | | public Object detail(@PathVariable("tSystemBulletinId") Integer tSystemBulletinId) { |
| | | return tSystemBulletinService.selectById(tSystemBulletinId); |
| | | } |
| | | } |
| | |
| | | import com.stylefeng.guns.core.base.controller.BaseController; |
| | | import com.stylefeng.guns.core.base.tips.SuccessTip; |
| | | import com.stylefeng.guns.core.util.DateUtil; |
| | | import com.stylefeng.guns.modular.system.enums.StatusEnum; |
| | | import com.stylefeng.guns.modular.system.model.TAgent; |
| | | import org.springframework.stereotype.Controller; |
| | | import org.springframework.util.StringUtils; |
| | |
| | | Date endTime = DateUtil.getDate_str4(split[1]); |
| | | wrapper.between("createTime",startTime,endTime); |
| | | } |
| | | wrapper.ne("status", StatusEnum.DELETE.getCode()); |
| | | return tYouTuiService.selectList(wrapper); |
| | | } |
| | | |
| | |
| | | if(1 == tYouTui.getStatus()){ |
| | | return new SuccessTip(500,"启用下的优推不可删除!"); |
| | | } |
| | | |
| | | tYouTuiService.deleteById(tYouTuiId); |
| | | tYouTui.setStatus(StatusEnum.DELETE.getCode()); |
| | | tYouTuiService.updateById(tYouTui); |
| | | return SUCCESS_TIP; |
| | | } |
| | | |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.controller.resp; |
| | | |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | |
| | | import java.io.Serializable; |
| | | import java.math.BigDecimal; |
| | | import java.util.Date; |
| | | |
| | | public class RevenueExpenditureResp implements Serializable { |
| | | |
| | | |
| | | @ApiModelProperty(value = "主键") |
| | | private Integer id; |
| | | |
| | | @ApiModelProperty(value = "订单号") |
| | | private String code; |
| | | |
| | | @ApiModelProperty(value = "交易时间") |
| | | private Date businessTime; |
| | | |
| | | @ApiModelProperty(value = "交易类型 1=支付订单 11=佣金体现 12=余额提现") |
| | | private Integer businessType; |
| | | |
| | | @ApiModelProperty(value = "司机姓名") |
| | | private String driverName; |
| | | |
| | | @ApiModelProperty(value = "司机电话") |
| | | private String driverPhone; |
| | | |
| | | @ApiModelProperty(value = "支付类型 1微信支付 2余额支付 3线下收款") |
| | | private Integer payType; |
| | | |
| | | @ApiModelProperty(value = "金额") |
| | | private BigDecimal amount; |
| | | |
| | | @ApiModelProperty(value = "佣金抽成") |
| | | private BigDecimal commissionAmount; |
| | | |
| | | @ApiModelProperty(value = "优惠券金额") |
| | | private BigDecimal discountedPrice; |
| | | |
| | | @ApiModelProperty(value = "余额") |
| | | private BigDecimal accountBalance; |
| | | |
| | | @ApiModelProperty(value = "状态 (2、108、109)完成") |
| | | private Integer state; |
| | | |
| | | @ApiModelProperty(value = "司机id") |
| | | private Integer driverId; |
| | | |
| | | @ApiModelProperty(value = "订单金额") |
| | | private BigDecimal payMoney; |
| | | |
| | | @ApiModelProperty(value = "订单ID") |
| | | private Integer orderId; |
| | | |
| | | public Integer getId() { |
| | | return id; |
| | | } |
| | | |
| | | public void setId(Integer id) { |
| | | this.id = id; |
| | | } |
| | | |
| | | public Integer getOrderId() { |
| | | return orderId; |
| | | } |
| | | |
| | | public void setOrderId(Integer orderId) { |
| | | this.orderId = orderId; |
| | | } |
| | | |
| | | public BigDecimal getPayMoney() { |
| | | return payMoney; |
| | | } |
| | | |
| | | public void setPayMoney(BigDecimal payMoney) { |
| | | this.payMoney = payMoney; |
| | | } |
| | | |
| | | public Integer getDriverId() { |
| | | return driverId; |
| | | } |
| | | |
| | | public void setDriverId(Integer driverId) { |
| | | this.driverId = driverId; |
| | | } |
| | | |
| | | public String getCode() { |
| | | return code; |
| | | } |
| | | |
| | | public void setCode(String code) { |
| | | this.code = code; |
| | | } |
| | | |
| | | public Date getBusinessTime() { |
| | | return businessTime; |
| | | } |
| | | |
| | | public void setBusinessTime(Date businessTime) { |
| | | this.businessTime = businessTime; |
| | | } |
| | | |
| | | public Integer getBusinessType() { |
| | | return businessType; |
| | | } |
| | | |
| | | public void setBusinessType(Integer businessType) { |
| | | this.businessType = businessType; |
| | | } |
| | | |
| | | public String getDriverName() { |
| | | return driverName; |
| | | } |
| | | |
| | | public void setDriverName(String driverName) { |
| | | this.driverName = driverName; |
| | | } |
| | | |
| | | public String getDriverPhone() { |
| | | return driverPhone; |
| | | } |
| | | |
| | | public void setDriverPhone(String driverPhone) { |
| | | this.driverPhone = driverPhone; |
| | | } |
| | | |
| | | public Integer getPayType() { |
| | | return payType; |
| | | } |
| | | |
| | | public void setPayType(Integer payType) { |
| | | this.payType = payType; |
| | | } |
| | | |
| | | public BigDecimal getAmount() { |
| | | return amount; |
| | | } |
| | | |
| | | public void setAmount(BigDecimal amount) { |
| | | this.amount = amount; |
| | | } |
| | | |
| | | public BigDecimal getCommissionAmount() { |
| | | return commissionAmount; |
| | | } |
| | | |
| | | public void setCommissionAmount(BigDecimal commissionAmount) { |
| | | this.commissionAmount = commissionAmount; |
| | | } |
| | | |
| | | public BigDecimal getDiscountedPrice() { |
| | | return discountedPrice; |
| | | } |
| | | |
| | | public void setDiscountedPrice(BigDecimal discountedPrice) { |
| | | this.discountedPrice = discountedPrice; |
| | | } |
| | | |
| | | public BigDecimal getAccountBalance() { |
| | | return accountBalance; |
| | | } |
| | | |
| | | public void setAccountBalance(BigDecimal accountBalance) { |
| | | this.accountBalance = accountBalance; |
| | | } |
| | | |
| | | public Integer getState() { |
| | | return state; |
| | | } |
| | | |
| | | public void setState(Integer state) { |
| | | this.state = state; |
| | | } |
| | | } |
| | |
| | | import com.stylefeng.guns.core.log.LogObjectHolder; |
| | | import com.stylefeng.guns.core.shiro.ShiroKit; |
| | | import com.stylefeng.guns.core.shiro.ShiroUser; |
| | | import com.stylefeng.guns.core.util.ObsUploadUtil; |
| | | import com.stylefeng.guns.core.util.SinataUtil; |
| | | import com.stylefeng.guns.core.util.ToolUtil; |
| | | import com.stylefeng.guns.modular.system.dao.UserMapper; |
| | |
| | | import com.stylefeng.guns.modular.system.service.ITDriverService; |
| | | import com.stylefeng.guns.modular.system.service.IUserService; |
| | | import com.stylefeng.guns.modular.system.transfer.UserDto; |
| | | import com.stylefeng.guns.modular.system.util.OssUploadUtil; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Controller; |
| | | import org.springframework.ui.Model; |
| | |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | |
| | | import javax.naming.NoPermissionException; |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import javax.validation.Valid; |
| | | import java.io.File; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.UUID; |
| | | import java.util.*; |
| | | |
| | | /** |
| | | * 系统管理员控制器 |
| | |
| | | return pictureName; |
| | | } |
| | | |
| | | @ResponseBody |
| | | @RequestMapping("/saveApk") |
| | | public String saveApk(@RequestPart("myfile") MultipartFile file, HttpServletRequest request){ |
| | | Map<String, Object> m = new HashMap<>(); |
| | | try { |
| | | String pictureName = UUID.randomUUID().toString() + "." + ToolUtil.getFileSuffix(file.getOriginalFilename()); |
| | | try { |
| | | String fileSavePath = gunsProperties.getFileUploadPath()+"apk\\"; |
| | | String s = OssUploadUtil.ossUpload(request, file); |
| | | // file.transferTo(new File(fileSavePath + pictureName)); |
| | | return s; |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | | m.put("imgUrl", gunsProperties.getFileUploadPath()+"apk/"+pictureName); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 判断当前登录的用户是否有操作这个用户的权限 |
| | | */ |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.controller.util; |
| | | |
| | | import java.io.Serializable; |
| | | |
| | | public class LabelReplaceUtil implements Serializable { |
| | | |
| | | /** |
| | | * 对内容进行替换 |
| | | * @param content |
| | | * @return |
| | | */ |
| | | public static String replace(String content){ |
| | | return content.replace("& lt;", "<").replace("& gt;",">"); |
| | | } |
| | | |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.dao; |
| | | |
| | | import com.stylefeng.guns.modular.system.model.TBill; |
| | | import com.baomidou.mybatisplus.mapper.BaseMapper; |
| | | |
| | | /** |
| | | * <p> |
| | | * 发票管理 Mapper 接口 |
| | | * </p> |
| | | * |
| | | * @author stylefeng |
| | | * @since 2023-03-14 |
| | | */ |
| | | public interface TBillMapper extends BaseMapper<TBill> { |
| | | |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.dao; |
| | | |
| | | import com.stylefeng.guns.modular.system.model.TBroadcast; |
| | | import com.baomidou.mybatisplus.mapper.BaseMapper; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | |
| | | /** |
| | | * <p> |
| | | * 广播 Mapper 接口 |
| | | * </p> |
| | | * |
| | | * @author stylefeng |
| | | * @since 2023-03-16 |
| | | */ |
| | | @Mapper |
| | | public interface TBroadcastMapper extends BaseMapper<TBroadcast> { |
| | | |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.dao; |
| | | |
| | | import com.stylefeng.guns.modular.system.model.TCommercial; |
| | | import com.baomidou.mybatisplus.mapper.BaseMapper; |
| | | |
| | | /** |
| | | * <p> |
| | | * 广告 Mapper 接口 |
| | | * </p> |
| | | * |
| | | * @author stylefeng |
| | | * @since 2023-03-16 |
| | | */ |
| | | public interface TCommercialMapper extends BaseMapper<TCommercial> { |
| | | |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.dao; |
| | | |
| | | import com.stylefeng.guns.modular.system.model.TEdition; |
| | | import com.baomidou.mybatisplus.mapper.BaseMapper; |
| | | |
| | | /** |
| | | * <p> |
| | | * 版本管理 Mapper 接口 |
| | | * </p> |
| | | * |
| | | * @author stylefeng |
| | | * @since 2023-03-14 |
| | | */ |
| | | public interface TEditionMapper extends BaseMapper<TEdition> { |
| | | |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.dao; |
| | | |
| | | import com.stylefeng.guns.modular.system.controller.resp.RevenueExpenditureResp; |
| | | import com.stylefeng.guns.modular.system.model.TRevenue; |
| | | import com.baomidou.mybatisplus.mapper.BaseMapper; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * <p> |
| | | * 收入记录 Mapper 接口 |
| | | * </p> |
| | | * |
| | | * @author stylefeng |
| | | * @since 2023-03-13 |
| | | */ |
| | | @Mapper |
| | | public interface TRevenueMapper extends BaseMapper<TRevenue> { |
| | | |
| | | /** |
| | | * 获取列表 |
| | | * @param startTime |
| | | * @param endTime |
| | | * @param code |
| | | * @param businessType |
| | | * @param payType |
| | | * @param driverName |
| | | * @param roleType |
| | | * @param objectId |
| | | * @return |
| | | */ |
| | | List<RevenueExpenditureResp> getPageList(@Param("startTime") String startTime, @Param("endTime")String endTime, @Param("code")String code, |
| | | @Param("businessType")Integer businessType, @Param("payType")Integer payType, @Param("driverName")String driverName, |
| | | @Param("roleType")Integer roleType, @Param("objectId")Integer objectId); |
| | | |
| | | /** |
| | | * |
| | | * @param code |
| | | * @param type |
| | | * @return |
| | | */ |
| | | RevenueExpenditureResp commissionOrBalanceDetail(@Param("code")String code, @Param("type")Integer type); |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.dao; |
| | | |
| | | import com.stylefeng.guns.modular.system.model.TSystemBulletin; |
| | | import com.baomidou.mybatisplus.mapper.BaseMapper; |
| | | |
| | | /** |
| | | * <p> |
| | | * 系统公告 Mapper 接口 |
| | | * </p> |
| | | * |
| | | * @author stylefeng |
| | | * @since 2023-03-16 |
| | | */ |
| | | public interface TSystemBulletinMapper extends BaseMapper<TSystemBulletin> { |
| | | |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.dao; |
| | | |
| | | import com.stylefeng.guns.modular.system.model.TSystemBulletinUser; |
| | | import com.baomidou.mybatisplus.mapper.BaseMapper; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | |
| | | /** |
| | | * <p> |
| | | * 系统公告-用户关系 Mapper 接口 |
| | | * </p> |
| | | * |
| | | * @author stylefeng |
| | | * @since 2023-03-16 |
| | | */ |
| | | @Mapper |
| | | public interface TSystemBulletinUserMapper extends BaseMapper<TSystemBulletinUser> { |
| | | |
| | | } |
New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="com.stylefeng.guns.modular.system.dao.TBillMapper"> |
| | | |
| | | <!-- 通用查询映射结果 --> |
| | | <resultMap id="BaseResultMap" type="com.stylefeng.guns.modular.system.model.TBill"> |
| | | <id column="id" property="id" /> |
| | | <result column="orderId" property="orderId" /> |
| | | <result column="billType" property="billType" /> |
| | | <result column="billHeaderType" property="billHeaderType" /> |
| | | <result column="companyName" property="companyName" /> |
| | | <result column="companyTaxNumber" property="companyTaxNumber" /> |
| | | <result column="billContent" property="billContent" /> |
| | | <result column="moreContent" property="moreContent" /> |
| | | <result column="billAmount" property="billAmount" /> |
| | | <result column="addresseeName" property="addresseeName" /> |
| | | <result column="addresseePhone" property="addresseePhone" /> |
| | | <result column="addresseeEmail" property="addresseeEmail" /> |
| | | <result column="state" property="state" /> |
| | | <result column="createTime" property="createTime" /> |
| | | </resultMap> |
| | | |
| | | <!-- 通用查询结果列 --> |
| | | <sql id="Base_Column_List"> |
| | | id, orderId, billType, billHeaderType, companyName, companyTaxNumber, billContent, moreContent, billAmount, addresseeName, addresseePhone, addresseeEmail, state, createTime |
| | | </sql> |
| | | |
| | | </mapper> |
New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="com.stylefeng.guns.modular.system.dao.TBroadcastMapper"> |
| | | |
| | | <!-- 通用查询映射结果 --> |
| | | <resultMap id="BaseResultMap" type="com.stylefeng.guns.modular.system.model.TBroadcast"> |
| | | <id column="id" property="id" /> |
| | | <result column="content" property="content" /> |
| | | <result column="sort" property="sort" /> |
| | | <result column="status" property="status" /> |
| | | <result column="createTime" property="createTime" /> |
| | | </resultMap> |
| | | |
| | | <!-- 通用查询结果列 --> |
| | | <sql id="Base_Column_List"> |
| | | id, content, sort, status, createTime |
| | | </sql> |
| | | |
| | | </mapper> |
New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="com.stylefeng.guns.modular.system.dao.TCommercialMapper"> |
| | | |
| | | <!-- 通用查询映射结果 --> |
| | | <resultMap id="BaseResultMap" type="com.stylefeng.guns.modular.system.model.TCommercial"> |
| | | <id column="id" property="id" /> |
| | | <result column="type" property="type" /> |
| | | <result column="name" property="name" /> |
| | | <result column="url" property="url" /> |
| | | <result column="device" property="device" /> |
| | | <result column="isJump" property="isJump" /> |
| | | <result column="jumpType" property="jumpType" /> |
| | | <result column="jumpUrl" property="jumpUrl" /> |
| | | <result column="html" property="html" /> |
| | | <result column="sort" property="sort" /> |
| | | <result column="status" property="status" /> |
| | | <result column="createTime" property="createTime" /> |
| | | <result column="createUserId" property="createUserId" /> |
| | | <result column="updateTime" property="updateTime" /> |
| | | <result column="updateUserId" property="updateUserId" /> |
| | | </resultMap> |
| | | |
| | | <!-- 通用查询结果列 --> |
| | | <sql id="Base_Column_List"> |
| | | id, type, name, url, device, isJump, jumpType, jumpUrl, html, sort, status, createTime, createUserId, updateTime, updateUserId |
| | | </sql> |
| | | |
| | | </mapper> |
New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="com.stylefeng.guns.modular.system.dao.TEditionMapper"> |
| | | |
| | | <!-- 通用查询映射结果 --> |
| | | <resultMap id="BaseResultMap" type="com.stylefeng.guns.modular.system.model.TEdition"> |
| | | <id column="id" property="id" /> |
| | | <result column="editionNo" property="editionNo" /> |
| | | <result column="editionFile" property="editionFile" /> |
| | | <result column="editionAnnouncement" property="editionAnnouncement" /> |
| | | <result column="createTime" property="createTime" /> |
| | | </resultMap> |
| | | |
| | | <!-- 通用查询结果列 --> |
| | | <sql id="Base_Column_List"> |
| | | id, editionNo, editionFile, editionAnnouncement, createTime |
| | | </sql> |
| | | |
| | | </mapper> |
New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="com.stylefeng.guns.modular.system.dao.TRevenueMapper"> |
| | | |
| | | <!-- 通用查询映射结果 --> |
| | | <resultMap id="BaseResultMap" type="com.stylefeng.guns.modular.system.model.TRevenue"> |
| | | <id column="id" property="id" /> |
| | | <result column="type" property="type" /> |
| | | <result column="userType" property="userType" /> |
| | | <result column="userId" property="userId" /> |
| | | <result column="orderId" property="orderId" /> |
| | | <result column="amount" property="amount" /> |
| | | <result column="createTime" property="createTime" /> |
| | | </resultMap> |
| | | |
| | | <!-- 通用查询结果列 --> |
| | | <sql id="Base_Column_List"> |
| | | id, type, userType, userId, orderId, amount, createTime |
| | | </sql> |
| | | <select id="getPageList" resultType="com.stylefeng.guns.modular.system.controller.resp.RevenueExpenditureResp"> |
| | | SELECT |
| | | t.id, |
| | | t.businessType, |
| | | t.amount, |
| | | t.businessTime, |
| | | t.driverName, |
| | | t.driverPhone, |
| | | t.`code`, |
| | | t.payType, |
| | | t.state, |
| | | t.discountedPrice, |
| | | t.driverId, |
| | | t.accountBalance, |
| | | t.agentId, |
| | | t.payMoney, |
| | | t.orderId |
| | | FROM |
| | | (SELECT |
| | | r.id, |
| | | r.type AS businessType, |
| | | r.amount, |
| | | r.createTime AS businessTime, |
| | | d.`name` AS driverName, |
| | | d.phone AS driverPhone, |
| | | o.`code`, |
| | | o.payType, |
| | | o.state, |
| | | o.discountedPrice, |
| | | o.payMoney, |
| | | o.id AS orderId, |
| | | d.id AS driverId, |
| | | d.balance AS accountBalance, |
| | | d.agentId |
| | | FROM |
| | | t_revenue r |
| | | LEFT JOIN t_driver d ON r.userId = d.id |
| | | LEFT JOIN t_order o ON r.orderId = o.id |
| | | WHERE |
| | | ( o.state = ${@com.stylefeng.guns.modular.system.enums.OrderStateEnum@WAIT_EVALUATED.getCode()} |
| | | OR o.state = ${@com.stylefeng.guns.modular.system.enums.OrderStateEnum@FINISH.getCode()} ) |
| | | AND r.type = 1 |
| | | UNION ALL |
| | | SELECT |
| | | cw.id, |
| | | cw.businessType, |
| | | cw.amount, |
| | | cw.createTime AS businessTime, |
| | | d.`name` AS driverName, |
| | | d.phone AS driverPhone, |
| | | cw.`code`, |
| | | 0 AS payType, |
| | | cw.state, |
| | | 0 AS discountedPrice, |
| | | 0 AS payMoney, |
| | | 0 AS orderId, |
| | | d.id AS driverId, |
| | | d.balance AS accountBalance, |
| | | d.agentId |
| | | FROM |
| | | t_cash_withdrawal cw |
| | | LEFT JOIN t_driver d ON cw.userDriverId = d.id |
| | | WHERE |
| | | cw.type = 2) t |
| | | <where> |
| | | <if test="startTime != null and startTime != '' and endTime != null and endTime != ''"> |
| | | AND t.businessTime BETWEEN #{startTime} AND #{endTime} |
| | | </if> |
| | | <if test="code != null and code != ''"> |
| | | AND t.code LIKE concat('%',#{code},'%') |
| | | </if> |
| | | <if test="businessType != null"> |
| | | AND t.businessType = #{businessType} |
| | | </if> |
| | | <if test="payType != null"> |
| | | AND t.payType = #{payType} |
| | | </if> |
| | | <if test="driverName != null and driverName != ''"> |
| | | AND t.driverName LIKE concat('%',#{driverName},'%') |
| | | </if> |
| | | <if test="roleType != null and roleType == 3"> |
| | | AND t.agentId = #{objectId} |
| | | </if> |
| | | </where> |
| | | </select> |
| | | <select id="commissionOrBalanceDetail" resultType="com.stylefeng.guns.modular.system.controller.resp.RevenueExpenditureResp"> |
| | | SELECT |
| | | cw.id, |
| | | cw.businessType, |
| | | cw.amount, |
| | | cw.createTime AS businessTime, |
| | | d.`name` AS driverName, |
| | | d.phone AS driverPhone, |
| | | cw.`code`, |
| | | 0 AS payType, |
| | | cw.state, |
| | | 0 AS discountedPrice, |
| | | 0 AS payMoney, |
| | | 0 AS orderId, |
| | | d.id AS driverId, |
| | | d.balance AS accountBalance, |
| | | d.agentId |
| | | FROM |
| | | t_cash_withdrawal cw |
| | | LEFT JOIN t_driver d ON cw.userDriverId = d.id |
| | | WHERE |
| | | cw.type = 2 AND cw.businessType = #{type} AND cw.code = #{code} |
| | | </select> |
| | | |
| | | </mapper> |
New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="com.stylefeng.guns.modular.system.dao.TSystemBulletinMapper"> |
| | | |
| | | <!-- 通用查询映射结果 --> |
| | | <resultMap id="BaseResultMap" type="com.stylefeng.guns.modular.system.model.TSystemBulletin"> |
| | | <id column="id" property="id" /> |
| | | <result column="introduce" property="introduce" /> |
| | | <result column="img" property="img" /> |
| | | <result column="content" property="content" /> |
| | | <result column="status" property="status" /> |
| | | <result column="createTime" property="createTime" /> |
| | | </resultMap> |
| | | |
| | | <!-- 通用查询结果列 --> |
| | | <sql id="Base_Column_List"> |
| | | id, introduce, img, content, status, createTime |
| | | </sql> |
| | | |
| | | </mapper> |
New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="com.stylefeng.guns.modular.system.dao.TSystemBulletinUserMapper"> |
| | | |
| | | <!-- 通用查询映射结果 --> |
| | | <resultMap id="BaseResultMap" type="com.stylefeng.guns.modular.system.model.TSystemBulletinUser"> |
| | | <id column="id" property="id" /> |
| | | <result column="systemBulletinId" property="systemBulletinId" /> |
| | | <result column="userType" property="userType" /> |
| | | <result column="userId" property="userId" /> |
| | | <result column="isRead" property="isRead" /> |
| | | <result column="status" property="status" /> |
| | | <result column="createTime" property="createTime" /> |
| | | </resultMap> |
| | | |
| | | <!-- 通用查询结果列 --> |
| | | <sql id="Base_Column_List"> |
| | | id, systemBulletinId, userType, userId, isRead, status, createTime |
| | | </sql> |
| | | |
| | | </mapper> |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.enums; |
| | | |
| | | |
| | | |
| | | /** |
| | | * @Description 提现记录枚举 |
| | | * @Author xiaochen |
| | | * @Date 2023/02/15 9:42 |
| | | */ |
| | | public enum CashWithdrawalTypeEnum { |
| | | |
| | | COMMISSION_WITHDRAWAL(11, "佣金提现"), |
| | | BALANCE_WITHDRAWAL(12, "余额提现"); |
| | | |
| | | private String desc; |
| | | |
| | | |
| | | private int code; |
| | | |
| | | |
| | | CashWithdrawalTypeEnum(int code, String desc) { |
| | | this.code = code; |
| | | this.desc = desc; |
| | | } |
| | | |
| | | public String getDesc() { |
| | | return desc; |
| | | } |
| | | |
| | | public int getCode() { |
| | | return code; |
| | | } |
| | | |
| | | /** |
| | | * 通过code获取枚举 |
| | | * |
| | | * @param code |
| | | * @return |
| | | */ |
| | | public static CashWithdrawalTypeEnum fromCode(Integer code) { |
| | | CashWithdrawalTypeEnum[] resultTypes = CashWithdrawalTypeEnum.values(); |
| | | for (CashWithdrawalTypeEnum resultType : resultTypes) { |
| | | if (code.equals(resultType.getCode())) { |
| | | return resultType; |
| | | } |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | } |
| | |
| | | */ |
| | | public enum OrderStateEnum { |
| | | |
| | | /*订单状态(101=待接单,102=已接单,103=前往预约点,104=到达预约点,105=开始服务,106=到达目的地,107=待评价,108=已完成,201=转单中,301=已取消)*/ |
| | | /*订单状态(101=待接单,102=已接单,103=前往预约点,104=到达预约点,105=开始服务,106=到达目的地,107=待支付,108=待评价,109=已完成,201=转单中,301=已取消,401=等待中)*/ |
| | | |
| | | PENDING_ORDER(101, "待接单"), |
| | | ORDER_RECEIVED(102, "已接单"), |
| | |
| | | ARRIVE_APPOINTMENT_POINT(104, "到达预约点"), |
| | | START_SERVICE(105, "开始服务"), |
| | | ARRIVE_IN(106, "到达目的地"), |
| | | WAIT_EVALUATED(107, "待评价"), |
| | | FINISH(108, "已完成"), |
| | | WAIT_PAY(107,"待支付"), |
| | | WAIT_EVALUATED(108, "待评价"), |
| | | FINISH(109, "已完成"), |
| | | TRANSFERRING(201, "转单中"), |
| | | CANCELED(301,"已取消"), |
| | | WAITING(401,"等待中"); |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.enums; |
| | | |
| | | |
| | | |
| | | /** |
| | | * @Description 用户司机枚举 |
| | | * @Author xiaochen |
| | | * @Date 2023/02/15 9:42 |
| | | */ |
| | | public enum RevenueTypeEnum { |
| | | |
| | | ORDER_REVENUE(1, "订单收入"), |
| | | COMMISSION_INCOME(2, "分佣收入"); |
| | | |
| | | private String desc; |
| | | |
| | | |
| | | private int code; |
| | | |
| | | |
| | | RevenueTypeEnum(int code, String desc) { |
| | | this.code = code; |
| | | this.desc = desc; |
| | | } |
| | | |
| | | public String getDesc() { |
| | | return desc; |
| | | } |
| | | |
| | | public int getCode() { |
| | | return code; |
| | | } |
| | | |
| | | /** |
| | | * 通过code获取枚举 |
| | | * |
| | | * @param code |
| | | * @return |
| | | */ |
| | | public static RevenueTypeEnum fromCode(Integer code) { |
| | | RevenueTypeEnum[] resultTypes = RevenueTypeEnum.values(); |
| | | for (RevenueTypeEnum resultType : resultTypes) { |
| | | if (code.equals(resultType.getCode())) { |
| | | return resultType; |
| | | } |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.enums; |
| | | |
| | | |
| | | |
| | | /** |
| | | * @Description 优惠券状态枚举 |
| | | * @Author xiaochen |
| | | * @Date 2023/02/15 9:42 |
| | | */ |
| | | public enum StatusEnum { |
| | | |
| | | NORMAL(1, "正常"), |
| | | FREEZE(2, "冻结"), |
| | | DELETE(3, "删除"); |
| | | |
| | | private String desc; |
| | | |
| | | |
| | | private int code; |
| | | |
| | | |
| | | StatusEnum(int code, String desc) { |
| | | this.code = code; |
| | | this.desc = desc; |
| | | } |
| | | |
| | | public String getDesc() { |
| | | return desc; |
| | | } |
| | | |
| | | public int getCode() { |
| | | return code; |
| | | } |
| | | |
| | | /** |
| | | * 通过code获取枚举 |
| | | * |
| | | * @param code |
| | | * @return |
| | | */ |
| | | public static StatusEnum fromCode(Integer code) { |
| | | StatusEnum[] resultTypes = StatusEnum.values(); |
| | | for (StatusEnum resultType : resultTypes) { |
| | | if (code.equals(resultType.getCode())) { |
| | | return resultType; |
| | | } |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.enums; |
| | | |
| | | |
| | | |
| | | /** |
| | | * @Description 系统规则配置 |
| | | * @Author xiaochen |
| | | * @Date 2023/02/15 9:42 |
| | | */ |
| | | public enum SystemConfigTypeEnum { |
| | | |
| | | /*类型(1=派单规则,2=佣金分成规则,3=抽成规则,4=积分规则,5=价格规则,6=余额规则,7=客服管理)*/ |
| | | |
| | | DISPATCH_RULES(1, "派单规则"), |
| | | COMMISSION_SHARING_RULES(2, "佣金分成规则"), |
| | | EXTRACTION_RULE(3, "抽成规则"), |
| | | INTEGRAL_RULE(4, "积分规则"), |
| | | PRICE_RULES(5, "价格规则"), |
| | | BALANCE_RULES(6, "余额规则"), |
| | | CUSTOMER_SERVICE_MGMT(7,"客服管理"); |
| | | |
| | | private String desc; |
| | | |
| | | |
| | | private int code; |
| | | |
| | | |
| | | SystemConfigTypeEnum(int code, String desc) { |
| | | this.code = code; |
| | | this.desc = desc; |
| | | } |
| | | |
| | | public String getDesc() { |
| | | return desc; |
| | | } |
| | | |
| | | public int getCode() { |
| | | return code; |
| | | } |
| | | |
| | | /** |
| | | * 通过code获取枚举 |
| | | * |
| | | * @param code |
| | | * @return |
| | | */ |
| | | public static SystemConfigTypeEnum fromCode(Integer code) { |
| | | SystemConfigTypeEnum[] resultTypes = SystemConfigTypeEnum.values(); |
| | | for (SystemConfigTypeEnum resultType : resultTypes) { |
| | | if (code.equals(resultType.getCode())) { |
| | | return resultType; |
| | | } |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.enums; |
| | | |
| | | |
| | | |
| | | /** |
| | | * @Description 发票状态枚举 |
| | | * @Author xiaochen |
| | | * @Date 2023/02/15 9:42 |
| | | */ |
| | | public enum TBillStateEnum { |
| | | |
| | | WAIT_BILL(1, "待开票"), |
| | | FINISH_BILL(2, "已开票"), |
| | | FAIL_BILL(3,"开票失败"); |
| | | |
| | | private String desc; |
| | | |
| | | |
| | | private int code; |
| | | |
| | | |
| | | TBillStateEnum(int code, String desc) { |
| | | this.code = code; |
| | | this.desc = desc; |
| | | } |
| | | |
| | | public String getDesc() { |
| | | return desc; |
| | | } |
| | | |
| | | public int getCode() { |
| | | return code; |
| | | } |
| | | |
| | | /** |
| | | * 通过code获取枚举 |
| | | * |
| | | * @param code |
| | | * @return |
| | | */ |
| | | public static TBillStateEnum fromCode(Integer code) { |
| | | TBillStateEnum[] resultTypes = TBillStateEnum.values(); |
| | | for (TBillStateEnum resultType : resultTypes) { |
| | | if (code.equals(resultType.getCode())) { |
| | | return resultType; |
| | | } |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | } |
| | |
| | | public enum UserTypeEnum { |
| | | |
| | | USER(1, "用户"), |
| | | DRIVER(2, "司机"); |
| | | DRIVER(2, "司机"), |
| | | AGENT(3,"代理商"); |
| | | |
| | | private String desc; |
| | | |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.model; |
| | | |
| | | import com.baomidou.mybatisplus.enums.IdType; |
| | | import java.math.BigDecimal; |
| | | import java.util.Date; |
| | | import com.baomidou.mybatisplus.annotations.TableId; |
| | | import com.baomidou.mybatisplus.activerecord.Model; |
| | | import com.baomidou.mybatisplus.annotations.TableName; |
| | | import java.io.Serializable; |
| | | |
| | | /** |
| | | * <p> |
| | | * 发票管理 |
| | | * </p> |
| | | * |
| | | * @author stylefeng |
| | | * @since 2023-03-14 |
| | | */ |
| | | @TableName("t_bill") |
| | | public class TBill extends Model<TBill> { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | /** |
| | | * 主键 |
| | | */ |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | private Integer id; |
| | | /** |
| | | * 订单id |
| | | */ |
| | | private Integer orderId; |
| | | /** |
| | | * 发票类型 1电子发票 |
| | | */ |
| | | private Integer billType; |
| | | /** |
| | | * 发票抬头 1公司 2个人 |
| | | */ |
| | | private Integer billHeaderType; |
| | | /** |
| | | * 公司名称/个人抬头名称 |
| | | */ |
| | | private String companyName; |
| | | /** |
| | | * 公司税号 |
| | | */ |
| | | private String companyTaxNumber; |
| | | /** |
| | | * 发票内容 |
| | | */ |
| | | private String billContent; |
| | | /** |
| | | * 更多内容 |
| | | */ |
| | | private String moreContent; |
| | | /** |
| | | * 发票金额 |
| | | */ |
| | | private BigDecimal billAmount; |
| | | /** |
| | | * 收件人姓名 |
| | | */ |
| | | private String addresseeName; |
| | | /** |
| | | * 收件人电话 |
| | | */ |
| | | private String addresseePhone; |
| | | /** |
| | | * 收件人邮箱 |
| | | */ |
| | | private String addresseeEmail; |
| | | /** |
| | | * 开票状态 1待开票 2已开票 3开票失败 |
| | | */ |
| | | private Integer state; |
| | | /** |
| | | * 添加时间 |
| | | */ |
| | | private Date createTime; |
| | | |
| | | |
| | | public Integer getId() { |
| | | return id; |
| | | } |
| | | |
| | | public void setId(Integer id) { |
| | | this.id = id; |
| | | } |
| | | |
| | | public Integer getOrderId() { |
| | | return orderId; |
| | | } |
| | | |
| | | public void setOrderId(Integer orderId) { |
| | | this.orderId = orderId; |
| | | } |
| | | |
| | | public Integer getBillType() { |
| | | return billType; |
| | | } |
| | | |
| | | public void setBillType(Integer billType) { |
| | | this.billType = billType; |
| | | } |
| | | |
| | | public Integer getBillHeaderType() { |
| | | return billHeaderType; |
| | | } |
| | | |
| | | public void setBillHeaderType(Integer billHeaderType) { |
| | | this.billHeaderType = billHeaderType; |
| | | } |
| | | |
| | | public String getCompanyName() { |
| | | return companyName; |
| | | } |
| | | |
| | | public void setCompanyName(String companyName) { |
| | | this.companyName = companyName; |
| | | } |
| | | |
| | | public String getCompanyTaxNumber() { |
| | | return companyTaxNumber; |
| | | } |
| | | |
| | | public void setCompanyTaxNumber(String companyTaxNumber) { |
| | | this.companyTaxNumber = companyTaxNumber; |
| | | } |
| | | |
| | | public String getBillContent() { |
| | | return billContent; |
| | | } |
| | | |
| | | public void setBillContent(String billContent) { |
| | | this.billContent = billContent; |
| | | } |
| | | |
| | | public String getMoreContent() { |
| | | return moreContent; |
| | | } |
| | | |
| | | public void setMoreContent(String moreContent) { |
| | | this.moreContent = moreContent; |
| | | } |
| | | |
| | | public BigDecimal getBillAmount() { |
| | | return billAmount; |
| | | } |
| | | |
| | | public void setBillAmount(BigDecimal billAmount) { |
| | | this.billAmount = billAmount; |
| | | } |
| | | |
| | | public String getAddresseeName() { |
| | | return addresseeName; |
| | | } |
| | | |
| | | public void setAddresseeName(String addresseeName) { |
| | | this.addresseeName = addresseeName; |
| | | } |
| | | |
| | | public String getAddresseePhone() { |
| | | return addresseePhone; |
| | | } |
| | | |
| | | public void setAddresseePhone(String addresseePhone) { |
| | | this.addresseePhone = addresseePhone; |
| | | } |
| | | |
| | | public String getAddresseeEmail() { |
| | | return addresseeEmail; |
| | | } |
| | | |
| | | public void setAddresseeEmail(String addresseeEmail) { |
| | | this.addresseeEmail = addresseeEmail; |
| | | } |
| | | |
| | | public Integer getState() { |
| | | return state; |
| | | } |
| | | |
| | | public void setState(Integer state) { |
| | | this.state = state; |
| | | } |
| | | |
| | | public Date getCreateTime() { |
| | | return createTime; |
| | | } |
| | | |
| | | public void setCreateTime(Date createTime) { |
| | | this.createTime = createTime; |
| | | } |
| | | |
| | | @Override |
| | | protected Serializable pkVal() { |
| | | return this.id; |
| | | } |
| | | |
| | | @Override |
| | | public String toString() { |
| | | return "TBill{" + |
| | | "id=" + id + |
| | | ", orderId=" + orderId + |
| | | ", billType=" + billType + |
| | | ", billHeaderType=" + billHeaderType + |
| | | ", companyName=" + companyName + |
| | | ", companyTaxNumber=" + companyTaxNumber + |
| | | ", billContent=" + billContent + |
| | | ", moreContent=" + moreContent + |
| | | ", billAmount=" + billAmount + |
| | | ", addresseeName=" + addresseeName + |
| | | ", addresseePhone=" + addresseePhone + |
| | | ", addresseeEmail=" + addresseeEmail + |
| | | ", state=" + state + |
| | | ", createTime=" + createTime + |
| | | "}"; |
| | | } |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.model; |
| | | |
| | | import com.baomidou.mybatisplus.enums.IdType; |
| | | import java.util.Date; |
| | | import com.baomidou.mybatisplus.annotations.TableId; |
| | | import com.baomidou.mybatisplus.activerecord.Model; |
| | | import com.baomidou.mybatisplus.annotations.TableName; |
| | | import java.io.Serializable; |
| | | |
| | | /** |
| | | * <p> |
| | | * 广播 |
| | | * </p> |
| | | * |
| | | * @author stylefeng |
| | | * @since 2023-03-16 |
| | | */ |
| | | @TableName("t_broadcast") |
| | | public class TBroadcast extends Model<TBroadcast> { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | /** |
| | | * 主键 |
| | | */ |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | private Integer id; |
| | | /** |
| | | * 消息内容 |
| | | */ |
| | | private String content; |
| | | /** |
| | | * 排序 |
| | | */ |
| | | private Integer sort; |
| | | /** |
| | | * 状态(1=正常,2=冻结,3=删除) |
| | | */ |
| | | private Integer status; |
| | | /** |
| | | * 添加时间 |
| | | */ |
| | | private Date createTime; |
| | | |
| | | |
| | | public Integer getId() { |
| | | return id; |
| | | } |
| | | |
| | | public void setId(Integer id) { |
| | | this.id = id; |
| | | } |
| | | |
| | | public String getContent() { |
| | | return content; |
| | | } |
| | | |
| | | public void setContent(String content) { |
| | | this.content = content; |
| | | } |
| | | |
| | | public Integer getSort() { |
| | | return sort; |
| | | } |
| | | |
| | | public void setSort(Integer sort) { |
| | | this.sort = sort; |
| | | } |
| | | |
| | | public Integer getStatus() { |
| | | return status; |
| | | } |
| | | |
| | | public void setStatus(Integer status) { |
| | | this.status = status; |
| | | } |
| | | |
| | | public Date getCreateTime() { |
| | | return createTime; |
| | | } |
| | | |
| | | public void setCreateTime(Date createTime) { |
| | | this.createTime = createTime; |
| | | } |
| | | |
| | | @Override |
| | | protected Serializable pkVal() { |
| | | return this.id; |
| | | } |
| | | |
| | | @Override |
| | | public String toString() { |
| | | return "TBroadcast{" + |
| | | "id=" + id + |
| | | ", content=" + content + |
| | | ", sort=" + sort + |
| | | ", status=" + status + |
| | | ", createTime=" + createTime + |
| | | "}"; |
| | | } |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.model; |
| | | |
| | | import com.baomidou.mybatisplus.enums.IdType; |
| | | import java.util.Date; |
| | | import com.baomidou.mybatisplus.annotations.TableId; |
| | | import com.baomidou.mybatisplus.activerecord.Model; |
| | | import com.baomidou.mybatisplus.annotations.TableName; |
| | | import java.io.Serializable; |
| | | |
| | | /** |
| | | * <p> |
| | | * 广告 |
| | | * </p> |
| | | * |
| | | * @author stylefeng |
| | | * @since 2023-03-16 |
| | | */ |
| | | @TableName("t_commercial") |
| | | public class TCommercial extends Model<TCommercial> { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | /** |
| | | * 主键 |
| | | */ |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | private Integer id; |
| | | /** |
| | | * 类型(1=弹窗广告,2=底部广告) |
| | | */ |
| | | private Integer type; |
| | | /** |
| | | * 名称 |
| | | */ |
| | | private String name; |
| | | /** |
| | | * 广告地址 |
| | | */ |
| | | private String url; |
| | | /** |
| | | * 设备(1=小程序,2=司机端) |
| | | */ |
| | | private Integer device; |
| | | /** |
| | | * 是否跳转(0=否,1=是) |
| | | */ |
| | | private Integer isJump; |
| | | /** |
| | | * 跳转类型(1=内部跳转,2=外部跳转) |
| | | */ |
| | | private Integer jumpType; |
| | | /** |
| | | * 跳转连接 |
| | | */ |
| | | private String jumpUrl; |
| | | /** |
| | | * 富文本 |
| | | */ |
| | | private String html; |
| | | /** |
| | | * 排序 |
| | | */ |
| | | private Integer sort; |
| | | /** |
| | | * 状态(1=正常,2=冻结,3=删除) |
| | | */ |
| | | private Integer status; |
| | | /** |
| | | * 添加时间 |
| | | */ |
| | | private Date createTime; |
| | | /** |
| | | * 添加人员id |
| | | */ |
| | | private Integer createUserId; |
| | | /** |
| | | * 更新时间 |
| | | */ |
| | | private Date updateTime; |
| | | /** |
| | | * 更新人员id |
| | | */ |
| | | private Integer updateUserId; |
| | | |
| | | |
| | | public Integer getId() { |
| | | return id; |
| | | } |
| | | |
| | | public void setId(Integer id) { |
| | | this.id = id; |
| | | } |
| | | |
| | | public Integer getType() { |
| | | return type; |
| | | } |
| | | |
| | | public void setType(Integer type) { |
| | | this.type = type; |
| | | } |
| | | |
| | | public String getName() { |
| | | return name; |
| | | } |
| | | |
| | | public void setName(String name) { |
| | | this.name = name; |
| | | } |
| | | |
| | | public String getUrl() { |
| | | return url; |
| | | } |
| | | |
| | | public void setUrl(String url) { |
| | | this.url = url; |
| | | } |
| | | |
| | | public Integer getDevice() { |
| | | return device; |
| | | } |
| | | |
| | | public void setDevice(Integer device) { |
| | | this.device = device; |
| | | } |
| | | |
| | | public Integer getIsJump() { |
| | | return isJump; |
| | | } |
| | | |
| | | public void setIsJump(Integer isJump) { |
| | | this.isJump = isJump; |
| | | } |
| | | |
| | | public Integer getJumpType() { |
| | | return jumpType; |
| | | } |
| | | |
| | | public void setJumpType(Integer jumpType) { |
| | | this.jumpType = jumpType; |
| | | } |
| | | |
| | | public String getJumpUrl() { |
| | | return jumpUrl; |
| | | } |
| | | |
| | | public void setJumpUrl(String jumpUrl) { |
| | | this.jumpUrl = jumpUrl; |
| | | } |
| | | |
| | | public String getHtml() { |
| | | return html; |
| | | } |
| | | |
| | | public void setHtml(String html) { |
| | | this.html = html; |
| | | } |
| | | |
| | | public Integer getSort() { |
| | | return sort; |
| | | } |
| | | |
| | | public void setSort(Integer sort) { |
| | | this.sort = sort; |
| | | } |
| | | |
| | | public Integer getStatus() { |
| | | return status; |
| | | } |
| | | |
| | | public void setStatus(Integer status) { |
| | | this.status = status; |
| | | } |
| | | |
| | | public Date getCreateTime() { |
| | | return createTime; |
| | | } |
| | | |
| | | public void setCreateTime(Date createTime) { |
| | | this.createTime = createTime; |
| | | } |
| | | |
| | | public Integer getCreateUserId() { |
| | | return createUserId; |
| | | } |
| | | |
| | | public void setCreateUserId(Integer createUserId) { |
| | | this.createUserId = createUserId; |
| | | } |
| | | |
| | | public Date getUpdateTime() { |
| | | return updateTime; |
| | | } |
| | | |
| | | public void setUpdateTime(Date updateTime) { |
| | | this.updateTime = updateTime; |
| | | } |
| | | |
| | | public Integer getUpdateUserId() { |
| | | return updateUserId; |
| | | } |
| | | |
| | | public void setUpdateUserId(Integer updateUserId) { |
| | | this.updateUserId = updateUserId; |
| | | } |
| | | |
| | | @Override |
| | | protected Serializable pkVal() { |
| | | return this.id; |
| | | } |
| | | |
| | | @Override |
| | | public String toString() { |
| | | return "TCommercial{" + |
| | | "id=" + id + |
| | | ", type=" + type + |
| | | ", name=" + name + |
| | | ", url=" + url + |
| | | ", device=" + device + |
| | | ", isJump=" + isJump + |
| | | ", jumpType=" + jumpType + |
| | | ", jumpUrl=" + jumpUrl + |
| | | ", html=" + html + |
| | | ", sort=" + sort + |
| | | ", status=" + status + |
| | | ", createTime=" + createTime + |
| | | ", createUserId=" + createUserId + |
| | | ", updateTime=" + updateTime + |
| | | ", updateUserId=" + updateUserId + |
| | | "}"; |
| | | } |
| | | } |
| | |
| | | package com.stylefeng.guns.modular.system.model; |
| | | |
| | | import com.baomidou.mybatisplus.annotations.TableLogic; |
| | | import com.baomidou.mybatisplus.enums.IdType; |
| | | |
| | | import java.math.BigDecimal; |
| | |
| | | @TableField("remaining_quantity") |
| | | private Integer remainingQuantity; |
| | | |
| | | @ApiModelProperty(value = "删除 true未删除 false已删除") |
| | | @TableField("status") |
| | | @TableLogic |
| | | private Boolean status; |
| | | |
| | | public Boolean getStatus() { |
| | | return status; |
| | | } |
| | | |
| | | public void setStatus(Boolean status) { |
| | | this.status = status; |
| | | } |
| | | |
| | | public Integer getRemainingQuantity() { |
| | | return remainingQuantity; |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.model; |
| | | |
| | | import com.baomidou.mybatisplus.enums.IdType; |
| | | import java.util.Date; |
| | | import com.baomidou.mybatisplus.annotations.TableId; |
| | | import com.baomidou.mybatisplus.activerecord.Model; |
| | | import com.baomidou.mybatisplus.annotations.TableName; |
| | | import java.io.Serializable; |
| | | |
| | | /** |
| | | * <p> |
| | | * 版本管理 |
| | | * </p> |
| | | * |
| | | * @author stylefeng |
| | | * @since 2023-03-14 |
| | | */ |
| | | @TableName("t_edition") |
| | | public class TEdition extends Model<TEdition> { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | /** |
| | | * 主键 |
| | | */ |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | private Integer id; |
| | | /** |
| | | * 版本编号 |
| | | */ |
| | | private String editionNo; |
| | | /** |
| | | * 版本文件 |
| | | */ |
| | | private String editionFile; |
| | | /** |
| | | * 版本公告 |
| | | */ |
| | | private String editionAnnouncement; |
| | | /** |
| | | * 创建时间 |
| | | */ |
| | | private Date createTime; |
| | | /** |
| | | * 端口 1用户端 2司机端 |
| | | */ |
| | | private Integer editionPort; |
| | | /** |
| | | * 状态(1=正常,2=冻结,3=删除) |
| | | */ |
| | | private Integer status; |
| | | |
| | | public Integer getStatus() { |
| | | return status; |
| | | } |
| | | |
| | | public void setStatus(Integer status) { |
| | | this.status = status; |
| | | } |
| | | |
| | | public Integer getEditionPort() { |
| | | return editionPort; |
| | | } |
| | | |
| | | public void setEditionPort(Integer editionPort) { |
| | | this.editionPort = editionPort; |
| | | } |
| | | |
| | | public Integer getId() { |
| | | return id; |
| | | } |
| | | |
| | | public void setId(Integer id) { |
| | | this.id = id; |
| | | } |
| | | |
| | | public String getEditionNo() { |
| | | return editionNo; |
| | | } |
| | | |
| | | public void setEditionNo(String editionNo) { |
| | | this.editionNo = editionNo; |
| | | } |
| | | |
| | | public String getEditionFile() { |
| | | return editionFile; |
| | | } |
| | | |
| | | public void setEditionFile(String editionFile) { |
| | | this.editionFile = editionFile; |
| | | } |
| | | |
| | | public String getEditionAnnouncement() { |
| | | return editionAnnouncement; |
| | | } |
| | | |
| | | public void setEditionAnnouncement(String editionAnnouncement) { |
| | | this.editionAnnouncement = editionAnnouncement; |
| | | } |
| | | |
| | | public Date getCreateTime() { |
| | | return createTime; |
| | | } |
| | | |
| | | public void setCreateTime(Date createTime) { |
| | | this.createTime = createTime; |
| | | } |
| | | |
| | | @Override |
| | | protected Serializable pkVal() { |
| | | return this.id; |
| | | } |
| | | |
| | | @Override |
| | | public String toString() { |
| | | return "TEdition{" + |
| | | "id=" + id + |
| | | ", editionNo=" + editionNo + |
| | | ", editionFile=" + editionFile + |
| | | ", editionAnnouncement=" + editionAnnouncement + |
| | | ", createTime=" + createTime + |
| | | "}"; |
| | | } |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.model; |
| | | |
| | | import com.baomidou.mybatisplus.enums.IdType; |
| | | import java.math.BigDecimal; |
| | | import java.util.Date; |
| | | import com.baomidou.mybatisplus.annotations.TableId; |
| | | import com.baomidou.mybatisplus.activerecord.Model; |
| | | import com.baomidou.mybatisplus.annotations.TableName; |
| | | import java.io.Serializable; |
| | | |
| | | /** |
| | | * <p> |
| | | * 收入记录 |
| | | * </p> |
| | | * |
| | | * @author stylefeng |
| | | * @since 2023-03-13 |
| | | */ |
| | | @TableName("t_revenue") |
| | | public class TRevenue extends Model<TRevenue> { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | /** |
| | | * 主键 |
| | | */ |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | private Integer id; |
| | | /** |
| | | * 收入类型(1=订单收入,2=分佣收入) |
| | | */ |
| | | private Integer type; |
| | | /** |
| | | * 用户类型(1=用户,2=司机,3=代理商) |
| | | */ |
| | | private Integer userType; |
| | | /** |
| | | * 用户id |
| | | */ |
| | | private Integer userId; |
| | | /** |
| | | * 订单id |
| | | */ |
| | | private Integer orderId; |
| | | /** |
| | | * 收入金额 |
| | | */ |
| | | private BigDecimal amount; |
| | | /** |
| | | * 添加时间 |
| | | */ |
| | | private Date createTime; |
| | | |
| | | |
| | | public Integer getId() { |
| | | return id; |
| | | } |
| | | |
| | | public void setId(Integer id) { |
| | | this.id = id; |
| | | } |
| | | |
| | | public Integer getType() { |
| | | return type; |
| | | } |
| | | |
| | | public void setType(Integer type) { |
| | | this.type = type; |
| | | } |
| | | |
| | | public Integer getUserType() { |
| | | return userType; |
| | | } |
| | | |
| | | public void setUserType(Integer userType) { |
| | | this.userType = userType; |
| | | } |
| | | |
| | | public Integer getUserId() { |
| | | return userId; |
| | | } |
| | | |
| | | public void setUserId(Integer userId) { |
| | | this.userId = userId; |
| | | } |
| | | |
| | | public Integer getOrderId() { |
| | | return orderId; |
| | | } |
| | | |
| | | public void setOrderId(Integer orderId) { |
| | | this.orderId = orderId; |
| | | } |
| | | |
| | | public BigDecimal getAmount() { |
| | | return amount; |
| | | } |
| | | |
| | | public void setAmount(BigDecimal amount) { |
| | | this.amount = amount; |
| | | } |
| | | |
| | | public Date getCreateTime() { |
| | | return createTime; |
| | | } |
| | | |
| | | public void setCreateTime(Date createTime) { |
| | | this.createTime = createTime; |
| | | } |
| | | |
| | | @Override |
| | | protected Serializable pkVal() { |
| | | return this.id; |
| | | } |
| | | |
| | | @Override |
| | | public String toString() { |
| | | return "TRevenue{" + |
| | | "id=" + id + |
| | | ", type=" + type + |
| | | ", userType=" + userType + |
| | | ", userId=" + userId + |
| | | ", orderId=" + orderId + |
| | | ", amount=" + amount + |
| | | ", createTime=" + createTime + |
| | | "}"; |
| | | } |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.model; |
| | | |
| | | import com.baomidou.mybatisplus.annotations.TableField; |
| | | import com.baomidou.mybatisplus.annotations.TableLogic; |
| | | import com.baomidou.mybatisplus.enums.IdType; |
| | | import java.util.Date; |
| | | import com.baomidou.mybatisplus.annotations.TableId; |
| | | import com.baomidou.mybatisplus.activerecord.Model; |
| | | import com.baomidou.mybatisplus.annotations.TableName; |
| | | import com.fasterxml.jackson.annotation.JsonIgnore; |
| | | |
| | | import java.io.Serializable; |
| | | |
| | | /** |
| | | * <p> |
| | | * 系统公告 |
| | | * </p> |
| | | * |
| | | * @author stylefeng |
| | | * @since 2023-03-16 |
| | | */ |
| | | @TableName("t_system_bulletin") |
| | | public class TSystemBulletin extends Model<TSystemBulletin> { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | /** |
| | | * 主键 |
| | | */ |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | private Integer id; |
| | | /** |
| | | * 标题 |
| | | */ |
| | | private String introduce; |
| | | /** |
| | | * 图片 |
| | | */ |
| | | private String img; |
| | | /** |
| | | * 内容 |
| | | */ |
| | | private String content; |
| | | /** |
| | | * 状态(1=正常,2=冻结,3=删除) |
| | | */ |
| | | private Integer status; |
| | | /** |
| | | * 添加时间 |
| | | */ |
| | | private Date createTime; |
| | | /** |
| | | * 是否发送 1未发送 2已发送 |
| | | */ |
| | | private Integer state; |
| | | |
| | | public Integer getState() { |
| | | return state; |
| | | } |
| | | |
| | | public void setState(Integer state) { |
| | | this.state = state; |
| | | } |
| | | |
| | | public Integer getId() { |
| | | return id; |
| | | } |
| | | |
| | | public void setId(Integer id) { |
| | | this.id = id; |
| | | } |
| | | |
| | | public String getIntroduce() { |
| | | return introduce; |
| | | } |
| | | |
| | | public void setIntroduce(String introduce) { |
| | | this.introduce = introduce; |
| | | } |
| | | |
| | | public String getImg() { |
| | | return img; |
| | | } |
| | | |
| | | public void setImg(String img) { |
| | | this.img = img; |
| | | } |
| | | |
| | | public String getContent() { |
| | | return content; |
| | | } |
| | | |
| | | public void setContent(String content) { |
| | | this.content = content; |
| | | } |
| | | |
| | | public Integer getStatus() { |
| | | return status; |
| | | } |
| | | |
| | | public void setStatus(Integer status) { |
| | | this.status = status; |
| | | } |
| | | |
| | | public Date getCreateTime() { |
| | | return createTime; |
| | | } |
| | | |
| | | public void setCreateTime(Date createTime) { |
| | | this.createTime = createTime; |
| | | } |
| | | |
| | | @Override |
| | | protected Serializable pkVal() { |
| | | return this.id; |
| | | } |
| | | |
| | | @Override |
| | | public String toString() { |
| | | return "TSystemBulletin{" + |
| | | "id=" + id + |
| | | ", introduce=" + introduce + |
| | | ", img=" + img + |
| | | ", content=" + content + |
| | | ", status=" + status + |
| | | ", createTime=" + createTime + |
| | | "}"; |
| | | } |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.model; |
| | | |
| | | import com.baomidou.mybatisplus.annotations.TableLogic; |
| | | import com.baomidou.mybatisplus.enums.IdType; |
| | | import java.util.Date; |
| | | import com.baomidou.mybatisplus.annotations.TableId; |
| | | import com.baomidou.mybatisplus.activerecord.Model; |
| | | import com.baomidou.mybatisplus.annotations.TableName; |
| | | import java.io.Serializable; |
| | | |
| | | /** |
| | | * <p> |
| | | * 系统公告-用户关系 |
| | | * </p> |
| | | * |
| | | * @author stylefeng |
| | | * @since 2023-03-16 |
| | | */ |
| | | @TableName("t_system_bulletin_user") |
| | | public class TSystemBulletinUser extends Model<TSystemBulletinUser> { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | /** |
| | | * 主键 |
| | | */ |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | private Long id; |
| | | /** |
| | | * 系统公告 |
| | | */ |
| | | private Integer systemBulletinId; |
| | | /** |
| | | * 用户类型(1=用户,2=司机) |
| | | */ |
| | | private Integer userType; |
| | | /** |
| | | * 用户id |
| | | */ |
| | | private Integer userId; |
| | | /** |
| | | * 阅读(0=否,1=是) |
| | | */ |
| | | private Integer isRead; |
| | | /** |
| | | * 状态(1=正常,2=冻结,3=删除) |
| | | */ |
| | | private Integer status; |
| | | /** |
| | | * 添加时间 |
| | | */ |
| | | private Date createTime; |
| | | |
| | | |
| | | public Long getId() { |
| | | return id; |
| | | } |
| | | |
| | | public void setId(Long id) { |
| | | this.id = id; |
| | | } |
| | | |
| | | public Integer getSystemBulletinId() { |
| | | return systemBulletinId; |
| | | } |
| | | |
| | | public void setSystemBulletinId(Integer systemBulletinId) { |
| | | this.systemBulletinId = systemBulletinId; |
| | | } |
| | | |
| | | public Integer getUserType() { |
| | | return userType; |
| | | } |
| | | |
| | | public void setUserType(Integer userType) { |
| | | this.userType = userType; |
| | | } |
| | | |
| | | public Integer getUserId() { |
| | | return userId; |
| | | } |
| | | |
| | | public void setUserId(Integer userId) { |
| | | this.userId = userId; |
| | | } |
| | | |
| | | public Integer getIsRead() { |
| | | return isRead; |
| | | } |
| | | |
| | | public void setIsRead(Integer isRead) { |
| | | this.isRead = isRead; |
| | | } |
| | | |
| | | public Integer getStatus() { |
| | | return status; |
| | | } |
| | | |
| | | public void setStatus(Integer status) { |
| | | this.status = status; |
| | | } |
| | | |
| | | public Date getCreateTime() { |
| | | return createTime; |
| | | } |
| | | |
| | | public void setCreateTime(Date createTime) { |
| | | this.createTime = createTime; |
| | | } |
| | | |
| | | @Override |
| | | protected Serializable pkVal() { |
| | | return this.id; |
| | | } |
| | | |
| | | @Override |
| | | public String toString() { |
| | | return "TSystemBulletinUser{" + |
| | | "id=" + id + |
| | | ", systemBulletinId=" + systemBulletinId + |
| | | ", userType=" + userType + |
| | | ", userId=" + userId + |
| | | ", isRead=" + isRead + |
| | | ", status=" + status + |
| | | ", createTime=" + createTime + |
| | | "}"; |
| | | } |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.service; |
| | | |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.stylefeng.guns.modular.system.model.TBill; |
| | | import com.baomidou.mybatisplus.service.IService; |
| | | |
| | | /** |
| | | * <p> |
| | | * 发票管理 服务类 |
| | | * </p> |
| | | * |
| | | * @author stylefeng |
| | | * @since 2023-03-14 |
| | | */ |
| | | public interface ITBillService extends IService<TBill> { |
| | | |
| | | /** |
| | | * 获取发票wrapper |
| | | * @param createTime |
| | | * @param addresseePhone |
| | | * @param state |
| | | * @param billType |
| | | * @param billHeaderType |
| | | * @return |
| | | */ |
| | | EntityWrapper<TBill> getPageListWrapper(String createTime, String addresseePhone, Integer state, Integer billType, Integer billHeaderType); |
| | | |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.service; |
| | | |
| | | import com.stylefeng.guns.modular.system.model.TBroadcast; |
| | | import com.baomidou.mybatisplus.service.IService; |
| | | |
| | | /** |
| | | * <p> |
| | | * 广播 服务类 |
| | | * </p> |
| | | * |
| | | * @author stylefeng |
| | | * @since 2023-03-16 |
| | | */ |
| | | public interface ITBroadcastService extends IService<TBroadcast> { |
| | | |
| | | /** |
| | | * 判断是否存在该排序 |
| | | * |
| | | * @return |
| | | */ |
| | | Boolean isExit(String id, Integer sort); |
| | | |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.service; |
| | | |
| | | import com.stylefeng.guns.modular.system.model.TCommercial; |
| | | import com.baomidou.mybatisplus.service.IService; |
| | | |
| | | /** |
| | | * <p> |
| | | * 广告 服务类 |
| | | * </p> |
| | | * |
| | | * @author stylefeng |
| | | * @since 2023-03-16 |
| | | */ |
| | | public interface ITCommercialService extends IService<TCommercial> { |
| | | |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.service; |
| | | |
| | | import com.stylefeng.guns.modular.system.model.TEdition; |
| | | import com.baomidou.mybatisplus.service.IService; |
| | | |
| | | /** |
| | | * <p> |
| | | * 版本管理 服务类 |
| | | * </p> |
| | | * |
| | | * @author stylefeng |
| | | * @since 2023-03-14 |
| | | */ |
| | | public interface ITEditionService extends IService<TEdition> { |
| | | |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.service; |
| | | |
| | | import com.stylefeng.guns.modular.system.controller.resp.RevenueExpenditureResp; |
| | | import com.stylefeng.guns.modular.system.model.TRevenue; |
| | | import com.baomidou.mybatisplus.service.IService; |
| | | import org.springframework.ui.Model; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * <p> |
| | | * 收入记录 服务类 |
| | | * </p> |
| | | * |
| | | * @author stylefeng |
| | | * @since 2023-03-13 |
| | | */ |
| | | public interface ITRevenueService extends IService<TRevenue> { |
| | | |
| | | /** |
| | | * 获取列表 |
| | | * @param code 订单号 |
| | | * @param businessType 交易类型 |
| | | * @param payType 支付类型 |
| | | * @param driverName 司机名称 |
| | | * @param businessTime 交易时间 |
| | | * @return |
| | | */ |
| | | List<RevenueExpenditureResp> getPageList(String code, Integer businessType, Integer payType, String driverName, String businessTime); |
| | | |
| | | /** |
| | | * 跳转到佣金提现详情 |
| | | * @param code |
| | | * @param model |
| | | */ |
| | | void commissionDetail(String code, Model model); |
| | | |
| | | /** |
| | | * 跳转到余额提现详情 |
| | | * @param code |
| | | * @param model |
| | | */ |
| | | void balanceDetail(String code, Model model); |
| | | /** |
| | | * 佣金提现余额提现封装model |
| | | */ |
| | | void packageModel(RevenueExpenditureResp revenueExpenditureResp,Model model); |
| | | |
| | | /** |
| | | * 跳转到支付订单详情 |
| | | * @param code |
| | | * @param model |
| | | */ |
| | | void orderDetail(String code, Model model); |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.service; |
| | | |
| | | import com.stylefeng.guns.modular.system.model.TSystemBulletin; |
| | | import com.baomidou.mybatisplus.service.IService; |
| | | |
| | | /** |
| | | * <p> |
| | | * 系统公告 服务类 |
| | | * </p> |
| | | * |
| | | * @author stylefeng |
| | | * @since 2023-03-16 |
| | | */ |
| | | public interface ITSystemBulletinService extends IService<TSystemBulletin> { |
| | | |
| | | /** |
| | | * 发送消息给司机 |
| | | * @param tSystemBulletin |
| | | */ |
| | | void sendBulletin(TSystemBulletin tSystemBulletin); |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.service; |
| | | |
| | | import com.stylefeng.guns.modular.system.model.TSystemBulletinUser; |
| | | import com.baomidou.mybatisplus.service.IService; |
| | | |
| | | /** |
| | | * <p> |
| | | * 系统公告-用户关系 服务类 |
| | | * </p> |
| | | * |
| | | * @author stylefeng |
| | | * @since 2023-03-16 |
| | | */ |
| | | public interface ITSystemBulletinUserService extends IService<TSystemBulletinUser> { |
| | | |
| | | |
| | | /** |
| | | * 修改公告用户关联状态 |
| | | * @param tSystemBulletinId |
| | | */ |
| | | void deleteBulletinUser(Integer tSystemBulletinId); |
| | | } |
| | |
| | | import com.stylefeng.guns.modular.system.dao.*; |
| | | import com.stylefeng.guns.modular.system.enums.OrderStateEnum; |
| | | import com.stylefeng.guns.modular.system.enums.PayStatusEnum; |
| | | import com.stylefeng.guns.modular.system.enums.StatusEnum; |
| | | import com.stylefeng.guns.modular.system.enums.UserTypeEnum; |
| | | import com.stylefeng.guns.modular.system.model.*; |
| | | import com.stylefeng.guns.modular.system.service.ITAgentService; |
| | |
| | | if(Objects.requireNonNull(ShiroKit.getUser()).getRoleType() == 3){ |
| | | wrapper.eq("id",ShiroKit.getUser().getObjectId()); |
| | | } |
| | | wrapper.ne("status", StatusEnum.DELETE.getCode()); |
| | | return wrapper; |
| | | } |
| | | |
| | |
| | | import com.stylefeng.guns.modular.system.dao.TUserToCouponMapper; |
| | | import com.stylefeng.guns.modular.system.enums.CouponStatusEnum; |
| | | import com.stylefeng.guns.modular.system.enums.OrderStateEnum; |
| | | import com.stylefeng.guns.modular.system.enums.StatusEnum; |
| | | import com.stylefeng.guns.modular.system.model.TAppUser; |
| | | import com.stylefeng.guns.modular.system.dao.TAppUserMapper; |
| | | import com.stylefeng.guns.modular.system.model.TCoupon; |
| | |
| | | if(Objects.nonNull(status)){ |
| | | wrapper.eq("status",status); |
| | | } |
| | | wrapper.ne("status", StatusEnum.DELETE.getCode()); |
| | | return wrapper; |
| | | } |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.stylefeng.guns.core.util.DateUtil; |
| | | import com.stylefeng.guns.modular.system.model.TBill; |
| | | import com.stylefeng.guns.modular.system.dao.TBillMapper; |
| | | import com.stylefeng.guns.modular.system.service.ITBillService; |
| | | import com.baomidou.mybatisplus.service.impl.ServiceImpl; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.util.StringUtils; |
| | | |
| | | import java.util.Date; |
| | | import java.util.Objects; |
| | | |
| | | /** |
| | | * <p> |
| | | * 发票管理 服务实现类 |
| | | * </p> |
| | | * |
| | | * @author stylefeng |
| | | * @since 2023-03-14 |
| | | */ |
| | | @Service |
| | | public class TBillServiceImpl extends ServiceImpl<TBillMapper, TBill> implements ITBillService { |
| | | |
| | | @Override |
| | | public EntityWrapper<TBill> getPageListWrapper(String createTime, String addresseePhone, Integer state, Integer billType, Integer billHeaderType) { |
| | | EntityWrapper<TBill> wrapper = new EntityWrapper<>(); |
| | | |
| | | if(StringUtils.hasLength(createTime)){ |
| | | String[] split = createTime.split(" - "); |
| | | Date startTime = DateUtil.getDate_str4(split[0]); |
| | | Date endTime = DateUtil.getDate_str4(split[1]); |
| | | wrapper.between("createTime",startTime,endTime); |
| | | } |
| | | if(StringUtils.hasLength(addresseePhone)){ |
| | | wrapper.like("addresseePhone",addresseePhone); |
| | | } |
| | | if(Objects.nonNull(state)){ |
| | | wrapper.eq("state",state); |
| | | } |
| | | if(Objects.nonNull(billType)){ |
| | | wrapper.eq("billType",billType); |
| | | } |
| | | if(Objects.nonNull(billHeaderType)){ |
| | | wrapper.eq("billHeaderType",billHeaderType); |
| | | } |
| | | return wrapper; |
| | | } |
| | | } |
| | |
| | | import com.stylefeng.guns.core.shiro.ShiroKit; |
| | | import com.stylefeng.guns.modular.system.controller.resp.TBranchOfficeResp; |
| | | import com.stylefeng.guns.modular.system.dao.*; |
| | | import com.stylefeng.guns.modular.system.enums.StatusEnum; |
| | | import com.stylefeng.guns.modular.system.model.*; |
| | | import com.stylefeng.guns.modular.system.service.ITBranchOfficeService; |
| | | import com.baomidou.mybatisplus.service.impl.ServiceImpl; |
| | |
| | | if(Objects.nonNull(status)){ |
| | | wrapper.eq("status",status); |
| | | } |
| | | wrapper.ne("status", StatusEnum.DELETE.getCode()); |
| | | // 判断代理商 分公司 |
| | | Integer roleType = Objects.requireNonNull(ShiroKit.getUser()).getRoleType(); |
| | | Integer objectId = Objects.requireNonNull(ShiroKit.getUser()).getObjectId(); |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.stylefeng.guns.modular.system.model.TBroadcast; |
| | | import com.stylefeng.guns.modular.system.dao.TBroadcastMapper; |
| | | import com.stylefeng.guns.modular.system.service.ITBroadcastService; |
| | | import com.baomidou.mybatisplus.service.impl.ServiceImpl; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.util.StringUtils; |
| | | |
| | | import java.util.Objects; |
| | | |
| | | /** |
| | | * <p> |
| | | * 广播 服务实现类 |
| | | * </p> |
| | | * |
| | | * @author stylefeng |
| | | * @since 2023-03-16 |
| | | */ |
| | | @Service |
| | | public class TBroadcastServiceImpl extends ServiceImpl<TBroadcastMapper, TBroadcast> implements ITBroadcastService { |
| | | |
| | | @Autowired |
| | | private TBroadcastMapper tBroadcastMapper; |
| | | |
| | | @Override |
| | | public Boolean isExit(String id, Integer sort) { |
| | | Integer count = tBroadcastMapper.selectCount(new EntityWrapper<TBroadcast>() |
| | | .eq("sort", sort)); |
| | | if (StringUtils.hasLength(id)) { |
| | | // 修改 |
| | | TBroadcast tBroadcast = tBroadcastMapper.selectById(id); |
| | | return Objects.nonNull(tBroadcast) && !tBroadcast.getSort().equals(sort) && count > 0; |
| | | } else { |
| | | // 新增 |
| | | return count > 0; |
| | | } |
| | | } |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.service.impl; |
| | | |
| | | import com.stylefeng.guns.modular.system.model.TCommercial; |
| | | import com.stylefeng.guns.modular.system.dao.TCommercialMapper; |
| | | import com.stylefeng.guns.modular.system.service.ITCommercialService; |
| | | import com.baomidou.mybatisplus.service.impl.ServiceImpl; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | /** |
| | | * <p> |
| | | * 广告 服务实现类 |
| | | * </p> |
| | | * |
| | | * @author stylefeng |
| | | * @since 2023-03-16 |
| | | */ |
| | | @Service |
| | | public class TCommercialServiceImpl extends ServiceImpl<TCommercialMapper, TCommercial> implements ITCommercialService { |
| | | |
| | | } |
| | |
| | | import com.stylefeng.guns.modular.system.controller.util.UUIDUtil; |
| | | import com.stylefeng.guns.modular.system.dao.*; |
| | | import com.stylefeng.guns.modular.system.enums.OrderStateEnum; |
| | | import com.stylefeng.guns.modular.system.enums.StatusEnum; |
| | | import com.stylefeng.guns.modular.system.model.*; |
| | | import com.stylefeng.guns.modular.system.service.ITDriverService; |
| | | import com.baomidou.mybatisplus.service.impl.ServiceImpl; |
| | |
| | | // 通过省市查询代理商 |
| | | List<TAgent> tAgent = tAgentMapper.selectList(new EntityWrapper<TAgent>().eq("provinceCode", province.getCode()) |
| | | .eq("cityCode", city.getCode()) |
| | | .eq("status", 1) |
| | | .eq("status", StatusEnum.NORMAL.getCode()) |
| | | .last("LIMIT 1")); |
| | | if(!CollectionUtils.isEmpty(tAgent)){ |
| | | tDriver.setAgentId(tAgent.get(0).getId()); |
| | |
| | | // 通过省市区查询分公司 |
| | | List<TBranchOffice> tBranchOffice = tBranchOfficeMapper.selectList(new EntityWrapper<TBranchOffice>().eq("provinceCode", province.getCode()) |
| | | .eq("cityCode", city.getCode()) |
| | | .eq("status", 1) |
| | | .eq("status", StatusEnum.NORMAL.getCode()) |
| | | .eq("districtCode", area.getCode()) |
| | | .last("LIMIT 1")); |
| | | if(!CollectionUtils.isEmpty(tBranchOffice)){ |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.service.impl; |
| | | |
| | | import com.stylefeng.guns.modular.system.model.TEdition; |
| | | import com.stylefeng.guns.modular.system.dao.TEditionMapper; |
| | | import com.stylefeng.guns.modular.system.service.ITEditionService; |
| | | import com.baomidou.mybatisplus.service.impl.ServiceImpl; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | /** |
| | | * <p> |
| | | * 版本管理 服务实现类 |
| | | * </p> |
| | | * |
| | | * @author stylefeng |
| | | * @since 2023-03-14 |
| | | */ |
| | | @Service |
| | | public class TEditionServiceImpl extends ServiceImpl<TEditionMapper, TEdition> implements ITEditionService { |
| | | |
| | | } |
| | |
| | | // 查询司机 |
| | | TDriver tDriver = tDriverMapper.selectById(tOrder.getDriverId()); |
| | | model.addAttribute("driverName",tDriver.getName()); |
| | | model.addAttribute("driverPhone",tDriver.getPhone()); |
| | | |
| | | // 查询司机所属分公司 |
| | | TBranchOffice tBranchOffice = tBranchOfficeMapper.selectById(tDriver.getBranchOfficeId()); |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.service.impl; |
| | | |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.stylefeng.guns.core.shiro.ShiroKit; |
| | | import com.stylefeng.guns.modular.system.controller.resp.RevenueExpenditureResp; |
| | | import com.stylefeng.guns.modular.system.dao.*; |
| | | import com.stylefeng.guns.modular.system.enums.CashWithdrawalTypeEnum; |
| | | import com.stylefeng.guns.modular.system.enums.RevenueTypeEnum; |
| | | import com.stylefeng.guns.modular.system.enums.SystemConfigTypeEnum; |
| | | import com.stylefeng.guns.modular.system.enums.UserTypeEnum; |
| | | import com.stylefeng.guns.modular.system.model.*; |
| | | import com.stylefeng.guns.modular.system.service.ITEvaluateService; |
| | | import com.stylefeng.guns.modular.system.service.ITOrderService; |
| | | import com.stylefeng.guns.modular.system.service.ITRevenueService; |
| | | import com.baomidou.mybatisplus.service.impl.ServiceImpl; |
| | | import com.stylefeng.guns.modular.system.service.ITSystemConfigService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.ui.Model; |
| | | import org.springframework.util.StringUtils; |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | import java.util.Optional; |
| | | |
| | | /** |
| | | * <p> |
| | | * 收入记录 服务实现类 |
| | | * </p> |
| | | * |
| | | * @author stylefeng |
| | | * @since 2023-03-13 |
| | | */ |
| | | @Service |
| | | public class TRevenueServiceImpl extends ServiceImpl<TRevenueMapper, TRevenue> implements ITRevenueService { |
| | | |
| | | @Autowired |
| | | private TRevenueMapper tRevenueMapper; |
| | | @Autowired |
| | | private TAppUserMapper tAppUserMapper; |
| | | @Autowired |
| | | private ITSystemConfigService tSystemConfigService; |
| | | @Autowired |
| | | private ITOrderService tOrderService; |
| | | @Autowired |
| | | private ITEvaluateService tEvaluateService; |
| | | |
| | | @Override |
| | | public List<RevenueExpenditureResp> getPageList(String code, Integer businessType, Integer payType, String driverName, String businessTime) { |
| | | String startTime = null; |
| | | String endTime = null; |
| | | // 开始,结束时间 |
| | | if(StringUtils.hasLength(businessTime)){ |
| | | String[] split = businessTime.split(" - "); |
| | | startTime = split[0]; |
| | | endTime = split[1]; |
| | | } |
| | | Integer roleType = Objects.requireNonNull(ShiroKit.getUser()).getRoleType(); |
| | | Integer objectId = Objects.requireNonNull(ShiroKit.getUser()).getObjectId(); |
| | | List<RevenueExpenditureResp> pageList = tRevenueMapper.getPageList(startTime, endTime, code, businessType, payType, driverName, roleType, objectId); |
| | | // 查询抽佣规则 |
| | | TSystemConfig tSystemConfig = tSystemConfigService.selectOne(new EntityWrapper<TSystemConfig>() |
| | | .eq("type", SystemConfigTypeEnum.EXTRACTION_RULE.getCode())); |
| | | for (RevenueExpenditureResp revenueExpenditureResp : pageList) { |
| | | BigDecimal commissionAmount = BigDecimal.ZERO; |
| | | if(1 == revenueExpenditureResp.getBusinessType()){ |
| | | // 计算佣金提成 |
| | | // 1.该订单的代驾用户是否为该司机邀请 |
| | | Integer count = tAppUserMapper.selectCount(new EntityWrapper<TAppUser>() |
| | | .eq("inviterType", UserTypeEnum.DRIVER.getCode()) |
| | | .eq("inviterId", revenueExpenditureResp.getDriverId())); |
| | | if(count>0){ |
| | | commissionAmount = commissionAmount.add(JSONObject.parseObject(tSystemConfig.getContent()).getBigDecimal("num1")); |
| | | } |
| | | // 2.查询跟该订单相关的分佣收入 |
| | | List<TRevenue> tRevenues = tRevenueMapper.selectList(new EntityWrapper<TRevenue>() |
| | | .eq("type", RevenueTypeEnum.COMMISSION_INCOME.getCode()) |
| | | .eq("orderId", revenueExpenditureResp.getOrderId())); |
| | | Optional<BigDecimal> reduce = tRevenues.stream().map(TRevenue::getAmount).reduce(BigDecimal::add); |
| | | if(reduce.isPresent()){ |
| | | commissionAmount = commissionAmount.add(reduce.get()); |
| | | } |
| | | revenueExpenditureResp.setCommissionAmount(commissionAmount); |
| | | } |
| | | } |
| | | return pageList; |
| | | } |
| | | |
| | | @Override |
| | | public void commissionDetail(String code, Model model) { |
| | | RevenueExpenditureResp revenueExpenditureResp = tRevenueMapper.commissionOrBalanceDetail(code, CashWithdrawalTypeEnum.COMMISSION_WITHDRAWAL.getCode()); |
| | | this.packageModel(revenueExpenditureResp,model); |
| | | } |
| | | |
| | | @Override |
| | | public void balanceDetail(String code, Model model) { |
| | | RevenueExpenditureResp revenueExpenditureResp = tRevenueMapper.commissionOrBalanceDetail(code, CashWithdrawalTypeEnum.BALANCE_WITHDRAWAL.getCode()); |
| | | this.packageModel(revenueExpenditureResp,model); |
| | | } |
| | | |
| | | @Override |
| | | public void packageModel(RevenueExpenditureResp revenueExpenditureResp,Model model) { |
| | | model.addAttribute("code",revenueExpenditureResp.getCode()); |
| | | model.addAttribute("businessTime",new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(revenueExpenditureResp.getBusinessTime())); |
| | | model.addAttribute("businessType",revenueExpenditureResp.getBusinessType()); |
| | | model.addAttribute("driverName",revenueExpenditureResp.getDriverName()); |
| | | model.addAttribute("driverPhone",revenueExpenditureResp.getDriverPhone()); |
| | | model.addAttribute("amount",revenueExpenditureResp.getAmount()); |
| | | model.addAttribute("accountBalance",revenueExpenditureResp.getAccountBalance()); |
| | | } |
| | | |
| | | @Override |
| | | public void orderDetail(String code, Model model) { |
| | | // 查询订单 |
| | | TOrder tOrder = tOrderService.selectOne(new EntityWrapper<TOrder>().eq("code", code) |
| | | .last("LIMIT 1")); |
| | | tOrderService.orderDetail(tOrder.getId(),model); |
| | | // 查询评价 |
| | | TEvaluate tEvaluate = tEvaluateService.selectOne(new EntityWrapper<TEvaluate>().eq("orderId", tOrder.getId())); |
| | | if(Objects.nonNull(tEvaluate)){ |
| | | model.addAttribute("evaluateScore",tEvaluate.getScore()); |
| | | model.addAttribute("evaluateContent",tEvaluate.getEvaluate()); |
| | | }else { |
| | | model.addAttribute("evaluateScore",""); |
| | | model.addAttribute("evaluateContent",""); |
| | | } |
| | | } |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.stylefeng.guns.modular.system.dao.TDriverMapper; |
| | | import com.stylefeng.guns.modular.system.enums.UserTypeEnum; |
| | | import com.stylefeng.guns.modular.system.model.TDriver; |
| | | import com.stylefeng.guns.modular.system.model.TSystemBulletin; |
| | | import com.stylefeng.guns.modular.system.dao.TSystemBulletinMapper; |
| | | import com.stylefeng.guns.modular.system.model.TSystemBulletinUser; |
| | | import com.stylefeng.guns.modular.system.service.ITSystemBulletinService; |
| | | import com.baomidou.mybatisplus.service.impl.ServiceImpl; |
| | | import com.stylefeng.guns.modular.system.service.ITSystemBulletinUserService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * <p> |
| | | * 系统公告 服务实现类 |
| | | * </p> |
| | | * |
| | | * @author stylefeng |
| | | * @since 2023-03-16 |
| | | */ |
| | | @Service |
| | | public class TSystemBulletinServiceImpl extends ServiceImpl<TSystemBulletinMapper, TSystemBulletin> implements ITSystemBulletinService { |
| | | |
| | | @Autowired |
| | | private ITSystemBulletinUserService tSystemBulletinUserService; |
| | | @Autowired |
| | | private TDriverMapper tDriverMapper; |
| | | |
| | | @Override |
| | | public void sendBulletin(TSystemBulletin tSystemBulletin) { |
| | | // 判断发送状态 |
| | | if(2 == tSystemBulletin.getState()){ |
| | | // 查找所有司机 |
| | | List<TDriver> list = tDriverMapper.selectList(new EntityWrapper<TDriver>().eq("id",1)); |
| | | List<TSystemBulletinUser> tSystemBulletinUsers = new ArrayList<>(list.size()); |
| | | for (TDriver tDriver : list) { |
| | | TSystemBulletinUser tSystemBulletinUser = new TSystemBulletinUser(); |
| | | tSystemBulletinUser.setCreateTime(new Date()); |
| | | tSystemBulletinUser.setStatus(1); |
| | | tSystemBulletinUser.setSystemBulletinId(tSystemBulletin.getId()); |
| | | tSystemBulletinUser.setUserId(tDriver.getId()); |
| | | tSystemBulletinUser.setUserType(UserTypeEnum.DRIVER.getCode()); |
| | | tSystemBulletinUser.setIsRead(0); |
| | | tSystemBulletinUsers.add(tSystemBulletinUser); |
| | | } |
| | | tSystemBulletinUserService.insertBatch(tSystemBulletinUsers); |
| | | } |
| | | } |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.baomidou.mybatisplus.service.impl.ServiceImpl; |
| | | import com.stylefeng.guns.modular.system.dao.TSystemBulletinUserMapper; |
| | | import com.stylefeng.guns.modular.system.enums.StatusEnum; |
| | | import com.stylefeng.guns.modular.system.model.TSystemBulletinUser; |
| | | import com.stylefeng.guns.modular.system.service.ITSystemBulletinUserService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * <p> |
| | | * 系统公告-用户关系 服务实现类 |
| | | * </p> |
| | | * |
| | | * @author stylefeng |
| | | * @since 2023-03-16 |
| | | */ |
| | | @Service |
| | | public class TSystemBulletinUserServiceImpl extends ServiceImpl<TSystemBulletinUserMapper, TSystemBulletinUser> implements ITSystemBulletinUserService { |
| | | |
| | | @Autowired |
| | | private TSystemBulletinUserMapper tSystemBulletinUserMapper; |
| | | |
| | | @Override |
| | | public void deleteBulletinUser(Integer bulletinId) { |
| | | List<TSystemBulletinUser> tSystemBulletinUsers = tSystemBulletinUserMapper.selectList(new EntityWrapper<TSystemBulletinUser>().eq("systemBulletinId", bulletinId)); |
| | | tSystemBulletinUsers.forEach(bulletin->bulletin.setStatus(StatusEnum.DELETE.getCode())); |
| | | this.updateBatchById(tSystemBulletinUsers); |
| | | } |
| | | } |
| | |
| | | |
| | | return defaultStartDate + "," + defaultEndDate; |
| | | } |
| | | |
| | | /** |
| | | * 获取当前日期周几 |
| | | * @param date |
| | | * @return |
| | | */ |
| | | public static String getWeekDay(Date date){ |
| | | Calendar calendar = Calendar.getInstance(); |
| | | calendar.setTime(date); |
| | | int weekIdx = calendar.get(Calendar.DAY_OF_WEEK) - 1; |
| | | String day = null; |
| | | switch (weekIdx) { |
| | | case 1: |
| | | day = "周一"; |
| | | break; |
| | | case 2: |
| | | day = "周二"; |
| | | break; |
| | | case 3: |
| | | day = "周三"; |
| | | break; |
| | | case 4: |
| | | day = "周四"; |
| | | break; |
| | | case 5: |
| | | day = "周五"; |
| | | break; |
| | | case 6: |
| | | day = "周六"; |
| | | break; |
| | | default: |
| | | day = "周日"; |
| | | break; |
| | | } |
| | | return day; |
| | | } |
| | | |
| | | |
| | | |
| | |
| | | <input type="hidden" id="${id}" name="${id}"/> |
| | | </div> |
| | | <div class="col-sm-2"> |
| | | <button class="btn btn-outline btn-success" type="button" onclick="UploadFileFn()"><i class="fa fa-upload"></i>上传文件</button> |
| | | <button class="btn btn-outline btn-success" type="button" onclick="TEdition.previewFile()"><i class="fa fa-upload"></i>上传文件</button> |
| | | </div> |
| | | </div> |
| | | <div class="col-sm-12 progress progress-striped" style="margin-top: 10px;"> |
| | |
| | | <div class="initialLevel col-sm-6 control-label form-group" > |
| | | <span style="color:red">*</span> |
| | | <label class="control-label" >负责人姓名:</label> |
| | | <input id="principal" name="principal" type="text" style="height: 30px" required> |
| | | <input id="principal" name="principal" type="text" maxlength="20" placeholder="请输入" style="height: 30px" required> |
| | | </div> |
| | | </div> |
| | | <div class="initialLevel col-sm-12 control-label form-group"> |
| | | <div class="initialLevel col-sm-6 control-label form-group" > |
| | | <span style="color:red">*</span> |
| | | <label class="control-label" >联系电话:</label> |
| | | <input id="principalPhone" name="principalPhone" type="number" style="height: 30px" required> |
| | | <input id="principalPhone" name="principalPhone" maxlength="11" type="number" placeholder="请输入" style="height: 30px" required> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group"> |
| | | <div class="initialLevel col-sm-6 control-label form-group" > |
| | | <label class="control-label" >邮箱:</label> |
| | | <input id="email" name="email" type="email" style="height: 30px"> |
| | | <input id="email" name="email" type="email" maxlength="40" placeholder="请输入" style="height: 30px"> |
| | | </div> |
| | | </div> |
| | | |
| | |
| | | <div class="initialLevel col-sm-12 control-label form-group"> |
| | | <div class="initialLevel col-sm-6 control-label form-group" > |
| | | <label class="control-label" >开户银行:</label> |
| | | <input id="bankDeposit" name="bankDeposit" type="text" style="height: 30px"> |
| | | <input id="bankDeposit" name="bankDeposit" type="text" maxlength="20" placeholder="请输入" style="height: 30px"> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group"> |
| | | <div class="initialLevel col-sm-6 control-label form-group" > |
| | | <label class="control-label" >银行账户:</label> |
| | | <input id="bankAccount" name="bankAccount" type="number" style="height: 30px"> |
| | | <input id="bankAccount" name="bankAccount" type="number" maxlength="20" placeholder="请输入" style="height: 30px"> |
| | | </div> |
| | | </div> |
| | | |
| | |
| | | <option value="">状态</option> |
| | | <option value="1">正常</option> |
| | | <option value="2">冻结</option> |
| | | <option value="3">已删除</option> |
| | | </select> |
| | | </div> |
| | | <div class="col-sm-2"> |
| | |
| | | <option value="">状态</option> |
| | | <option value="1">正常</option> |
| | | <option value="2">冻结</option> |
| | | <option value="3">已删除</option> |
| | | </select> |
| | | </div> |
| | | <div class="col-sm-2"> |
| | |
| | | <input hidden id="status" value="${status}"> |
| | | <div class="col-lg-3"> |
| | | @if(status==1){ |
| | | 冻结理由:<textarea id="stopRemark" placeholder="请输入冻结理由" style="width: 681px; height: 249px;"></textarea> |
| | | 冻结理由:<textarea id="stopRemark" placeholder="请输入冻结理由" maxlength="200" style="width: 681px; height: 249px;"></textarea> |
| | | @} |
| | | @if(status==2){ |
| | | 启用理由:<textarea id="startRemark" placeholder="请输入启用理由" style="width: 681px; height: 249px;"></textarea> |
| | | 启用理由:<textarea id="startRemark" placeholder="请输入启用理由" maxlength="200" style="width: 681px; height: 249px;"></textarea> |
| | | @} |
| | | </div> |
| | | <div class="hidden-xs" id="TAppUserTableToolbar" role="group" style="margin-left:300px"> |
| | |
| | | <input hidden id="status" value="${status}"> |
| | | <div class="col-lg-3"> |
| | | @if(status==1){ |
| | | 冻结理由:<textarea id="stopRemark" placeholder="请输入冻结理由" style="width: 681px; height: 249px;"></textarea> |
| | | 冻结理由:<textarea id="stopRemark" placeholder="请输入冻结理由" maxlength="200" style="width: 681px; height: 249px;"></textarea> |
| | | @} |
| | | @if(status==2){ |
| | | 启用理由:<textarea id="startRemark" placeholder="请输入启用理由" style="width: 681px; height: 249px;"></textarea> |
| | | 启用理由:<textarea id="startRemark" placeholder="请输入启用理由" maxlength="200" style="width: 681px; height: 249px;"></textarea> |
| | | @} |
| | | </div> |
| | | <div class="hidden-xs" id="TAppUserTableToolbar" role="group" style="margin-left:300px"> |
New file |
| | |
| | | @layout("/common/_container.html"){ |
| | | <div class="row"> |
| | | <div class="col-sm-12"> |
| | | <div class="ibox float-e-margins"> |
| | | <div class="ibox-title"> |
| | | <h5>管理</h5> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <div class="row row-lg"> |
| | | <div class="col-sm-12"> |
| | | <div class="row"> |
| | | <div class="col-sm-2"> |
| | | <#TimeCon id="createTime" name="申请时间" /> |
| | | </div> |
| | | <div class="col-sm-2"> |
| | | <#NameCon id="addresseePhone" name="手机号" /> |
| | | </div> |
| | | <div class="col-sm-2"> |
| | | <select class="input-group" id="state" style="width: 180px;height: 33px" name="state"> |
| | | <option value="">状态</option> |
| | | <option value="1">待开票</option> |
| | | <option value="2">已开票</option> |
| | | <option value="3">开票失败</option> |
| | | </select> |
| | | </div> |
| | | <div class="col-sm-2"> |
| | | <select class="input-group" id="billType" style="width: 180px;height: 33px" name="billType"> |
| | | <option value="">发票类型</option> |
| | | <option value="1">电子发票</option> |
| | | </select> |
| | | </div> |
| | | <div class="col-sm-2"> |
| | | <select class="input-group" id="billHeaderType" style="width: 180px;height: 33px" name="billHeaderType"> |
| | | <option value="">抬头类型</option> |
| | | <option value="1">公司</option> |
| | | <option value="2">个人</option> |
| | | </select> |
| | | </div> |
| | | <div class="col-sm-2"> |
| | | <#button name="搜索" icon="fa-search" clickFun="TBill.search()"/> |
| | | <#button name="重置" icon="fa-trash" clickFun="TBill.resetSearch()" space="true"/> |
| | | </div> |
| | | <div class="col-sm-12"> |
| | | <button type="button" class="btn btn-primary " onclick="TBill.export()" id="export"> |
| | | <i class="fa "></i> 导出 |
| | | </button> |
| | | </div> |
| | | </div> |
| | | <div class="hidden-xs" id="TBillTableToolbar" role="group"> |
| | | @if(shiro.hasPermission("/tBill/add")){ |
| | | <#button name="添加" icon="fa-plus" clickFun="TBill.openAddTBill()"/> |
| | | @} |
| | | @if(shiro.hasPermission("/tBill/update")){ |
| | | <#button name="修改" icon="fa-edit" clickFun="TBill.openTBillDetail()" space="true"/> |
| | | @} |
| | | @if(shiro.hasPermission("/tBill/delete")){ |
| | | <#button name="删除" icon="fa-remove" clickFun="TBill.delete()" space="true"/> |
| | | @} |
| | | </div> |
| | | <#table id="TBillTable"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <script src="${ctxPath}/static/modular/system/tBill/tBill.js"></script> |
| | | <script type="text/javascript"> |
| | | laydate.render({ |
| | | elem: '#createTime', |
| | | type: 'date', |
| | | range: true |
| | | }); |
| | | </script> |
| | | @} |
New file |
| | |
| | | @layout("/common/_container.html"){ |
| | | <div class="ibox float-e-margins"> |
| | | <div class="ibox-content"> |
| | | <div class="form-horizontal"> |
| | | |
| | | <div class="row"> |
| | | <div class="col-sm-6 b-r"> |
| | | <#input id="id" name="主键" underline="true"/> |
| | | <#input id="orderId" name="订单id" underline="true"/> |
| | | <#input id="billType" name="发票类型 1电子发票" underline="true"/> |
| | | <#input id="billHeaderType" name="发票抬头 1公司 2个人" underline="true"/> |
| | | <#input id="companyName" name="公司名称/个人抬头名称" underline="true"/> |
| | | <#input id="companyTaxNumber" name="公司税号" underline="true"/> |
| | | <#input id="billContent" name="发票内容"/> |
| | | </div> |
| | | |
| | | <div class="col-sm-6"> |
| | | <#input id="moreContent" name="更多内容" underline="true"/> |
| | | <#input id="billAmount" name="发票金额" underline="true"/> |
| | | <#input id="addresseeName" name="收件人姓名" underline="true"/> |
| | | <#input id="addresseePhone" name="收件人电话" underline="true"/> |
| | | <#input id="addresseeEmail" name="收件人邮箱" underline="true"/> |
| | | <#input id="state" name="开票状态 1代开票 2已开票 3开票失败" underline="true"/> |
| | | <#input id="createTime" name="添加时间" underline="true"/> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="row btn-group-m-t"> |
| | | <div class="col-sm-10"> |
| | | <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="TBillInfoDlg.addSubmit()"/> |
| | | <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TBillInfoDlg.close()"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | <script src="${ctxPath}/static/modular/system/tBill/tBill_info.js"></script> |
| | | @} |
New file |
| | |
| | | @layout("/common/_container.html"){ |
| | | <div class="ibox float-e-margins"> |
| | | <div class="ibox-content"> |
| | | <div class="form-horizontal"> |
| | | |
| | | <div class="row"> |
| | | <div class="col-sm-6 b-r"> |
| | | <#input id="id" name="主键" value="${item.id}" underline="true"/> |
| | | <#input id="orderId" name="订单id" value="${item.orderId}" underline="true"/> |
| | | <#input id="billType" name="发票类型 1电子发票" value="${item.billType}" underline="true"/> |
| | | <#input id="billHeaderType" name="发票抬头 1公司 2个人" value="${item.billHeaderType}" underline="true"/> |
| | | <#input id="companyName" name="公司名称/个人抬头名称" value="${item.companyName}" underline="true"/> |
| | | <#input id="companyTaxNumber" name="公司税号" value="${item.companyTaxNumber}" underline="true"/> |
| | | <#input id="billContent" name="发票内容" value="${item.billContent}" /> |
| | | </div> |
| | | |
| | | <div class="col-sm-6"> |
| | | <#input id="moreContent" name="更多内容" value="${item.moreContent}" underline="true"/> |
| | | <#input id="billAmount" name="发票金额" value="${item.billAmount}" underline="true"/> |
| | | <#input id="addresseeName" name="收件人姓名" value="${item.addresseeName}" underline="true"/> |
| | | <#input id="addresseePhone" name="收件人电话" value="${item.addresseePhone}" underline="true"/> |
| | | <#input id="addresseeEmail" name="收件人邮箱" value="${item.addresseeEmail}" underline="true"/> |
| | | <#input id="state" name="开票状态 1代开票 2已开票 3开票失败" value="${item.state}" underline="true"/> |
| | | <#input id="createTime" name="添加时间" value="${item.createTime}" /> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="row btn-group-m-t"> |
| | | <div class="col-sm-10"> |
| | | <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="TBillInfoDlg.editSubmit()"/> |
| | | <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TBillInfoDlg.close()"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | <script src="${ctxPath}/static/modular/system/tBill/tBill_info.js"></script> |
| | | @} |
| | |
| | | <option value="">选择状态</option> |
| | | <option value="1">正常</option> |
| | | <option value="2">冻结</option> |
| | | <option value="3">已删除</option> |
| | | </select> |
| | | </div> |
| | | <div class="col-sm-2"> |
| | |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <span style="color:red">*</span> |
| | | <label class="control-label" >分公司名称:</label> |
| | | <input id="branchOfficeName" name="branchOfficeName" type="text" style="height: 30px" required="required"> |
| | | <input id="branchOfficeName" name="branchOfficeName" type="text" maxlength="20" style="height: 30px" required="required"> |
| | | </div> |
| | | </div> |
| | | |
| | |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <span style="color:red">*</span> |
| | | <label class="control-label" >负责人姓名:</label> |
| | | <input id="principal" name="principal" type="text" style="height: 30px" required="required"> |
| | | <input id="principal" name="principal" type="text" style="height: 30px" maxlength="20" placeholder="请输入" required="required"> |
| | | </div> |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <span style="color:red">*</span> |
| | | <label class="control-label" >联系电话:</label> |
| | | <input id="principalPhone" name="principalPhone" type="number" style="height: 30px" required="required"> |
| | | <input id="principalPhone" name="principalPhone" type="number" maxlength="11" placeholder="请输入" style="height: 30px" required="required"> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <label class="control-label" >邮箱:</label> |
| | | <input id="email" type="email" style="height: 30px"> |
| | | <input id="email" type="email" maxlength="40" placeholder="请输入" style="height: 30px"> |
| | | </div> |
| | | </div> |
| | | |
| | |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <label class="control-label" >开户银行:</label> |
| | | <input id="bankDeposit" type="text" style="height: 30px"> |
| | | <input id="bankDeposit" type="text" maxlength="20" placeholder="请输入" style="height: 30px"> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <label class="control-label" >银行账户:</label> |
| | | <input id="bankAccount" type="text" style="height: 30px"> |
| | | <input id="bankAccount" type="text" maxlength="20" placeholder="请输入" style="height: 30px"> |
| | | </div> |
| | | </div> |
| | | |
| | |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <span style="color:red">*</span> |
| | | <label class="control-label" >分公司名称:</label> |
| | | <input id="branchOfficeName" value="${item.branchOfficeName}" name="branchOfficeName" type="text" style="height: 30px" required="required"> |
| | | <input id="branchOfficeName" value="${item.branchOfficeName}" name="branchOfficeName" type="text" maxlength="20" style="height: 30px" required="required"> |
| | | </div> |
| | | </div> |
| | | |
| | |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <span style="color:red">*</span> |
| | | <label class="control-label" >负责人姓名:</label> |
| | | <input id="principal" value="${item.principal}" name="principal" type="text" style="height: 30px" required="required"> |
| | | <input id="principal" value="${item.principal}" name="principal" type="text" maxlength="20" style="height: 30px" required="required"> |
| | | </div> |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <span style="color:red">*</span> |
| | | <label class="control-label" >联系电话:</label> |
| | | <input id="principalPhone" value="${item.principalPhone}" name="principalPhone" type="number" style="height: 30px" required="required"> |
| | | <input id="principalPhone" value="${item.principalPhone}" name="principalPhone" type="number" maxlength="20" style="height: 30px" required="required"> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <label class="control-label" >邮箱:</label> |
| | | <input id="email" value="${item.email}" type="email" style="height: 30px"> |
| | | <input id="email" value="${item.email}" type="email" maxlength="40" style="height: 30px"> |
| | | </div> |
| | | </div> |
| | | |
| | |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <label class="control-label" >开户银行:</label> |
| | | <input id="bankDeposit" value="${item.bankDeposit}" type="text" style="height: 30px"> |
| | | <input id="bankDeposit" value="${item.bankDeposit}" type="text" maxlength="20" style="height: 30px"> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <label class="control-label" >银行账户:</label> |
| | | <input id="bankAccount" value="${item.bankAccount}" type="text" style="height: 30px"> |
| | | <input id="bankAccount" value="${item.bankAccount}" type="text" maxlength="20" style="height: 30px"> |
| | | </div> |
| | | </div> |
| | | |
New file |
| | |
| | | @layout("/common/_container.html"){ |
| | | <div class="row"> |
| | | <div class="col-sm-12"> |
| | | <div class="ibox float-e-margins"> |
| | | <div class="ibox-title"> |
| | | <h5>管理</h5> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <div class="row row-lg"> |
| | | <div class="col-sm-12"> |
| | | <div class="row"> |
| | | <div class="col-sm-2"> |
| | | <#TimeCon id="createTime" name="添加时间" /> |
| | | </div> |
| | | <div class="col-sm-2"> |
| | | <#NameCon id="content" name="消息内容" /> |
| | | </div> |
| | | <div class="col-sm-2"> |
| | | <#button name="搜索" icon="fa-search" clickFun="TBroadcast.search()"/> |
| | | <#button name="重置" icon="fa-trash" clickFun="TBroadcast.resetSearch()"/> |
| | | </div> |
| | | </div> |
| | | <div class="hidden-xs" id="TBroadcastTableToolbar" role="group"> |
| | | @if(shiro.hasPermission("/tBroadcast/add")){ |
| | | <#button name="添加" icon="fa-plus" clickFun="TBroadcast.openAddTBroadcast()"/> |
| | | @} |
| | | @if(shiro.hasPermission("/tBroadcast/update")){ |
| | | <#button name="修改" icon="fa-edit" clickFun="TBroadcast.openTBroadcastDetail()" space="true"/> |
| | | @} |
| | | @if(shiro.hasPermission("/tBroadcast/delete")){ |
| | | <#button name="删除" icon="fa-remove" clickFun="TBroadcast.delete()" space="true"/> |
| | | @} |
| | | </div> |
| | | <#table id="TBroadcastTable"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <script src="${ctxPath}/static/modular/system/tBroadcast/tBroadcast.js"></script> |
| | | <script type="text/javascript"> |
| | | laydate.render({ |
| | | elem: '#createTime', |
| | | type: 'date', |
| | | range: true |
| | | }); |
| | | </script> |
| | | @} |
New file |
| | |
| | | @layout("/common/_container.html"){ |
| | | <div class="ibox float-e-margins"> |
| | | <div class="ibox-content"> |
| | | <div class="form-horizontal"> |
| | | |
| | | <div class="row"> |
| | | <div class="col-sm-6 b-r"> |
| | | <#input id="id" name="主键" underline="true"/> |
| | | <#input id="content" name="消息内容" underline="true"/> |
| | | <#input id="sort" name="排序"/> |
| | | </div> |
| | | |
| | | <div class="col-sm-6"> |
| | | <#input id="status" name="状态(1=正常,2=冻结,3=删除)" underline="true"/> |
| | | <#input id="createTime" name="添加时间" underline="true"/> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="row btn-group-m-t"> |
| | | <div class="col-sm-10"> |
| | | <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="TBroadcastInfoDlg.addSubmit()"/> |
| | | <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TBroadcastInfoDlg.close()"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | <script src="${ctxPath}/static/modular/system/tBroadcast/tBroadcast_info.js"></script> |
| | | @} |
New file |
| | |
| | | @layout("/common/_container.html"){ |
| | | <div class="ibox float-e-margins"> |
| | | <div class="ibox-content"> |
| | | <div class="form-horizontal"> |
| | | |
| | | <div class="row"> |
| | | <div class="col-sm-6 b-r"> |
| | | <#input id="id" name="主键" value="${item.id}" underline="true"/> |
| | | <#input id="content" name="消息内容" value="${item.content}" underline="true"/> |
| | | <#input id="sort" name="排序" value="${item.sort}" /> |
| | | </div> |
| | | |
| | | <div class="col-sm-6"> |
| | | <#input id="status" name="状态(1=正常,2=冻结,3=删除)" value="${item.status}" underline="true"/> |
| | | <#input id="createTime" name="添加时间" value="${item.createTime}" /> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="row btn-group-m-t"> |
| | | <div class="col-sm-10"> |
| | | <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="TBroadcastInfoDlg.editSubmit()"/> |
| | | <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TBroadcastInfoDlg.close()"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | <script src="${ctxPath}/static/modular/system/tBroadcast/tBroadcast_info.js"></script> |
| | | @} |
New file |
| | |
| | | @layout("/common/_container.html"){ |
| | | <div class="row"> |
| | | <div class="col-sm-12"> |
| | | <div class="ibox float-e-margins"> |
| | | <div class="ibox-title"> |
| | | <h5>管理</h5> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <div class="row row-lg"> |
| | | <div class="col-sm-12"> |
| | | <div class="row"> |
| | | <div class="col-sm-3"> |
| | | <#NameCon id="condition" name="名称" /> |
| | | </div> |
| | | <div class="col-sm-3"> |
| | | <#button name="搜索" icon="fa-search" clickFun="TCommercial.search()"/> |
| | | </div> |
| | | </div> |
| | | <div class="hidden-xs" id="TCommercialTableToolbar" role="group"> |
| | | @if(shiro.hasPermission("/tCommercial/add")){ |
| | | <#button name="添加" icon="fa-plus" clickFun="TCommercial.openAddTCommercial()"/> |
| | | @} |
| | | @if(shiro.hasPermission("/tCommercial/update")){ |
| | | <#button name="修改" icon="fa-edit" clickFun="TCommercial.openTCommercialDetail()" space="true"/> |
| | | @} |
| | | @if(shiro.hasPermission("/tCommercial/delete")){ |
| | | <#button name="删除" icon="fa-remove" clickFun="TCommercial.delete()" space="true"/> |
| | | @} |
| | | </div> |
| | | <#table id="TCommercialTable"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <script src="${ctxPath}/static/modular/system/tCommercial/tCommercial.js"></script> |
| | | @} |
New file |
| | |
| | | @layout("/common/_container.html"){ |
| | | <div class="ibox float-e-margins"> |
| | | <div class="ibox-content"> |
| | | <div class="form-horizontal"> |
| | | |
| | | <div class="row"> |
| | | <div class="col-sm-6 b-r"> |
| | | <#input id="id" name="主键" underline="true"/> |
| | | <#input id="type" name="类型(1=弹窗广告,2=底部广告)" underline="true"/> |
| | | <#input id="name" name="名称" underline="true"/> |
| | | <#input id="url" name="广告地址" underline="true"/> |
| | | <#input id="device" name="设备(1=小程序,2=司机端)" underline="true"/> |
| | | <#input id="isJump" name="是否跳转(0=否,1=是)" underline="true"/> |
| | | <#input id="jumpType" name="跳转类型(1=内部跳转,2=外部跳转)" underline="true"/> |
| | | <#input id="jumpUrl" name="跳转连接"/> |
| | | </div> |
| | | |
| | | <div class="col-sm-6"> |
| | | <#input id="html" name="富文本" underline="true"/> |
| | | <#input id="sort" name="排序" underline="true"/> |
| | | <#input id="status" name="状态(1=正常,2=冻结,3=删除)" underline="true"/> |
| | | <#input id="createTime" name="添加时间" underline="true"/> |
| | | <#input id="createUserId" name="添加人员id" underline="true"/> |
| | | <#input id="updateTime" name="更新时间" underline="true"/> |
| | | <#input id="updateUserId" name="更新人员id" underline="true"/> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="row btn-group-m-t"> |
| | | <div class="col-sm-10"> |
| | | <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="TCommercialInfoDlg.addSubmit()"/> |
| | | <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TCommercialInfoDlg.close()"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | <script src="${ctxPath}/static/modular/system/tCommercial/tCommercial_info.js"></script> |
| | | @} |
New file |
| | |
| | | @layout("/common/_container.html"){ |
| | | <div class="ibox float-e-margins"> |
| | | <div class="ibox-content"> |
| | | <div class="form-horizontal"> |
| | | |
| | | <div class="row"> |
| | | <div class="col-sm-6 b-r"> |
| | | <#input id="id" name="主键" value="${item.id}" underline="true"/> |
| | | <#input id="type" name="类型(1=弹窗广告,2=底部广告)" value="${item.type}" underline="true"/> |
| | | <#input id="name" name="名称" value="${item.name}" underline="true"/> |
| | | <#input id="url" name="广告地址" value="${item.url}" underline="true"/> |
| | | <#input id="device" name="设备(1=小程序,2=司机端)" value="${item.device}" underline="true"/> |
| | | <#input id="isJump" name="是否跳转(0=否,1=是)" value="${item.isJump}" underline="true"/> |
| | | <#input id="jumpType" name="跳转类型(1=内部跳转,2=外部跳转)" value="${item.jumpType}" underline="true"/> |
| | | <#input id="jumpUrl" name="跳转连接" value="${item.jumpUrl}" /> |
| | | </div> |
| | | |
| | | <div class="col-sm-6"> |
| | | <#input id="html" name="富文本" value="${item.html}" underline="true"/> |
| | | <#input id="sort" name="排序" value="${item.sort}" underline="true"/> |
| | | <#input id="status" name="状态(1=正常,2=冻结,3=删除)" value="${item.status}" underline="true"/> |
| | | <#input id="createTime" name="添加时间" value="${item.createTime}" underline="true"/> |
| | | <#input id="createUserId" name="添加人员id" value="${item.createUserId}" underline="true"/> |
| | | <#input id="updateTime" name="更新时间" value="${item.updateTime}" underline="true"/> |
| | | <#input id="updateUserId" name="更新人员id" value="${item.updateUserId}" /> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="row btn-group-m-t"> |
| | | <div class="col-sm-10"> |
| | | <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="TCommercialInfoDlg.editSubmit()"/> |
| | | <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TCommercialInfoDlg.close()"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | <script src="${ctxPath}/static/modular/system/tCommercial/tCommercial_info.js"></script> |
| | | @} |
| | |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <span style="color:red">*</span> |
| | | <label class="control-label" >优惠券名称:</label> |
| | | <input id="couponName" name="couponName" type="text" style="height: 30px" required="required"> |
| | | <input id="couponName" name="couponName" type="text" maxlength="20" placeholder="最多输入20个字符" style="height: 30px" required="required"> |
| | | </div> |
| | | </div> |
| | | |
| | |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <span style="color:red">*</span> |
| | | <label class="control-label">优惠券限制数量:</label> |
| | | <input id="couponCount" name="couponCount" type="number" style="height: 30px" required> |
| | | <input id="couponCount" name="couponCount" type="number" maxlength="4" placeholder="最多4位数字" style="height: 30px" required> |
| | | </div> |
| | | </div> |
| | | |
| | |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <span style="color:red">*</span> |
| | | <label class="control-label">条件金额:订单满</label> |
| | | <input id="couponConditionalAmount" name="couponConditionalAmount" type="number" style="height: 30px" required> |
| | | <input id="couponConditionalAmount" name="couponConditionalAmount" type="number" maxlength="4" placeholder="最多4位数字" style="height: 30px" required> |
| | | </div> |
| | | <div class="initialLevel col-sm-3 control-label form-group" style="text-align: left" > |
| | | <label>可使用</label> |
| | |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <span style="color:red">*</span> |
| | | <label class="control-label">优惠金额:</label> |
| | | <input id="couponPreferentialAmount" name="couponPreferentialAmount" type="number" style="height: 30px" required> |
| | | <input id="couponPreferentialAmount" name="couponPreferentialAmount" type="number" maxlength="4" placeholder="最多4位数字" style="height: 30px" required> |
| | | </div> |
| | | </div> |
| | | |
| | |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <span style="color:red">*</span> |
| | | <label class="control-label">有效期:</label> |
| | | <input id="couponValidity" name="couponValidity" type="number" style="height: 30px" required> |
| | | <input id="couponValidity" name="couponValidity" type="number" maxlength="4" placeholder="最多4位数字" style="height: 30px" required> |
| | | </div> |
| | | <div class="initialLevel col-sm-3 control-label form-group" style="text-align: left" > |
| | | <label>天</label> |
| | |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <span style="color:red">*</span> |
| | | <label class="control-label">优惠券总量:</label> |
| | | <input id="remainingQuantity" name="remainingQuantity" type="number" style="height: 30px" required> |
| | | <input id="remainingQuantity" name="remainingQuantity" type="number" maxlength="4" placeholder="最多4位数字" style="height: 30px" required> |
| | | </div> |
| | | </div> |
| | | |
| | |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <span style="color:red">*</span> |
| | | <label class="control-label">赠送数量:</label> |
| | | <input id="couponSendQuantity" name="couponSendQuantity" type="number" style="height: 30px" required> |
| | | <input id="couponSendQuantity" name="couponSendQuantity" type="number" maxlength="4" placeholder="最多4位数字" style="height: 30px" required> |
| | | </div> |
| | | <div class="initialLevel col-sm-3 control-label form-group" style="text-align: left" > |
| | | <label>张</label> |
| | |
| | | </div> |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <div class="initialLevel col-sm-2 control-label form-group" > |
| | | <textarea id="approvalNotes" placeholder="请输入原因" class="control-label" style="width: 280px;height: 100px"></textarea> |
| | | <textarea id="approvalNotes" placeholder="请输入原因" maxlength="200" class="control-label" style="width: 280px;height: 100px"></textarea> |
| | | </div> |
| | | </div> |
| | | |
| | |
| | | <input hidden id="status" value="${status}"> |
| | | <div class="col-lg-3"> |
| | | @if(status==1){ |
| | | 冻结理由:<textarea id="stopRemark" placeholder="请输入冻结理由" style="width: 681px; height: 249px;"></textarea> |
| | | 冻结理由:<textarea id="stopRemark" placeholder="请输入冻结理由" maxlength="200" style="width: 681px; height: 249px;"></textarea> |
| | | @} |
| | | @if(status==2){ |
| | | 解冻理由:<textarea id="startRemark" placeholder="请输入解冻理由" style="width: 681px; height: 249px;"></textarea> |
| | | 解冻理由:<textarea id="startRemark" placeholder="请输入解冻理由" maxlength="200" style="width: 681px; height: 249px;"></textarea> |
| | | @} |
| | | </div> |
| | | <div class="hidden-xs" id="TDriverTableToolbar" role="group" style="margin-left:300px"> |
| | |
| | | <div class="col-sm-12"> |
| | | <input hidden id="id" value="${id}"> |
| | | <div class="col-sm-12" style="text-align: center;height: 60px"> |
| | | 充值余额:<input id="backgroundBalance" placeholder="请输入充值金额" style="width: 300px; height: 30px;" required/> |
| | | 充值余额:<input id="backgroundBalance" placeholder="请输入充值金额" maxlength="4" style="width: 300px; height: 30px;" required/> |
| | | </div> |
| | | <div class="hidden-xs" id="TAppUserTableToolbar" role="group" style="text-align: center"> |
| | | <#button name="取消" icon="fa-plus" clickFun="TDriverInfoDlg.close()" /> |
| | |
| | | <input hidden id="status" value="${status}"> |
| | | <div class="col-lg-3"> |
| | | @if(status==1){ |
| | | 冻结理由:<textarea id="stopRemark" placeholder="请输入冻结理由" style="width: 681px; height: 249px;"></textarea> |
| | | 冻结理由:<textarea id="stopRemark" placeholder="请输入冻结理由" maxlength="200" style="width: 681px; height: 249px;"></textarea> |
| | | @} |
| | | @if(status==2){ |
| | | 解冻理由:<textarea id="startRemark" placeholder="请输入解冻理由" style="width: 681px; height: 249px;"></textarea> |
| | | 解冻理由:<textarea id="startRemark" placeholder="请输入解冻理由" maxlength="200" style="width: 681px; height: 249px;"></textarea> |
| | | @} |
| | | </div> |
| | | <div class="hidden-xs" id="TDriverTableToolbar" role="group" style="margin-left:300px"> |
| | |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <span style="color:red">*</span> |
| | | <label class="control-label" >姓名:</label> |
| | | <input id="name" name="name" type="text" style="height: 30px" required="required"> |
| | | <input id="name" name="name" type="text" style="height: 30px" maxlength="20" placeholder="请输入" required="required"> |
| | | </div> |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <span style="color:red">*</span> |
| | | <label class="control-label" >手机号:</label> |
| | | <input id="phone" name="phone" type="number" style="height: 30px" required="required"> |
| | | <input id="phone" name="phone" type="number" style="height: 30px" maxlength="11" placeholder="请输入" required="required"> |
| | | </div> |
| | | </div> |
| | | |
| | |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <span style="color:red">*</span> |
| | | <label class="control-label" >紧急联系人姓名:</label> |
| | | <input id="emergencyContact" name="emergencyContact" type="text" style="height: 30px" required> |
| | | <input id="emergencyContact" name="emergencyContact" type="text" maxlength="20" placeholder="请输入" style="height: 30px" required> |
| | | </div> |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <span style="color:red">*</span> |
| | | <label class="control-label" >紧急联系人电话:</label> |
| | | <input id="emergencyPhone" name="emergencyPhone" type="number" style="height: 30px" required> |
| | | <input id="emergencyPhone" name="emergencyPhone" type="number" maxlength="11" placeholder="请输入" style="height: 30px" required> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <label class="control-label" >邀约人姓名:</label> |
| | | <input id="inviterName" type="text" style="height: 30px"> |
| | | <input id="inviterName" type="text" maxlength="20" placeholder="请输入" style="height: 30px"> |
| | | </div> |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <label class="control-label" >邀约人电话:</label> |
| | | <input id="inviterPhone" type="number" style="height: 30px"> |
| | | <input id="inviterPhone" type="number" maxlength="11" placeholder="请输入" style="height: 30px"> |
| | | </div> |
| | | </div> |
| | | |
| | |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <span style="color:red">*</span> |
| | | <label class="control-label" >身份证号码:</label> |
| | | <input id="idcard" name="idcard" type="text" style="height: 30px" required> |
| | | <input id="idcard" name="idcard" type="text" maxlength="20" placeholder="请输入" style="height: 30px" required> |
| | | </div> |
| | | </div> |
| | | |
| | |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <span style="color:red">*</span> |
| | | <label class="control-label" >姓名:</label> |
| | | <input id="name" name="name" value="${item.name}" type="text" style="height: 30px" required> |
| | | <input id="name" name="name" value="${item.name}" type="text" maxlength="20" style="height: 30px" required> |
| | | </div> |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <span style="color:red">*</span> |
| | | <label class="control-label" >手机号:</label> |
| | | <input id="phone" name="phone" value="${item.phone}" type="number" style="height: 30px" required> |
| | | <input id="phone" name="phone" value="${item.phone}" type="number" maxlength="11" style="height: 30px" required> |
| | | </div> |
| | | </div> |
| | | |
| | |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <span style="color:red">*</span> |
| | | <label class="control-label" >紧急联系人姓名:</label> |
| | | <input id="emergencyContact" name="emergencyContact" value="${item.emergencyContact}" type="text" style="height: 30px" required> |
| | | <input id="emergencyContact" name="emergencyContact" value="${item.emergencyContact}" type="text" maxlength="20" style="height: 30px" required> |
| | | </div> |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <span style="color:red">*</span> |
| | | <label class="control-label" >紧急联系人电话:</label> |
| | | <input id="emergencyPhone" name="emergencyPhone" value="${item.emergencyPhone}" type="number" style="height: 30px" required> |
| | | <input id="emergencyPhone" name="emergencyPhone" value="${item.emergencyPhone}" type="number" maxlength="11" style="height: 30px" required> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <label class="control-label" >邀约人姓名:</label> |
| | | <input id="inviterName" value="${item.inviterName}" type="text" style="height: 30px"> |
| | | <input id="inviterName" value="${item.inviterName}" type="text" maxlength="20" style="height: 30px"> |
| | | </div> |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <label class="control-label" >邀约人电话:</label> |
| | | <input id="inviterPhone" value="${item.inviterPhone}" type="number" style="height: 30px"> |
| | | <input id="inviterPhone" value="${item.inviterPhone}" type="number" maxlength="11" style="height: 30px"> |
| | | </div> |
| | | </div> |
| | | |
| | |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <span style="color:red">*</span> |
| | | <label class="control-label" >身份证号码:</label> |
| | | <input id="idcard" name="idcard" value="${item.idcard}" type="text" style="height: 30px" required> |
| | | <input id="idcard" name="idcard" value="${item.idcard}" type="text" maxlength="20" style="height: 30px" required> |
| | | </div> |
| | | </div> |
| | | |
New file |
| | |
| | | @layout("/common/_container.html"){ |
| | | <div class="row"> |
| | | <div class="col-sm-12"> |
| | | <div class="ibox float-e-margins"> |
| | | <div class="ibox-title"> |
| | | <h5>版本更新</h5> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <div class="row row-lg"> |
| | | <div class="col-sm-12"> |
| | | <div class="row"> |
| | | <div class="col-sm-3"> |
| | | <#TimeCon id="createTime" name="更新时间" /> |
| | | </div> |
| | | <div class="col-sm-3"> |
| | | <#NameCon id="editionNo" name="版本号" /> |
| | | </div> |
| | | <div class="col-sm-3"> |
| | | <#button name="搜索" icon="fa-search" clickFun="TEdition.search()"/> |
| | | <#button name="重置" icon="fa-trash" clickFun="TEdition.resetSearch()" space="true"/> |
| | | </div> |
| | | </div> |
| | | <div class="hidden-xs" id="TEditionTableToolbar" role="group"> |
| | | @if(shiro.hasPermission("/tEdition/add")){ |
| | | <#button name="添加" icon="fa-plus" clickFun="TEdition.openAddTEdition()"/> |
| | | @} |
| | | @if(shiro.hasPermission("/tEdition/update")){ |
| | | <#button name="修改" icon="fa-edit" clickFun="TEdition.openTEditionDetail()" space="true"/> |
| | | @} |
| | | @if(shiro.hasPermission("/tEdition/delete")){ |
| | | <#button name="删除" icon="fa-remove" clickFun="TEdition.delete()" space="true"/> |
| | | @} |
| | | </div> |
| | | <#table id="TEditionTable"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <script src="${ctxPath}/static/modular/system/tEdition/tEdition.js"></script> |
| | | <script type="text/javascript"> |
| | | laydate.render({ |
| | | elem: '#createTime', |
| | | type: 'date', |
| | | range: true |
| | | }); |
| | | </script> |
| | | @} |
New file |
| | |
| | | @layout("/common/_container.html"){ |
| | | <div class="row"> |
| | | <div class="col-sm-12"> |
| | | <div class="ibox float-e-margins"> |
| | | <div class="ibox-title"> |
| | | <h5>版本添加</h5> |
| | | </div> |
| | | <div class="ibox-content" id="editionInfoForm"> |
| | | <div class="row row-lg"> |
| | | <div class="col-sm-12"> |
| | | |
| | | <div class="col-sm-12" style="cursor: pointer;text-align: left;"> |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <div class="initialLevel col-sm-5 control-label form-group" > |
| | | <label class="control-label col-sm-2" >版本编号:</label> |
| | | <input id="editionNo" name="editionNo" type="text" class="col-sm-3" placeholder="版本编号" style="width: 180px;height: 30px" required="required"> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <div class="initialLevel col-sm-5 control-label form-group" > |
| | | <label class="control-label col-sm-2" >端  口:</label> |
| | | <select id="editionPort" class="col-sm-3" style="width: 180px;height: 30px" name="editionPort"> |
| | | <option value="">请选择端口</option> |
| | | <option value="1">用户端</option> |
| | | <option value="2">司机端</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <div class="initialLevel col-sm-6 control-label form-group" > |
| | | <label class="control-label col-sm-2" >上传apk文件:</label> |
| | | <input id="upFile" type="file" onclick="TEdition.previewFile()" class="col-sm-3" style="width: 180px;height: 30px" required="required"> |
| | | <input hidden id="editionFile" name="editionFile"> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <div class="initialLevel col-sm-5 control-label form-group" > |
| | | <label class="control-label col-sm-2" >版本公告:</label> |
| | | <textarea id="editionAnnouncement" name="editionAnnouncement" placeholder="多行输入" class="col-sm-3" maxlength="500" style="width: 180px;height: 80px"></textarea> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="row btn-group-m-t"> |
| | | <div class="col-sm-10" style="text-align: center"> |
| | | <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TEditionInfoDlg.close()"/> |
| | | <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="TEditionInfoDlg.addSubmit()"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <!--<div class="ibox float-e-margins"> |
| | | <div class="ibox-content"> |
| | | <div class="form-horizontal"> |
| | | |
| | | <div class="row"> |
| | | <div class="col-sm-6 b-r"> |
| | | <#input id="id" name="主键" underline="true"/> |
| | | <#input id="editionNo" name="版本编号" underline="true"/> |
| | | <#input id="editionFile" name="版本文件"/> |
| | | </div> |
| | | |
| | | <div class="col-sm-6"> |
| | | <#input id="editionAnnouncement" name="版本公告" underline="true"/> |
| | | <#input id="createTime" name="创建时间" underline="true"/> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="row btn-group-m-t"> |
| | | <div class="col-sm-10"> |
| | | <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="TEditionInfoDlg.addSubmit()"/> |
| | | <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TEditionInfoDlg.close()"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | </div>--> |
| | | <script src="${ctxPath}/static/modular/system/tEdition/tEdition_info.js"></script> |
| | | <script src="${ctxPath}/static/modular/system/tEdition/tEdition.js"></script> |
| | | <script src="${ctxPath}/static/js/common/web-upload-file.js"></script> |
| | | |
| | | @} |
New file |
| | |
| | | @layout("/common/_container.html"){ |
| | | <div class="ibox float-e-margins"> |
| | | <div class="ibox-content"> |
| | | <div class="form-horizontal"> |
| | | |
| | | <div class="row"> |
| | | <div class="col-sm-6 b-r"> |
| | | <#input id="id" name="主键" value="${item.id}" underline="true"/> |
| | | <#input id="editionNo" name="版本编号" value="${item.editionNo}" underline="true"/> |
| | | <#input id="editionFile" name="版本文件" value="${item.editionFile}" /> |
| | | </div> |
| | | |
| | | <div class="col-sm-6"> |
| | | <#input id="editionAnnouncement" name="版本公告" value="${item.editionAnnouncement}" underline="true"/> |
| | | <#input id="createTime" name="创建时间" value="${item.createTime}" /> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="row btn-group-m-t"> |
| | | <div class="col-sm-10"> |
| | | <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="TEditionInfoDlg.editSubmit()"/> |
| | | <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TEditionInfoDlg.close()"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | <script src="${ctxPath}/static/modular/system/tEdition/tEdition_info.js"></script> |
| | | @} |
New file |
| | |
| | | @layout("/common/_container.html"){ |
| | | <div class="row"> |
| | | <div class="col-sm-12"> |
| | | <div class="ibox float-e-margins"> |
| | | <div class="ibox-title"> |
| | | <h5>首页-地图</h5> |
| | | </div> |
| | | <div class="ibox-content" id="couponInfoForm"> |
| | | |
| | | <div class="row row-lg"> |
| | | <div class="col-sm-12" > |
| | | <div class="initialLevel col-sm-12 control-label form-group" style="cursor: pointer;text-align: left;"> |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <label class="control-label" >运营数据总览/车辆地图总览/</label> |
| | | <label class="control-label" style="color: red">订单热点图</label> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" style="cursor: pointer;text-align: left;"> |
| | | <div class="initialLevel col-sm-1 control-label form-group" > |
| | | <select class="input-group" id="agentName" style="width: 120px;height: 33px" name="agentName"> |
| | | <option value="">请选择代理商</option> |
| | | </select> |
| | | </div> |
| | | <div class="initialLevel col-sm-1 control-label form-group" > |
| | | <select class="input-group" id="orderType" style="width: 125px;height: 33px" name="orderType"> |
| | | <option value="">请选择订单类型</option> |
| | | </select> |
| | | </div> |
| | | <div class="initialLevel col-sm-2 control-label form-group" > |
| | | <#button name="搜索" icon="fa-search" clickFun="TCoupon.search()"/> |
| | | <#button name="重置" icon="fa-trash" clickFun="TCoupon.resetSearch()" space="true"/> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <script src="${ctxPath}/static/modular/system/tCoupon/tCoupon_info.js"></script> |
| | | <script src="${ctxPath}/static/modular/system/tCoupon/tCoupon.js"></script> |
| | | <script type="text/javascript"> |
| | | </script> |
| | | @} |
New file |
| | |
| | | @layout("/common/_container.html"){ |
| | | <div class="row"> |
| | | <div class="col-sm-12"> |
| | | <div class="ibox float-e-margins"> |
| | | <div class="ibox-title"> |
| | | <h5>首页</h5> |
| | | </div> |
| | | <div class="ibox-content" id="couponInfoForm"> |
| | | |
| | | <div class="row row-lg"> |
| | | <div class="col-sm-12" > |
| | | <div class="initialLevel col-sm-12 control-label form-group" style="cursor: pointer;text-align: left;"> |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <span class="control-label" style="font-size: 30px">今天</span> |
| | | </div> |
| | | </div> |
| | | <div class="initialLevel col-sm-12 control-label form-group" style="cursor: pointer;text-align: left;"> |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <label>${txt}</label> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <script src="${ctxPath}/static/modular/system/tCoupon/tCoupon_info.js"></script> |
| | | <script src="${ctxPath}/static/modular/system/tCoupon/tCoupon.js"></script> |
| | | <script type="text/javascript"> |
| | | </script> |
| | | @} |
| | |
| | | <div class="row row-lg"> |
| | | <div class="col-sm-12"> |
| | | <div class="row"> |
| | | <div class="col-sm-3"> |
| | | <#NameCon id="condition" name="名称" /> |
| | | <div class="col-sm-2"> |
| | | <#NameCon id="code" name="订单号" /> |
| | | </div> |
| | | <div class="col-sm-3"> |
| | | <div class="col-sm-2"> |
| | | <select class="input-group" id="businessType" style="width: 180px;height: 33px" name="businessType"> |
| | | <option value="">交易类型</option> |
| | | <option value="1">佣金提现</option> |
| | | <option value="2">余额提现</option> |
| | | <option value="3">支付订单</option> |
| | | </select> |
| | | </div> |
| | | <div class="col-sm-2"> |
| | | <select class="input-group" id="payType" style="width: 180px;height: 33px" name="payType"> |
| | | <option value="">支付渠道</option> |
| | | <option value="1">微信支付</option> |
| | | <option value="2">余额支付</option> |
| | | </select> |
| | | </div> |
| | | <div class="col-sm-2"> |
| | | <#NameCon id="driverName" name="司机姓名" /> |
| | | </div> |
| | | <div class="col-sm-2"> |
| | | <#TimeCon id="businessTime" name="交易时间" /> |
| | | </div> |
| | | <div class="col-sm-2"> |
| | | <#button name="搜索" icon="fa-search" clickFun="TRechargeRecord.search()"/> |
| | | <#button name="重置" icon="fa-trash" clickFun="TRechargeRecord.resetSearch()" space="true"/> |
| | | </div> |
| | | <div class="col-sm-12"> |
| | | <button type="button" class="btn btn-primary " onclick="TRechargeRecord.export()" id="export"> |
| | | <i class="fa "></i> 导出 |
| | | </button> |
| | | </div> |
| | | </div> |
| | | <div class="hidden-xs" id="TRechargeRecordTableToolbar" role="group"> |
| | |
| | | </div> |
| | | </div> |
| | | <script src="${ctxPath}/static/modular/system/tRechargeRecord/tRechargeRecord.js"></script> |
| | | <script type="text/javascript"> |
| | | laydate.render({ |
| | | elem: '#businessTime', |
| | | type: 'date', |
| | | range: true |
| | | }); |
| | | </script> |
| | | @} |
New file |
| | |
| | | @layout("/common/_container.html"){ |
| | | <div class="row"> |
| | | <div class="col-sm-12"> |
| | | <div class="ibox float-e-margins"> |
| | | <div class="ibox-title"> |
| | | <h5>收支明细</h5> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <div class="row row-lg"> |
| | | <div class="col-sm-12"> |
| | | <div class="row"> |
| | | <div class="col-sm-2"> |
| | | <#NameCon id="code" name="订单号" /> |
| | | </div> |
| | | <div class="col-sm-2"> |
| | | <select class="input-group" id="businessType" style="width: 180px;height: 33px" name="businessType"> |
| | | <option value="">交易类型</option> |
| | | <option value="11">佣金提现</option> |
| | | <option value="12">余额提现</option> |
| | | <option value="1">支付订单</option> |
| | | </select> |
| | | </div> |
| | | <div class="col-sm-2"> |
| | | <select class="input-group" id="payType" style="width: 180px;height: 33px" name="payType"> |
| | | <option value="">支付渠道</option> |
| | | <option value="1">微信支付</option> |
| | | <option value="2">余额支付</option> |
| | | <option value="3">线下收款</option> |
| | | </select> |
| | | </div> |
| | | <div class="col-sm-2"> |
| | | <#NameCon id="driverName" name="司机姓名" /> |
| | | </div> |
| | | <div class="col-sm-2"> |
| | | <#TimeCon id="businessTime" name="交易时间" /> |
| | | </div> |
| | | <div class="col-sm-2"> |
| | | <#button name="搜索" icon="fa-search" clickFun="TRevenue.search()"/> |
| | | <#button name="重置" icon="fa-trash" clickFun="TRevenue.resetSearch()" space="true"/> |
| | | </div> |
| | | <div class="col-sm-12"> |
| | | <button type="button" class="btn btn-primary " onclick="TRevenue.export()" id="export"> |
| | | <i class="fa "></i> 导出 |
| | | </button> |
| | | </div> |
| | | </div> |
| | | <div class="hidden-xs" id="TRevenueTableToolbar" role="group"> |
| | | @if(shiro.hasPermission("/tRevenue/add")){ |
| | | <#button name="添加" icon="fa-plus" clickFun="TRevenue.openAddTRevenue()"/> |
| | | @} |
| | | @if(shiro.hasPermission("/tRevenue/update")){ |
| | | <#button name="修改" icon="fa-edit" clickFun="TRevenue.openTRevenueDetail()" space="true"/> |
| | | @} |
| | | @if(shiro.hasPermission("/tRevenue/delete")){ |
| | | <#button name="删除" icon="fa-remove" clickFun="TRevenue.delete()" space="true"/> |
| | | @} |
| | | </div> |
| | | <#table id="TRevenueTable"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <script src="${ctxPath}/static/modular/system/tRevenue/tRevenue.js"></script> |
| | | <script type="text/javascript"> |
| | | laydate.render({ |
| | | elem: '#businessTime', |
| | | type: 'date', |
| | | range: true |
| | | }); |
| | | </script> |
| | | @} |
New file |
| | |
| | | @layout("/common/_container.html"){ |
| | | <div class="row"> |
| | | <div class="col-sm-12"> |
| | | <div class="ibox float-e-margins"> |
| | | <div class="ibox-title"> |
| | | <h5>详情</h5> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <div class="row row-lg"> |
| | | <div class="col-sm-12"> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <label class="control-label" >订单号:</label> |
| | | <label>${code}</label> |
| | | </div> |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <label class="control-label" >交易时间:</label> |
| | | <label>${businessTime}</label> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <label class="control-label" >交易类型:</label> |
| | | @if(businessType==1){ |
| | | <label>支付订单</label> |
| | | @} |
| | | @if(businessType==11){ |
| | | <label>佣金提现</label> |
| | | @} |
| | | @if(businessType==12){ |
| | | <label>余额提现</label> |
| | | @} |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <label class="control-label">司机姓名:</label> |
| | | <label>${driverName}</label> |
| | | </div> |
| | | <div class="initialLevel col-sm-2 control-label form-group" > |
| | | <label class="control-label">司机电话:</label> |
| | | <label>${driverPhone}</label> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <div class="initialLevel col-sm-2 control-label form-group" > |
| | | <label class="control-label">提现金额:</label> |
| | | <label>${amount}</label> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <div class="initialLevel col-sm-2 control-label form-group" > |
| | | <label class="control-label">余额:</label> |
| | | <label>${accountBalance}</label> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="hidden-xs" id="TDriverTableToolbar" role="group" style="text-align: center"> |
| | | <#button name="取消" icon="fa-plus" clickFun="TRevenueInfoDlg.close()" /> |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <script src="${ctxPath}/static/modular/system/tRevenue/tRevenue.js"></script> |
| | | <script src="${ctxPath}/static/modular/system/tRevenue/tRevenue_info.js"></script> |
| | | @} |
New file |
| | |
| | | @layout("/common/_container.html"){ |
| | | <div class="row"> |
| | | <div class="col-sm-12"> |
| | | <div class="ibox float-e-margins"> |
| | | <div class="ibox-title"> |
| | | <h5>详情</h5> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <div class="row row-lg"> |
| | | <div class="col-sm-12"> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <label class="control-label" >订单号:</label> |
| | | <label>${code}</label> |
| | | </div> |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <label class="control-label" >交易时间:</label> |
| | | <label>${businessTime}</label> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <label class="control-label" >交易类型:</label> |
| | | @if(businessType==1){ |
| | | <label>支付订单</label> |
| | | @} |
| | | @if(businessType==11){ |
| | | <label>佣金提现</label> |
| | | @} |
| | | @if(businessType==12){ |
| | | <label>余额提现</label> |
| | | @} |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <label class="control-label">司机姓名:</label> |
| | | <label>${driverName}</label> |
| | | </div> |
| | | <div class="initialLevel col-sm-2 control-label form-group" > |
| | | <label class="control-label">司机电话:</label> |
| | | <label>${driverPhone}</label> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <div class="initialLevel col-sm-2 control-label form-group" > |
| | | <label class="control-label">提现金额:</label> |
| | | <label>${amount}</label> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <div class="initialLevel col-sm-2 control-label form-group" > |
| | | <label class="control-label">余额:</label> |
| | | <label>${accountBalance}</label> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="hidden-xs" id="TDriverTableToolbar" role="group" style="text-align: center"> |
| | | <#button name="取消" icon="fa-plus" clickFun="TRevenueInfoDlg.close()" /> |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <script src="${ctxPath}/static/modular/system/tRevenue/tRevenue.js"></script> |
| | | <script src="${ctxPath}/static/modular/system/tRevenue/tRevenue_info.js"></script> |
| | | @} |
New file |
| | |
| | | @layout("/common/_container.html"){ |
| | | <div class="row"> |
| | | <div class="col-sm-12"> |
| | | <div class="ibox float-e-margins"> |
| | | <div class="ibox-title"> |
| | | <h5>详情</h5> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <div class="row row-lg"> |
| | | <div class="col-sm-12"> |
| | | |
| | | <hr/> |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <div style="background-color: gray;height: 35px;line-height: 35px"> |
| | | <label style="color: #0C0C0C">订单支付详情</label> |
| | | </div> |
| | | </div> |
| | | <hr/> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <label class="control-label" >下单时间:</label> |
| | | <label>${createTime}</label> |
| | | </div> |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <label class="control-label" >订单编号:</label> |
| | | <label>${code}</label> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <label class="control-label" >乘车时间:</label> |
| | | <label>${startTime}</label> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" style="color: green" > |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <label class="control-label" >下单用户昵称:</label> |
| | | <label>${userName}</label> |
| | | </div> |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <label class="control-label" >下单用户手机号:</label> |
| | | <label>${userPhone}</label> |
| | | </div> |
| | | </div> |
| | | |
| | | <hr/> |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <div style="background-color: gray;height: 35px;line-height: 35px"> |
| | | <label style="color: #0C0C0C">上下地点</label> |
| | | </div> |
| | | </div> |
| | | <hr/> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <label class="control-label">起点:</label> |
| | | <label>${startAddress}</label> |
| | | </div> |
| | | <div class="initialLevel col-sm-2 control-label form-group" > |
| | | <label class="control-label">终点:</label> |
| | | <label>${endAddress}</label> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" style="color:red;" > |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <label class="control-label">司机姓名:</label> |
| | | <label>${driverName}</label> |
| | | </div> |
| | | <div class="initialLevel col-sm-2 control-label form-group" > |
| | | <label class="control-label">司机电话:</label> |
| | | <label>${driverPhone}</label> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <label class="control-label" >上车地点:</label> |
| | | <label>${startAddress}</label> |
| | | </div> |
| | | <div class="initialLevel col-sm-2 control-label form-group" > |
| | | <label class="control-label">上车时间:</label> |
| | | <label>${boardingTime}</label> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <label class="control-label" >下车地点:</label> |
| | | <label>${endAddress}</label> |
| | | </div> |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <label class="control-label" >下车时间:</label> |
| | | <label>${getoffTime}</label> |
| | | </div> |
| | | </div> |
| | | |
| | | |
| | | <hr/> |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <div style="background-color: gray;height: 35px;line-height: 35px"> |
| | | <label style="color: #0C0C0C">费用明细</label> |
| | | </div> |
| | | </div> |
| | | <hr/> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <div class="initialLevel col-sm-2 control-label form-group" > |
| | | <label class="control-label" >起步价:</label> |
| | | <label>${startPrice}</label> |
| | | </div> |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <label class="control-label" >等待费:</label> |
| | | <label>${waitTimePrice}</label> |
| | | </div> |
| | | </div> |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <div class="initialLevel col-sm-2 control-label form-group" > |
| | | <label class="control-label" >里程费:</label> |
| | | <label>${overDrivePrice}</label> |
| | | </div> |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <label class="control-label" >恶劣天气:</label> |
| | | <label>${badWeatherPrice}</label> |
| | | </div> |
| | | </div> |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <div class="initialLevel col-sm-2 control-label form-group" > |
| | | <label class="control-label" >实际费用:</label> |
| | | <label>${orderMoney}</label> |
| | | </div> |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <label class="control-label" >实际支付费用:</label> |
| | | <label>${payMoney}</label> |
| | | </div> |
| | | </div> |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <div class="initialLevel col-sm-2 control-label form-group" > |
| | | <label class="control-label" >优惠券抵扣费用:</label> |
| | | <label>${discountedPrice}</label> |
| | | </div> |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <label class="control-label" >支付方式:</label> |
| | | @if(payType==1){ |
| | | <label>微信支付</label> |
| | | @} |
| | | @if(payType==2){ |
| | | <label>余额支付</label> |
| | | @} |
| | | @if(payType==3){ |
| | | <label>线下收款</label> |
| | | @} |
| | | </div> |
| | | </div> |
| | | |
| | | |
| | | <hr/> |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <div style="background-color: gray;height: 35px;line-height: 35px"> |
| | | <label style="color: #0C0C0C">评论详情</label> |
| | | </div> |
| | | </div> |
| | | <hr/> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <div class="initialLevel col-sm-2 control-label form-group" > |
| | | <label class="control-label" >评论分数:</label> |
| | | @if(evaluateScore==1){ |
| | | <label>非常差</label> |
| | | @} |
| | | @if(evaluateScore==2){ |
| | | <label>差</label> |
| | | @} |
| | | @if(evaluateScore==3){ |
| | | <label>一般</label> |
| | | @} |
| | | @if(evaluateScore==4){ |
| | | <label>满意</label> |
| | | @} |
| | | @if(evaluateScore==5){ |
| | | <label>非常满意</label> |
| | | @} |
| | | </div> |
| | | </div> |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <label class="control-label" >评论内容:</label> |
| | | <label>${evaluateContent}</label> |
| | | </div> |
| | | </div> |
| | | |
| | | |
| | | <div class="hidden-xs" id="TDriverTableToolbar" role="group" style="text-align: center"> |
| | | <#button name="取消" icon="fa-plus" clickFun="TRevenueInfoDlg.close()" /> |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <script src="${ctxPath}/static/modular/system/tRevenue/tRevenue.js"></script> |
| | | <script src="${ctxPath}/static/modular/system/tRevenue/tRevenue_info.js"></script> |
| | | @} |
New file |
| | |
| | | @layout("/common/_container.html"){ |
| | | <div class="ibox float-e-margins"> |
| | | <div class="ibox-content"> |
| | | <div class="form-horizontal"> |
| | | |
| | | <div class="row"> |
| | | <div class="col-sm-6 b-r"> |
| | | <#input id="id" name="主键" underline="true"/> |
| | | <#input id="type" name="收入类型(1=订单收入,2=分佣收入)" underline="true"/> |
| | | <#input id="userType" name="用户类型(1=用户,2=司机,3=代理商)" underline="true"/> |
| | | <#input id="userId" name="用户id"/> |
| | | </div> |
| | | |
| | | <div class="col-sm-6"> |
| | | <#input id="orderId" name="订单id" underline="true"/> |
| | | <#input id="amount" name="收入金额" underline="true"/> |
| | | <#input id="createTime" name="添加时间" underline="true"/> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="row btn-group-m-t"> |
| | | <div class="col-sm-10"> |
| | | <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="TRevenueInfoDlg.addSubmit()"/> |
| | | <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TRevenueInfoDlg.close()"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | <script src="${ctxPath}/static/modular/system/tRevenue/tRevenue_info.js"></script> |
| | | @} |
New file |
| | |
| | | @layout("/common/_container.html"){ |
| | | <div class="ibox float-e-margins"> |
| | | <div class="ibox-content"> |
| | | <div class="form-horizontal"> |
| | | |
| | | <div class="row"> |
| | | <div class="col-sm-6 b-r"> |
| | | <#input id="id" name="主键" value="${item.id}" underline="true"/> |
| | | <#input id="type" name="收入类型(1=订单收入,2=分佣收入)" value="${item.type}" underline="true"/> |
| | | <#input id="userType" name="用户类型(1=用户,2=司机,3=代理商)" value="${item.userType}" underline="true"/> |
| | | <#input id="userId" name="用户id" value="${item.userId}" /> |
| | | </div> |
| | | |
| | | <div class="col-sm-6"> |
| | | <#input id="orderId" name="订单id" value="${item.orderId}" underline="true"/> |
| | | <#input id="amount" name="收入金额" value="${item.amount}" underline="true"/> |
| | | <#input id="createTime" name="添加时间" value="${item.createTime}" /> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="row btn-group-m-t"> |
| | | <div class="col-sm-10"> |
| | | <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="TRevenueInfoDlg.editSubmit()"/> |
| | | <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TRevenueInfoDlg.close()"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | <script src="${ctxPath}/static/modular/system/tRevenue/tRevenue_info.js"></script> |
| | | @} |
New file |
| | |
| | | @layout("/common/_container.html"){ |
| | | <div class="row"> |
| | | <div class="col-sm-12"> |
| | | <div class="ibox float-e-margins"> |
| | | <div class="ibox-title"> |
| | | <h5>管理</h5> |
| | | </div> |
| | | <div class="ibox-content"> |
| | | <div class="row row-lg"> |
| | | <div class="col-sm-12"> |
| | | <div class="row"> |
| | | <div class="col-sm-2"> |
| | | <#TimeCon id="createTime" name="添加时间" /> |
| | | </div> |
| | | <div class="col-sm-2"> |
| | | <#NameCon id="content" name="消息内容" /> |
| | | </div> |
| | | <div class="col-sm-2"> |
| | | <#button name="搜索" icon="fa-search" clickFun="TSystemBulletin.search()"/> |
| | | <#button name="重置" icon="fa-trash" clickFun="TSystemBulletin.resetSearch()"/> |
| | | </div> |
| | | </div> |
| | | <div class="hidden-xs" id="TSystemBulletinTableToolbar" role="group"> |
| | | @if(shiro.hasPermission("/tSystemBulletin/add")){ |
| | | <#button name="添加" icon="fa-plus" clickFun="TSystemBulletin.openAddTSystemBulletin()"/> |
| | | @} |
| | | @if(shiro.hasPermission("/tSystemBulletin/update")){ |
| | | <#button name="修改" icon="fa-edit" clickFun="TSystemBulletin.openTSystemBulletinDetail()" space="true"/> |
| | | @} |
| | | @if(shiro.hasPermission("/tSystemBulletin/delete")){ |
| | | <#button name="删除" icon="fa-remove" clickFun="TSystemBulletin.delete()" space="true"/> |
| | | @} |
| | | </div> |
| | | <#table id="TSystemBulletinTable"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <script src="${ctxPath}/static/modular/system/tSystemBulletin/tSystemBulletin.js"></script> |
| | | <script type="text/javascript"> |
| | | laydate.render({ |
| | | elem: '#createTime', |
| | | type: 'date', |
| | | range: true |
| | | }); |
| | | </script> |
| | | @} |
New file |
| | |
| | | @layout("/common/_container.html"){ |
| | | <div class="row"> |
| | | <div class="col-sm-12"> |
| | | <div class="ibox float-e-margins"> |
| | | <div class="ibox-title"> |
| | | <h5>添加</h5> |
| | | </div> |
| | | <div class="ibox-content" id="systemBulletinInfoForm"> |
| | | <div class="row row-lg"> |
| | | <div class="col-sm-12"> |
| | | <div class="col-sm-12" style="cursor: pointer;text-align: left;"> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group"> |
| | | <div class="initialLevel col-sm-1 control-label form-group" > |
| | | <span style="color:red">*</span> |
| | | <label class="control-label" >介绍:</label> |
| | | </div> |
| | | <div class="initialLevel col-sm-2 control-label form-group" > |
| | | <textarea id="introduce" name="introduce" type="text" placeholder="最多50个字" maxlength="50" style="width:100%;height: 80px" required></textarea> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group"> |
| | | <div class="initialLevel col-sm-1 control-label form-group" > |
| | | <label class="control-label" >图片:</label> |
| | | </div> |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <#uploadImg id="img"/> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group"> |
| | | <div class="initialLevel col-sm-6 control-label form-group" > |
| | | <textarea type="text/plain" id="content" name="content" style="width:100%;height:350px;"></textarea> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="row btn-group-m-t"> |
| | | <div class="col-sm-10" style="text-align: center"> |
| | | <#button btnCss="info" name="保存" id="ensure" icon="fa-check" clickFun="TSystemBulletinInfoDlg.addSubmit()"/> |
| | | <#button btnCss="danger" name="发送" id="send" icon="fa-check" clickFun="TSystemBulletinInfoDlg.addSend()"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | <script src="${ctxPath}/static/modular/system/tSystemBulletin/tSystemBulletin_info.js"></script> |
| | | <script src="${ctxPath}/static/js/ueditor/jsp/ueditor.all.js"></script> |
| | | <script type="text/javascript"> |
| | | $(function () { |
| | | var idCardPositive = new $WebUpload("img"); |
| | | idCardPositive.setUploadBarId("progressBar"); |
| | | idCardPositive.init(); |
| | | }); |
| | | </script> |
| | | @} |
New file |
| | |
| | | @layout("/common/_container.html"){ |
| | | <div class="row"> |
| | | <div class="col-sm-12"> |
| | | <div class="ibox float-e-margins"> |
| | | <div class="ibox-title"> |
| | | <h5>编辑</h5> |
| | | </div> |
| | | <div class="ibox-content" id="systemBulletinInfoForm"> |
| | | <div class="row row-lg"> |
| | | <div class="col-sm-12"> |
| | | <input hidden id="id" value="${item.id}"> |
| | | <div class="col-sm-12" style="cursor: pointer;text-align: left;"> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group"> |
| | | <div class="initialLevel col-sm-1 control-label form-group" > |
| | | <span style="color:red">*</span> |
| | | <label class="control-label" >介绍:</label> |
| | | </div> |
| | | <div class="initialLevel col-sm-2 control-label form-group" > |
| | | <textarea id="introduce" name="introduce" type="text" maxlength="50" style="width:300px;height: 80px" required>${item.introduce}</textarea> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group"> |
| | | <div class="initialLevel col-sm-1 control-label form-group" > |
| | | <label class="control-label" >图片:</label> |
| | | </div> |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <#uploadImg id="img" fileImg="${item.img}"/> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group"> |
| | | <div class="initialLevel col-sm-6 control-label form-group" > |
| | | <input hidden id="contentHtml" value="${item.content}"> |
| | | <textarea type="text/plain" id="content" name="content" style="width:100%;height:350px;">${item.content}</textarea> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="row btn-group-m-t"> |
| | | <div class="col-sm-10" style="text-align: center"> |
| | | <#button btnCss="info" name="保存" id="ensure" icon="fa-check" clickFun="TSystemBulletinInfoDlg.editSubmit()"/> |
| | | <#button btnCss="danger" name="发送" id="send" icon="fa-check" clickFun="TSystemBulletinInfoDlg.editSend()"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | <script src="${ctxPath}/static/modular/system/tSystemBulletin/tSystemBulletin_info.js"></script> |
| | | <script src="${ctxPath}/static/js/ueditor/jsp/ueditor.all.js"></script> |
| | | <script type="text/javascript"> |
| | | $(function () { |
| | | var idCardPositive = new $WebUpload("img"); |
| | | idCardPositive.setUploadBarId("progressBar"); |
| | | idCardPositive.init(); |
| | | }); |
| | | </script> |
| | | @} |
| | |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <span style="color:red">*</span> |
| | | <label class="control-label" >兑换条件:</label> |
| | | <input id="integral" name="integral" type="number" max="9999" placeholder="最多4位数" style="height: 30px" required> |
| | | <input id="integral" name="integral" type="number" maxlength="4" placeholder="最多4位数" style="height: 30px" required> |
| | | </div> |
| | | <div class="initialLevel col-sm-3 control-label form-group" style="text-align: left" > |
| | | <label>积分</label> |
| | |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <span style="color:red">*</span> |
| | | <label class="control-label" >服务内容:</label> |
| | | <textarea id="serviceContent" name="serviceContent" placeholder="请输入" style="height: 80px" required></textarea> |
| | | <textarea id="serviceContent" name="serviceContent" placeholder="请输入" maxlength="500" style="height: 80px" required></textarea> |
| | | </div> |
| | | </div> |
| | | |
| | |
| | | */ |
| | | // 开始上传文件 |
| | | function UploadFileFn() { |
| | | console.log(111) |
| | | $("#progressBarFile").html("0%").css("width", "0%"); |
| | | var upFile = $("#upFile").get(0).files[0]; //input file标签 |
| | | var formData = new FormData(); //创建FormData对象 |
New file |
| | |
| | | /** |
| | | * 管理初始化 |
| | | */ |
| | | var TBill = { |
| | | id: "TBillTable", //表格id |
| | | seItem: null, //选中的条目 |
| | | table: null, |
| | | layerIndex: -1 |
| | | }; |
| | | |
| | | /** |
| | | * 初始化表格的列 |
| | | */ |
| | | TBill.initColumn = function () { |
| | | return [ |
| | | {field: 'selectItem', radio: true}, |
| | | {title: '主键', field: 'id', visible: false, align: 'center', valign: 'middle'}, |
| | | {title: '订单id', field: 'orderId', visible: false, align: 'center', valign: 'middle'}, |
| | | {title: '申请时间', field: 'createTime', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '发票类型', field: 'billType', visible: true, align: 'center', valign: 'middle', |
| | | formatter: function (value, row) { |
| | | if(row.billType === 1){ |
| | | return '<span>电子发票</span>' |
| | | } |
| | | } |
| | | }, |
| | | {title: '抬头类型', field: 'billHeaderType', visible: true, align: 'center', valign: 'middle', |
| | | formatter: function (value, row) { |
| | | if(row.billHeaderType === 1){ |
| | | return '<span>公司</span>' |
| | | }else if(row.billHeaderType === 2){ |
| | | return '<span>个人</span>' |
| | | } |
| | | } |
| | | }, |
| | | {title: '发票抬头', field: 'companyName', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '公司税号', field: 'companyTaxNumber', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '发票内容', field: 'billContent', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '更多内容', field: 'moreContent', visible: false, align: 'center', valign: 'middle'}, |
| | | {title: '发票金额', field: 'billAmount', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '收件人姓名', field: 'addresseeName', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '收件人电话', field: 'addresseePhone', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '收件人邮箱', field: 'addresseeEmail', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '开票状态', field: 'state', visible: true, align: 'center', valign: 'middle', |
| | | formatter: function (value, row) { |
| | | if(row.state === 1){ |
| | | return '<span>待开票</span>' |
| | | }else if(row.state === 2){ |
| | | return '<span>已开票</span>' |
| | | }else if(row.state === 3){ |
| | | return '<span>开票失败</span>' |
| | | } |
| | | } |
| | | }, |
| | | {title: '操作', visible: true, align: 'center', valign: 'middle',width:150, |
| | | formatter: function (value, row) { |
| | | return '<a href="#" onclick="TBill.confirm('+row.id+','+row.state+')" style="color:blue">确定</a>' + ' ' + |
| | | '<a href="#" onclick="TBill.cancel('+row.id+','+row.state+')" style="color:red">取消</a>' |
| | | } |
| | | } |
| | | ]; |
| | | }; |
| | | |
| | | /** |
| | | * 检查是否选中 |
| | | */ |
| | | TBill.check = function () { |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | if(selected.length == 0){ |
| | | Feng.info("请先选中表格中的某一记录!"); |
| | | return false; |
| | | }else{ |
| | | TBill.seItem = selected[0]; |
| | | return true; |
| | | } |
| | | }; |
| | | |
| | | /** |
| | | * 点击添加 |
| | | */ |
| | | TBill.openAddTBill = function () { |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '添加', |
| | | area: ['800px', '420px'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/tBill/tBill_add' |
| | | }); |
| | | this.layerIndex = index; |
| | | }; |
| | | |
| | | /** |
| | | * 打开查看详情 |
| | | */ |
| | | TBill.openTBillDetail = function () { |
| | | if (this.check()) { |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '详情', |
| | | area: ['800px', '420px'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/tBill/tBill_update/' + TBill.seItem.id |
| | | }); |
| | | this.layerIndex = index; |
| | | } |
| | | }; |
| | | |
| | | /** |
| | | * 删除 |
| | | */ |
| | | TBill.delete = function () { |
| | | if (this.check()) { |
| | | var ajax = new $ax(Feng.ctxPath + "/tBill/delete", function (data) { |
| | | Feng.success("删除成功!"); |
| | | TBill.table.refresh(); |
| | | }, function (data) { |
| | | Feng.error("删除失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | ajax.set("tBillId",this.seItem.id); |
| | | ajax.start(); |
| | | } |
| | | }; |
| | | |
| | | /** |
| | | * 确认通过发票 |
| | | */ |
| | | TBill.confirm = function (id,state) { |
| | | |
| | | if(1 !== state){ |
| | | Feng.error("该条数据已审核"); |
| | | return; |
| | | } |
| | | |
| | | var ajax = new $ax(Feng.ctxPath + "/tBill/confirm", function (data) { |
| | | Feng.success("操作成功!"); |
| | | TBill.table.refresh(); |
| | | }, function (data) { |
| | | Feng.error("操作失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | ajax.set("tBillId",id); |
| | | ajax.start(); |
| | | }; |
| | | |
| | | /** |
| | | * 发票失败 |
| | | */ |
| | | TBill.cancel = function (id,state) { |
| | | if(1 !== state){ |
| | | Feng.error("该条数据已审核"); |
| | | return; |
| | | } |
| | | |
| | | var ajax = new $ax(Feng.ctxPath + "/tBill/cancel", function (data) { |
| | | Feng.success("操作成功!"); |
| | | TBill.table.refresh(); |
| | | }, function (data) { |
| | | Feng.error("操作失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | ajax.set("tBillId",id); |
| | | ajax.start(); |
| | | }; |
| | | |
| | | /** |
| | | * 发票信息导出 |
| | | */ |
| | | TBill.export=function(){ |
| | | var createTime=$("#createTime").val() |
| | | var addresseePhone=$("#addresseePhone").val() |
| | | var state=$("#state").val() |
| | | var billType=$("#billType").val() |
| | | var billHeaderType=$("#billHeaderType").val() |
| | | window.location.href=Feng.ctxPath + "/tBill/export?createTime="+createTime |
| | | +"&addresseePhone="+addresseePhone |
| | | +"&state="+state |
| | | +"&billType="+billType |
| | | +"&billHeaderType="+billHeaderType |
| | | ; |
| | | } |
| | | |
| | | /** |
| | | * 查询列表 |
| | | */ |
| | | TBill.search = function () { |
| | | var queryData = {}; |
| | | queryData['createTime'] = $("#createTime").val(); |
| | | queryData['addresseePhone'] = $("#addresseePhone").val(); |
| | | queryData['state'] = $("#state").val(); |
| | | queryData['billType'] = $("#billType").val(); |
| | | queryData['billHeaderType'] = $("#billHeaderType").val(); |
| | | TBill.table.refresh({query: queryData}); |
| | | }; |
| | | |
| | | /** |
| | | * 重置 |
| | | */ |
| | | TBill.resetSearch = function (){ |
| | | $("#createTime").val(''); |
| | | $("#addresseePhone").val(''); |
| | | $("#state").val(''); |
| | | $("#billType").val(''); |
| | | $("#billHeaderType").val(''); |
| | | TBill.search(); |
| | | } |
| | | |
| | | $(function () { |
| | | var defaultColunms = TBill.initColumn(); |
| | | var table = new BSTable(TBill.id, "/tBill/list", defaultColunms); |
| | | table.setPaginationType("client"); |
| | | TBill.table = table.init(); |
| | | }); |
New file |
| | |
| | | /** |
| | | * 初始化详情对话框 |
| | | */ |
| | | var TBillInfoDlg = { |
| | | tBillInfoData : {} |
| | | }; |
| | | |
| | | /** |
| | | * 清除数据 |
| | | */ |
| | | TBillInfoDlg.clearData = function() { |
| | | this.tBillInfoData = {}; |
| | | } |
| | | |
| | | /** |
| | | * 设置对话框中的数据 |
| | | * |
| | | * @param key 数据的名称 |
| | | * @param val 数据的具体值 |
| | | */ |
| | | TBillInfoDlg.set = function(key, val) { |
| | | this.tBillInfoData[key] = (typeof val == "undefined") ? $("#" + key).val() : val; |
| | | return this; |
| | | } |
| | | |
| | | /** |
| | | * 设置对话框中的数据 |
| | | * |
| | | * @param key 数据的名称 |
| | | * @param val 数据的具体值 |
| | | */ |
| | | TBillInfoDlg.get = function(key) { |
| | | return $("#" + key).val(); |
| | | } |
| | | |
| | | /** |
| | | * 关闭此对话框 |
| | | */ |
| | | TBillInfoDlg.close = function() { |
| | | parent.layer.close(window.parent.TBill.layerIndex); |
| | | } |
| | | |
| | | /** |
| | | * 收集数据 |
| | | */ |
| | | TBillInfoDlg.collectData = function() { |
| | | this |
| | | .set('id') |
| | | .set('orderId') |
| | | .set('billType') |
| | | .set('billHeaderType') |
| | | .set('companyName') |
| | | .set('companyTaxNumber') |
| | | .set('billContent') |
| | | .set('moreContent') |
| | | .set('billAmount') |
| | | .set('addresseeName') |
| | | .set('addresseePhone') |
| | | .set('addresseeEmail') |
| | | .set('state') |
| | | .set('createTime'); |
| | | } |
| | | |
| | | /** |
| | | * 提交添加 |
| | | */ |
| | | TBillInfoDlg.addSubmit = function() { |
| | | |
| | | this.clearData(); |
| | | this.collectData(); |
| | | |
| | | //提交信息 |
| | | var ajax = new $ax(Feng.ctxPath + "/tBill/add", function(data){ |
| | | Feng.success("添加成功!"); |
| | | window.parent.TBill.table.refresh(); |
| | | TBillInfoDlg.close(); |
| | | },function(data){ |
| | | Feng.error("添加失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | ajax.set(this.tBillInfoData); |
| | | ajax.start(); |
| | | } |
| | | |
| | | /** |
| | | * 提交修改 |
| | | */ |
| | | TBillInfoDlg.editSubmit = function() { |
| | | |
| | | this.clearData(); |
| | | this.collectData(); |
| | | |
| | | //提交信息 |
| | | var ajax = new $ax(Feng.ctxPath + "/tBill/update", function(data){ |
| | | Feng.success("修改成功!"); |
| | | window.parent.TBill.table.refresh(); |
| | | TBillInfoDlg.close(); |
| | | },function(data){ |
| | | Feng.error("修改失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | ajax.set(this.tBillInfoData); |
| | | ajax.start(); |
| | | } |
| | | |
| | | $(function() { |
| | | |
| | | }); |
New file |
| | |
| | | /** |
| | | * 管理初始化 |
| | | */ |
| | | var TBroadcast = { |
| | | id: "TBroadcastTable", //表格id |
| | | seItem: null, //选中的条目 |
| | | table: null, |
| | | layerIndex: -1 |
| | | }; |
| | | |
| | | /** |
| | | * 初始化表格的列 |
| | | */ |
| | | TBroadcast.initColumn = function () { |
| | | return [ |
| | | {field: 'selectItem', radio: true}, |
| | | {title: '主键', field: 'id', visible: false, align: 'center', valign: 'middle'}, |
| | | {title: '添加时间', field: 'createTime', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '消息内容', field: 'content', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '是否显示', field: 'isShow', visible: true, align: 'center', valign: 'middle', |
| | | formatter: function (value, row) { |
| | | if (row.isShow){ |
| | | return '<span>是</span>' |
| | | }else { |
| | | return '<span>否</span>' |
| | | } |
| | | } |
| | | }, |
| | | {title: '排序', field: 'sort', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '状态(1=正常,2=冻结,3=删除)', field: 'status', visible: false, align: 'center', valign: 'middle'}, |
| | | {title: '操作', visible: true, align: 'center', valign: 'middle',width:150, |
| | | formatter: function (value, row) { |
| | | if (row.isShow){ |
| | | return '<a href="#" onclick="TBroadcast.updateStatus('+row.id+')" style="color:red">下架</a>' |
| | | }else{ |
| | | return '<a href="#" onclick="TBroadcast.updateStatus('+row.id+')" style="color:blue">上架</a>' +' ' + |
| | | '<a href="#" onclick="TBroadcast.delete('+row.id+')" style="color:red">删除</a>' |
| | | } |
| | | } |
| | | } |
| | | ]; |
| | | }; |
| | | |
| | | /** |
| | | * 检查是否选中 |
| | | */ |
| | | TBroadcast.check = function () { |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | if(selected.length == 0){ |
| | | Feng.info("请先选中表格中的某一记录!"); |
| | | return false; |
| | | }else{ |
| | | TBroadcast.seItem = selected[0]; |
| | | return true; |
| | | } |
| | | }; |
| | | |
| | | /** |
| | | * 点击添加 |
| | | */ |
| | | TBroadcast.openAddTBroadcast = function () { |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '添加', |
| | | area: ['800px', '420px'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/tBroadcast/tBroadcast_add' |
| | | }); |
| | | this.layerIndex = index; |
| | | }; |
| | | |
| | | /** |
| | | * 打开查看详情 |
| | | */ |
| | | TBroadcast.openTBroadcastDetail = function () { |
| | | if (this.check()) { |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '详情', |
| | | area: ['800px', '420px'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/tBroadcast/tBroadcast_update/' + TBroadcast.seItem.id |
| | | }); |
| | | this.layerIndex = index; |
| | | } |
| | | }; |
| | | |
| | | /** |
| | | * 删除 |
| | | */ |
| | | TBroadcast.delete = function (id) { |
| | | var ajax = new $ax(Feng.ctxPath + "/tBroadcast/delete", function (data) { |
| | | Feng.success("删除成功!"); |
| | | TBroadcast.table.refresh(); |
| | | }, function (data) { |
| | | Feng.error("删除失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | ajax.set("tBroadcastId",id); |
| | | ajax.start(); |
| | | }; |
| | | |
| | | /** |
| | | * 查询列表 |
| | | */ |
| | | TBroadcast.search = function () { |
| | | var queryData = {}; |
| | | queryData['createTime'] = $("#createTime").val(); |
| | | queryData['content'] = $("#content").val(); |
| | | TBroadcast.table.refresh({query: queryData}); |
| | | }; |
| | | |
| | | /** |
| | | * 重置 |
| | | */ |
| | | TBroadcast.resetSearch = function (){ |
| | | $("#createTime").val(''); |
| | | $("#content").val(''); |
| | | TBroadcast.search(); |
| | | } |
| | | |
| | | $(function () { |
| | | var defaultColunms = TBroadcast.initColumn(); |
| | | var table = new BSTable(TBroadcast.id, "/tBroadcast/list", defaultColunms); |
| | | table.setPaginationType("client"); |
| | | TBroadcast.table = table.init(); |
| | | }); |
New file |
| | |
| | | /** |
| | | * 初始化详情对话框 |
| | | */ |
| | | var TBroadcastInfoDlg = { |
| | | tBroadcastInfoData : {} |
| | | }; |
| | | |
| | | /** |
| | | * 清除数据 |
| | | */ |
| | | TBroadcastInfoDlg.clearData = function() { |
| | | this.tBroadcastInfoData = {}; |
| | | } |
| | | |
| | | /** |
| | | * 设置对话框中的数据 |
| | | * |
| | | * @param key 数据的名称 |
| | | * @param val 数据的具体值 |
| | | */ |
| | | TBroadcastInfoDlg.set = function(key, val) { |
| | | this.tBroadcastInfoData[key] = (typeof val == "undefined") ? $("#" + key).val() : val; |
| | | return this; |
| | | } |
| | | |
| | | /** |
| | | * 设置对话框中的数据 |
| | | * |
| | | * @param key 数据的名称 |
| | | * @param val 数据的具体值 |
| | | */ |
| | | TBroadcastInfoDlg.get = function(key) { |
| | | return $("#" + key).val(); |
| | | } |
| | | |
| | | /** |
| | | * 关闭此对话框 |
| | | */ |
| | | TBroadcastInfoDlg.close = function() { |
| | | parent.layer.close(window.parent.TBroadcast.layerIndex); |
| | | } |
| | | |
| | | /** |
| | | * 收集数据 |
| | | */ |
| | | TBroadcastInfoDlg.collectData = function() { |
| | | this |
| | | .set('id') |
| | | .set('content') |
| | | .set('sort') |
| | | .set('status') |
| | | .set('createTime'); |
| | | } |
| | | |
| | | /** |
| | | * 提交添加 |
| | | */ |
| | | TBroadcastInfoDlg.addSubmit = function() { |
| | | |
| | | this.clearData(); |
| | | this.collectData(); |
| | | |
| | | //提交信息 |
| | | var ajax = new $ax(Feng.ctxPath + "/tBroadcast/add", function(data){ |
| | | Feng.success("添加成功!"); |
| | | window.parent.TBroadcast.table.refresh(); |
| | | TBroadcastInfoDlg.close(); |
| | | },function(data){ |
| | | Feng.error("添加失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | ajax.set(this.tBroadcastInfoData); |
| | | ajax.start(); |
| | | } |
| | | |
| | | /** |
| | | * 提交修改 |
| | | */ |
| | | TBroadcastInfoDlg.editSubmit = function() { |
| | | |
| | | this.clearData(); |
| | | this.collectData(); |
| | | |
| | | //提交信息 |
| | | var ajax = new $ax(Feng.ctxPath + "/tBroadcast/update", function(data){ |
| | | Feng.success("修改成功!"); |
| | | window.parent.TBroadcast.table.refresh(); |
| | | TBroadcastInfoDlg.close(); |
| | | },function(data){ |
| | | Feng.error("修改失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | ajax.set(this.tBroadcastInfoData); |
| | | ajax.start(); |
| | | } |
| | | |
| | | $(function() { |
| | | |
| | | }); |
New file |
| | |
| | | /** |
| | | * 管理初始化 |
| | | */ |
| | | var TCommercial = { |
| | | id: "TCommercialTable", //表格id |
| | | seItem: null, //选中的条目 |
| | | table: null, |
| | | layerIndex: -1 |
| | | }; |
| | | |
| | | /** |
| | | * 初始化表格的列 |
| | | */ |
| | | TCommercial.initColumn = function () { |
| | | return [ |
| | | {field: 'selectItem', radio: true}, |
| | | {title: '主键', field: 'id', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '类型(1=弹窗广告,2=底部广告)', field: 'type', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '名称', field: 'name', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '广告地址', field: 'url', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '设备(1=小程序,2=司机端)', field: 'device', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '是否跳转(0=否,1=是)', field: 'isJump', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '跳转类型(1=内部跳转,2=外部跳转)', field: 'jumpType', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '跳转连接', field: 'jumpUrl', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '富文本', field: 'html', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '排序', field: 'sort', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '状态(1=正常,2=冻结,3=删除)', field: 'status', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '添加时间', field: 'createTime', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '添加人员id', field: 'createUserId', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '更新时间', field: 'updateTime', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '更新人员id', field: 'updateUserId', visible: true, align: 'center', valign: 'middle'} |
| | | ]; |
| | | }; |
| | | |
| | | /** |
| | | * 检查是否选中 |
| | | */ |
| | | TCommercial.check = function () { |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | if(selected.length == 0){ |
| | | Feng.info("请先选中表格中的某一记录!"); |
| | | return false; |
| | | }else{ |
| | | TCommercial.seItem = selected[0]; |
| | | return true; |
| | | } |
| | | }; |
| | | |
| | | /** |
| | | * 点击添加 |
| | | */ |
| | | TCommercial.openAddTCommercial = function () { |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '添加', |
| | | area: ['800px', '420px'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/tCommercial/tCommercial_add' |
| | | }); |
| | | this.layerIndex = index; |
| | | }; |
| | | |
| | | /** |
| | | * 打开查看详情 |
| | | */ |
| | | TCommercial.openTCommercialDetail = function () { |
| | | if (this.check()) { |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '详情', |
| | | area: ['800px', '420px'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/tCommercial/tCommercial_update/' + TCommercial.seItem.id |
| | | }); |
| | | this.layerIndex = index; |
| | | } |
| | | }; |
| | | |
| | | /** |
| | | * 删除 |
| | | */ |
| | | TCommercial.delete = function () { |
| | | if (this.check()) { |
| | | var ajax = new $ax(Feng.ctxPath + "/tCommercial/delete", function (data) { |
| | | Feng.success("删除成功!"); |
| | | TCommercial.table.refresh(); |
| | | }, function (data) { |
| | | Feng.error("删除失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | ajax.set("tCommercialId",this.seItem.id); |
| | | ajax.start(); |
| | | } |
| | | }; |
| | | |
| | | /** |
| | | * 查询列表 |
| | | */ |
| | | TCommercial.search = function () { |
| | | var queryData = {}; |
| | | queryData['condition'] = $("#condition").val(); |
| | | TCommercial.table.refresh({query: queryData}); |
| | | }; |
| | | |
| | | $(function () { |
| | | var defaultColunms = TCommercial.initColumn(); |
| | | var table = new BSTable(TCommercial.id, "/tCommercial/list", defaultColunms); |
| | | table.setPaginationType("client"); |
| | | TCommercial.table = table.init(); |
| | | }); |
New file |
| | |
| | | /** |
| | | * 初始化详情对话框 |
| | | */ |
| | | var TCommercialInfoDlg = { |
| | | tCommercialInfoData : {} |
| | | }; |
| | | |
| | | /** |
| | | * 清除数据 |
| | | */ |
| | | TCommercialInfoDlg.clearData = function() { |
| | | this.tCommercialInfoData = {}; |
| | | } |
| | | |
| | | /** |
| | | * 设置对话框中的数据 |
| | | * |
| | | * @param key 数据的名称 |
| | | * @param val 数据的具体值 |
| | | */ |
| | | TCommercialInfoDlg.set = function(key, val) { |
| | | this.tCommercialInfoData[key] = (typeof val == "undefined") ? $("#" + key).val() : val; |
| | | return this; |
| | | } |
| | | |
| | | /** |
| | | * 设置对话框中的数据 |
| | | * |
| | | * @param key 数据的名称 |
| | | * @param val 数据的具体值 |
| | | */ |
| | | TCommercialInfoDlg.get = function(key) { |
| | | return $("#" + key).val(); |
| | | } |
| | | |
| | | /** |
| | | * 关闭此对话框 |
| | | */ |
| | | TCommercialInfoDlg.close = function() { |
| | | parent.layer.close(window.parent.TCommercial.layerIndex); |
| | | } |
| | | |
| | | /** |
| | | * 收集数据 |
| | | */ |
| | | TCommercialInfoDlg.collectData = function() { |
| | | this |
| | | .set('id') |
| | | .set('type') |
| | | .set('name') |
| | | .set('url') |
| | | .set('device') |
| | | .set('isJump') |
| | | .set('jumpType') |
| | | .set('jumpUrl') |
| | | .set('html') |
| | | .set('sort') |
| | | .set('status') |
| | | .set('createTime') |
| | | .set('createUserId') |
| | | .set('updateTime') |
| | | .set('updateUserId'); |
| | | } |
| | | |
| | | /** |
| | | * 提交添加 |
| | | */ |
| | | TCommercialInfoDlg.addSubmit = function() { |
| | | |
| | | this.clearData(); |
| | | this.collectData(); |
| | | |
| | | //提交信息 |
| | | var ajax = new $ax(Feng.ctxPath + "/tCommercial/add", function(data){ |
| | | Feng.success("添加成功!"); |
| | | window.parent.TCommercial.table.refresh(); |
| | | TCommercialInfoDlg.close(); |
| | | },function(data){ |
| | | Feng.error("添加失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | ajax.set(this.tCommercialInfoData); |
| | | ajax.start(); |
| | | } |
| | | |
| | | /** |
| | | * 提交修改 |
| | | */ |
| | | TCommercialInfoDlg.editSubmit = function() { |
| | | |
| | | this.clearData(); |
| | | this.collectData(); |
| | | |
| | | //提交信息 |
| | | var ajax = new $ax(Feng.ctxPath + "/tCommercial/update", function(data){ |
| | | Feng.success("修改成功!"); |
| | | window.parent.TCommercial.table.refresh(); |
| | | TCommercialInfoDlg.close(); |
| | | },function(data){ |
| | | Feng.error("修改失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | ajax.set(this.tCommercialInfoData); |
| | | ajax.start(); |
| | | } |
| | | |
| | | $(function() { |
| | | |
| | | }); |
New file |
| | |
| | | /** |
| | | * 管理初始化 |
| | | */ |
| | | var TEdition = { |
| | | id: "TEditionTable", //表格id |
| | | seItem: null, //选中的条目 |
| | | table: null, |
| | | layerIndex: -1 |
| | | }; |
| | | |
| | | /** |
| | | * 初始化表格的列 |
| | | */ |
| | | TEdition.initColumn = function () { |
| | | return [ |
| | | {field: 'selectItem', radio: true}, |
| | | {title: '主键', field: 'id', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '版本编号', field: 'editionNo', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '版本文件', field: 'editionFile', visible: true, align: 'center', valign: 'middle', |
| | | formatter: function (value, row) { |
| | | return row.editionFile.substr(47,row.editionFile.length) |
| | | } |
| | | }, |
| | | {title: '版本公告', field: 'editionAnnouncement', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '端口', field: 'editionPort', visible: false, align: 'center', valign: 'middle'}, |
| | | {title: '创建时间', field: 'createTime', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '操作', visible: true, align: 'center', valign: 'middle',width:150, |
| | | formatter: function (value, row) { |
| | | return '<a href="#" onclick="TEdition.delete('+row.id+')" style="color:red">删除</a>' |
| | | } |
| | | } |
| | | ]; |
| | | }; |
| | | |
| | | /** |
| | | * 检查是否选中 |
| | | */ |
| | | TEdition.check = function () { |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | if(selected.length == 0){ |
| | | Feng.info("请先选中表格中的某一记录!"); |
| | | return false; |
| | | }else{ |
| | | TEdition.seItem = selected[0]; |
| | | return true; |
| | | } |
| | | }; |
| | | |
| | | /** |
| | | * 点击添加 |
| | | */ |
| | | TEdition.openAddTEdition = function () { |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '添加', |
| | | area: ['100%', '100%'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/tEdition/tEdition_add' |
| | | }); |
| | | this.layerIndex = index; |
| | | }; |
| | | |
| | | /** |
| | | * 打开查看详情 |
| | | */ |
| | | TEdition.openTEditionDetail = function () { |
| | | if (this.check()) { |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '详情', |
| | | area: ['800px', '420px'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/tEdition/tEdition_update/' + TEdition.seItem.id |
| | | }); |
| | | this.layerIndex = index; |
| | | } |
| | | }; |
| | | |
| | | /** |
| | | * 删除 |
| | | */ |
| | | TEdition.delete = function (id) { |
| | | var ajax = new $ax(Feng.ctxPath + "/tEdition/delete", function (data) { |
| | | Feng.success("删除成功!"); |
| | | TEdition.table.refresh(); |
| | | }, function (data) { |
| | | Feng.error("删除失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | ajax.set("tEditionId",id); |
| | | ajax.start(); |
| | | }; |
| | | |
| | | TEdition.previewFile = function(){ |
| | | |
| | | $("#upFile").change(function(){ |
| | | var file = document.querySelector('#upFile').files[0]; |
| | | var pic = ["apk"]; |
| | | var index1 = file.name.lastIndexOf("."); |
| | | var ext = file.name.substr(index1+1); |
| | | for (var a = 0;a < pic.length; a++ ){ |
| | | if (ext != pic[a]){ |
| | | console.log(pic[a]) |
| | | Feng.error("请上传apk文件"); |
| | | return; |
| | | } |
| | | } |
| | | if (file) { |
| | | TEdition.uploadApk(file); |
| | | } else { |
| | | } |
| | | }); |
| | | } |
| | | |
| | | TEdition.uploadApk = function(file){ |
| | | |
| | | var index = layer.load(1, { |
| | | shade: [0.1,'#fff'] //0.1透明度的白色背景 |
| | | }); |
| | | var formData = new FormData(); |
| | | formData.append("myfile", file); |
| | | $.ajax({ |
| | | url : Feng.ctxPath + "/mgr/saveApk", |
| | | type : "POST", |
| | | data : formData, |
| | | contentType : false, |
| | | processData : false, |
| | | success : function(data) { |
| | | $("#editionFile").val(data); |
| | | Feng.success("上传成功!"); |
| | | layer.close(index); |
| | | }, |
| | | error : function() { |
| | | Feng.error("上传失败"); |
| | | layer.close(index); |
| | | } |
| | | }) |
| | | } |
| | | |
| | | /** |
| | | * 查询列表 |
| | | */ |
| | | TEdition.search = function () { |
| | | var queryData = {}; |
| | | queryData['createTime'] = $("#createTime").val(); |
| | | queryData['editionNo'] = $("#editionNo").val(); |
| | | TEdition.table.refresh({query: queryData}); |
| | | }; |
| | | |
| | | /** |
| | | * 重置 |
| | | */ |
| | | TEdition.resetSearch = function (){ |
| | | $("#createTime").val(''); |
| | | $("#editionNo").val(''); |
| | | TEdition.search(); |
| | | } |
| | | |
| | | $(function () { |
| | | var defaultColunms = TEdition.initColumn(); |
| | | var table = new BSTable(TEdition.id, "/tEdition/list", defaultColunms); |
| | | table.setPaginationType("client"); |
| | | TEdition.table = table.init(); |
| | | }); |
New file |
| | |
| | | /** |
| | | * 初始化详情对话框 |
| | | */ |
| | | var TEditionInfoDlg = { |
| | | tEditionInfoData : {}, |
| | | validateFields: { |
| | | editionNo: { |
| | | validators: { |
| | | notEmpty: { |
| | | message: '版本编号不能为空' |
| | | } |
| | | } |
| | | }, |
| | | editionPort: { |
| | | validators: { |
| | | notEmpty: { |
| | | message: '请选择端口' |
| | | } |
| | | } |
| | | }, |
| | | editionAnnouncement: { |
| | | validators: { |
| | | notEmpty: { |
| | | message: '版本公告不能为空' |
| | | } |
| | | } |
| | | }, |
| | | } |
| | | }; |
| | | |
| | | /** |
| | | * 验证数据是否为空 |
| | | */ |
| | | TEditionInfoDlg.validate = function () { |
| | | $('#editionInfoForm').data("bootstrapValidator").resetForm(); |
| | | $('#editionInfoForm').bootstrapValidator('validate'); |
| | | return $("#editionInfoForm").data('bootstrapValidator').isValid(); |
| | | }; |
| | | |
| | | /** |
| | | * 清除数据 |
| | | */ |
| | | TEditionInfoDlg.clearData = function() { |
| | | this.tEditionInfoData = {}; |
| | | } |
| | | |
| | | /** |
| | | * 设置对话框中的数据 |
| | | * |
| | | * @param key 数据的名称 |
| | | * @param val 数据的具体值 |
| | | */ |
| | | TEditionInfoDlg.set = function(key, val) { |
| | | this.tEditionInfoData[key] = (typeof val == "undefined") ? $("#" + key).val() : val; |
| | | return this; |
| | | } |
| | | |
| | | /** |
| | | * 设置对话框中的数据 |
| | | * |
| | | * @param key 数据的名称 |
| | | * @param val 数据的具体值 |
| | | */ |
| | | TEditionInfoDlg.get = function(key) { |
| | | return $("#" + key).val(); |
| | | } |
| | | |
| | | /** |
| | | * 关闭此对话框 |
| | | */ |
| | | TEditionInfoDlg.close = function() { |
| | | parent.layer.close(window.parent.TEdition.layerIndex); |
| | | } |
| | | |
| | | /** |
| | | * 收集数据 |
| | | */ |
| | | TEditionInfoDlg.collectData = function() { |
| | | this |
| | | .set('id') |
| | | .set('editionNo') |
| | | .set('editionFile') |
| | | .set('editionAnnouncement') |
| | | .set('editionPort') |
| | | .set('createTime'); |
| | | } |
| | | |
| | | /** |
| | | * 提交添加 |
| | | */ |
| | | TEditionInfoDlg.addSubmit = function() { |
| | | |
| | | this.clearData(); |
| | | this.collectData(); |
| | | |
| | | if(!this.validate()){ |
| | | return ; |
| | | } |
| | | |
| | | var editionFile = $("#editionFile").val(); |
| | | if ("" == editionFile){ |
| | | Feng.info("请上传apk文件"); |
| | | return; |
| | | } |
| | | |
| | | //提交信息 |
| | | var ajax = new $ax(Feng.ctxPath + "/tEdition/add", function(data){ |
| | | Feng.success("添加成功!"); |
| | | window.parent.TEdition.table.refresh(); |
| | | TEditionInfoDlg.close(); |
| | | },function(data){ |
| | | Feng.error("添加失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | ajax.set(this.tEditionInfoData); |
| | | ajax.start(); |
| | | } |
| | | |
| | | /** |
| | | * 提交修改 |
| | | */ |
| | | TEditionInfoDlg.editSubmit = function() { |
| | | |
| | | this.clearData(); |
| | | this.collectData(); |
| | | |
| | | //提交信息 |
| | | var ajax = new $ax(Feng.ctxPath + "/tEdition/update", function(data){ |
| | | Feng.success("修改成功!"); |
| | | window.parent.TEdition.table.refresh(); |
| | | TEditionInfoDlg.close(); |
| | | },function(data){ |
| | | Feng.error("修改失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | ajax.set(this.tEditionInfoData); |
| | | ajax.start(); |
| | | } |
| | | |
| | | $(function() { |
| | | Feng.initValidator("editionInfoForm", TEditionInfoDlg.validateFields); |
| | | }); |
New file |
| | |
| | | /** |
| | | * 管理初始化 |
| | | */ |
| | | var TRevenue = { |
| | | id: "TRevenueTable", //表格id |
| | | seItem: null, //选中的条目 |
| | | table: null, |
| | | layerIndex: -1 |
| | | }; |
| | | |
| | | /** |
| | | * 初始化表格的列 |
| | | */ |
| | | TRevenue.initColumn = function () { |
| | | return [ |
| | | {field: 'selectItem', radio: true}, |
| | | {title: '主键', field: 'id', visible: false, align: 'center', valign: 'middle'}, |
| | | {title: '收入类型(1=订单收入,2=分佣收入)', field: 'type', visible: false, align: 'center', valign: 'middle'}, |
| | | {title: '用户类型(1=用户,2=司机,3=代理商)', field: 'userType', visible: false, align: 'center', valign: 'middle'}, |
| | | {title: '用户id', field: 'userId', visible: false, align: 'center', valign: 'middle'}, |
| | | {title: '订单id', field: 'orderId', visible: false, align: 'center', valign: 'middle'}, |
| | | {title: '收入金额', field: 'amount', visible: false, align: 'center', valign: 'middle'}, |
| | | {title: '添加时间', field: 'createTime', visible: false, align: 'center', valign: 'middle'}, |
| | | |
| | | {title: '订单号', field: 'code', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '交易时间', field: 'businessTime', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '交易类型', field: 'businessType', visible: true, align: 'center', valign: 'middle', |
| | | formatter: function (value, row) { |
| | | if (row.businessType === 1){ |
| | | return '<span>支付订单</span>' |
| | | }else if (row.businessType === 11){ |
| | | return '<span>佣金提现</span>' |
| | | }else if (row.businessType === 12){ |
| | | return '<span>余额提现</span>' |
| | | } |
| | | } |
| | | }, |
| | | {title: '司机姓名', field: 'driverName', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '司机电话', field: 'driverPhone', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '支付类型', field: 'payType', visible: true, align: 'center', valign: 'middle', |
| | | formatter: function (value, row) { |
| | | if (row.payType === 1){ |
| | | return '<span>微信支付</span>' |
| | | }else if (row.payType === 2){ |
| | | return '<span>余额支付</span>' |
| | | }else if (row.payType === 3){ |
| | | return '<span>线下收款</span>' |
| | | }else if (row.payType === 0){ |
| | | return '' |
| | | } |
| | | } |
| | | }, |
| | | {title: '金额', field: 'amount', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '佣金提成', field: 'commissionAmount', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '优惠券', field: 'discountedPrice', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '余额', field: 'accountBalance', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '状态', field: 'state', visible: true, align: 'center', valign: 'middle', |
| | | formatter: function (value, row) { |
| | | if (row.state === 2){ |
| | | return '<span>完成</span>' |
| | | }else if (row.state === 108){ |
| | | return '<span>完成</span>' |
| | | }else if (row.state === 109){ |
| | | return '<span>完成</span>' |
| | | } |
| | | } |
| | | }, |
| | | {title: '操作', visible: true, align: 'center', valign: 'middle',width:150, |
| | | formatter: function (value, row) { |
| | | if (row.businessType === 1){ |
| | | return '<a href="#" onclick="TRevenue.searchTRevenueOrderDetail('+row.code+')" style="color:blue">详情</a>' |
| | | }else if (row.businessType === 11){ |
| | | return '<a href="#" onclick="TRevenue.searchTRevenueCommissionDetail('+row.code+')" style="color:blue">详情</a>' |
| | | }else if (row.businessType === 12){ |
| | | return '<a href="#" onclick="TRevenue.searchTRevenueBalanceDetail('+row.code+')" style="color:blue">详情</a>' |
| | | } |
| | | } |
| | | } |
| | | ]; |
| | | }; |
| | | |
| | | /** |
| | | * 检查是否选中 |
| | | */ |
| | | TRevenue.check = function () { |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | if(selected.length == 0){ |
| | | Feng.info("请先选中表格中的某一记录!"); |
| | | return false; |
| | | }else{ |
| | | TRevenue.seItem = selected[0]; |
| | | return true; |
| | | } |
| | | }; |
| | | |
| | | /** |
| | | * 点击添加 |
| | | */ |
| | | TRevenue.openAddTRevenue = function () { |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '添加', |
| | | area: ['800px', '420px'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/tRevenue/tRevenue_add' |
| | | }); |
| | | this.layerIndex = index; |
| | | }; |
| | | |
| | | /** |
| | | * 打开查看详情 |
| | | */ |
| | | TRevenue.openTRevenueDetail = function () { |
| | | if (this.check()) { |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '详情', |
| | | area: ['800px', '420px'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/tRevenue/tRevenue_update/' + TRevenue.seItem.id |
| | | }); |
| | | this.layerIndex = index; |
| | | } |
| | | }; |
| | | |
| | | /** |
| | | * 打开查看佣金提现详情(使用中) |
| | | */ |
| | | TRevenue.searchTRevenueCommissionDetail = function (code) { |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '佣金提现详情', |
| | | area: ['100%', '100%'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/tRevenue/commissionDetail?code=' + code |
| | | }); |
| | | this.layerIndex = index; |
| | | }; |
| | | |
| | | /** |
| | | * 打开查看余额提现详情(使用中) |
| | | */ |
| | | TRevenue.searchTRevenueBalanceDetail = function (code) { |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '余额提现详情', |
| | | area: ['100%', '100%'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/tRevenue/balanceDetail?code=' + code |
| | | }); |
| | | this.layerIndex = index; |
| | | }; |
| | | |
| | | /** |
| | | * 打开查看支付订单详情(使用中) |
| | | */ |
| | | TRevenue.searchTRevenueOrderDetail = function (code) { |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '支付订单详情', |
| | | area: ['100%', '100%'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/tRevenue/orderDetail?code=' + code |
| | | }); |
| | | this.layerIndex = index; |
| | | }; |
| | | |
| | | /** |
| | | * 删除 |
| | | */ |
| | | TRevenue.delete = function () { |
| | | if (this.check()) { |
| | | var ajax = new $ax(Feng.ctxPath + "/tRevenue/delete", function (data) { |
| | | Feng.success("删除成功!"); |
| | | TRevenue.table.refresh(); |
| | | }, function (data) { |
| | | Feng.error("删除失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | ajax.set("tRevenueId",this.seItem.id); |
| | | ajax.start(); |
| | | } |
| | | }; |
| | | |
| | | /** |
| | | * 司机信息导出 |
| | | */ |
| | | TRevenue.export=function(){ |
| | | var code=$("#code").val() |
| | | var businessType=$("#businessType").val() |
| | | var payType=$("#payType").val() |
| | | var driverName=$("#driverName").val() |
| | | var businessTime=$("#businessTime").val() |
| | | window.location.href=Feng.ctxPath + "/tRevenue/export?code="+code |
| | | +"&businessType="+businessType |
| | | +"&payType="+payType |
| | | +"&driverName="+driverName |
| | | +"&businessTime="+businessTime |
| | | ; |
| | | } |
| | | |
| | | /** |
| | | * 查询列表 |
| | | */ |
| | | TRevenue.search = function () { |
| | | var queryData = {}; |
| | | queryData['code'] = $("#code").val(); |
| | | queryData['businessType'] = $("#businessType").val(); |
| | | queryData['payType'] = $("#payType").val(); |
| | | queryData['driverName'] = $("#driverName").val(); |
| | | queryData['businessTime'] = $("#businessTime").val(); |
| | | TRevenue.table.refresh({query: queryData}); |
| | | }; |
| | | |
| | | /** |
| | | * 重置 |
| | | */ |
| | | TRevenue.resetSearch = function (){ |
| | | $("#code").val(''); |
| | | $("#businessType").val(''); |
| | | $("#payType").val(''); |
| | | $("#driverName").val(''); |
| | | $("#businessTime").val(''); |
| | | TRevenue.search(); |
| | | } |
| | | |
| | | $(function () { |
| | | var defaultColunms = TRevenue.initColumn(); |
| | | var table = new BSTable(TRevenue.id, "/tRevenue/list", defaultColunms); |
| | | table.setPaginationType("client"); |
| | | TRevenue.table = table.init(); |
| | | }); |
New file |
| | |
| | | /** |
| | | * 初始化详情对话框 |
| | | */ |
| | | var TRevenueInfoDlg = { |
| | | tRevenueInfoData : {} |
| | | }; |
| | | |
| | | /** |
| | | * 清除数据 |
| | | */ |
| | | TRevenueInfoDlg.clearData = function() { |
| | | this.tRevenueInfoData = {}; |
| | | } |
| | | |
| | | /** |
| | | * 设置对话框中的数据 |
| | | * |
| | | * @param key 数据的名称 |
| | | * @param val 数据的具体值 |
| | | */ |
| | | TRevenueInfoDlg.set = function(key, val) { |
| | | this.tRevenueInfoData[key] = (typeof val == "undefined") ? $("#" + key).val() : val; |
| | | return this; |
| | | } |
| | | |
| | | /** |
| | | * 设置对话框中的数据 |
| | | * |
| | | * @param key 数据的名称 |
| | | * @param val 数据的具体值 |
| | | */ |
| | | TRevenueInfoDlg.get = function(key) { |
| | | return $("#" + key).val(); |
| | | } |
| | | |
| | | /** |
| | | * 关闭此对话框 |
| | | */ |
| | | TRevenueInfoDlg.close = function() { |
| | | parent.layer.close(window.parent.TRevenue.layerIndex); |
| | | } |
| | | |
| | | /** |
| | | * 收集数据 |
| | | */ |
| | | TRevenueInfoDlg.collectData = function() { |
| | | this |
| | | .set('id') |
| | | .set('type') |
| | | .set('userType') |
| | | .set('userId') |
| | | .set('orderId') |
| | | .set('amount') |
| | | .set('createTime'); |
| | | } |
| | | |
| | | /** |
| | | * 提交添加 |
| | | */ |
| | | TRevenueInfoDlg.addSubmit = function() { |
| | | |
| | | this.clearData(); |
| | | this.collectData(); |
| | | |
| | | //提交信息 |
| | | var ajax = new $ax(Feng.ctxPath + "/tRevenue/add", function(data){ |
| | | Feng.success("添加成功!"); |
| | | window.parent.TRevenue.table.refresh(); |
| | | TRevenueInfoDlg.close(); |
| | | },function(data){ |
| | | Feng.error("添加失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | ajax.set(this.tRevenueInfoData); |
| | | ajax.start(); |
| | | } |
| | | |
| | | /** |
| | | * 提交修改 |
| | | */ |
| | | TRevenueInfoDlg.editSubmit = function() { |
| | | |
| | | this.clearData(); |
| | | this.collectData(); |
| | | |
| | | //提交信息 |
| | | var ajax = new $ax(Feng.ctxPath + "/tRevenue/update", function(data){ |
| | | Feng.success("修改成功!"); |
| | | window.parent.TRevenue.table.refresh(); |
| | | TRevenueInfoDlg.close(); |
| | | },function(data){ |
| | | Feng.error("修改失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | ajax.set(this.tRevenueInfoData); |
| | | ajax.start(); |
| | | } |
| | | |
| | | $(function() { |
| | | |
| | | }); |
New file |
| | |
| | | /** |
| | | * 管理初始化 |
| | | */ |
| | | var TSystemBulletin = { |
| | | id: "TSystemBulletinTable", //表格id |
| | | seItem: null, //选中的条目 |
| | | table: null, |
| | | layerIndex: -1 |
| | | }; |
| | | |
| | | /** |
| | | * 初始化表格的列 |
| | | */ |
| | | TSystemBulletin.initColumn = function () { |
| | | return [ |
| | | {field: 'selectItem', radio: true}, |
| | | {title: '主键', field: 'id', visible: false, align: 'center', valign: 'middle'}, |
| | | {title: '标题', field: 'introduce', visible: false, align: 'center', valign: 'middle'}, |
| | | {title: '添加时间', field: 'createTime', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '图片', field: 'img', visible: false, align: 'center', valign: 'middle'}, |
| | | {title: '消息内容', field: 'content', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '状态', field: 'status', visible: false, align: 'center', valign: 'middle'}, |
| | | {title: '状态', field: 'state', visible: true, align: 'center', valign: 'middle', |
| | | formatter: function (value, row) { |
| | | if (row.state === 1){ |
| | | return '<span>未发送</span>' |
| | | }else if (row.state === 2){ |
| | | return '<span>已发送</span>' |
| | | } |
| | | } |
| | | }, |
| | | {title: '操作', visible: true, align: 'center', valign: 'middle',width:150, |
| | | formatter: function (value, row) { |
| | | if (row.state === 1){ |
| | | return '<a href="#" onclick="TSystemBulletin.openTSystemBulletinDetail('+row.id+')" style="color:blue">编辑</a>' +' ' + |
| | | '<a href="#" onclick="TSystemBulletin.delete('+row.id+')" style="color:red">删除</a>' |
| | | }else if (row.state === 2){ |
| | | return '<a href="#" onclick="TSystemBulletin.delete('+row.id+')" style="color:red">删除</a>' |
| | | } |
| | | } |
| | | } |
| | | ]; |
| | | }; |
| | | |
| | | /** |
| | | * 检查是否选中 |
| | | */ |
| | | TSystemBulletin.check = function () { |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | if(selected.length == 0){ |
| | | Feng.info("请先选中表格中的某一记录!"); |
| | | return false; |
| | | }else{ |
| | | TSystemBulletin.seItem = selected[0]; |
| | | return true; |
| | | } |
| | | }; |
| | | |
| | | /** |
| | | * 点击添加 |
| | | */ |
| | | TSystemBulletin.openAddTSystemBulletin = function () { |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '添加', |
| | | area: ['100%', '100%'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/tSystemBulletin/tSystemBulletin_add' |
| | | }); |
| | | this.layerIndex = index; |
| | | }; |
| | | |
| | | /** |
| | | * 打开查看详情 |
| | | */ |
| | | TSystemBulletin.openTSystemBulletinDetail = function (id) { |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '详情', |
| | | area: ['100%', '100%'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/tSystemBulletin/tSystemBulletin_update/' + id |
| | | }); |
| | | this.layerIndex = index; |
| | | }; |
| | | |
| | | /** |
| | | * 删除 |
| | | */ |
| | | TSystemBulletin.delete = function (id) { |
| | | var ajax = new $ax(Feng.ctxPath + "/tSystemBulletin/delete", function (data) { |
| | | Feng.success("删除成功!"); |
| | | TSystemBulletin.table.refresh(); |
| | | }, function (data) { |
| | | Feng.error("删除失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | ajax.set("tSystemBulletinId",id); |
| | | ajax.start(); |
| | | }; |
| | | |
| | | /** |
| | | * 查询列表 |
| | | */ |
| | | TSystemBulletin.search = function () { |
| | | var queryData = {}; |
| | | queryData['createTime'] = $("#createTime").val(); |
| | | queryData['content'] = $("#content").val(); |
| | | TSystemBulletin.table.refresh({query: queryData}); |
| | | }; |
| | | |
| | | /** |
| | | * 重置 |
| | | */ |
| | | TSystemBulletin.resetSearch = function (){ |
| | | $("#createTime").val(''); |
| | | $("#content").val(''); |
| | | TSystemBulletin.search(); |
| | | } |
| | | |
| | | $(function () { |
| | | var defaultColunms = TSystemBulletin.initColumn(); |
| | | var table = new BSTable(TSystemBulletin.id, "/tSystemBulletin/list", defaultColunms); |
| | | table.setPaginationType("client"); |
| | | TSystemBulletin.table = table.init(); |
| | | }); |
New file |
| | |
| | | /** |
| | | * 初始化详情对话框 |
| | | */ |
| | | var TSystemBulletinInfoDlg = { |
| | | tSystemBulletinInfoData : {}, |
| | | validateFields: { |
| | | introduce: { |
| | | validators: { |
| | | notEmpty: { |
| | | message: '介绍不能为空' |
| | | } |
| | | } |
| | | }, |
| | | } |
| | | }; |
| | | |
| | | /** |
| | | * 验证数据是否为空 |
| | | */ |
| | | TSystemBulletinInfoDlg.validate = function () { |
| | | $('#systemBulletinInfoForm').data("bootstrapValidator").resetForm(); |
| | | $('#systemBulletinInfoForm').bootstrapValidator('validate'); |
| | | return $("#systemBulletinInfoForm").data('bootstrapValidator').isValid(); |
| | | }; |
| | | |
| | | /** |
| | | * 清除数据 |
| | | */ |
| | | TSystemBulletinInfoDlg.clearData = function() { |
| | | this.tSystemBulletinInfoData = {}; |
| | | } |
| | | |
| | | /** |
| | | * 设置对话框中的数据 |
| | | * |
| | | * @param key 数据的名称 |
| | | * @param val 数据的具体值 |
| | | */ |
| | | TSystemBulletinInfoDlg.set = function(key, val) { |
| | | this.tSystemBulletinInfoData[key] = (typeof val == "undefined") ? $("#" + key).val() : val; |
| | | return this; |
| | | } |
| | | |
| | | /** |
| | | * 设置对话框中的数据 |
| | | * |
| | | * @param key 数据的名称 |
| | | * @param val 数据的具体值 |
| | | */ |
| | | TSystemBulletinInfoDlg.get = function(key) { |
| | | return $("#" + key).val(); |
| | | } |
| | | |
| | | /** |
| | | * 关闭此对话框 |
| | | */ |
| | | TSystemBulletinInfoDlg.close = function() { |
| | | parent.layer.close(window.parent.TSystemBulletin.layerIndex); |
| | | } |
| | | |
| | | /** |
| | | * 收集数据 |
| | | */ |
| | | TSystemBulletinInfoDlg.collectData = function() { |
| | | if(UE.getEditor('content').hasContents()){ |
| | | $('#content').val(UE.getEditor('content').getContent()); |
| | | } |
| | | this |
| | | .set('id') |
| | | .set('introduce') |
| | | .set('img') |
| | | .set('content') |
| | | .set('status') |
| | | .set('state') |
| | | .set('createTime'); |
| | | } |
| | | |
| | | /** |
| | | * 提交添加 |
| | | */ |
| | | TSystemBulletinInfoDlg.addSubmit = function() { |
| | | |
| | | this.clearData(); |
| | | this.collectData(); |
| | | |
| | | if(!this.validate()){ |
| | | return ; |
| | | } |
| | | |
| | | //提交信息 |
| | | var ajax = new $ax(Feng.ctxPath + "/tSystemBulletin/add", function(data){ |
| | | Feng.success("添加成功!"); |
| | | window.parent.TSystemBulletin.table.refresh(); |
| | | TSystemBulletinInfoDlg.close(); |
| | | },function(data){ |
| | | Feng.error("添加失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | ajax.set(this.tSystemBulletinInfoData); |
| | | ajax.start(); |
| | | } |
| | | |
| | | /** |
| | | * 提交添加 |
| | | */ |
| | | TSystemBulletinInfoDlg.addSend = function() { |
| | | |
| | | this.clearData(); |
| | | this.collectData(); |
| | | |
| | | if(!this.validate()){ |
| | | return ; |
| | | } |
| | | |
| | | //提交信息 |
| | | var ajax = new $ax(Feng.ctxPath + "/tSystemBulletin/addSend", function(data){ |
| | | Feng.success("发送成功!"); |
| | | window.parent.TSystemBulletin.table.refresh(); |
| | | TSystemBulletinInfoDlg.close(); |
| | | },function(data){ |
| | | Feng.error("发送失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | ajax.set(this.tSystemBulletinInfoData); |
| | | ajax.start(); |
| | | } |
| | | |
| | | /** |
| | | * 提交修改 |
| | | */ |
| | | TSystemBulletinInfoDlg.editSubmit = function() { |
| | | |
| | | this.clearData(); |
| | | this.collectData(); |
| | | |
| | | if(!this.validate()){ |
| | | return ; |
| | | } |
| | | |
| | | //提交信息 |
| | | var ajax = new $ax(Feng.ctxPath + "/tSystemBulletin/update", function(data){ |
| | | Feng.success("修改成功!"); |
| | | window.parent.TSystemBulletin.table.refresh(); |
| | | TSystemBulletinInfoDlg.close(); |
| | | },function(data){ |
| | | Feng.error("修改失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | ajax.set(this.tSystemBulletinInfoData); |
| | | ajax.start(); |
| | | } |
| | | |
| | | /** |
| | | * 提交修改发送 |
| | | */ |
| | | TSystemBulletinInfoDlg.editSend = function() { |
| | | |
| | | this.clearData(); |
| | | this.collectData(); |
| | | |
| | | if(!this.validate()){ |
| | | return ; |
| | | } |
| | | |
| | | //提交信息 |
| | | var ajax = new $ax(Feng.ctxPath + "/tSystemBulletin/editSend", function(data){ |
| | | Feng.success("发送成功!"); |
| | | window.parent.TSystemBulletin.table.refresh(); |
| | | TSystemBulletinInfoDlg.close(); |
| | | },function(data){ |
| | | Feng.error("发送失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | ajax.set(this.tSystemBulletinInfoData); |
| | | ajax.start(); |
| | | } |
| | | |
| | | $(function() { |
| | | TSystemBulletinInfoDlg.editor = UE.getEditor('content'); |
| | | Feng.initValidator("systemBulletinInfoForm", TSystemBulletinInfoDlg.validateFields); |
| | | }); |