diff --git a/mallinkAdmin/src/main/resources/db/migration/V201905071320__ADD_SALE_TYPE.sql b/mallinkAdmin/src/main/resources/db/migration/V201905071320__ADD_SALE_TYPE.sql new file mode 100644 index 000000000..0430756cf --- /dev/null +++ b/mallinkAdmin/src/main/resources/db/migration/V201905071320__ADD_SALE_TYPE.sql @@ -0,0 +1,24 @@ +DROP TABLE IF EXISTS `mall_sale_type` ; +CREATE TABLE `mall_sale_type` ( + `id` bigint(64) NOT NULL, + `name` varchar(32) DEFAULT NULL COMMENT '销售类型', + `type` tinyint(2) DEFAULT NULL COMMENT '资源类型1:标准版 2:速享版 3.营销版', + `period` tinyint(2) DEFAULT NULL COMMENT '有效期(单位月)', + `menus` json DEFAULT NULL COMMENT '菜单列表', + PRIMARY KEY (`id`), + UNIQUE `id_UNIQUE` USING BTREE (`id`) comment '' +) ENGINE=`InnoDB` ROW_FORMAT=DYNAMIC COMMENT='系统销售表' CHECKSUM=0 DELAY_KEY_WRITE=0; + +INSERT INTO `mall_sale_type` + (`id`,`name`, `type`, `period`, `menus`) +VALUES + (1, '标准版', 3, 12, + '[1,2,3,4,5,6,7,8,9,101,102,103,104,105,106,107,201,202,203,204,205,211,212,221,222,251,301,302,303,304,401,402,403,404,405,406,407,408,409,410,411,501,502,503,504,505,506,507,508,511,512,513,521,522,523,531,532,533,601,602,603,604,605,606,607,608,609,610,611,621,622,623,624,625,626,641,642,643,644,645,651,661,662,671,672,673,674,681,682,683,684,685,691,692,693,694,701,702,711,712,713,901,902,951,961]' + ), + (2, '速享版', 1, 1, + '[2,4,5,6,201,202,205,409,410,411,501,502,503,504,505,506,507,508,511,512,513,521,522,523,531,532,533,601,602,603,604,605,606,607,608,609,610,611,621,622,623,624,625,626,641,642,643,644,645,651,661,662,671,672,673,674,681,682,683,684,685,691,692,693,694,701,702,711,712,713,901,902]' + ), + (3, '营销版', 2, 12, + '[1,2,4,5,6,101,103,104,105,106,201,202,205,409,410,411,501,502,503,504,505,506,507,508,511,512,513,521,522,523,531,532,533,601,602,603,604,605,606,607,608,609,610,611,621,622,623,624,625,626,641,642,643,644,645,651,661,662,671,672,673,674,681,682,683,684,685,691,692,693,694,701,702,711,712,713,901,902]' + ) + ; \ No newline at end of file diff --git a/mallinkService/src/main/java/com/iformall/domain/po/MallSaleType.java b/mallinkService/src/main/java/com/iformall/domain/po/MallSaleType.java new file mode 100644 index 000000000..d4d4d4772 --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/domain/po/MallSaleType.java @@ -0,0 +1,90 @@ +package com.iformall.domain.po; + +import lombok.Data; + +import javax.persistence.Id; +import javax.persistence.Table; +import javax.persistence.Transient; +import java.io.Serializable; +import java.util.List; + +@Data +@Table(name = "mall_sale_type") +public class MallSaleType implements Serializable { + private static final long serialVersionUID = 1L; + + @Id + protected Long id; + + @Transient + protected List ids; + @Transient + protected String sortColumns; + + @io.swagger.annotations.ApiModelProperty(value="销售类型名",name="name") + private String name; + @io.swagger.annotations.ApiModelProperty(value="资源类型1:速享版 2:速享标准版 3.标准版",name="type") + private Integer type; + @io.swagger.annotations.ApiModelProperty(value="有效期(单位月))",name="period") + private Integer period; + @io.swagger.annotations.ApiModelProperty(value="菜单列表",name="menus") + private String menus; + + public static enum Field + { + Id_ASC("`id` ASC"),Id_DESC("`id` DESC") + ,Name_ASC("`name` ASC"),Name_DESC("`name` DESC") + ,Type_ASC("`type` ASC"),Type_DESC("`type` DESC") + ,Period_ASC("`period` ASC"),Period_DESC("`period` DESC") + ; + private String value; + Field(String value){ + this.value = value; + } + public String getValue() { + return value; + } + public void setCol(String value) { + this.value = value; + } + @Override + public String toString() { + return this.getValue(); + } + } + + public void setSortColumns(MallSaleType.Field... fields) + { + if (fields == null || fields.length == 0) { + return; + } + for (int k = 0; k < fields.length; k++) { + if (fields[k] == null) { + return; + } + } + StringBuilder sb = new StringBuilder(fields[0].toString()); + for (int k = 1; k < fields.length; k++) { + sb.append(","); + sb.append(fields[k].toString()); + } + + } + + public void setSortColumns(String sortColumns) + { + if (sortColumns == null || "".equals(sortColumns.trim())) { + return; + } + if (sortColumns.contains(",")) { + String[] cols = sortColumns.split(","); + List fList = new java.util.ArrayList(); + for (int k = 0; k < cols.length; k++) { + fList.add(Field.valueOf(cols[k])); + } + this.setSortColumns(fList.toArray(new Field[fList.size()])); + } else { + this.setSortColumns(Field.valueOf(sortColumns)); + } + } +} diff --git a/mallinkService/src/main/java/com/iformall/mapper/MallSaleTypeMapper.java b/mallinkService/src/main/java/com/iformall/mapper/MallSaleTypeMapper.java new file mode 100644 index 000000000..ee615b743 --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/mapper/MallSaleTypeMapper.java @@ -0,0 +1,12 @@ +package com.iformall.mapper; + +import com.iformall.common.CommonMapper; +import com.iformall.domain.po.MallSaleType; + +import java.util.List; + +public interface MallSaleTypeMapper extends CommonMapper { + + List findList(MallSaleType mallSaleType); + +} diff --git a/mallinkService/src/main/java/com/iformall/service/sys/MallSaleTypeService.java b/mallinkService/src/main/java/com/iformall/service/sys/MallSaleTypeService.java new file mode 100644 index 000000000..7eb3db38e --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/service/sys/MallSaleTypeService.java @@ -0,0 +1,51 @@ +package com.iformall.service.sys; + +import com.github.pagehelper.PageInfo; +import com.iformall.domain.po.MallPermission; +import com.iformall.domain.po.MallSaleType; + +import java.util.List; + +public interface MallSaleTypeService { + + /** + * 根据实体查询分页列表 + * + * @param record + * @param pageIndex + * @param pageSize + * @return + */ + PageInfo listAsPage(MallSaleType record, Integer pageIndex, Integer pageSize); + + /** + * 根据实体查询分页列表 + * + * @param record + * @return + */ + List getList(MallSaleType record); + + /** + * 根据Id获得实体 + * + * @param id + * @return + */ + MallSaleType getById(Long id); + + /** + * 保存或更新实体 + * + * @param record + */ + void saveOrUpdate(MallSaleType record); + + /** + * 根据Id删除实体 + * + * @param id + */ + void deleteById(Long id); + +} diff --git a/mallinkService/src/main/java/com/iformall/service/sys/impl/MallSaleTypeServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/sys/impl/MallSaleTypeServiceImpl.java new file mode 100644 index 000000000..16a5cd878 --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/service/sys/impl/MallSaleTypeServiceImpl.java @@ -0,0 +1,54 @@ +package com.iformall.service.sys.impl; + +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import com.iformall.common.IdWorker; +import com.iformall.domain.po.MallSaleType; +import com.iformall.mapper.MallSaleTypeMapper; +import com.iformall.service.sys.MallSaleTypeService; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +public class MallSaleTypeServiceImpl implements MallSaleTypeService { + private final Logger logger = LoggerFactory.getLogger(this.getClass()); + + @Autowired + MallSaleTypeMapper mallSaleTypeMapper; + + @Override + public PageInfo listAsPage(MallSaleType record, Integer pageIndex, Integer pageSize) { + return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> mallSaleTypeMapper.findList(record)); + } + + @Override + public List getList(MallSaleType record) { + return mallSaleTypeMapper.findList(record); + } + + @Override + public MallSaleType getById(Long id) { + return mallSaleTypeMapper.selectByPrimaryKey(id); + } + + @Override + public void saveOrUpdate(MallSaleType record) { + if (record.getId() == null) { + final IdWorker idWorker = IdWorker.get(); + record.setId(idWorker.nextId()); + mallSaleTypeMapper.insertSelective(record); + } else { + mallSaleTypeMapper.updateByPrimaryKeySelective(record); + } + } + + @Override + public void deleteById(Long id) { + mallSaleTypeMapper.deleteByPrimaryKey(id); + } + +} diff --git a/mallinkService/src/main/resources/mapper/MallSaleTypeMapper.xml b/mallinkService/src/main/resources/mapper/MallSaleTypeMapper.xml new file mode 100644 index 000000000..f22dc9bc4 --- /dev/null +++ b/mallinkService/src/main/resources/mapper/MallSaleTypeMapper.xml @@ -0,0 +1,51 @@ + + + + + + + + + + + + + `id`,`name`,`type`,`period`,`menus` + + + + where 1 = 1 + + + and `id` = #{id} + + + + and `name` = #{name} + + + + and `type` = #{type} + + + + and `period` = #{period} + + + and id in + + #{idItem} + + + order by ${sortColumns} + + + + + +