package com.hzs.system.home.controller.manage;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.hzs.common.core.enums.EDelFlag;
import com.hzs.common.core.web.controller.BaseController;
import com.hzs.common.core.web.domain.AjaxResult;
import com.hzs.common.core.web.page.TableDataInfo;
import com.hzs.common.domain.system.home.HoRegionDistributeItem;
import com.hzs.common.security.utils.SecurityUtils;
import com.hzs.system.home.service.IHoRegionDistributeItemService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.Date;
import java.util.List;

/**
 * @Description:
 * @Author: yuhui
 * @Time: 2022/10/10 10:11
 * @Classname: SaRegionDistributeItemController
 * @PackageName: com.hzs.system.home.controller.manage
 */
@Slf4j
@RestController
@RequestMapping("/manage/sa-region-distribute-item")
public class HoRegionDistributeItemController extends BaseController {


    @Autowired
    private IHoRegionDistributeItemService regionDistributeItemService;


    /**
     * 查询列表
     * @return
     */
    @GetMapping("list")
    public TableDataInfo list(HoRegionDistributeItem regionDistributeItem){
        QueryWrapper<HoRegionDistributeItem> queryWrapper = new QueryWrapper();
        if (regionDistributeItem.getRegionDistributePk() != null){
            queryWrapper.eq("REGION_DISTRIBUTE_PK",regionDistributeItem.getRegionDistributePk());
        }
        List<HoRegionDistributeItem> list = regionDistributeItemService.list(queryWrapper);
        return getDataTable(list);
    }

    /**
     * 新增
     * @return
     */
    @PostMapping("save")
    public AjaxResult save(@RequestBody HoRegionDistributeItem regionDistributeItem){
        regionDistributeItem.setCreationTime(new Date());
        regionDistributeItem.setPkCreator(SecurityUtils.getUserId());
        regionDistributeItem.setPkCountry(SecurityUtils.getPkCountry());
        regionDistributeItemService.save(regionDistributeItem);
        return AjaxResult.success();
    }


    /**
     * 修改全球销售网络分布
     * @param regionDistributeItem
     * @return
     */
    @PostMapping("update")
    public AjaxResult update(@RequestBody HoRegionDistributeItem regionDistributeItem){
        regionDistributeItem.setModifiedTime(new Date());
        regionDistributeItem.setPkModified(SecurityUtils.getUserId());
        regionDistributeItemService.updateById(regionDistributeItem);
        return AjaxResult.success();
    }

    /**
     * 删除全球销售网络分布
     * @param regionDistributeItem
     * @return
     */
    @PostMapping("remove")
    public AjaxResult remove(@RequestBody HoRegionDistributeItem regionDistributeItem){
        UpdateWrapper<HoRegionDistributeItem> updateWrapper = new UpdateWrapper();
        updateWrapper.eq("PK_ID",regionDistributeItem.getPkId());
        updateWrapper.set("PK_MODIFIED",SecurityUtils.getUsername());
        updateWrapper.set("MODIFIED_TIME",new Date());
        updateWrapper.set("DEL_FLAG", EDelFlag.DELETE.getValue());
        regionDistributeItemService.update(updateWrapper);
        return AjaxResult.success();
    }
}
