Commit 4dd78972 by 郑云飞

init

parent a17a094f
package com.yunniu.farming.app;
import com.yunniu.farming.common.plugin.PageInfo;
import com.yunniu.farming.result.Result;
import com.yunniu.farming.webadmin.model.GroupArea;
import com.yunniu.farming.webadmin.model.GroupBuy;
import com.yunniu.farming.webadmin.service.GroupAreaService;
import com.yunniu.farming.webadmin.service.GroupBuyService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @author zyf
* @date 2023/5/12
* @apiNote
*/
@Controller
@RequestMapping("/app/groupArea")
public class GroupAreaAppController {
@Autowired
private GroupAreaService groupAreaService;
/**
* 分页查询
* @return
*/
@RequestMapping(value = "/findPageList", method = RequestMethod.POST)
@ResponseBody
public Result findPageList(@RequestBody GroupArea item) {
//这里对返回对象用Map处理,map.pageinfo=>分页信息;map.items=>结果数据集;
Map<String,Object> rmap = new HashMap<String,Object>();
//传入当前页数,适配PC端Layui分页
if (item.getCurpage() != null || item.getPagesize() != null) {
PageInfo pinfo = new PageInfo();
if (item.getCurpage() != null) {
pinfo.setCurPage(item.getCurpage());
}
if (item.getPagesize() != null) {
pinfo.setPageSize(item.getPagesize());
}
item.setPageinfo(pinfo);
}
// 1.查询前 需要对分页对象 做处理,主要是 分页 开始记录数 limit arg0开始记录,arg1每页几条记录
PageInfo pinfo = item.getPageinfo();
if (pinfo == null) {
pinfo = new PageInfo();
item.setPageinfo(pinfo);
} else {
// 分页开始记录数
int curRecord = (pinfo.getCurPage() - 1) * pinfo.getPageSize();
pinfo.setCurRecord(curRecord);
item.setPageinfo(pinfo);
}
List<GroupBuy> list = groupAreaService.findPageList(item);
// 3.将查询结果的 分页数据封装后返回
int totalRs = pinfo.getTotalRecords(); //总记录数
int totalPs = 0; //总页数
if (totalRs % pinfo.getPageSize() == 0) { //总页数计算
totalPs = totalRs / pinfo.getPageSize();
} else {
totalPs = 1 + totalRs / pinfo.getPageSize();
}
pinfo.setTotalPages(totalPs);
// 4.将分页对象、结果集合 封装后返回前台
rmap.put("pageinfo", pinfo);
rmap.put("items", list);
return Result.success(rmap);
}
}
package com.yunniu.farming.app;
import com.yunniu.farming.common.plugin.PageInfo;
import com.yunniu.farming.result.Result;
import com.yunniu.farming.webadmin.model.GroupBuy;
import com.yunniu.farming.webadmin.service.GroupBuyService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @author zyf
* @date 2023/5/12
* @apiNote
*/
@Controller
@RequestMapping("/app/groupBuy")
public class GroupBuyAppController {
@Autowired
private GroupBuyService groupBuyService;
/**
* 分页查询
* @return
*/
@RequestMapping(value = "/findPageList", method = RequestMethod.POST)
@ResponseBody
public Result findPageList(@RequestBody GroupBuy item) {
//这里对返回对象用Map处理,map.pageinfo=>分页信息;map.items=>结果数据集;
Map<String,Object> rmap = new HashMap<String,Object>();
//传入当前页数,适配PC端Layui分页
if (item.getCurpage() != null || item.getPagesize() != null) {
PageInfo pinfo = new PageInfo();
if (item.getCurpage() != null) {
pinfo.setCurPage(item.getCurpage());
}
if (item.getPagesize() != null) {
pinfo.setPageSize(item.getPagesize());
}
item.setPageinfo(pinfo);
}
// 1.查询前 需要对分页对象 做处理,主要是 分页 开始记录数 limit arg0开始记录,arg1每页几条记录
PageInfo pinfo = item.getPageinfo();
if (pinfo == null) {
pinfo = new PageInfo();
item.setPageinfo(pinfo);
} else {
// 分页开始记录数
int curRecord = (pinfo.getCurPage() - 1) * pinfo.getPageSize();
pinfo.setCurRecord(curRecord);
item.setPageinfo(pinfo);
}
item.setAppFlag(1);
List<GroupBuy> list = groupBuyService.findPageList(item);
// 3.将查询结果的 分页数据封装后返回
int totalRs = pinfo.getTotalRecords(); //总记录数
int totalPs = 0; //总页数
if (totalRs % pinfo.getPageSize() == 0) { //总页数计算
totalPs = totalRs / pinfo.getPageSize();
} else {
totalPs = 1 + totalRs / pinfo.getPageSize();
}
pinfo.setTotalPages(totalPs);
// 4.将分页对象、结果集合 封装后返回前台
rmap.put("pageinfo", pinfo);
rmap.put("items", list);
return Result.success(rmap);
}
/**
* 详情
* @param id 团购id
* @return
*/
@RequestMapping(value = "/detail", method = RequestMethod.GET)
@ResponseBody
public Result detail(@RequestParam Integer id) {
GroupBuy groupBuy = groupBuyService.findById(id);
return Result.success(groupBuy);
}
}
package com.yunniu.farming.webadmin.controller;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.yunniu.farming.common.plugin.PageInfo;
import com.yunniu.farming.result.Result;
import com.yunniu.farming.webadmin.model.GroupArea;
import com.yunniu.farming.webadmin.model.GroupBuy;
import com.yunniu.farming.webadmin.service.GroupAreaService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @author zyf
* @date 2023/5/12
* @apiNote
*/
@Controller
@RequestMapping("/groupArea")
public class GroupAreaController {
@Autowired
private GroupAreaService groupAreaService;
@RequestMapping(value = "/list")
public String list(Model model) {
return "groupArea/list";
}
/**
* 分页查询
* @return
*/
@RequestMapping(value = "/findPageList", method = RequestMethod.POST)
@ResponseBody
public Result findPageList(@RequestBody GroupArea item) {
//这里对返回对象用Map处理,map.pageinfo=>分页信息;map.items=>结果数据集;
Map<String,Object> rmap = new HashMap<String,Object>(2);
//传入当前页数,适配PC端Layui分页
if (item.getCurpage() != null || item.getPagesize() != null) {
PageInfo pinfo = new PageInfo();
if (item.getCurpage() != null) {
pinfo.setCurPage(item.getCurpage());
}
if (item.getPagesize() != null) {
pinfo.setPageSize(item.getPagesize());
}
item.setPageinfo(pinfo);
}
// 1.查询前 需要对分页对象 做处理,主要是 分页 开始记录数 limit arg0开始记录,arg1每页几条记录
PageInfo pinfo = item.getPageinfo();
if (pinfo == null) {
pinfo = new PageInfo();
item.setPageinfo(pinfo);
} else {
// 分页开始记录数
int curRecord = (pinfo.getCurPage() - 1) * pinfo.getPageSize();
pinfo.setCurRecord(curRecord);
item.setPageinfo(pinfo);
}
List<GroupBuy> list = groupAreaService.findPageList(item);
// 3.将查询结果的 分页数据封装后返回
int totalRs = pinfo.getTotalRecords(); //总记录数
int totalPs = 0; //总页数
if (totalRs % pinfo.getPageSize() == 0) { //总页数计算
totalPs = totalRs / pinfo.getPageSize();
} else {
totalPs = 1 + totalRs / pinfo.getPageSize();
}
pinfo.setTotalPages(totalPs);
// 4.将分页对象、结果集合 封装后返回前台
rmap.put("pageinfo", pinfo);
rmap.put("items", list);
return Result.success(rmap);
}
@RequestMapping(value = "/addOrEdit", method = RequestMethod.POST)
@ResponseBody
public Result addOrEdit(@RequestBody GroupArea item) {
if (StringUtils.isEmpty(item.getAreaName())) {
return Result.error("小区名称不能为空");
}
if (StringUtils.isEmpty(item.getAreaAddress())){
return Result.error("小区地址不能为空");
}
return this.groupAreaService.addOrEdit(item);
}
@RequestMapping(value = "/delete/{id}", method = RequestMethod.DELETE)
@ResponseBody
public Result delete(@PathVariable Integer id) {
if (id == null) {
return Result.error("请选择要删除的小区");
}
return this.groupAreaService.delete(id);
}
}
package com.yunniu.farming.webadmin.controller;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yunniu.farming.common.plugin.PageInfo;
import com.yunniu.farming.result.Result;
import com.yunniu.farming.webadmin.model.GroupBuy;
import com.yunniu.farming.webadmin.model.Product;
import com.yunniu.farming.webadmin.service.GroupBuyService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @author zyf
* @date 2023/5/12
* @apiNote
*/
@Controller
@RequestMapping("/groupBuy")
public class GroupBuyController {
@Autowired
private GroupBuyService groupBuyService;
@RequestMapping(value = "/list")
public String list(Model model) {
return "groupBuy/list";
}
/**
* 分页查询
* @return
*/
@RequestMapping(value = "/findPageList", method = RequestMethod.POST)
@ResponseBody
public Result findPageList(@RequestBody GroupBuy item) {
//这里对返回对象用Map处理,map.pageinfo=>分页信息;map.items=>结果数据集;
Map<String,Object> rmap = new HashMap<String,Object>(2);
//传入当前页数,适配PC端Layui分页
if (item.getCurpage() != null || item.getPagesize() != null) {
PageInfo pinfo = new PageInfo();
if (item.getCurpage() != null) {
pinfo.setCurPage(item.getCurpage());
}
if (item.getPagesize() != null) {
pinfo.setPageSize(item.getPagesize());
}
item.setPageinfo(pinfo);
}
// 1.查询前 需要对分页对象 做处理,主要是 分页 开始记录数 limit arg0开始记录,arg1每页几条记录
PageInfo pinfo = item.getPageinfo();
if (pinfo == null) {
pinfo = new PageInfo();
item.setPageinfo(pinfo);
} else {
// 分页开始记录数
int curRecord = (pinfo.getCurPage() - 1) * pinfo.getPageSize();
pinfo.setCurRecord(curRecord);
item.setPageinfo(pinfo);
}
List<GroupBuy> list = groupBuyService.findPageList(item);
// 3.将查询结果的 分页数据封装后返回
int totalRs = pinfo.getTotalRecords(); //总记录数
int totalPs = 0; //总页数
if (totalRs % pinfo.getPageSize() == 0) { //总页数计算
totalPs = totalRs / pinfo.getPageSize();
} else {
totalPs = 1 + totalRs / pinfo.getPageSize();
}
pinfo.setTotalPages(totalPs);
// 4.将分页对象、结果集合 封装后返回前台
rmap.put("pageinfo", pinfo);
rmap.put("items", list);
return Result.success(rmap);
}
/**
* 新增团购活动
* @param item
* @return
*/
@RequestMapping(value = "/addOrEdit", method = RequestMethod.POST)
@ResponseBody
public Result addOrEdit(@RequestBody GroupBuy item) {
if (StringUtils.isEmpty(item.getGroupBuyTitle())) {
return Result.error("活动标题不能为空");
}
if (ObjectUtils.isEmpty(item.getStartTime()) || ObjectUtils.isEmpty(item.getEndTime())){
return Result.error("活动有效期不能为空");
}
if (ObjectUtils.isEmpty(item.getGroupSize())){
return Result.error("最低起送人数不能为空");
}
if (CollectionUtils.isEmpty(item.getAreaIdList())){
return Result.error("配送小区不能为空");
}
if (CollectionUtils.isEmpty(item.getProducts())){
return Result.error("商品不能为空");
}
this.groupBuyService.addOrEdit(item);
return Result.success();
}
}
package com.yunniu.farming.webadmin.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yunniu.farming.webadmin.model.GroupArea;
import com.yunniu.farming.webadmin.model.GroupBuy;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Update;
import java.util.List;
/**
* @author zyf
* @date 2023/5/12
* @apiNote
*/
@Mapper
public interface GroupAreaDao extends BaseMapper<GroupArea> {
List<GroupBuy> findPageList(GroupArea item);
@Update("udpate group_area set area_status = 1 where id = #{id}")
String deleteArea(Integer id);
}
package com.yunniu.farming.webadmin.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yunniu.farming.webadmin.model.GroupBuy;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* @author zyf
* @date 2023/5/12
* @apiNote
*/
@Mapper
public interface GroupBuyDao extends BaseMapper<GroupBuy> {
List<GroupBuy> findPageList(GroupBuy item);
int updateEndTime(GroupBuy item);
}
package com.yunniu.farming.webadmin.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yunniu.farming.webadmin.model.GroupBuyProduct;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @author zyf
* @date 2023/5/15
* @apiNote
*/
@Mapper
public interface GroupBuyProductDao extends BaseMapper<GroupBuyProduct> {
int insertBath(@Param("products") List<GroupBuyProduct> products, @Param("id") Long id);
}
package com.yunniu.farming.webadmin.model;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.yunniu.farming.common.plugin.PageInfo;
import lombok.Data;
import java.util.Date;
/**
* @author zyf
* @date 2023/5/15
* @apiNote
*/
@Data
public class GroupArea {
private Integer id;
private String areaName;
private String areaAddress;
private String lngandlat;
private Integer areaStatus;
private Date createTime;
private String createBy;
private Date updateTime;
private String updateBy;
/**
* 辅助对象:分页信息对象
*/
@TableField(exist = false)
@JsonInclude(JsonInclude.Include.NON_NULL)
private PageInfo pageinfo;
/**
* 分页页码
*/
@TableField(exist = false)
@JsonInclude(JsonInclude.Include.NON_NULL)
private Integer curpage;
/**
* 分页个数
*/
@TableField(exist = false)
@JsonInclude(JsonInclude.Include.NON_NULL)
private Integer pagesize;
}
package com.yunniu.farming.webadmin.model;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.yunniu.farming.common.plugin.PageInfo;
import lombok.Data;
import java.util.Date;
import java.util.List;
/**
* @author zyf
* @date 2023/5/12
* @apiNote
*/
@Data
public class GroupBuy {
/**
* 主见id
*/
private Long id;
/**
* 团购编码
*/
private String groupBuyCode;
/**
* 团购标题
*/
private String groupBuyTitle;
/**
* 拼团开始时间
*/
private Date startTime;
/**
* 拼团结束时间
*/
private Date endTime;
/**
* 团购状态:1 待发布,2待生效,3已生效,4已结束,5已删除
*/
private Integer groupStatus;
/**
* 成团人数
*/
private Integer groupSize;
/**
* 小区id 集合
*/
private String areaIds;
@TableField(exist = false)
private List<Integer> areaIdList;
/**
* 详情
*/
private String groupDetail;
/**
* 创建时间
*/
private Date createTime;
/**
* 创建人
*/
private String createBy;
/**
* 修改时间
*/
private Date updateTime;
/**
* 修改人
*/
private String updateBy;
/**
* 辅助对象:分页信息对象
*/
@TableField(exist = false)
@JsonInclude(JsonInclude.Include.NON_NULL)
private PageInfo pageinfo;
/**
* 分页页码
*/
@TableField(exist = false)
@JsonInclude(JsonInclude.Include.NON_NULL)
private Integer curpage;
/**
* 分页个数
*/
@TableField(exist = false)
@JsonInclude(JsonInclude.Include.NON_NULL)
private Integer pagesize;
@TableField(exist = false)
private List<GroupBuyProduct> products;
@TableField(exist = false)
private List<GroupArea> areas;
@TableField(exist = false)
private Integer appFlag;
}
package com.yunniu.farming.webadmin.model;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.yunniu.farming.common.plugin.PageInfo;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
* @author zyf
* @date 2023/5/15
* @apiNote
*/
@Data
public class GroupBuyProduct {
private Long id;
private Long groupBuyId;
private Long productId;
private String productPic;
private String productName;
private String productSduction;
private BigDecimal productPrice;
private Integer status;
private Date createTime;
private String createBy;
private Date updateTime;
private String updateBy;
/**
* 辅助对象:分页信息对象
*/
@TableField(exist = false)
@JsonInclude(JsonInclude.Include.NON_NULL)
private PageInfo pageinfo;
/**
* 分页页码
*/
@TableField(exist = false)
@JsonInclude(JsonInclude.Include.NON_NULL)
private Integer curpage;
/**
* 分页个数
*/
@TableField(exist = false)
@JsonInclude(JsonInclude.Include.NON_NULL)
private Integer pagesize;
}
......@@ -91,7 +91,7 @@ public class OrderMain {
private Date trefundtime; // 退款时间[yyyy-MM-dd hh:mm:ss]
private String srefundreason; // 退款理由
private Integer istatus; // 订单状态
private Integer itype; // 订单类型 //10 外卖订单
private Integer itype; // 订单类型 //10 外卖订单 20 团购订单
private Integer ipaytype; // 支付方式[10:微信支付.20:支付宝支付.30积分支付]
private String sremark; // 备注信息
......
package com.yunniu.farming.webadmin.service;
import com.yunniu.farming.result.Result;
import com.yunniu.farming.webadmin.model.GroupArea;
import com.yunniu.farming.webadmin.model.GroupBuy;
import java.util.List;
/**
* @author zyf
* @date 2023/5/12
* @apiNote
*/
public interface GroupAreaService {
List<GroupBuy> findPageList(GroupArea item);
Result addOrEdit(GroupArea item);
Result delete(Integer id);
}
package com.yunniu.farming.webadmin.service;
/**
* @author zyf
* @date 2023/5/15
* @apiNote
*/
public interface GroupBuyDetailService {
}
package com.yunniu.farming.webadmin.service;
/**
* @author zyf
* @date 2023/5/15
* @apiNote
*/
public interface GroupBuyProductService {
}
package com.yunniu.farming.webadmin.service;
import com.yunniu.farming.webadmin.model.GroupBuy;
import java.util.List;
/**
* @author zyf
* @date 2023/5/12
* @apiNote
*/
public interface GroupBuyService {
/**
* 分页查询
* @return
*/
List<GroupBuy> findPageList(GroupBuy item);
void addOrEdit(GroupBuy item);
/**
* 详情
* @param id 团购id
* @return
*/
GroupBuy findById(Integer id);
}
package com.yunniu.farming.webadmin.service.impl;
import com.yunniu.farming.result.Result;
import com.yunniu.farming.webadmin.dao.GroupAreaDao;
import com.yunniu.farming.webadmin.model.GroupArea;
import com.yunniu.farming.webadmin.model.GroupBuy;
import com.yunniu.farming.webadmin.service.GroupAreaService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @author zyf
* @date 2023/5/12
* @apiNote
*/
@Slf4j
@Service
public class GroupAreaServiceimpl implements GroupAreaService {
@Autowired
private GroupAreaDao mapper;
@Override
public List<GroupBuy> findPageList(GroupArea item) {
return mapper.findPageList(item);
}
/**
* 添加团购小区
* @param item
* @return
*/
@Override
public Result addOrEdit(GroupArea item) {
if (item.getId() == null) {
return Result.success(this.mapper.insert(item));
}else {
return Result.success(this.mapper.updateById(item));
}
}
@Override
public Result delete(Integer id) {
return Result.success(this.mapper.deleteArea(id));
}
}
package com.yunniu.farming.webadmin.service.impl;
import com.yunniu.farming.webadmin.service.GroupBuyDetailService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
/**
* @author zyf
* @date 2023/5/15
* @apiNote
*/
@Service
@Slf4j
public class GroupBuyDetailServiceImpl implements GroupBuyDetailService {
}
package com.yunniu.farming.webadmin.service.impl;
import com.yunniu.farming.webadmin.service.GroupBuyProductService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
/**
* @author zyf
* @date 2023/5/15
* @apiNote
*/
@Service
@Slf4j
public class GroupBuyProductServiceImpl implements GroupBuyProductService {
}
package com.yunniu.farming.webadmin.service.impl;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.yunniu.farming.webadmin.dao.GroupAreaDao;
import com.yunniu.farming.webadmin.dao.GroupBuyDao;
import com.yunniu.farming.webadmin.dao.GroupBuyProductDao;
import com.yunniu.farming.webadmin.dao.OrderMainDao;
import com.yunniu.farming.webadmin.model.GroupArea;
import com.yunniu.farming.webadmin.model.GroupBuy;
import com.yunniu.farming.webadmin.model.GroupBuyProduct;
import com.yunniu.farming.webadmin.model.OrderMain;
import com.yunniu.farming.webadmin.service.GroupBuyProductService;
import com.yunniu.farming.webadmin.service.GroupBuyService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
/**
* @author zyf
* @date 2023/5/12
* @apiNote
*/
@Slf4j
@Service
public class GroupBuyServiceimpl implements GroupBuyService {
@Autowired
private GroupBuyDao mapper;
@Autowired
private GroupBuyProductDao productDao;
@Autowired
private GroupAreaDao areaDao;
@Autowired
private OrderMainDao orderMainDao;
/**
* 分页查询
* @return
*/
@Override
public List<GroupBuy> findPageList(GroupBuy item) {
List<GroupBuy> groupBuys = mapper.findPageList(item);
return groupBuys;
}
/**
* 新增/编辑活动
* @param item
*/
@Override
@Transactional(rollbackFor = Exception.class)
public void addOrEdit(GroupBuy item) {
// 判断是否为新增
if (ObjectUtils.isEmpty(item.getId())) {
// 设置小区id集合的值
item.setAreaIds(JSON.toJSONString(item.getAreaIdList()));
// 保存活动基础信息
this.mapper.insert(item);
// 判断活动商品是否有值
if (CollectionUtils.isNotEmpty(item.getProducts())) {
// 保存活动商品
productDao.insertBath(item.getProducts(), item.getId());
}
}else {
this.mapper.updateEndTime(item);
}
}
/**
* 详情
* @param id 团购id
* @return
*/
@Override
public GroupBuy findById(Integer id) {
// 团购基础信息
GroupBuy groupBuy = this.mapper.selectById(id);
// 团购商品
List<GroupBuyProduct> products = productDao.selectList(Wrappers.<GroupBuyProduct>lambdaQuery()
.eq(GroupBuyProduct::getGroupBuyId, id)
.eq(GroupBuyProduct::getStatus, 0));
groupBuy.setProducts(products);
// 团购小区
String areaIds = groupBuy.getAreaIds();
if (StringUtils.isNotEmpty(areaIds)) {
List<Integer> areaIdList = JSON.parseArray(areaIds, Integer.class);
if (CollectionUtils.isNotEmpty(areaIdList)) {
List<GroupArea> groupAreas = areaDao.selectList(Wrappers.<GroupArea>lambdaQuery()
.in(GroupArea::getId, areaIdList)
.eq(GroupArea::getAreaStatus, 0));
groupBuy.setAreas(groupAreas);
}
}
return groupBuy;
}
}
......@@ -96,7 +96,7 @@ public class OrderMainServiceImpl {
item.setIpaystatus(OrderMain.PAY_STATUS_NO);// 未支付
}
item.setItype(OrderMain.ITYPE_TAKE);//外卖订单
// item.setItype(OrderMain.ITYPE_TAKE);//外卖订单
item.setIstatus(OrderMain.STATUS_NOPAY);//未付款
......
#spring.datasource.url=jdbc:mysql://152.136.113.101:3306/farming?autoReconnect=true&useUnicode=true&allowMultiQueries=true&characterEncoding=utf-8&serverTimezone=GMT%2B8
#spring.datasource.username=root
#spring.datasource.password=Root_123456
spring.datasource.url=jdbc:mysql://1.15.43.240:3306/farming?autoReconnect=true&useUnicode=true&allowMultiQueries=true&characterEncoding=utf-8&serverTimezone=GMT%2B8
spring.datasource.username=root
spring.datasource.password=Root_123456
#spring.datasource.url=jdbc:mysql://127.0.0.1:3306/farming?autoReconnect=true&useUnicode=true&allowMultiQueries=true&characterEncoding=utf-8&serverTimezone=GMT%2B8
#spring.datasource.url=jdbc:mysql://1.15.43.240:3306/farming?autoReconnect=true&useUnicode=true&allowMultiQueries=true&characterEncoding=utf-8&serverTimezone=GMT%2B8
#spring.datasource.username=root
#spring.datasource.password=939058943
#spring.datasource.password=Root_123456
spring.datasource.url=jdbc:mysql://db1.prd.jianghuxx.com:3317/farming?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowMultiQueries=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=4f9fa23639242790
#7LwimZ27FqEnzIPg
##47.101.199.10
spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver
......
<?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.yunniu.farming.webadmin.dao.GroupAreaDao">
<select id="findPageList" resultType="com.yunniu.farming.webadmin.model.GroupBuy">
select * from group_area
<where>
area_status = 0
<if test="areaName != null and areaName != ''">
and area_name like concat('%', #{areaName,jdbcType=VARCHAR}, '%')
</if>
<if test="areaAddress != null and areaAddress != ''">
and areaAddress like concat('%', #{areaAddress,jdbcType=VARCHAR}, '%')
</if>
</where>
</select>
</mapper>
\ No newline at end of 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.yunniu.farming.webadmin.dao.GroupBuyDao">
<select id="findPageList" resultType="com.yunniu.farming.webadmin.model.GroupBuy">
select * from group_buy
<where>
<if test="groupBuyCode != null and groupBuycode != ''">
and group_buy_code = #{groupBuyCode,jdbcType=VARCHAR}
</if>
<if test="groupBuyTitle != null and groupBuyTitle != ''">
and group_buy_title like concat('%', #{groupBuyTitle,jdbcType=VARCHAR},'%')
</if>
<if test="appFlag != null and appFlag = ''">
and group_status = 3
</if>
</where>
order by create_time desc
</select>
<update id="updateEndTime">
update group_buy
set end_time = #{endTime,jdbcType=TIMESTAMP}
where id = #{id,jdbcType=BIGINT}
</update>
</mapper>
\ No newline at end of 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.yunniu.farming.webadmin.dao.GroupBuyProductDao">
<insert id="insertBath">
insert into group_buy_product
(group_buy_id, product_id, product_name,
product_sduction, product_price,`status`, create_by)
values
<foreach collection="products" close=")" index="index" item="item" open="(" separator=",">
#{id,jdbcType=BIGINT}, #{item.productId}, #{item.productName},
#{item.productSduction}, #{item.productPrice}, 0, #{item.createBy}
</foreach>
</insert>
</mapper>
\ No newline at end of file
......@@ -144,7 +144,7 @@
order_main ordermain
LEFT JOIN order_sub sub ON ordermain.id = sub.mainid
<where>
ordermain.itype = 10
<if test="id != null">
AND ordermain.id = #{id,jdbcType=INTEGER}
</if>
......
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<!--<head th:replace="common/common_header :: common_header"></head>-->
<head>
<meta charset="UTF-8">
<title>后台管理系统</title>
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<link rel="shortcut icon" th:href="@{/images/logo.jpg}"/>
<link rel="stylesheet" th:href="@{/js/layui/css/layui.css}">
<link rel="stylesheet" th:href="@{/js/layui/css/admin.css}">
<script type="text/javascript" th:src="@{/js/jquery-3.3.1.min.js}"></script>
<script th:src="@{/js/layui/layui.js}" charset="utf-8"></script>
<style type="text/css">
img {
height: 25px;
}
</style>
</head>
<body>
<div class="layui-fluid">
<div class="layui-card">
<div class="layui-form layui-card-header layuiadmin-card-header-auto">
<div class="layui-form-item">
<!-- <div class="layui-inline">
<label class="layui-form-label">一级类型</label>
<div class="layui-input-block">
<select name="goodsClassId" id="goodsClass">
<option value="">全部</option>
</select>
</div>
</div>-->
<div class="layui-inline">
<div class="layui-input-block">
<input type="text" name="sname" class="layui-input" placeholder="请输入活动编码">
</div>
</div>
<div class="layui-inline">
<div class="layui-input-block">
<input type="text" name="sname" class="layui-input" placeholder="请输入活动标题">
</div>
</div>
<div class="layui-inline">
<button class="layui-btn layuiadmin-button-btn" lay-submit lay-filter="The-search">
<i class="layui-icon layui-icon-search layuiadmin-button-btn">
</i>
</button>
</div>
<div class="layui-inline">
<button class="layui-btn layuiadmin-button-btn"
onclick="javascript:location.replace(location.href);">
<i class="layui-icon layui-icon-refresh-3 layuiadmin-button-btn">
</i>
</button>
</div>
</div>
</div>
</div>
<div class="layui-card-body">
<table class="layui-hide" id="tableId" lay-filter="tableId"></table>
</div>
</div>
</div>
<!--<script type="text/html" id="faultStatus">-->
<!-- {{#if (d.faultStatus == 0) { }}-->
<!-- <span class="layui-bg-green">正常</span>-->
<!-- {{# }else if(d.faultStatus == 1){ }}-->
<!-- <span class="layui-bg-red">故障</span>-->
<!-- {{# } }}-->
<!--</script>-->
<script type="text/html" id="toolbarUtil">
<div class="layui-btn-container">
<button class="layui-btn layui-btn" lay-event="add"><i class="layui-icon layui-icon-add-1"></i>新增</button>
</div>
</script>
<script type="text/html" id="table-handle">
<i class="layui-icon layui-icon-edit" lay-event="edit" title="编辑"></i>
<i class="layui-icon layui-icon-delete" lay-event="del" title="删除"></i>
</script>
<script type="text/html" id="sicon">
{{#if (d.sicon !=null && d.sicon !='') { }}
<img src="{{d.sicon }}">
{{# }else if(d.sicon ==null || d.sicon ==''){ }}
<span></span>
{{# } }}
</script>
<script>
$(function () {
$.ajax({
url: 'getPlist',
dataType: 'json',
type: 'POST',
success: function (data) {
$.each(data, function (index, item) {
$('#goodsClass').append(new Option(item.goodsClassName, item.goodsClassId));// 下拉菜单里添加元素
});
layui.form.render("select");
}
})
})
var field = {};
layui.use(['table', 'form'], function () {
var form = layui.form, table = layui.table;
//监听搜索
form.on('submit(The-search)', function (data) {
field = data.field;
//执行重载
table.reload('tableId', {
where: field
, page: {
curr: 1
}
});
});
table.render({
elem: '#tableId'
, url: 'findByParam'
, where: field
, method: 'post'
,contentType: "application/json" // 内容编码, json格式
, height: 500
, toolbar: '#toolbarUtil' //开启头部工具栏,并为其绑定左侧模板
, defaultToolbar: ['filter']
, cellMinWidth: 20 //全局定义常规单元格的最小宽度,layui 2.2.1 新增
, skin: 'line ' //表格风格 line (行边框风格)row (列边框风格)nob (无边框风格)
, even: true //隔行换色
, limit: 20 //每页默认显示的数量
, page:false
,response: {
statusName: "code", // 规定数据状态的字段名称,默认:code
statusCode: 100, // 规定成功的状态码,默认:0
msgName: "msg", // 规定状态信息的字段名称,默认:msg
countName: "count", // 规定数据总数的字段名称,默认:count
dataName: "data" // 规定数据列表的字段名称,默认:data
}
,parseData: function(res) { // res 即为原始返回的数据
return {
"code": res.code, // 解析接口状态
"msg": res.desc, // 解析提示文本
"count": res.data.length, // 解析数据长度
"data": res.data // 解析数据列表
};
}
, limits: [10, 20, 50, 100] //每页条数的选择项,默认:[10,20,30,40,50,60,70,80,90]。
, cols: [
[
{type: 'checkbox', field: 'id'}
, {field: 'sname', title: '编码'}
, {field: 'sname', title: '活动标题'}
, {field: 'sname', title: '开团次数'}
, {field: 'sname', title: '成团次数'}
, {field: 'sname', title: '成交金额'}
, {field: 'sname', title: '成交数量'}
, {field: 'sname', title: '活动日期'}
, {field: 'sname', title: '状态'}
// , {field: 'sicon', title: '图片', toolbar: '#sicon'}
, {field: '', width: 100, title: '操作', toolbar: '#table-handle', fixed: 'right'}
]
]
, done: function (res, curr, count) {
$(".layui-table-main tr").each(function (index, val) {
$($(".layui-table-fixed-l .layui-table-body tbody tr")[index]).height($(val).height());
$($(".layui-table-fixed-r .layui-table-body tbody tr")[index]).height($(val).height());
});
$(".layui-table-main tr").each(function (index, val) {
$(".layui-table-fixed").each(function () {
$($(this).find(".layui-table-body tbody tr")[index]).height($(val).height());
});
});
$(".layui-table-main tr").each(function (index, val) {
$(".layui-table-fixed").each(function () {
$($(this).find(".layui-table-body tbody th")[index]).height($(val).height());
});
});
}
});
//头工具栏事件
table.on('toolbar(tableId)', function (obj) {
var checkStatus = table.checkStatus(obj.config.id);
switch (obj.event) {
case 'add':
var w = ($(window).width() * 0.5);
var h = ($(window).height() * 0.8);
layer.open({
type: 2
, title: '新增类型'
, content: 'addOrEdit'
, area: [w + 'px', h + 'px']
, fix: false //不固定
, maxmin: true
, shadeClose: true
, shade: 0.4
, btn: ['保存', '关闭']
, yes: function (index, layero) {
var body = layer.getChildFrame('body', index); //得到iframe页面层的BODY
var iframeBtn = body.find('#saveBtn');//得到iframe页面层的提交按钮
iframeBtn.click();//模拟iframe页面层的提交按钮点击
}
});
break;
case 'del':
var data = checkStatus.data;
var id = '';
if (data.length > 0) {
for (var j = 0; j < data.length; j++) {
id = id + "," + data[j].goodsClassId;
}
} else {
layer.msg("请至少选择一条数据!");
return false;
}
layer.confirm('确定要彻底删除选中的数据吗?', function (index) {
$.ajax({
url: "del",
data: {"id": id},
type: "POST",
dataType: "json",
success: function (result) {
if (result.code == 100) {
layer.msg(result.msg, {icon: 6, time: 1000}, function () {
table.reload('tableId');
layer.close(index);
});
} else {
layer.msg(result.msg, {icon: 5});
table.reload('tableId');
layer.close(index);
}
}
});
});
break;
case 'rotation':
var w = ($(window).width() * 0.7);
var h = ($(window).height() * 0.4);
layer.open({
type: 2
, title: '轮播图设置'
, content: 'toBanner'
, area: [w + 'px', h + 'px']
, fix: false //不固定
, maxmin: true
, shadeClose: true
, shade: 0.4
, btn: ['保存', '关闭']
, yes: function (index, layero) {
var body = layer.getChildFrame('body', index); //得到iframe页面层的BODY
var iframeBtn = body.find('#saveBtn');//得到iframe页面层的提交按钮
iframeBtn.click();//模拟iframe页面层的提交按钮点击
}
});
break;
}
;
});
//监听行工具事件
table.on('tool(tableId)', function (obj) {
var data = obj.data;
//console.log(obj)
if (obj.event === 'del') {
layer.confirm('确定彻底删除[' + obj.data.sname + ']吗?', function (index) {
$.ajax({
url: "del",
data: {"id": obj.data.id},
type: "POST",
dataType: "json",
success: function (result) {
if (result.code == 100) {
layer.msg(result.msg, {icon: 6, time: 1000}, function () {
table.reload('tableId');
layer.close(index);
});
} else {
layer.msg(result.msg, {icon: 5});
}
}
});
});
} else if (obj.event === 'edit') {
var id = obj.data.id;
var w = ($(window).width() * 0.5);
var h = ($(window).height() * 0.8);
layer.open({
type: 2
, title: '编辑类型'
, content: 'addOrEdit?id=' + id
, area: [w + 'px', h + 'px']
, fix: false //不固定
, maxmin: true
, shadeClose: true
, shade: 0.4
, btn: ['保存', '关闭']
, yes: function (index, layero) {
var body = layer.getChildFrame('body', index); //得到iframe页面层的BODY
var iframeBtn = body.find('#saveBtn');//得到iframe页面层的提交按钮
iframeBtn.click();//模拟iframe页面层的提交按钮点击
}
});
}
});
});
</script>
</body>
</html>
\ No newline at end of file
......@@ -25,11 +25,11 @@
<div class="layadmin-user-login-box layadmin-user-login-body layui-form">
<div class="layui-form-item">
<label class="layadmin-user-login-icon layui-icon layui-icon-username"></label>
<input type="text" name="username" id="account" placeholder="账号" class="layui-input" >
<input type="text" name="username" id="account" placeholder="账号" value="123456" class="layui-input" >
</div>
<div class="layui-form-item">
<label class="layadmin-user-login-icon layui-icon layui-icon-password"></label>
<input type="password" name="password" id="password" placeholder="密码" class="layui-input"
<input type="password" name="password" id="password" placeholder="密码" value="123456" class="layui-input"
>
</div>
<div class="layui-form-item">
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment