Commit c8fb17c7 by zhiwj

Merge branch 'developer' of http://115.159.76.241/base_platform_enterprise/gic-store into developer

parents cac9e652 b7df343d
package com.gic.store.dto;
import java.io.Serializable;
public class ClerkOfflineDTO implements Serializable {
private Integer delClerkId;
private Integer addClerkId;
public Integer getDelClerkId() {
return delClerkId;
}
public void setDelClerkId(Integer delClerkId) {
this.delClerkId = delClerkId;
}
public Integer getAddClerkId() {
return addClerkId;
}
public void setAddClerkId(Integer addClerkId) {
this.addClerkId = addClerkId;
}
}
package com.gic.store.dto;
import java.io.Serializable;
import java.util.List;
public class StoreBrandChangeDTO implements Serializable {
private List<Integer> storeInfoIdList;
private List<Integer> add;
private List<Integer> del;
private boolean change = false;
public List<Integer> getAdd() {
return add;
}
public void setAdd(List<Integer> add) {
this.add = add;
}
public List<Integer> getDel() {
return del;
}
public void setDel(List<Integer> del) {
this.del = del;
}
public boolean isChange() {
return change;
}
public void setChange(boolean change) {
this.change = change;
}
public List<Integer> getStoreInfoIdList() {
return storeInfoIdList;
}
public void setStoreInfoIdList(List<Integer> storeInfoIdList) {
this.storeInfoIdList = storeInfoIdList;
}
}
......@@ -54,6 +54,8 @@ public class StoreBrandDTO implements Serializable {
private Integer seq;
private Integer hasRel;
/**1自有 2共享*/
private Integer type;
public Integer getStoreBrandId() {
return storeBrandId;
......@@ -143,6 +145,14 @@ public class StoreBrandDTO implements Serializable {
this.hasRel = hasRel;
}
public Integer getType() {
return type;
}
public void setType(Integer type) {
this.type = type;
}
@Override
public String toString() {
return "StoreBrandDTO{" +
......@@ -157,6 +167,7 @@ public class StoreBrandDTO implements Serializable {
", updateTime=" + updateTime +
", seq=" + seq +
", hasRel=" + hasRel +
", type=" + type +
'}';
}
}
......@@ -13,22 +13,22 @@ import com.gic.store.dto.StoreDTO;
public interface StoreAuthorizationApiService {
/**
* authStore 联合商户授权初始化
* authStore 联合商户门店授权接口
* @Title: authStore
* @Description:
* @Description: 联合商户门店授权接口
* @author zhiwj
* @param storeResourceId
* @param toEnterpriseId
* @param enterpriseId
* @param unionEnterpriseId
* @param ownEnterpriseId
* @return com.gic.api.base.commons.ServiceResponse<java.lang.Void>
* @throws
*/
ServiceResponse<Void> authStore(Integer storeResourceId, Integer toEnterpriseId, Integer enterpriseId);
ServiceResponse<Void> authStore(Integer storeResourceId, Integer unionEnterpriseId, Integer ownEnterpriseId);
/**
* reAuthStore
* @Title: reAuthStore
* @Description:
* @Description: 重新授权接口
* @author zhiwj
* @param key
* @return com.gic.api.base.commons.ServiceResponse<java.lang.Void>
......@@ -85,12 +85,12 @@ public interface StoreAuthorizationApiService {
/**
* cancelStoreAll
* @Title: cancelStoreAll
* @Description:
* @Description: 取消授权接口
* @author zhiwj
* @param fromEnterpriseId
* @param enterpriseId
* @param unionEnterpriseId
* @param OwnEnterpriseId
* @return com.gic.api.base.commons.ServiceResponse<java.lang.Void>
* @throws
*/
ServiceResponse<Void> cancelStoreAll(Integer fromEnterpriseId, Integer enterpriseId);
ServiceResponse<Void> cancelStoreAll(Integer unionEnterpriseId, Integer OwnEnterpriseId);
}
package com.gic.store.service;
import com.gic.api.base.commons.ServiceResponse;
public interface UnionStoreChangeApiService {
/**
* save
* @Title: save
* @Description: 保存商户下联合商户资源组授权范围变化日志
* @author taogs
* @param ownEnterpriseId
* @param unionEnterpriseId
* @return com.gic.api.base.commons.ServiceResponse<java.lang.Void>
* @throws
*/
ServiceResponse<Void> save(Integer ownEnterpriseId, Integer unionEnterpriseId);
}
......@@ -62,19 +62,6 @@ public interface TabStoreBrandMapper {
int updateByPrimaryKey(TabStoreBrand record);
/**
* 查询最小的排序号
* @param enterpriseId
* @return
*/
Double getMinSort(@Param("enterpriseId") Integer enterpriseId);
/**
* 查询最大的排序号
* @param enterpriseId
* @return
*/
Double getMaxSort(@Param("enterpriseId") Integer enterpriseId);
/**
* 查询符合条件的个数; 除id所有值取等于计算, id取不等于计算
* @param enterpriseId
* @param storeBrandCode
......@@ -147,4 +134,6 @@ public interface TabStoreBrandMapper {
* @throws
*/
TabStoreBrand getByStoreBrandName(@Param("enterpriseId") Integer enterpriseId, @Param("storeBrandName") String storeBrandName);
}
\ No newline at end of file
package com.gic.store.dao.mapper;
import com.gic.store.entity.TabStoreBrandRef;
import org.apache.ibatis.annotations.Param;
import java.util.List;
public interface TabStoreBrandRefMapper {
/**
* 根据主键删除
*
* @param id 主键
* @return 更新条目数
*/
int deleteByPrimaryKey(Integer id);
/**
* 插入一条记录
*
* @param record 实体对象
* @return 更新条目数
*/
int insert(TabStoreBrandRef record);
/**
* 动态插入一条记录
*
* @param record 实体对象
* @return 更新条目数
*/
int insertSelective(TabStoreBrandRef record);
/**
* 根据主键查询
*
* @param id 主键
* @return 实体对象
*/
TabStoreBrandRef selectByPrimaryKey(Integer id);
/**
* 根据主键动态更新记录
*
* @param record 实体对象
* @return 更新条目数
*/
int updateByPrimaryKeySelective(TabStoreBrandRef record);
/**
* 根据主键更新记录
*
* @param record 实体对象
* @return 更新条目数
*/
int updateByPrimaryKey(TabStoreBrandRef record);
/**
* 查询最小的排序号
* @param enterpriseId
* @return
*/
Double getMinSort(@Param("enterpriseId") Integer enterpriseId);
/**
* 查询最大的排序号
* @param enterpriseId
* @return
*/
Double getMaxSort(@Param("enterpriseId") Integer enterpriseId);
/**
* selectByEidAndBrandId
* @Title: selectByEidAndBrandId
* @Description:
* @author taogs
* @param enterpriseId
* @param storeBrandId
* @return com.gic.store.entity.TabStoreBrandRef
* @throws
*/
TabStoreBrandRef selectByEidAndBrandId(@Param("enterpriseId") Integer enterpriseId, @Param("storeBrandId") Integer storeBrandId);
/**
* selectByEidAndBrandIdList
* @Title: selectByEidAndBrandIdList
* @Description:
* @author taogs
* @param enterpriseId
* @param storeBrandIdList
* @return java.util.List<com.gic.store.entity.TabStoreBrandRef>
* @throws
*/
List<TabStoreBrandRef> selectByEidAndBrandIdList(@Param("enterpriseId") Integer enterpriseId, @Param("storeBrandIdList") List<Integer> storeBrandIdList);
/**
* updateSort
* @Title: updateSort
* @Description: 更新排序
* @author taogs
* @param enterpriseId
* @param storeBrandId
* @param sort
* @return java.lang.Integer
* @throws
*/
Integer updateSort(@Param("enterpriseId") Integer enterpriseId, @Param("storeBrandId") Integer storeBrandId, @Param("sort") Double sort);
Integer insertList(@Param("list") List<TabStoreBrandRef> list);
}
\ No newline at end of file
......@@ -105,15 +105,15 @@ public interface TabStoreMapper {
List<TabStore> getStoreNoStatus(@Param("enterpriseId") Integer enterpriseId, @Param("storeInfoId") Integer storeInfoId);
/**
* listStoreIdByFromEnterpriseId
* @Title: listStoreIdByFromEnterpriseId
* listShareStoreId
* @Title: listShareStoreId
* @Description:
* @author zhiwj
* @param fromEnterpriseId
* @param enterpriseId
* @return java.util.List<java.lang.Integer>
* @throws
*/
List<Integer> listStoreIdByFromEnterpriseId(@Param("fromEnterpriseId") Integer fromEnterpriseId);
List<Integer> listShareStoreId(@Param("enterpriseId") Integer enterpriseId);
/**
* cancelAuthStore
......
package com.gic.store.dao.mapper;
import com.gic.store.entity.TabUnionStoreChangeLog;
import org.apache.ibatis.annotations.Param;
public interface TabUnionStoreChangeLogMapper {
/**
* 根据主键删除
*
* @param id 主键
* @return 更新条目数
*/
int deleteByPrimaryKey(Integer id);
/**
* 插入一条记录
*
* @param record 实体对象
* @return 更新条目数
*/
int insert(TabUnionStoreChangeLog record);
/**
* 动态插入一条记录
*
* @param record 实体对象
* @return 更新条目数
*/
int insertSelective(TabUnionStoreChangeLog record);
/**
* 根据主键查询
*
* @param id 主键
* @return 实体对象
*/
TabUnionStoreChangeLog selectByPrimaryKey(Integer id);
/**
* 根据主键动态更新记录
*
* @param record 实体对象
* @return 更新条目数
*/
int updateByPrimaryKeySelective(TabUnionStoreChangeLog record);
/**
* 根据主键更新记录
*
* @param record 实体对象
* @return 更新条目数
*/
int updateByPrimaryKey(TabUnionStoreChangeLog record);
/**
* selectByEnterpriseId
* @Title: selectByEnterpriseId
* @Description: 查询联合商户门店授权范围是否变更
* @author taogs
* @param ownEnterpriseId
* @param unionEnterpriseId
* @return com.gic.store.entity.TabUnionStoreChangeLog
* @throws
*/
TabUnionStoreChangeLog selectByEnterpriseId(@Param("ownEnterpriseId") Integer ownEnterpriseId, @Param("unionEnterpriseId") Integer unionEnterpriseId);
}
\ No newline at end of file
......@@ -68,6 +68,8 @@ public class TabStoreBrand {
*/
private Integer hasRel;
private Integer type;
public Integer getStoreBrandId() {
return storeBrandId;
}
......@@ -155,4 +157,12 @@ public class TabStoreBrand {
public void setHasRel(Integer hasRel) {
this.hasRel = hasRel;
}
public Integer getType() {
return type;
}
public void setType(Integer type) {
this.type = type;
}
}
\ No newline at end of file
package com.gic.store.entity;
import java.util.Date;
/**
* tab_store_brand_ref
*/
public class TabStoreBrandRef {
/**
*
*/
private Integer id;
/**
*
*/
private Integer enterpriseId;
/**
*
*/
private Integer storeBrandId;
/**
* 1自有 2共享
*/
private Integer type;
/**
*
*/
private Date createTime;
/**
*
*/
private Date updateTime;
/**
*
*/
private Integer deleteFlag;
/**
*
*/
private Double sort;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public Integer getEnterpriseId() {
return enterpriseId;
}
public void setEnterpriseId(Integer enterpriseId) {
this.enterpriseId = enterpriseId;
}
public Integer getStoreBrandId() {
return storeBrandId;
}
public void setStoreBrandId(Integer storeBrandId) {
this.storeBrandId = storeBrandId;
}
public Integer getType() {
return type;
}
public void setType(Integer type) {
this.type = type;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public Date getUpdateTime() {
return updateTime;
}
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
public Integer getDeleteFlag() {
return deleteFlag;
}
public void setDeleteFlag(Integer deleteFlag) {
this.deleteFlag = deleteFlag;
}
public Double getSort() {
return sort;
}
public void setSort(Double sort) {
this.sort = sort;
}
}
\ No newline at end of file
package com.gic.store.entity;
import java.util.Date;
/**
* tab_union_store_change_log
*/
public class TabUnionStoreChangeLog {
/**
*
*/
private Integer id;
/**
*
*/
private Integer ownerEnterpriseId;
/**
*
*/
private Integer unionEnterpriseId;
/**
* 改联合商户的授权范围是否发生变化;1是 0否
*/
private Integer change;
/**
*
*/
private Date createTime;
/**
*
*/
private Date updateTime;
/**
*
*/
private Integer deleteFlag;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public Integer getOwnerEnterpriseId() {
return ownerEnterpriseId;
}
public void setOwnerEnterpriseId(Integer ownerEnterpriseId) {
this.ownerEnterpriseId = ownerEnterpriseId;
}
public Integer getUnionEnterpriseId() {
return unionEnterpriseId;
}
public void setUnionEnterpriseId(Integer unionEnterpriseId) {
this.unionEnterpriseId = unionEnterpriseId;
}
public Integer getChange() {
return change;
}
public void setChange(Integer change) {
this.change = change;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public Date getUpdateTime() {
return updateTime;
}
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
public Integer getDeleteFlag() {
return deleteFlag;
}
public void setDeleteFlag(Integer deleteFlag) {
this.deleteFlag = deleteFlag;
}
}
\ No newline at end of file
......@@ -23,6 +23,32 @@ public interface StoreBrandService {
Integer save(StoreBrandDTO storeBrandDTO);
/**
* saveStoreBrandRef
* @Title: saveStoreBrandRef
* @Description: 保存品牌关联表
* @author taogs
* @param enterpriseId
* @param storeBrandId
* @param type
* @return void
* @throws
*/
void saveStoreBrandRef(Integer enterpriseId, Integer storeBrandId, Integer type);
/**
* saveStoreBrandRef
* @Title: saveStoreBrandRef
* @Description: 共享品牌
* @author taogs
* @param enterpriseId
* @param storeBrandIdList
* @param type
* @return void
* @throws
*/
void saveStoreBrandRef(Integer enterpriseId, List<Integer> storeBrandIdList, Integer type);
/**
* update
* @Title: update
* @Description:
......
......@@ -341,15 +341,15 @@ public interface StoreService {
int authAddStore(StoreDTO storeDTO);
/**
* listStoreIdByFromEnterpriseId
* @Title: listStoreIdByFromEnterpriseId
* @Description:
* listShareStoreId
* @Title: listShareStoreId
* @Description: 查询当前商户下的共享门店
* @author zhiwj
* @param fromEnterpriseId
* @param enterpriseId
* @return java.util.List<java.lang.Integer>
* @throws
*/
List<Integer> listStoreIdByFromEnterpriseId(Integer fromEnterpriseId);
List<Integer> listShareStoreId(Integer enterpriseId);
/**
* cancelAuthStore
......
package com.gic.store.service;
/**
*
* @ClassName: UnionStoreChangeService
* @Description:
* @author taogs
* @date 2021/2/9 11:11
*/
public interface UnionStoreChangeService {
/**
* save
* @Title: save
* @Description: 保存联合商户授权范围变更的日志
* @author taogs
* @param ownEnterpriseId
* @param unionEnterpriseId
* @return void
* @throws
*/
void save(Integer ownEnterpriseId, Integer unionEnterpriseId);
}
package com.gic.store.service.impl;
import com.alibaba.fastjson.JSON;
import com.gic.commons.util.GlobalInfo;
import com.gic.store.dao.mapper.TabStoreBrandMapper;
import com.gic.store.dao.mapper.TabStoreBrandRefMapper;
import com.gic.store.dto.StoreBrandDTO;
import com.gic.store.entity.TabStoreBrand;
import com.gic.store.entity.TabStoreBrandRef;
import com.gic.store.service.StoreBrandService;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.collections.MapUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.*;
import java.util.stream.Collectors;
/**
......@@ -23,29 +27,87 @@ import java.util.stream.Collectors;
*/
@Service
public class StoreBrandServiceImpl implements StoreBrandService {
private static final Logger log = LogManager.getLogger(StoreBrandServiceImpl.class);
@Autowired
private TabStoreBrandMapper tabStoreBrandMapper;
@Autowired
private TabStoreBrandRefMapper tabStoreBrandRefMapper;
@Override
public Integer save(StoreBrandDTO copy) {
Date date = new Date();
TabStoreBrand storeBrand = new TabStoreBrand();
storeBrand.setStoreBrandCode(copy.getStoreBrandCode());
storeBrand.setStoreBrandName(copy.getStoreBrandName());
storeBrand.setStoreBrandCategoryCode(copy.getStoreBrandCategoryCode());
storeBrand.setStoreBrandCategory(copy.getStoreBrandCategory());
storeBrand.setEnterpriseId(copy.getEnterpriseId());
storeBrand.setDeleteFlag(0);
storeBrand.setCreateTime(new Date());
storeBrand.setCreateTime(date);
storeBrand.setHasRel(GlobalInfo.DATA_STATUS_DELETE);
Double sort = tabStoreBrandMapper.getMinSort(copy.getEnterpriseId());
storeBrand.setSort(sort == null ? 1d : sort - 1d);
tabStoreBrandMapper.insertSelective(storeBrand);
TabStoreBrandRef tabStoreBrandRef = new TabStoreBrandRef();
Double sort = tabStoreBrandRefMapper.getMinSort(copy.getEnterpriseId());
tabStoreBrandRef.setSort(sort == null ? 1d : sort - 1d);
tabStoreBrandRef.setEnterpriseId(copy.getEnterpriseId());
tabStoreBrandRef.setStoreBrandId(storeBrand.getStoreBrandId());
tabStoreBrandRef.setDeleteFlag(0);
tabStoreBrandRef.setCreateTime(date);
tabStoreBrandRef.setUpdateTime(date);
tabStoreBrandRef.setType(copy.getType());
tabStoreBrandRefMapper.insertSelective(tabStoreBrandRef);
return storeBrand.getStoreBrandId();
}
@Override
public void saveStoreBrandRef(Integer enterpriseId, Integer storeBrandId, Integer type){
TabStoreBrandRef existTab = tabStoreBrandRefMapper.selectByEidAndBrandId(enterpriseId, storeBrandId);
if(existTab != null){
return;
}
Date date = new Date();
TabStoreBrandRef tabStoreBrandRef = new TabStoreBrandRef();
Double sort = tabStoreBrandRefMapper.getMinSort(enterpriseId);
tabStoreBrandRef.setSort(sort == null ? 1d : sort - 1d);
tabStoreBrandRef.setEnterpriseId(enterpriseId);
tabStoreBrandRef.setStoreBrandId(storeBrandId);
tabStoreBrandRef.setDeleteFlag(0);
tabStoreBrandRef.setCreateTime(date);
tabStoreBrandRef.setUpdateTime(date);
tabStoreBrandRef.setType(type);
tabStoreBrandRefMapper.insertSelective(tabStoreBrandRef);
}
@Override
public void saveStoreBrandRef(Integer enterpriseId, List<Integer> storeBrandIdList, Integer type) {
if(CollectionUtils.isNotEmpty(storeBrandIdList)){
List<TabStoreBrandRef> list = new ArrayList<>();
Double sort = tabStoreBrandRefMapper.getMinSort(enterpriseId);
sort = sort == null ? 1d : sort - 1d;
Date date = new Date();
List<TabStoreBrandRef> existList = tabStoreBrandRefMapper.selectByEidAndBrandIdList(enterpriseId, storeBrandIdList);
Map<String, Integer> existMap = existList.stream().collect(Collectors.toMap(ref -> ref.getEnterpriseId() + "-" + ref.getStoreBrandId(), TabStoreBrandRef::getId, (k1,k2)->k2));
for(Integer storeBrandId : storeBrandIdList){
if(MapUtils.isNotEmpty(existMap) && !existMap.containsKey(enterpriseId + "-" + storeBrandId)){
continue;
}
TabStoreBrandRef tabStoreBrandRef = new TabStoreBrandRef();
tabStoreBrandRef.setSort(sort);
tabStoreBrandRef.setEnterpriseId(enterpriseId);
tabStoreBrandRef.setStoreBrandId(storeBrandId);
tabStoreBrandRef.setDeleteFlag(0);
tabStoreBrandRef.setCreateTime(date);
tabStoreBrandRef.setUpdateTime(date);
tabStoreBrandRef.setType(type);
list.add(tabStoreBrandRef);
sort = sort - 1d;
}
if(CollectionUtils.isNotEmpty(list)){
tabStoreBrandRefMapper.insertList(list);
}
}
}
@Override
public Integer update(StoreBrandDTO copy) {
TabStoreBrand storeBrand = new TabStoreBrand();
storeBrand.setStoreBrandId(copy.getStoreBrandId());
......@@ -85,45 +147,37 @@ public class StoreBrandServiceImpl implements StoreBrandService {
@Override
public void sortMoveUp(Integer enterpriseId, Integer storeBrandId) {
TabStoreBrand tabStoreBrand = tabStoreBrandMapper.selectByPrimaryKey(storeBrandId);
TabStoreBrand prevStoreBrand = tabStoreBrandMapper.getPrevSort(enterpriseId, tabStoreBrand.getSort());
swapSort(tabStoreBrand, prevStoreBrand);
TabStoreBrandRef tabStoreBrandRef = tabStoreBrandRefMapper.selectByEidAndBrandId(enterpriseId, storeBrandId);
TabStoreBrand prevStoreBrand = tabStoreBrandMapper.getPrevSort(enterpriseId, tabStoreBrandRef.getSort());
swapSort(tabStoreBrandRef, prevStoreBrand);
}
@Override
public void sortMoveDown(Integer enterpriseId, Integer storeBrandId) {
TabStoreBrand tabStoreBrand = tabStoreBrandMapper.selectByPrimaryKey(storeBrandId);
TabStoreBrand nextStoreBrand = tabStoreBrandMapper.getNextSort(enterpriseId, tabStoreBrand.getSort());
swapSort(tabStoreBrand, nextStoreBrand);
TabStoreBrandRef tabStoreBrandRef = tabStoreBrandRefMapper.selectByEidAndBrandId(enterpriseId, storeBrandId);
TabStoreBrand nextStoreBrand = tabStoreBrandMapper.getNextSort(enterpriseId, tabStoreBrandRef.getSort());
swapSort(tabStoreBrandRef, nextStoreBrand);
}
private void swapSort(TabStoreBrand tabStoreBrand, TabStoreBrand prevStoreBrand) {
private void swapSort(TabStoreBrandRef tabStoreBrandRef, TabStoreBrand prevStoreBrand) {
log.info("品牌排序:{},{}", JSON.toJSONString(tabStoreBrandRef), JSON.toJSONString(prevStoreBrand));
if (prevStoreBrand != null) {
Double temp = tabStoreBrand.getSort();
tabStoreBrand.setSort(prevStoreBrand.getSort());
prevStoreBrand.setSort(temp);
tabStoreBrandMapper.updateByPrimaryKeySelective(tabStoreBrand);
tabStoreBrandMapper.updateByPrimaryKeySelective(prevStoreBrand);
tabStoreBrandRefMapper.updateSort(tabStoreBrandRef.getEnterpriseId(), tabStoreBrandRef.getStoreBrandId(), prevStoreBrand.getSort());
tabStoreBrandRefMapper.updateSort(prevStoreBrand.getEnterpriseId(), prevStoreBrand.getStoreBrandId(), tabStoreBrandRef.getSort());
}
}
@Override
public void sortTopping(Integer enterpriseId, Integer storeBrandId) {
Double sort = tabStoreBrandMapper.getMinSort(enterpriseId);
TabStoreBrand tabStoreBrand = new TabStoreBrand();
tabStoreBrand.setStoreBrandId(storeBrandId);
tabStoreBrand.setSort(sort - 1d);
tabStoreBrandMapper.updateByPrimaryKeySelective(tabStoreBrand);
Double sort = tabStoreBrandRefMapper.getMinSort(enterpriseId);
tabStoreBrandRefMapper.updateSort(enterpriseId, storeBrandId, sort - 1d);
}
@Override
public void sortBottom(Integer enterpriseId, Integer storeBrandId) {
Double sort = tabStoreBrandMapper.getMaxSort(enterpriseId);
Double sort = tabStoreBrandRefMapper.getMaxSort(enterpriseId);
if (sort != null) {
TabStoreBrand tabStoreBrand = new TabStoreBrand();
tabStoreBrand.setStoreBrandId(storeBrandId);
tabStoreBrand.setSort(sort + 1d);
tabStoreBrandMapper.updateByPrimaryKeySelective(tabStoreBrand);
tabStoreBrandRefMapper.updateSort(enterpriseId, storeBrandId, sort + 1d);
}
}
......@@ -148,10 +202,7 @@ public class StoreBrandServiceImpl implements StoreBrandService {
} else {
sort = (list.get(0).getSort() + list.get(1).getSort()) / 2d;
}
TabStoreBrand tabStoreBrand = new TabStoreBrand();
tabStoreBrand.setStoreBrandId(storeBrandId);
tabStoreBrand.setSort(sort);
tabStoreBrandMapper.updateByPrimaryKeySelective(tabStoreBrand);
tabStoreBrandRefMapper.updateSort(enterpriseId, storeBrandId, sort);
}
}
}
......
......@@ -485,8 +485,8 @@ public class StoreServiceImpl implements StoreService {
}
@Override
public List<Integer> listStoreIdByFromEnterpriseId(Integer fromEnterpriseId) {
return this.tabStoreMapper.listStoreIdByFromEnterpriseId(fromEnterpriseId);
public List<Integer> listShareStoreId(Integer enterpriseId) {
return this.tabStoreMapper.listShareStoreId(enterpriseId);
}
@Override
......
package com.gic.store.service.impl;
import com.gic.store.dao.mapper.TabUnionStoreChangeLogMapper;
import com.gic.store.entity.TabUnionStoreChangeLog;
import com.gic.store.service.UnionStoreChangeService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Date;
@Service("unionStoreChangeService")
public class UnionStoreChangeServiceImpl implements UnionStoreChangeService {
@Autowired
private TabUnionStoreChangeLogMapper tabUnionStoreChangeLogMapper;
@Override
public void save(Integer ownEnterpriseId, Integer unionEnterpriseId) {
TabUnionStoreChangeLog log = tabUnionStoreChangeLogMapper.selectByEnterpriseId(ownEnterpriseId, unionEnterpriseId);
if(log == null){
log = new TabUnionStoreChangeLog();
log.setChange(1);
log.setCreateTime(new Date());
log.setDeleteFlag(0);
log.setOwnerEnterpriseId(ownEnterpriseId);
log.setUnionEnterpriseId(unionEnterpriseId);
log.setUpdateTime(new Date());
tabUnionStoreChangeLogMapper.insertSelective(log);
} else {
if(log.getChange() == 0){
log.setChange(1);
tabUnionStoreChangeLogMapper.updateByPrimaryKeySelective(log);
}
}
}
}
......@@ -481,6 +481,7 @@ public class ClerkApiServiceImpl implements ClerkApiService {
@Override
public ServiceResponse updateClerkStatus(Integer enterpriseId, String clerkIds, Integer status, Integer userId) {
logger.info("导购状态变更:{},{},{},{}", enterpriseId, clerkIds, status, userId);
StringBuilder messageBuiler = new StringBuilder();
List<Integer> clerkIdList;
if (StringUtils.isNotBlank(clerkIds)) {
......@@ -508,19 +509,28 @@ public class ClerkApiServiceImpl implements ClerkApiService {
}
}
if(CollectionUtils.isNotEmpty(clerkIdList)){
List<Integer> needDealClerkIdList = new ArrayList<>();
for(Integer clerkId : clerkIdList){
List<TabClerk> list = this.clerkService.listClerkByStoreInfoId(Arrays.asList(clerkIdMap.get(clerkId).getStoreInfoId()));
if(list.size() > 1){
needDealClerkIdList.add(clerkId);
}else {
messageBuiler.append("当前门店下只有 ").append(clerkIdMap.get(clerkId).getClerkName()).append(" 是上线状态;");
}
}
Integer i = clerkService.updateClerkStatus(enterpriseId, needDealClerkIdList, status);
if(StoreStatusEnum.INONLINE.getCode() == status){
List<Integer> needDealClerkIdList = new ArrayList<>();
List<ClerkOfflineDTO> clerkOfflineDTOList = new ArrayList<>();
for(Integer clerkId : clerkIdList){
List<TabClerk> list = this.clerkService.listClerkByStoreInfoId(Collections.singletonList(clerkIdMap.get(clerkId).getStoreInfoId()));
if(list.size() > 1){
ClerkOfflineDTO clerkOfflineDTO = new ClerkOfflineDTO();
clerkOfflineDTO.setDelClerkId(clerkId);
Integer addClerkId = list.stream().filter(clerk -> !clerk.getClerkId().equals(clerkId)).findFirst().get().getClerkId();
clerkOfflineDTO.setAddClerkId(addClerkId);
clerkOfflineDTOList.add(clerkOfflineDTO);
needDealClerkIdList.add(clerkId);
}else {
messageBuiler.append("当前门店下只有 ").append(clerkIdMap.get(clerkId).getClerkName()).append(" 是上线状态;");
}
}
clerkService.updateClerkStatus(enterpriseId, needDealClerkIdList, status);
//导购下线重算导购归属
this.storeUpdateApiService.clerkOffline(enterpriseId, needDealClerkIdList, userId);
logger.info("导购下线 重算归属:{}", JSON.toJSONString(clerkOfflineDTOList));
this.storeUpdateApiService.clerkOffline(enterpriseId, clerkOfflineDTOList, userId);
}else {
clerkService.updateClerkStatus(enterpriseId, clerkIdList, status);
}
}
}
......
......@@ -44,7 +44,10 @@ import com.gic.weimob.api.dto.WeimobPhysicalStoreDTO;
import com.gic.weimob.api.dto.WeimobStoreAccountDTO;
import com.gic.weimob.api.service.WeimobStoreSiteApiService;
import com.google.common.base.Joiner;
import com.google.common.collect.MapDifference;
import com.google.common.collect.Maps;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.collections.MapUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
......@@ -197,7 +200,7 @@ public class StoreApiServiceImpl implements StoreApiService {
// 记录门店日志
saveAddLog(storeDTO);
} else {
boolean hasChangeBrand = checkBrandHasChange(storeDTO.getBrandIds(), storeDTO.getStoreId(), storeDTO.getEnterpriseId());
StoreBrandChangeDTO storeBrandChangeDTO = checkBrandHasChange(storeDTO.getBrandIds(), storeDTO.getStoreId(), storeDTO.getEnterpriseId());
String lock = "lock:"+ storeDTO.getEnterpriseId() + ":" + storeDTO.getStoreId();
RedisUtil.lock(lock, 500l, TimeUnit.MILLISECONDS, 500l);
try{
......@@ -208,10 +211,11 @@ public class StoreApiServiceImpl implements StoreApiService {
if (update == 0) {
return ServiceResponse.failure(ErrorCode.NOTEXISTS.getCode(), ErrorCode.NOTEXISTS.getMsg());
}
if(hasChangeBrand){
if(storeBrandChangeDTO.isChange()){
//调用归属重算
this.storeUpdateApiService.storeBrandChange(storeDTO.getEnterpriseId(), Collections.singletonList(storeDTO.getStoreInfoId()), storeDTO.getOperatorId());
logger.info("调用会员接口进行归属重算, {}", storeDTO.getStoreInfoId());
storeBrandChangeDTO.setStoreInfoIdList(Collections.singletonList(storeDTO.getStoreInfoId()));
this.storeUpdateApiService.storeBrandChange(storeDTO.getEnterpriseId(), storeBrandChangeDTO, storeDTO.getOperatorId());
logger.info("调用会员接口进行归属重算, {}", JSON.toJSONString(storeBrandChangeDTO));
}
// 记录门店日志
try {
......@@ -569,14 +573,27 @@ public class StoreApiServiceImpl implements StoreApiService {
return null;
}
private boolean checkBrandHasChange(String brandIds, Integer storeId, Integer enterpriseId){
private StoreBrandChangeDTO checkBrandHasChange(String brandIds, Integer storeId, Integer enterpriseId){
StoreBrandChangeDTO storeBrandChangeDTO = new StoreBrandChangeDTO();
StoreDTO result = this.getStoreById(enterpriseId, storeId).getResult();
if(result!= null){
if(brandIds.equals(result.getBrandIds())){
return false;
return storeBrandChangeDTO;
}
}
return true;
storeBrandChangeDTO.setChange(true);
Map<String, String> newBrandIdMap = Arrays.stream(brandIds.split(",")).collect(Collectors.toMap(id -> id, id -> id));
Map<String, String> oldBrandIdMap = Arrays.stream(result.getBrandIds().split(",")).collect(Collectors.toMap(id -> id, id -> id));
MapDifference<String, String> difference = Maps.difference(newBrandIdMap, oldBrandIdMap);
Map<String, String> add = difference.entriesOnlyOnLeft();
Map<String, String> del = difference.entriesOnlyOnRight();
if(MapUtils.isNotEmpty(add)){
storeBrandChangeDTO.setAdd(add.keySet().stream().map(s->Integer.valueOf(s)).collect(Collectors.toList()));
}
if(MapUtils.isNotEmpty(del)){
storeBrandChangeDTO.setDel(del.keySet().stream().map(s->Integer.valueOf(s)).collect(Collectors.toList()));
}
return storeBrandChangeDTO;
}
private void refreshIndex(Integer storeId, Integer enterpriseId) {
......@@ -1502,7 +1519,9 @@ public class StoreApiServiceImpl implements StoreApiService {
Integer enterpriseId = json.getInteger("enterpriseId");
Integer storeId = json.getInteger("storeId");
Integer logId = json.getInteger("logId");
if(logId == null){
logId = this.storeIndexLogService.saveStoreIndexLog(enterpriseId, storeId);
}
boolean isAdd = true;
DynamicSearchDTO dynamicSearchDTO = new DynamicSearchDTO();
JSONObject search = QueryConditionAssemblyUtil.createSimpleQueryNode("id", OperateEnum.OPERATE_EQ, enterpriseId + "_" + storeId);
......
package com.gic.store.service.outer.impl;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.store.service.UnionStoreChangeApiService;
import com.gic.store.service.UnionStoreChangeService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
*
* @ClassName: UnionStoreChangeApiServiceImpl
* @Description: 联合商户授权门店资源范围变更日志记录
* @author taogs
* @date 2021/2/9 11:07
*/
@Service("unionStoreChangeApiService")
public class UnionStoreChangeApiServiceImpl implements UnionStoreChangeApiService {
@Autowired
private UnionStoreChangeService unionStoreChangeService;
@Override
public ServiceResponse<Void> save(Integer ownEnterpriseId, Integer unionEnterpriseId) {
this.unionStoreChangeService.save(ownEnterpriseId, unionEnterpriseId);
return ServiceResponse.success();
}
}
......@@ -65,6 +65,7 @@
<dubbo:service interface="com.gic.store.service.DictApiService" ref="dictApiService" timeout="6000" />
<dubbo:service interface="com.gic.store.service.StoreTransferApiService" ref="storeTransferApiService" timeout="6000" />
<dubbo:service interface="com.gic.store.service.StoreWidgetLogApiService" ref="storeWidgetLogApiService" timeout="6000" />
<dubbo:service interface="com.gic.store.service.UnionStoreChangeApiService" ref="unionStoreChangeApiService" timeout="6000" />
<dubbo:reference interface="com.gic.weimob.api.service.WeimobStoreSiteApiService" id="weimobStoreSiteApiService" timeout="6000"/>
<dubbo:reference interface="com.gic.enterprise.service.WmStoreSyncLogApiService" id="wmStoreSyncLogApiService" timeout="6000"/>
......@@ -74,4 +75,5 @@
<dubbo:reference interface="com.gic.auth.service.ResourceGroupApiService" id="resourceGroupApiService" timeout="6000"/>
<dubbo:reference interface="com.gic.auth.service.UserResourceApiService" id="userResourceApiService" timeout="6000"/>
<dubbo:reference interface="com.gic.member.api.service.StoreUpdateApiService" id="storeUpdateApiService" timeout="6000"/>
<dubbo:reference interface="com.gic.enterprise.service.UnionEnterpriseAuthResDetailApiService" id="unionEnterpriseAuthResDetailApiService" timeout="6000"/>
</beans>
......@@ -3,20 +3,24 @@
<mapper namespace="com.gic.store.dao.mapper.TabStoreBrandMapper">
<resultMap id="BaseResultMap" type="com.gic.store.entity.TabStoreBrand">
<id column="store_brand_id" jdbcType="INTEGER" property="storeBrandId" />
<result column="enterprise_id" jdbcType="INTEGER" property="enterpriseId" />
<result column="store_brand_code" jdbcType="VARCHAR" property="storeBrandCode" />
<result column="store_brand_name" jdbcType="VARCHAR" property="storeBrandName" />
<result column="store_brand_category_code" jdbcType="VARCHAR" property="storeBrandCategoryCode" />
<result column="store_brand_category" jdbcType="VARCHAR" property="storeBrandCategory" />
<result column="sort" jdbcType="DOUBLE" property="sort" />
<result column="enterprise_id" jdbcType="INTEGER" property="enterpriseId" />
<result column="delete_flag" jdbcType="INTEGER" property="deleteFlag" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
<result column="has_rel" jdbcType="INTEGER" property="hasRel" />
<result column="type" jdbcType="INTEGER" property="type" />
</resultMap>
<sql id="Base_Column_List">
store_brand_id, store_brand_code, store_brand_name, store_brand_category_code, store_brand_category,
sort, enterprise_id, delete_flag, create_time, update_time, has_rel
store_brand_id, store_brand_code, store_brand_name, store_brand_category_code, store_brand_category, has_rel
</sql>
<sql id="Ref_Column_List">
t1.store_brand_id, t1.store_brand_code, t1.store_brand_name, t1.store_brand_category_code, t1.store_brand_category, t1.has_rel,
t2.enterprise_id, t2.type, t2.sort, t2.delete_flag, t2.create_time, t2.update_time
</sql>
<select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
select
......@@ -30,13 +34,11 @@
</delete>
<insert id="insert" parameterType="com.gic.store.entity.TabStoreBrand">
insert into tab_store_brand (store_brand_id, store_brand_code, store_brand_name,
store_brand_category_code, store_brand_category,
sort, enterprise_id, delete_flag,
store_brand_category_code, store_brand_category, delete_flag,
create_time, update_time, has_rel
)
values (#{storeBrandId,jdbcType=INTEGER}, #{storeBrandCode,jdbcType=VARCHAR}, #{storeBrandName,jdbcType=VARCHAR},
#{storeBrandCategoryCode,jdbcType=VARCHAR}, #{storeBrandCategory,jdbcType=VARCHAR},
#{sort,jdbcType=DOUBLE}, #{enterpriseId,jdbcType=INTEGER}, #{deleteFlag,jdbcType=INTEGER},
#{storeBrandCategoryCode,jdbcType=VARCHAR}, #{storeBrandCategory,jdbcType=VARCHAR}, #{deleteFlag,jdbcType=INTEGER},
#{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP}, #{hasRel,jdbcType=INTEGER}
)
</insert>
......@@ -61,12 +63,6 @@
<if test="storeBrandCategory != null">
store_brand_category,
</if>
<if test="sort != null">
sort,
</if>
<if test="enterpriseId != null">
enterprise_id,
</if>
<if test="deleteFlag != null">
delete_flag,
</if>
......@@ -96,12 +92,6 @@
<if test="storeBrandCategory != null">
#{storeBrandCategory,jdbcType=VARCHAR},
</if>
<if test="sort != null">
#{sort,jdbcType=DOUBLE},
</if>
<if test="enterpriseId != null">
#{enterpriseId,jdbcType=INTEGER},
</if>
<if test="deleteFlag != null">
#{deleteFlag,jdbcType=INTEGER},
</if>
......@@ -134,9 +124,6 @@
<if test="sort != null">
sort = #{sort,jdbcType=DOUBLE},
</if>
<if test="enterpriseId != null">
enterprise_id = #{enterpriseId,jdbcType=INTEGER},
</if>
<if test="deleteFlag != null">
delete_flag = #{deleteFlag,jdbcType=INTEGER},
</if>
......@@ -158,8 +145,6 @@
store_brand_name = #{storeBrandName,jdbcType=VARCHAR},
store_brand_category_code = #{storeBrandCategoryCode,jdbcType=VARCHAR},
store_brand_category = #{storeBrandCategory,jdbcType=VARCHAR},
sort = #{sort,jdbcType=DOUBLE},
enterprise_id = #{enterpriseId,jdbcType=INTEGER},
delete_flag = #{deleteFlag,jdbcType=INTEGER},
create_time = #{createTime,jdbcType=TIMESTAMP},
update_time = #{updateTime,jdbcType=TIMESTAMP},
......@@ -167,69 +152,64 @@
where store_brand_id = #{storeBrandId,jdbcType=INTEGER}
</update>
<select id="getMinSort" resultType="java.lang.Double">
select sort from tab_store_brand where delete_flag = 0 and enterprise_id = #{enterpriseId} order by sort limit 0, 1
</select>
<select id="getMaxSort" resultType="java.lang.Double">
select sort from tab_store_brand where delete_flag = 0 and enterprise_id = #{enterpriseId} order by sort desc limit 0, 1
</select>
<select id="countBySelective" resultType="java.lang.Integer">
select count(1) from tab_store_brand
where delete_flag = 0
select count(1) from tab_store_brand t1,tab_store_brand_ref t2
where t2.delete_flag = 0 and t1.delete_flag =0 and t1.store_brand_id = t2.store_brand_id
<if test="enterpriseId != null ">
and enterprise_id = #{enterpriseId}
and t2.enterprise_id = #{enterpriseId}
</if>
<!-- &lt;if test="storeBrandCode != null and storeBrandCode != '' "&gt;-->
<!-- and store_brand_code = #{storeBrandCode}-->
<!-- &lt;/if&gt;-->
<if test="storeBrandName != null and storeBrandName != '' ">
and store_brand_name = #{storeBrandName}
and t1.store_brand_name = #{storeBrandName}
</if>
<if test="storeBrandId != null ">
and store_brand_id &lt;&gt; #{storeBrandId}
and t1.store_brand_id &lt;&gt; #{storeBrandId}
</if>
</select>
<select id="listStoreBrand" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from tab_store_brand
where delete_flag = 0
<include refid="Ref_Column_List" />
from tab_store_brand t1, tab_store_brand_ref t2
where t2.delete_flag = 0 and t1.delete_flag =0 and t1.store_brand_id = t2.store_brand_id
<if test="enterpriseId != null ">
and enterprise_id = #{enterpriseId}
and t2.enterprise_id = #{enterpriseId}
</if>
<if test="search != null and search != '' ">
and ( store_brand_code like concat('%', #{search}, '%') or store_brand_name like concat('%', #{search}, '%') )
and ( t1.store_brand_code like concat('%', #{search}, '%') or t1.store_brand_name like concat('%', #{search}, '%') )
</if>
order by sort
</select>
<select id="getPrevSort" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from tab_store_brand
where delete_flag = 0
and enterprise_id = #{enterpriseId}
and sort &lt; #{sort}
order by sort desc
<include refid="Ref_Column_List" />
from tab_store_brand t1, tab_store_brand_ref t2
where t2.delete_flag = 0 and t1.delete_flag =0 and t1.store_brand_id = t2.store_brand_id
and t2.enterprise_id = #{enterpriseId}
and t2.sort &lt; #{sort}
order by t2.sort desc
limit 0, 1
</select>
<select id="getNextSort" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from tab_store_brand
where delete_flag = 0
and enterprise_id = #{enterpriseId}
and sort &gt; #{sort}
order by sort
<include refid="Ref_Column_List" />
from tab_store_brand t1, tab_store_brand_ref t2
where t2.delete_flag = 0 and t1.delete_flag =0 and t1.store_brand_id = t2.store_brand_id
and t2.enterprise_id = #{enterpriseId}
and t2.sort &gt; #{sort}
order by t2.sort
limit 0, 1
</select>
<select id="listTwoElementExceptId" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from tab_store_brand
where delete_flag = 0
and enterprise_id = #{enterpriseId}
and store_brand_id &lt;&gt; #{storeBrandId}
order by sort
<include refid="Ref_Column_List" />
from tab_store_brand t1, tab_store_brand_ref t2
where t2.delete_flag = 0 and t1.delete_flag =0 and t1.store_brand_id = t2.store_brand_id
and t2.enterprise_id = #{enterpriseId}
and t1.store_brand_id &lt;&gt; #{storeBrandId}
order by t2.sort
limit #{start}, #{size}
</select>
<update id="deleteByIds">
......@@ -246,24 +226,24 @@
<select id="listStoreBrandByIds" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from tab_store_brand
where delete_flag = 0
from tab_store_brand t1
where t1.delete_flag =0
<if test="null != ids and ids.size() &gt; 0">
and store_brand_id in
and t1.store_brand_id in
<foreach close=")" collection="ids" index="index" item="item" open="(" separator=",">
#{item}
</foreach>
</if>
order by sort
order by t1.store_brand_id
</select>
<select id="getByStoreBrandName" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from tab_store_brand
where delete_flag = 0
and enterprise_id = #{enterpriseId}
<include refid="Ref_Column_List" />
from tab_store_brand t1, tab_store_brand_ref t2
where t2.delete_flag = 0 and t1.delete_flag =0 and t1.store_brand_id = t2.store_brand_id and t2.enterprise_id=#{enterpriseId}
<if test="storeBrandName != null ">
and store_brand_name = #{storeBrandName}
and t1.store_brand_name = #{storeBrandName}
</if>
</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.gic.store.dao.mapper.TabStoreBrandRefMapper">
<resultMap id="BaseResultMap" type="com.gic.store.entity.TabStoreBrandRef">
<id column="id" jdbcType="INTEGER" property="id" />
<result column="enterprise_id" jdbcType="INTEGER" property="enterpriseId" />
<result column="store_brand_id" jdbcType="INTEGER" property="storeBrandId" />
<result column="type" jdbcType="INTEGER" property="type" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
<result column="delete_flag" jdbcType="INTEGER" property="deleteFlag" />
<result column="sort" jdbcType="DOUBLE" property="sort" />
</resultMap>
<sql id="Base_Column_List">
id, enterprise_id, store_brand_id, type, create_time, update_time, delete_flag, sort
</sql>
<select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from tab_store_brand_ref
where id = #{id,jdbcType=INTEGER}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
delete from tab_store_brand_ref
where id = #{id,jdbcType=INTEGER}
</delete>
<insert id="insert" parameterType="com.gic.store.entity.TabStoreBrandRef">
insert into tab_store_brand_ref (id, enterprise_id, store_brand_id,
type, create_time, update_time,
delete_flag, sort)
values (#{id,jdbcType=INTEGER}, #{enterpriseId,jdbcType=INTEGER}, #{storeBrandId,jdbcType=INTEGER},
#{type,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP},
#{deleteFlag,jdbcType=INTEGER}, #{sort,jdbcType=DOUBLE})
</insert>
<insert id="insertSelective" parameterType="com.gic.store.entity.TabStoreBrandRef">
insert into tab_store_brand_ref
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">
id,
</if>
<if test="enterpriseId != null">
enterprise_id,
</if>
<if test="storeBrandId != null">
store_brand_id,
</if>
<if test="type != null">
type,
</if>
<if test="createTime != null">
create_time,
</if>
<if test="updateTime != null">
update_time,
</if>
<if test="deleteFlag != null">
delete_flag,
</if>
<if test="sort != null">
sort,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">
#{id,jdbcType=INTEGER},
</if>
<if test="enterpriseId != null">
#{enterpriseId,jdbcType=INTEGER},
</if>
<if test="storeBrandId != null">
#{storeBrandId,jdbcType=INTEGER},
</if>
<if test="type != null">
#{type,jdbcType=INTEGER},
</if>
<if test="createTime != null">
#{createTime,jdbcType=TIMESTAMP},
</if>
<if test="updateTime != null">
#{updateTime,jdbcType=TIMESTAMP},
</if>
<if test="deleteFlag != null">
#{deleteFlag,jdbcType=INTEGER},
</if>
<if test="sort != null">
#{sort,jdbcType=DOUBLE},
</if>
</trim>
</insert>
<update id="updateByPrimaryKeySelective" parameterType="com.gic.store.entity.TabStoreBrandRef">
update tab_store_brand_ref
<set>
<if test="enterpriseId != null">
enterprise_id = #{enterpriseId,jdbcType=INTEGER},
</if>
<if test="storeBrandId != null">
store_brand_id = #{storeBrandId,jdbcType=INTEGER},
</if>
<if test="type != null">
type = #{type,jdbcType=INTEGER},
</if>
<if test="createTime != null">
create_time = #{createTime,jdbcType=TIMESTAMP},
</if>
<if test="updateTime != null">
update_time = #{updateTime,jdbcType=TIMESTAMP},
</if>
<if test="deleteFlag != null">
delete_flag = #{deleteFlag,jdbcType=INTEGER},
</if>
<if test="sort != null">
sort = #{sort,jdbcType=DOUBLE},
</if>
</set>
where id = #{id,jdbcType=INTEGER}
</update>
<update id="updateByPrimaryKey" parameterType="com.gic.store.entity.TabStoreBrandRef">
update tab_store_brand_ref
set enterprise_id = #{enterpriseId,jdbcType=INTEGER},
store_brand_id = #{storeBrandId,jdbcType=INTEGER},
type = #{type,jdbcType=INTEGER},
create_time = #{createTime,jdbcType=TIMESTAMP},
update_time = #{updateTime,jdbcType=TIMESTAMP},
delete_flag = #{deleteFlag,jdbcType=INTEGER},
sort = #{sort,jdbcType=DOUBLE}
where id = #{id,jdbcType=INTEGER}
</update>
<select id="getMinSort" resultType="java.lang.Double">
select sort from tab_store_brand_ref where delete_flag = 0 and enterprise_id = #{enterpriseId} order by sort limit 0, 1
</select>
<select id="getMaxSort" resultType="java.lang.Double">
select sort from tab_store_brand_ref where delete_flag = 0 and enterprise_id = #{enterpriseId} order by sort desc limit 0, 1
</select>
<select id="selectByEidAndBrandId" parameterType="java.lang.Integer" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from tab_store_brand_ref
where enterprise_id= #{enterpriseId} and store_brand_id=#{storeBrandId} and delete_flag = 0
</select>
<select id="selectByEidAndBrandIdList" parameterType="java.lang.Integer" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from tab_store_brand_ref
where enterprise_id= #{enterpriseId} and delete_flag = 0
<if test="storeBrandIdList.size()>0">
and store_brand_id in
<foreach close=")" collection="storeBrandIdList" index="index" item="item" open="(" separator=",">
#{item}
</foreach>
</if>
</select>
<update id="updateSort">
update tab_store_brand_ref set sort = #{sort}
where enterprise_id=#{enterpriseId} and store_brand_id = #{storeBrandId} and delete_flag = 0
</update>
<insert id="insertList" parameterType="com.gic.store.entity.TabStoreBrandRef">
insert into tab_store_brand_ref (enterprise_id, store_brand_id,
type, create_time, update_time,
delete_flag, sort)
values
<foreach collection="list" item="element" index="index" separator=",">
(#{element.enterpriseId,jdbcType=INTEGER}, #{element.storeBrandId,jdbcType=INTEGER},
#{element.type,jdbcType=INTEGER}, #{element.createTime,jdbcType=TIMESTAMP}, #{element.updateTime,jdbcType=TIMESTAMP},
#{element.deleteFlag,jdbcType=INTEGER}, #{element.sort,jdbcType=DOUBLE})
</foreach>
</insert>
</mapper>
\ No newline at end of file
......@@ -192,11 +192,11 @@
where enterprise_id = #{enterpriseId,jdbcType=INTEGER} and store_info_id=#{storeInfoId}
order by status desc,create_time desc
</select>
<select id="listStoreIdByFromEnterpriseId" resultType="java.lang.Integer">
<select id="listShareStoreId" resultType="java.lang.Integer">
select
store_info_id
from tab_store
where from_enterprise_id = #{fromEnterpriseId,jdbcType=INTEGER} and status=1 and own_type=1
where from_enterprise_id = #{enterpriseId,jdbcType=INTEGER} and status=1 and own_type=1
</select>
<update id="cancelAuthStore">
update tab_store set status=0 where enterprise_id=#{toEnterpriseId} and status=1
......
<?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.gic.store.dao.mapper.TabUnionStoreChangeLogMapper">
<resultMap id="BaseResultMap" type="com.gic.store.entity.TabUnionStoreChangeLog">
<id column="id" jdbcType="INTEGER" property="id" />
<result column="owner_enterprise_id" jdbcType="INTEGER" property="ownerEnterpriseId" />
<result column="union_enterprise_id" jdbcType="INTEGER" property="unionEnterpriseId" />
<result column="change" jdbcType="INTEGER" property="change" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
<result column="delete_flag" jdbcType="INTEGER" property="deleteFlag" />
</resultMap>
<sql id="Base_Column_List">
id, owner_enterprise_id, union_enterprise_id, change, create_time, update_time, delete_flag
</sql>
<select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from tab_union_store_change_log
where id = #{id,jdbcType=INTEGER}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
delete from tab_union_store_change_log
where id = #{id,jdbcType=INTEGER}
</delete>
<insert id="insert" parameterType="com.gic.store.entity.TabUnionStoreChangeLog">
insert into tab_union_store_change_log (id, owner_enterprise_id, union_enterprise_id,
change, create_time, update_time,
delete_flag)
values (#{id,jdbcType=INTEGER}, #{ownerEnterpriseId,jdbcType=INTEGER}, #{unionEnterpriseId,jdbcType=INTEGER},
#{change,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP},
#{deleteFlag,jdbcType=INTEGER})
</insert>
<insert id="insertSelective" parameterType="com.gic.store.entity.TabUnionStoreChangeLog">
insert into tab_union_store_change_log
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">
id,
</if>
<if test="ownerEnterpriseId != null">
owner_enterprise_id,
</if>
<if test="unionEnterpriseId != null">
union_enterprise_id,
</if>
<if test="change != null">
change,
</if>
<if test="createTime != null">
create_time,
</if>
<if test="updateTime != null">
update_time,
</if>
<if test="deleteFlag != null">
delete_flag,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">
#{id,jdbcType=INTEGER},
</if>
<if test="ownerEnterpriseId != null">
#{ownerEnterpriseId,jdbcType=INTEGER},
</if>
<if test="unionEnterpriseId != null">
#{unionEnterpriseId,jdbcType=INTEGER},
</if>
<if test="change != null">
#{change,jdbcType=INTEGER},
</if>
<if test="createTime != null">
#{createTime,jdbcType=TIMESTAMP},
</if>
<if test="updateTime != null">
#{updateTime,jdbcType=TIMESTAMP},
</if>
<if test="deleteFlag != null">
#{deleteFlag,jdbcType=INTEGER},
</if>
</trim>
</insert>
<update id="updateByPrimaryKeySelective" parameterType="com.gic.store.entity.TabUnionStoreChangeLog">
update tab_union_store_change_log
<set>
<if test="ownerEnterpriseId != null">
owner_enterprise_id = #{ownerEnterpriseId,jdbcType=INTEGER},
</if>
<if test="unionEnterpriseId != null">
union_enterprise_id = #{unionEnterpriseId,jdbcType=INTEGER},
</if>
<if test="change != null">
change = #{change,jdbcType=INTEGER},
</if>
<if test="createTime != null">
create_time = #{createTime,jdbcType=TIMESTAMP},
</if>
<if test="updateTime != null">
update_time = #{updateTime,jdbcType=TIMESTAMP},
</if>
<if test="deleteFlag != null">
delete_flag = #{deleteFlag,jdbcType=INTEGER},
</if>
</set>
where id = #{id,jdbcType=INTEGER}
</update>
<update id="updateByPrimaryKey" parameterType="com.gic.store.entity.TabUnionStoreChangeLog">
update tab_union_store_change_log
set owner_enterprise_id = #{ownerEnterpriseId,jdbcType=INTEGER},
union_enterprise_id = #{unionEnterpriseId,jdbcType=INTEGER},
change = #{change,jdbcType=INTEGER},
create_time = #{createTime,jdbcType=TIMESTAMP},
update_time = #{updateTime,jdbcType=TIMESTAMP},
delete_flag = #{deleteFlag,jdbcType=INTEGER}
where id = #{id,jdbcType=INTEGER}
</update>
<select id="selectByEnterpriseId" parameterType="java.lang.Integer" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from tab_union_store_change_log
where owner_enterprise_id = #{ownEnterpriseId,jdbcType=INTEGER} and union_enterprise_id = #{unionEnterpriseId, jdbcType=INTEGER} and delete_flag = 0
</select>
</mapper>
\ No newline at end of file
......@@ -311,7 +311,7 @@ public class ClerkController extends DownloadUtils {
@RequestMapping("/update-clerk-status")
public RestResponse updateClerkStatus(String clerkIds, Integer status) {
Integer enterpriseId = UserDetailUtils.getUserDetail().getEnterpriseId();
ServiceResponse serviceResponse = clerkApiService.updateClerkStatus(enterpriseId, clerkIds, status);
ServiceResponse serviceResponse = clerkApiService.updateClerkStatus(enterpriseId, clerkIds, status, UserDetailUtils.getUserDetail().getUserId());
if (serviceResponse.isSuccess()) {
if (!StringUtils.equals(com.gic.store.constant.Constants.ALL, clerkIds)) {
......
......@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.gic.api.base.commons.Page;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.commons.annotation.HeaderSignIgnore;
import com.gic.commons.util.EntityUtil;
import com.gic.commons.webapi.reponse.RestResponse;
import com.gic.download.constants.QrcodeTypeEnum;
......@@ -158,21 +159,6 @@ public class StoreController extends DownloadUtils {
}
}
private ClerkDTO getSaveClerk(ClerkQO clerkQO) {
Integer enterpriseId = UserDetailUtils.getUserDetail().getEnterpriseId();
ClerkDTO clerkDTO = EntityUtil.changeEntityByOrika(ClerkDTO.class, clerkQO);
clerkDTO.setEnterpriseId(enterpriseId);
clerkDTO.setReason(ClerkLogReasonEnum.WEB.getCode());
if (clerkQO.getClerkId() == null) {
clerkDTO.setRemark("手工新增");
} else {
clerkDTO.setRemark("单个编辑");
}
clerkDTO.setOperatorId(UserDetailUtils.getUserDetail().getUserId());
clerkDTO.setOperatorName(UserDetailUtils.getUserDetail().getUserInfo().getUserName());
clerkQO.setClerkGender(com.gic.store.constant.Constants.CLERK_LEADER_POSITION_ID);
return clerkDTO;
}
@RequestMapping("/store-detail")
public RestResponse getStoreDetail(Integer storeId) {
......@@ -682,6 +668,18 @@ public class StoreController extends DownloadUtils {
return RestResponse.success(Collections.emptyList());
}
/**
* 小康那边跑非实时的分组 需要这个接口转换数据
*/
@RequestMapping("/list-widget-store-info")
@IgnoreLogin
@HeaderSignIgnore
public RestResponse listWidgetStoreInfo(Integer enterpriseId, Integer storeWidgetId) {
ServiceResponse<List<Integer>> serviceResponse = this.storeWidgetApiService.listStoreInfoIdByStoreWidgetId(enterpriseId, storeWidgetId);
return ResultControllerUtils.commonResult(serviceResponse);
}
public boolean hasTransMember() {
ServiceResponse<List<BatchTaskOperaInfDTO>> resp = batchOperationApiService.queryUnderwayTask(UserDetailUtils.getUserDetail().getEnterpriseId());
if (resp.isSuccess()) {
......@@ -940,14 +938,22 @@ public class StoreController extends DownloadUtils {
}
/**
* 小康那边跑非实时的分组 需要这个接口转换数据
*/
@RequestMapping("/list-widget-store-info")
@IgnoreLogin
public RestResponse listWidgetStoreInfo(Integer enterpriseId, Integer storeWidgetId) {
ServiceResponse<List<Integer>> serviceResponse = this.storeWidgetApiService.listStoreInfoIdByStoreWidgetId(enterpriseId, storeWidgetId);
return ResultControllerUtils.commonResult(serviceResponse);
private ClerkDTO getSaveClerk(ClerkQO clerkQO) {
Integer enterpriseId = UserDetailUtils.getUserDetail().getEnterpriseId();
ClerkDTO clerkDTO = EntityUtil.changeEntityByOrika(ClerkDTO.class, clerkQO);
clerkDTO.setEnterpriseId(enterpriseId);
clerkDTO.setReason(ClerkLogReasonEnum.WEB.getCode());
if (clerkQO.getClerkId() == null) {
clerkDTO.setRemark("手工新增");
} else {
clerkDTO.setRemark("单个编辑");
}
clerkDTO.setOperatorId(UserDetailUtils.getUserDetail().getUserId());
clerkDTO.setOperatorName(UserDetailUtils.getUserDetail().getUserInfo().getUserName());
clerkQO.setClerkGender(com.gic.store.constant.Constants.CLERK_LEADER_POSITION_ID);
return clerkDTO;
}
}
\ No newline at end of file
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