Commit 44d68365 by 陶光胜

省市区

parent 99f61e3f
package com.gic.store.service;
import com.gic.api.base.commons.Page;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.store.dto.StoreStrategyDTO;
import java.util.List;
public interface StoreStrategyApiService {
ServiceResponse saveStoreStatusStrategy(StoreStrategyDTO storeStrategyDTO);
ServiceResponse saveStoreGroupStrategy(StoreStrategyDTO storeStrategyDTO);
ServiceResponse<Page<StoreStrategyDTO>> pageStoreStatusStrategy(Integer enterpriseId, String search, int page, int pageSize);
ServiceResponse<Page<StoreStrategyDTO>> pageStoreGroupStrategy(Integer enterpriseId, String search, int page, int pageSize);
ServiceResponse moveStoreStatusStrategy(Integer enterpriseId, Integer storeStrategyId, int moveType);
ServiceResponse setSortStoreStatusStrategy(Integer enterpriseId, Integer storeStrategyId, int value);
ServiceResponse moveStoreGroupStrategy(Integer enterpriseId, Integer storeStrategyId, int moveType);
ServiceResponse setSortStoreGroupStrategy(Integer enterpriseId, Integer storeStrategyId, int value);
ServiceResponse<StoreStrategyDTO> storeStrategyDetail(Integer id);
ServiceResponse deleteStoreStrategy(Integer id);
ServiceResponse setStoreGroupStrategyWeight(Integer enterpriseId, int weight);
ServiceResponse getStoreGroupStrategyWeight(Integer enterpriseId);
}
package com.gic.store.service.impl;
import com.gic.commons.util.PageHelperUtils;
import com.gic.store.dao.mapper.TabStoreStrategyMapper;
import com.gic.store.entity.TabStoreStrategy;
import com.gic.store.service.StoreStrategyService;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Collections;
import java.util.Date;
import java.util.List;
@Service("storeStrategyService")
public class StoreStrategyServiceImpl implements StoreStrategyService {
@Autowired
private TabStoreStrategyMapper tabStoreStrategyMapper;
@Override
public boolean saveStoreStrategy(TabStoreStrategy tabStoreStrategy) {
if(tabStoreStrategy.getStrategyId() != null){
tabStoreStrategy.setUpdateTime(new Date());
this.tabStoreStrategyMapper.updateByPrimaryKeySelective(tabStoreStrategy);
}else {
tabStoreStrategy.setCreateTime(new Date());
tabStoreStrategy.setUpdateTime(new Date());
Double sort = this.selectMaxSort(tabStoreStrategy.getEnterpriseId(), tabStoreStrategy.getStategyType());
if(sort == null){
sort = 1d;
}else {
sort = sort + 1d;
}
tabStoreStrategy.setSort(sort);
this.tabStoreStrategyMapper.insert(tabStoreStrategy);
}
return true;
}
@Override
public Double selectMaxSort(Integer enterpriseId, int type) {
List<Double> list = this.tabStoreStrategyMapper.selectMaxSort(enterpriseId, type);
if(CollectionUtils.isNotEmpty(list)){
return list.get(0);
}
return null;
}
@Override
public Double selectMinSort(Integer enterpriseId, int type) {
List<Double> list = this.tabStoreStrategyMapper.selectMinSort(enterpriseId, type);
if(CollectionUtils.isNotEmpty(list)){
return list.get(0);
}
return null;
}
@Override
public Page<TabStoreStrategy> listStoreStrategy(Integer enterpriseId, String search, int type, int page, int pageSize) {
PageHelper.startPage(page, pageSize);
return (Page<TabStoreStrategy>)this.tabStoreStrategyMapper.listStoreStrategy(enterpriseId, search, type);
}
@Override
public void moveUp(Integer enterpriseId, Integer storeStrategyId, int type) {
TabStoreStrategy current = this.tabStoreStrategyMapper.selectByPrimaryKey(storeStrategyId);
TabStoreStrategy pre = this.selectPre(enterpriseId, type, current.getSort());
current.setSort(pre.getSort());
pre.setSort(current.getSort());
this.tabStoreStrategyMapper.updateByPrimaryKeySelective(current);
this.tabStoreStrategyMapper.updateByPrimaryKeySelective(pre);
}
@Override
public void moveDown(Integer enterpriseId, Integer storeStrategyId, int type) {
TabStoreStrategy current = this.tabStoreStrategyMapper.selectByPrimaryKey(storeStrategyId);
TabStoreStrategy next = this.selectNext(enterpriseId, type, current.getSort());
current.setSort(next.getSort());
next.setSort(current.getSort());
this.tabStoreStrategyMapper.updateByPrimaryKeySelective(current);
this.tabStoreStrategyMapper.updateByPrimaryKeySelective(next);
}
@Override
public void moveTop(Integer enterpriseId, Integer storeStrategyId, int type) {
TabStoreStrategy current = this.tabStoreStrategyMapper.selectByPrimaryKey(storeStrategyId);
current.setSort(this.selectMinSort(enterpriseId, type) - 1d);
this.tabStoreStrategyMapper.updateByPrimaryKeySelective(current);
}
@Override
public void moveBottom(Integer enterpriseId, Integer storeStrategyId, int type) {
TabStoreStrategy current = this.tabStoreStrategyMapper.selectByPrimaryKey(storeStrategyId);
current.setSort(this.selectMaxSort(enterpriseId, type) + 1d);
this.tabStoreStrategyMapper.updateByPrimaryKeySelective(current);
}
@Override
public void setSortValue(Integer enterpriseId, Integer storeStrategyId, int value, int type) {
TabStoreStrategy current = this.tabStoreStrategyMapper.selectByPrimaryKey(storeStrategyId);
if(value <= 1){
this.moveTop(enterpriseId, storeStrategyId, type);
}else {
List<TabStoreStrategy> list = this.tabStoreStrategyMapper.listStoreStrategy(enterpriseId, null, type);
for(int i=0 ; i< list.size(); i++){
int k = i+1;
TabStoreStrategy storeStrategy = list.get(i);
if(k == value){
current.setSort(storeStrategy.getSort());
this.tabStoreStrategyMapper.updateByPrimaryKeySelective(current);
}
if(k > value && storeStrategyId != storeStrategy.getStrategyId()){
storeStrategy.setSort(storeStrategy.getSort()+1);
this.tabStoreStrategyMapper.updateByPrimaryKeySelective(storeStrategy);
}
}
}
}
@Override
public TabStoreStrategy storeStrategyDetail(Integer id) {
return this.tabStoreStrategyMapper.selectByPrimaryKey(id);
}
@Override
public boolean deleteStoreStrategy(Integer id) {
TabStoreStrategy tabStoreStrategy = this.tabStoreStrategyMapper.selectByPrimaryKey(id);
tabStoreStrategy.setStatus(0);
int i = this.tabStoreStrategyMapper.updateByPrimaryKeySelective(tabStoreStrategy);
if(i > 0 ){
return true;
}
return false;
}
private TabStoreStrategy selectPre(Integer enterpriseId, int type, Double sort){
List<TabStoreStrategy> list = this.tabStoreStrategyMapper.selectPreStoreStrategy(enterpriseId, type, sort);
if(CollectionUtils.isNotEmpty(list)){
return list.get(0);
}
return null;
}
private TabStoreStrategy selectNext(Integer enterpriseId, int type, Double sort){
List<TabStoreStrategy> list = this.tabStoreStrategyMapper.selectNextStoreStrategy(enterpriseId, type, sort);
if(CollectionUtils.isNotEmpty(list)){
return list.get(0);
}
return null;
}
}
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