123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139 |
- package com.ruoyi.demo.service.impl;
- import cn.hutool.core.lang.Dict;
- import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
- import com.github.pagehelper.PageHelper;
- import com.github.pagehelper.PageInfo;
- import com.ruoyi.demo.entity.*;
- import com.ruoyi.demo.entity.bo.OrderAddBo;
- import com.ruoyi.demo.entity.bo.PlanBo;
- import com.ruoyi.demo.mapper.*;
- import com.ruoyi.demo.service.OrderService;
- import com.ruoyi.demo.utils.SignUtil;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import org.springframework.transaction.annotation.Transactional;
- import java.util.List;
- import java.util.Map;
- @Service
- @Transactional
- public class OrderServiceImpl implements OrderService {
- @Autowired
- OrderMapper orderMapper;
- @Autowired
- AppMapper appMapper;
- @Autowired
- StatisticsMapper statisticsMapper;
- @Autowired
- PlanMapper planMapper;
- @Autowired
- EquipmentMapper equipmentMapper;
- @Autowired
- DlUserMapper dlUserMapper;
- // 获取sign——用于测试
- @Override
- public String getSign(OrderAddBo bo) {
- QueryWrapper<App> appQueryWrapper = new QueryWrapper<>();
- appQueryWrapper.eq("appkey",bo.getAppkey());
- App app = appMapper.selectOne(appQueryWrapper);
- if (app == null)
- return "error";
- Map<String,Object> params = Dict.create()
- .set("appkey",bo.getAppkey())
- .set("createTime",bo.getTime())
- .set("dealCount",bo.getDealCount())
- .set("equipmentCode",bo.getEquipmentCode())
- .set("goodsId",bo.getGoodsId())
- .set("goodsName",bo.getGoodsName())
- .set("goodsPrice",bo.getGoodsPrice())
- .set("orderId",bo.getOrderId())
- .set("userId",bo.getUserId())
- .set("userName",bo.getUserName())
- .set("userTelephone",bo.getUserTelephone())
- .set("vendorId",bo.getVendorId())
- .set("vendorName",bo.getVendorName())
- .set("sign",null)
- .set("specs",bo.getSpecs())
- .set("state",bo.getState());
- return SignUtil.sign(params,app.getAppSecret());
- }
- // 添加订单
- @Override
- public int addOrder(OrderAddBo bo) {
- QueryWrapper<App> appQueryWrapper = new QueryWrapper<>();
- appQueryWrapper.eq("appkey",bo.getAppkey());
- App app = appMapper.selectOne(appQueryWrapper);
- if (app == null)
- return -1;
- Map<String,Object> params = Dict.create()
- .set("appkey",bo.getAppkey())
- .set("createTime",bo.getTime())
- .set("dealCount",bo.getDealCount())
- .set("equipmentCode",bo.getEquipmentCode())
- .set("goodsId",bo.getGoodsId())
- .set("goodsName",bo.getGoodsName())
- .set("goodsPrice",bo.getGoodsPrice())
- .set("orderId",bo.getOrderId())
- .set("userId",bo.getUserId())
- .set("userName",bo.getUserName())
- .set("userTelephone",bo.getUserTelephone())
- .set("vendorId",bo.getVendorId())
- .set("vendorName",bo.getVendorName())
- .set("sign",bo.getSign())
- .set("specs",bo.getSpecs())
- .set("state",bo.getState());
- if (!SignUtil.verify(params,app.getAppSecret()))
- return -3;
- // 验证通过后,如果用户不存在,则添加用户;否则更新用户信息
- QueryWrapper<Plan> planQueryWrapper = new QueryWrapper<>();
- planQueryWrapper.eq("plan_id",bo.getPlanId());
- Plan plan = planMapper.selectOne(planQueryWrapper);
- QueryWrapper<Equipment> equipmentQueryWrapper = new QueryWrapper<>();
- equipmentQueryWrapper.eq("equipment_code",bo.getEquipmentCode());
- Equipment equipment = equipmentMapper.selectOne(equipmentQueryWrapper);
- QueryWrapper<DlUser> userQueryWrapper = new QueryWrapper<>();
- userQueryWrapper.eq("user_id",bo.getUserId());
- DlUser user = dlUserMapper.selectOne(userQueryWrapper);
- if (user == null)
- dlUserMapper.insert(new DlUser(bo,equipment));
- else{
- user.setEndEquipmentId(equipment.getEquipmentId());
- user.setEndEquipmentName(equipment.getEquipmentName());
- user.setEndEquipmentCode(equipment.getEquipmentCode());
- user.setEndTime(bo.getTime());
- dlUserMapper.update(user,userQueryWrapper);
- }
- // 添加交易行为记录
- statisticsMapper.insert(new Statistics(bo,plan,equipment));
- // 添加订单
- return orderMapper.insert(new Order(bo,app));
- }
- // 查询订单列表
- @Override
- public PageInfo<List<Order>> getOrderList(PlanBo bo) {
- PageHelper.startPage(bo.getPageNum(),bo.getPageSize(),true);
- QueryWrapper<Order> queryWrapper = new QueryWrapper<>();
- if (bo.getText() != null)
- queryWrapper.like("order_id",bo.getText())
- .or()
- .like("goods_name",bo.getText())
- .or()
- .like("user_name",bo.getText())
- .or()
- .like("vendor_name",bo.getText());
- if (bo.getStartTime() != null)
- queryWrapper.apply("create_time >= STR_TO_DATE({0},'%Y-%m-%d %H:%i:%s')",bo.getStartTime());
- if (bo.getEndTime() != null)
- queryWrapper.apply("create_time <= STR_TO_DATE({0},'%Y-%m-%d %H:%i:%s')",bo.getEndTime());
- List<Order> orders = orderMapper.selectList(queryWrapper);
- return new PageInfo(orders);
- }
- }
|