Fancy
2024-08-20 a51ed995ac6e9a8ba63b53aca929aeed15edf8a8
order manage
3个文件已添加
262 ■■■■■ 已修改文件
pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/order/OrderCtrl.java 116 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/order/OrderSv.java 129 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/order/QueryVo.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/order/OrderCtrl.java
New file
@@ -0,0 +1,116 @@
package com.dy.pmsProduct.order;
import com.dy.common.aop.SsoPowerAop;
import com.dy.common.webUtil.BaseResponse;
import com.dy.common.webUtil.BaseResponseUtils;
import com.dy.common.webUtil.QueryResultVo;
import com.dy.pmsGlobal.aop.Log;
import com.dy.pmsGlobal.pojoPr.PrAssemblyPlan;
import com.dy.pmsGlobal.pojoPr.PrOrder;
import com.dy.pmsProduct.taskPlan.QueryVo;
import jakarta.validation.Valid;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
 * 订单管理
 */
@Slf4j
@RestController
@RequestMapping(path="order")
public class OrderCtrl {
    private OrderSv sv;
    @Autowired
    public void setAssemblySv(OrderSv orderSv) {
        this.sv = orderSv;
    }
    @PostMapping(path="save")
    @SsoPowerAop(power = "10200001")
    @Log("保存订单信息")
    public BaseResponse<Boolean> save(@RequestBody @Valid PrOrder order){
        order.id = null;
        order.setDeleted(false);
        int count = sv.save(order);
        if (count <= 0) {
            return BaseResponseUtils.buildFail("数据库存储失败");
        } else {
            return BaseResponseUtils.buildSuccess(true);
        }
    }
    /**
     * 更新
     * @param order
     * @return
     */
    @PostMapping(path="update")
    @SsoPowerAop(power = "10200001")
    @Log("修改订单信息")
    public BaseResponse<Boolean> update(@RequestBody @Valid PrOrder order){
        int count = sv.update(order);
        if (count <= 0) {
            return BaseResponseUtils.buildFail("数据库存储失败");
        } else {
            return BaseResponseUtils.buildSuccess(true);
        }
    }
    /**
     * 删除订单信息
     * @param id
     * @return
     */
    @GetMapping(path="delete")
    @SsoPowerAop(power = "10300001")
    @Log("删除订单信息")
    public BaseResponse<Boolean> delete(String id){
        int count = sv.delete(Long.parseLong(id));
        if (count <= 0) {
            return BaseResponseUtils.buildFail("数据库存储失败");
        } else {
            return BaseResponseUtils.buildSuccess(true);
        }
    }
    /**
     * 根据ID查询
     * @return
     */
    @GetMapping(path="one")
    @SsoPowerAop(power = "10200000")
    @Log("根据ID查询订单信息")
    public BaseResponse<PrOrder> one(String id){
        PrOrder plan=sv.selectById(id);
        return BaseResponseUtils.buildSuccess(plan);
    }
    /**
     * 分页查询
     * @param vo
     * @return
     */
    @PostMapping(path="some")
    @SsoPowerAop(power = "10200000")
    @Log("分页查询订单信息")
    public BaseResponse<QueryResultVo<List<PrOrder>>> some(@RequestBody QueryVo vo){
        QueryResultVo<List<PrOrder>> list = sv.selectSome(vo) ;
        return BaseResponseUtils.buildSuccess(list);
    }
    @PostMapping(path="updateStatus")
    @SsoPowerAop(power = "10200001")
    @Log("更新任务计划状态")
    public BaseResponse<Boolean> updateStatus(@RequestBody PrAssemblyPlan plan){
        int count = sv.updateStatus(plan);
        if (count <= 0) {
            return BaseResponseUtils.buildFail("数据库存储失败");
        } else {
            return BaseResponseUtils.buildSuccess(true);
        }
    }
}
pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/order/OrderSv.java
New file
@@ -0,0 +1,129 @@
package com.dy.pmsProduct.order;
import cn.hutool.core.codec.Base64;
import com.dy.common.webUtil.QueryResultVo;
import com.dy.pmsGlobal.daoOth.OthFileMapper;
import com.dy.pmsGlobal.daoPr.*;
import com.dy.pmsGlobal.dyFile.FileOperate;
import com.dy.pmsGlobal.pojoPlt.PltProduct;
import com.dy.pmsGlobal.pojoPr.*;
import com.dy.pmsGlobal.util.QrCodeUtil;
import com.dy.pmsGlobal.util.UserUtil;
import com.dy.pmsProduct.process.QueryVo;
import com.google.zxing.WriterException;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.dubbo.common.utils.PojoUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.io.IOException;
import java.util.List;
import java.util.Map;
@Slf4j
@Service
public class OrderSv {
    private PrOrderMapper orderDao;
    private PrOrderItemMapper orderItemDao;
    private UserUtil userUtil;
    private FileOperate fileOperate;
    private OthFileMapper othFileMapper;
    @Value("${dy.webFile.fmUrl}")
    private String fmUrl;
    @Autowired
    public void setOrderDao(PrOrderMapper orderDao) {
        this.orderDao = orderDao;
    }
    @Autowired
    public void setOrderItemDao(PrOrderItemMapper orderItemDao) {
        this.orderItemDao = orderItemDao;
    }
    @Autowired
    public void setUserUtil(UserUtil userUtil) {
        this.userUtil = userUtil;
    }
    @Autowired
    public void setFileOperate(FileOperate fileOperate) {
        this.fileOperate = fileOperate;
    }
    @Autowired
    public void setOthFileMapper(OthFileMapper othFileMapper) {
        this.othFileMapper = othFileMapper;
    }
    @Transactional
    public int save(PrOrder p) {
        //判断产品不能重名
        if (orderDao.exists(p.name, p.id)) {
            throw new RuntimeException("订单名称不能重复");
        }
        int count = orderDao.insertSelective(p);
        saveOrderItems(p);
        return count;
    }
    @Transactional
    public int update(PrOrder p) {
        if (orderDao.exists(p.name, p.id)) {
            throw new RuntimeException("订单名称不能重复");
        }
        int count = orderDao.updateByPrimaryKeySelective(p);
        saveOrderItems(p);
        return count;
    }
    private void saveOrderItems(PrOrder p) {
        p.items.forEach(param->{
            param.orderId=p.id;
            if(param.id !=null){
                orderItemDao.updateByPrimaryKeySelective(param);
            }else{
                param.deleted=false;
                orderItemDao.insert(param);
            }
        });
    }
    /**
     * 逻辑删除实体
     * @param id 实体ID
     * @return 影响记录数量
     */
    @Transactional
    public int delete(Long id) {
        return orderDao.deleteLogicById(id);
    }
    public PrOrder selectById(String proId) {
        PrOrder pro=orderDao.selectByPrimaryKey(Long.valueOf(proId));
        return pro;
    }
    /**
     * 获取订单列表
     */
    public QueryResultVo<List<PrOrder>> selectSome(QueryVo queryVo) {
        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo);
        //查询符合条件的记录总数
        Long itemTotal = orderDao.selectSomeCount(params);
        QueryResultVo<List<PrOrder>> rsVo = new QueryResultVo<>(queryVo.pageSize, queryVo.pageCurr);
        //计算分页等信息
        rsVo.calculateAndSet(itemTotal, params);
        //查询符合条件的记录
        rsVo.obj = orderDao.selectSome(params);
        return rsVo;
    }
    public List<PrOrder> selectAll(QueryVo queryVo) {
        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo);
        return orderDao.selectAll(params);
    }
}
pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/order/QueryVo.java
New file
@@ -0,0 +1,17 @@
package com.dy.pmsProduct.order;
import com.dy.common.webUtil.QueryConditionVo;
import lombok.*;
@Data
@EqualsAndHashCode(callSuper = false)
@ToString(callSuper = true)
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class QueryVo extends QueryConditionVo {
    public String name;
    public String director;
    public String dMobile;
    public String type;
}