Commit 589065c8 by guojuxing

门店标签

parent 6e9fded1
package com.gic.store.dto;
import java.io.Serializable;
import java.util.Date;
/**
* 门店标签
* @ClassName: StoreTagDTO

* @Description: 

* @author guojuxing

* @date 2020/1/14 4:22 PM

*/
public class StoreTagDTO implements Serializable{
private static final long serialVersionUID = -6690196095662330788L;
/**
*
*/
private Integer storeTagId;
/**
* 门店选择器id
*/
private Integer storeWidgetId;
/**
*
*/
private Integer enterpriseId;
/**
* 门店标签名称
*/
private String storeTagName;
/**
*
*/
private Integer status;
/**
*
*/
private Date createTime;
/**
*
*/
private Date updateTime;
public Integer getStoreTagId() {
return storeTagId;
}
public void setStoreTagId(Integer storeTagId) {
this.storeTagId = storeTagId;
}
public Integer getStoreWidgetId() {
return storeWidgetId;
}
public void setStoreWidgetId(Integer storeWidgetId) {
this.storeWidgetId = storeWidgetId;
}
public Integer getEnterpriseId() {
return enterpriseId;
}
public void setEnterpriseId(Integer enterpriseId) {
this.enterpriseId = enterpriseId;
}
public String getStoreTagName() {
return storeTagName;
}
public void setStoreTagName(String storeTagName) {
this.storeTagName = storeTagName;
}
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
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;
}
}
package com.gic.store.service;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.store.dto.StoreTagDTO;
import java.util.List;
/**
* 门店标签
* @ClassName: StoreTagApiService

* @Description: 

* @author guojuxing

* @date 2020/1/14 4:23 PM

*/
public interface StoreTagApiService {
ServiceResponse<Integer> save(StoreTagDTO dto);
ServiceResponse<Integer> update(StoreTagDTO dto);
ServiceResponse<String> delete(Integer storeTagId);
ServiceResponse<StoreTagDTO> getByStoreTagId(Integer storeTagId);
ServiceResponse<List<StoreTagDTO>> listByEnterprise(Integer enterpriseId);
}
package com.gic.store.dao.mapper;
import com.gic.store.entity.TabStoreTag;
import org.apache.ibatis.annotations.Param;
import java.util.List;
public interface TabStoreTagMapper {
/**
* 根据主键删除
*
* @param storeTagId 主键
* @return 更新条目数
*/
int deleteByPrimaryKey(Integer storeTagId);
/**
* 插入一条记录
*
* @param record 实体对象
* @return 更新条目数
*/
int insert(TabStoreTag record);
/**
* 动态插入一条记录
*
* @param record 实体对象
* @return 更新条目数
*/
int insertSelective(TabStoreTag record);
/**
* 根据主键查询
*
* @param storeTagId 主键
* @return 实体对象
*/
TabStoreTag selectByPrimaryKey(Integer storeTagId);
/**
* 根据主键动态更新记录
*
* @param record 实体对象
* @return 更新条目数
*/
int updateByPrimaryKeySelective(TabStoreTag record);
/**
* 根据主键更新记录
*
* @param record 实体对象
* @return 更新条目数
*/
int updateByPrimaryKey(TabStoreTag record);
List<TabStoreTag> listByEnterprise(@Param("enterpriseId") Integer enterpriseId);
}
\ No newline at end of file
package com.gic.store.entity;
import java.util.Date;
/**
* tab_store_tag
*/
public class TabStoreTag {
/**
*
*/
private Integer storeTagId;
/**
* 门店选择器id
*/
private Integer storeWidgetId;
/**
*
*/
private Integer enterpriseId;
/**
* 门店标签名称
*/
private String storeTagName;
/**
*
*/
private Integer status;
/**
*
*/
private Date createTime;
/**
*
*/
private Date updateTime;
public Integer getStoreTagId() {
return storeTagId;
}
public void setStoreTagId(Integer storeTagId) {
this.storeTagId = storeTagId;
}
public Integer getStoreWidgetId() {
return storeWidgetId;
}
public void setStoreWidgetId(Integer storeWidgetId) {
this.storeWidgetId = storeWidgetId;
}
public Integer getEnterpriseId() {
return enterpriseId;
}
public void setEnterpriseId(Integer enterpriseId) {
this.enterpriseId = enterpriseId;
}
public String getStoreTagName() {
return storeTagName;
}
public void setStoreTagName(String storeTagName) {
this.storeTagName = storeTagName;
}
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
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;
}
}
\ No newline at end of file
package com.gic.store.service;
import com.gic.store.dto.StoreTagDTO;
import com.gic.store.entity.TabStoreTag;
import java.util.List;
public interface StoreTagService {
Integer save(StoreTagDTO dto);
void update(StoreTagDTO dto);
TabStoreTag getById(Integer storeTagId);
List<TabStoreTag> listByEnterprise(Integer enterpriseId);
}
package com.gic.store.service.impl;
import com.gic.commons.util.EntityUtil;
import com.gic.store.dao.mapper.TabStoreTagMapper;
import com.gic.store.dto.StoreTagDTO;
import com.gic.store.entity.TabStoreTag;
import com.gic.store.service.StoreTagService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
@Service("storeTagService")
public class StoreTagServiceImpl implements StoreTagService{
@Autowired
private TabStoreTagMapper tabStoreTagMapper;
@Override
public Integer save(StoreTagDTO dto) {
dto.setCreateTime(new Date());
dto.setUpdateTime(new Date());
dto.setStatus(1);
TabStoreTag record = EntityUtil.changeEntityNew(TabStoreTag.class, dto);
tabStoreTagMapper.insert(record);
return record.getStoreTagId();
}
@Override
public void update(StoreTagDTO dto) {
dto.setUpdateTime(new Date());
TabStoreTag record = EntityUtil.changeEntityNew(TabStoreTag.class, dto);
tabStoreTagMapper.updateByPrimaryKeySelective(record);
}
@Override
public TabStoreTag getById(Integer storeTagId) {
return tabStoreTagMapper.selectByPrimaryKey(storeTagId);
}
@Override
public List<TabStoreTag> listByEnterprise(Integer enterpriseId) {
return tabStoreTagMapper.listByEnterprise(enterpriseId);
}
}
package com.gic.store.service.outer.impl;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.commons.util.EntityUtil;
import com.gic.enterprise.error.ErrorCode;
import com.gic.store.dto.StoreTagDTO;
import com.gic.store.entity.TabStoreTag;
import com.gic.store.service.StoreTagApiService;
import com.gic.store.service.StoreTagService;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service("storeTagApiService")
public class StoreTagApiServiceImpl implements StoreTagApiService{
@Autowired
private StoreTagService storeTagService;
@Override
public ServiceResponse<Integer> save(StoreTagDTO dto) {
//param valid
if (dto.getEnterpriseId() == null) {
return ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "商户ID不能为空");
}
if (dto.getStoreWidgetId() == null) {
return ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "门店选择器未选择");
}
if (StringUtils.isBlank(dto.getStoreTagName())) {
return ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "标签名称不能为空");
}
return ServiceResponse.success(storeTagService.save(dto));
}
@Override
public ServiceResponse<Integer> update(StoreTagDTO dto) {
//param valid
TabStoreTag record = storeTagService.getById(dto.getStoreTagId());
if (record == null) {
return ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "标签ID非法,查无数据");
}
if (dto.getStoreWidgetId() == null) {
return ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "门店选择器未选择");
}
if (StringUtils.isBlank(dto.getStoreTagName())) {
return ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "标签名称不能为空");
}
//set value
dto.setEnterpriseId(record.getEnterpriseId());
dto.setCreateTime(record.getCreateTime());
dto.setStatus(record.getStatus());
storeTagService.update(dto);
return ServiceResponse.success();
}
@Override
public ServiceResponse<String> delete(Integer storeTagId) {
//param valid
TabStoreTag record = storeTagService.getById(storeTagId);
if (record == null) {
return ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "标签ID非法,查无数据");
}
StoreTagDTO dto = new StoreTagDTO();
dto.setStoreTagId(storeTagId);
dto.setStatus(0);
storeTagService.update(dto);
return ServiceResponse.success(record.getStoreTagName());
}
@Override
public ServiceResponse<StoreTagDTO> getByStoreTagId(Integer storeTagId) {
TabStoreTag record = storeTagService.getById(storeTagId);
if (record == null) {
return ServiceResponse.failure(ErrorCode.PARAMETER_ERROR.getCode(), "标签ID非法,查无数据");
}
return ServiceResponse.success(EntityUtil.changeEntityNew(StoreTagDTO.class, record));
}
@Override
public ServiceResponse<List<StoreTagDTO>> listByEnterprise(Integer enterpriseId) {
List<TabStoreTag> list = storeTagService.listByEnterprise(enterpriseId);
return ServiceResponse.success(EntityUtil.changeEntityListNew(StoreTagDTO.class, list));
}
}
......@@ -55,4 +55,6 @@
<dubbo:reference interface="com.gic.enterprise.service.EnterpriseApiService" id="enterpriseApiService" timeout="6000" />
<dubbo:reference interface="com.gic.enterprise.service.EnterpriseInitApiService" id="enterpriseInitApiService" timeout="60000" />
<dubbo:reference interface="com.gic.enterprise.service.CustomStoreApiService" id="customStoreApiService" timeout="60000" />
<dubbo:service interface="com.gic.store.service.StoreTagApiService" ref="storeTagApiService" timeout="6000" />
</beans>
<?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.TabStoreTagMapper">
<resultMap id="BaseResultMap" type="com.gic.store.entity.TabStoreTag">
<id column="store_tag_id" jdbcType="INTEGER" property="storeTagId" />
<result column="store_widget_id" jdbcType="INTEGER" property="storeWidgetId" />
<result column="enterprise_id" jdbcType="INTEGER" property="enterpriseId" />
<result column="store_tag_name" jdbcType="VARCHAR" property="storeTagName" />
<result column="status" jdbcType="INTEGER" property="status" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
</resultMap>
<sql id="Base_Column_List">
store_tag_id, store_widget_id, enterprise_id, store_tag_name, status, create_time,
update_time
</sql>
<select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from tab_store_tag
where store_tag_id = #{storeTagId,jdbcType=INTEGER}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
delete from tab_store_tag
where store_tag_id = #{storeTagId,jdbcType=INTEGER}
</delete>
<insert id="insert" parameterType="com.gic.store.entity.TabStoreTag" useGeneratedKeys="true" keyProperty="storeTagId">
insert into tab_store_tag (store_tag_id, store_widget_id, enterprise_id,
store_tag_name, status, create_time,
update_time)
values (#{storeTagId,jdbcType=INTEGER}, #{storeWidgetId,jdbcType=INTEGER}, #{enterpriseId,jdbcType=INTEGER},
#{storeTagName,jdbcType=VARCHAR}, #{status,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP},
#{updateTime,jdbcType=TIMESTAMP})
</insert>
<insert id="insertSelective" parameterType="com.gic.store.entity.TabStoreTag">
insert into tab_store_tag
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="storeTagId != null">
store_tag_id,
</if>
<if test="storeWidgetId != null">
store_widget_id,
</if>
<if test="enterpriseId != null">
enterprise_id,
</if>
<if test="storeTagName != null">
store_tag_name,
</if>
<if test="status != null">
status,
</if>
<if test="createTime != null">
create_time,
</if>
<if test="updateTime != null">
update_time,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="storeTagId != null">
#{storeTagId,jdbcType=INTEGER},
</if>
<if test="storeWidgetId != null">
#{storeWidgetId,jdbcType=INTEGER},
</if>
<if test="enterpriseId != null">
#{enterpriseId,jdbcType=INTEGER},
</if>
<if test="storeTagName != null">
#{storeTagName,jdbcType=VARCHAR},
</if>
<if test="status != null">
#{status,jdbcType=INTEGER},
</if>
<if test="createTime != null">
#{createTime,jdbcType=TIMESTAMP},
</if>
<if test="updateTime != null">
#{updateTime,jdbcType=TIMESTAMP},
</if>
</trim>
</insert>
<update id="updateByPrimaryKeySelective" parameterType="com.gic.store.entity.TabStoreTag">
update tab_store_tag
<set>
<if test="storeWidgetId != null">
store_widget_id = #{storeWidgetId,jdbcType=INTEGER},
</if>
<if test="enterpriseId != null">
enterprise_id = #{enterpriseId,jdbcType=INTEGER},
</if>
<if test="storeTagName != null">
store_tag_name = #{storeTagName,jdbcType=VARCHAR},
</if>
<if test="status != null">
status = #{status,jdbcType=INTEGER},
</if>
<if test="createTime != null">
create_time = #{createTime,jdbcType=TIMESTAMP},
</if>
<if test="updateTime != null">
update_time = #{updateTime,jdbcType=TIMESTAMP},
</if>
</set>
where store_tag_id = #{storeTagId,jdbcType=INTEGER}
</update>
<update id="updateByPrimaryKey" parameterType="com.gic.store.entity.TabStoreTag">
update tab_store_tag
set store_widget_id = #{storeWidgetId,jdbcType=INTEGER},
enterprise_id = #{enterpriseId,jdbcType=INTEGER},
store_tag_name = #{storeTagName,jdbcType=VARCHAR},
status = #{status,jdbcType=INTEGER},
create_time = #{createTime,jdbcType=TIMESTAMP},
update_time = #{updateTime,jdbcType=TIMESTAMP}
where store_tag_id = #{storeTagId,jdbcType=INTEGER}
</update>
<select id="listByEnterprise" resultMap="BaseResultMap">
select <include refid="Base_Column_List"></include>
from tab_store_tag
where status = 1
and enterprise_id = #{enterpriseId}
order by update_time desc
</select>
</mapper>
\ No newline at end of file
package com.gic.store.web.controller;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.commons.webapi.reponse.RestResponse;
import com.gic.download.utils.OperationResultUtils;
import com.gic.enterprise.response.EnterpriseRestResponse;
import com.gic.enterprise.utils.ResultControllerUtils;
import com.gic.enterprise.utils.UserDetailUtils;
import com.gic.store.dto.StoreSearchDTO;
import com.gic.store.dto.StoreTagDTO;
import com.gic.store.dto.StoreWidgetDTO;
import com.gic.store.service.StoreApiService;
import com.gic.store.service.StoreTagApiService;
import com.gic.store.service.StoreWidgetApiService;
import com.gic.store.web.vo.StoreTagVO;
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.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/store-tag")
public class StoreTagController {
private static final Logger LOGGER = LogManager.getLogger(StoreTagController.class);
@Autowired
private StoreTagApiService storeTagApiService;
@Autowired
private StoreWidgetApiService storeWidgetApiService;
@Autowired
private StoreApiService storeApiService;
@RequestMapping("/save-store-tag")
public RestResponse save(StoreTagDTO dto) {
return OperationResultUtils.operationResult(storeTagApiService.save(dto), OperationResultUtils.LOG_NEW + "门店标签",
dto.getStoreTagName());
}
@RequestMapping("/edit-store-tag")
public RestResponse edit(StoreTagDTO dto) {
return OperationResultUtils.operationResult(storeTagApiService.update(dto),
OperationResultUtils.LOG_EDIT + "门店标签", dto.getStoreTagName());
}
@RequestMapping("/delete-store-tag")
public RestResponse delete(Integer storeTagId) {
ServiceResponse<String> result = storeTagApiService.delete(storeTagId);
return OperationResultUtils.operationResult(result, OperationResultUtils.LOG_DELETE + "门店标签",
OperationResultUtils.getOperationObject(result));
}
@RequestMapping("/list-store-tag")
public RestResponse list() {
return ResultControllerUtils.commonResult(
storeTagApiService.listByEnterprise(UserDetailUtils.getUserDetail().getEnterpriseId()),
StoreTagVO.class);
}
@RequestMapping("/list-store-by-tag")
public RestResponse listStoreByTag(Integer storeTagId, String search, @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum, @RequestParam(value = "pageSize", defaultValue = "20") Integer pageSize) {
ServiceResponse<StoreTagDTO> result = storeTagApiService.getByStoreTagId(storeTagId);
if (result.isSuccess()) {
ServiceResponse<StoreWidgetDTO> storeWidgetResult = storeWidgetApiService
.getStoreWidget(result.getResult().getStoreWidgetId());
if (storeWidgetResult.isSuccess()) {
StoreWidgetDTO storeWidgetDTO = storeWidgetResult.getResult();
String authSearchParam = storeWidgetDTO.getAuthSearchParam();
String searchParam = storeWidgetDTO.getSearchParam();
StoreSearchDTO dto = new StoreSearchDTO();
//名称
dto.setSearch(search);
//代码
dto.setStoreCode(search);
dto.setEnterpriseId(UserDetailUtils.getUserDetail().getEnterpriseId());
if(StringUtils.isNotBlank(authSearchParam) && !"{}".equals(authSearchParam)){
dto.setAuthSearchJson(authSearchParam);
}
dto.setSearchJson(searchParam);
return this.storeApiService.listStore(dto, pageNum, pageSize)
}
return EnterpriseRestResponse.failure(storeWidgetResult);
}
return EnterpriseRestResponse.failure(result);
}
}
package com.gic.store.web.vo;
import java.io.Serializable;
/**
* 门店标签
* @ClassName: StoreTagVO

* @Description: 

* @author guojuxing

* @date 2020/1/14 4:53 PM

*/
public class StoreTagVO implements Serializable{
private static final long serialVersionUID = -4636972181236164016L;
/**
*
*/
private Integer storeTagId;
/**
* 门店标签名称
*/
private String storeTagName;
public Integer getStoreTagId() {
return storeTagId;
}
public void setStoreTagId(Integer storeTagId) {
this.storeTagId = storeTagId;
}
public String getStoreTagName() {
return storeTagName;
}
public void setStoreTagName(String storeTagName) {
this.storeTagName = storeTagName;
}
}
......@@ -44,6 +44,7 @@
<!-- 平台品牌 -->
<dubbo:reference interface="com.gic.enterprise.service.PlatformBrandApiService" id="platformBrandApiService" timeout="60000" />
<dubbo:reference interface="com.gic.store.service.StoreAuthorizationApiService" id="storeAuthorizationApiService" timeout="60000" />
<dubbo:reference interface="com.gic.store.service.StoreTagApiService" id="storeTagApiService" timeout="60000" />
<dubbo:reference interface="com.gic.enterprise.service.DownloadReportApiService" id="downloadReportApiService" timeout="6000"/>
......
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